Signed i Unsigned
Ovo koristimo za varijable sa predznakom i bez predznaka.
Ako stavite
unsigned int a;
onda varijabli "a" nećete moći pridružiti broj sa predznakom (npr. -12) a ako umjesto unsigned napišete signed ili ostavite bez toga onda ćete moći upisati predznak.
Doseg varijabli
Varijable mogu biti globalne ili lokalne. Globalne varijable su one varijable koje su deklarirane u glavnom tijelu source koda, izvan svih funkcija dok su lokalne varijable one varijable koje su deklarirane u funkciji ili bloku.
Vjerujem da će vam biti jasnije ako vam to objasnim primjerom.
Primjer lokalnih varijabla
#include<iostream>
using namespace std;
main()
{
int a, b, rezultat;
a = 2;
b = 5;
rezultat = a + b;
cout << rezultat;
char x;
cin >> x;
return 0;
}
Primjer globalnih varijabli
#include<iostream>
using namespace std;
int a, b, rezultat;
main()
{ a = 2;
b = 5;
rezultat = a + b;
cout << rezultat;
char x;
cin >> x;
return 0;
}
Globalnim varijablama se može pristupiti bilo gdje u kodu, čak i u funkcijama dok je lokalnim varijablama moguće pristupiti samo unutar vitičastih zagrada { i }
NAPOMENA: sve varijable moraju početi sa slovom ili donjom crticom _ . Ne smiju početi brojevima niti ičim drugim. Osim toga, sve varijable u svom nazivu smiju imati samo slova, brojeve (od drugog mjesta na dalje), i crtice (_), a ne smiju sadržavati razmake, navodnike i slične simbole.
Također bitno je to da vam se varijable ne smiju zvati sljedećim imenima:
asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq
Jer su to ključne riječi i operatori jezika C++.
Još jedna napomena: C++ je case sensitive jezik, odnosno osjetljiv na velika i mala slova. Tako da recenica i RecEnica nije ista varijabla.
Tipovi podataka
Ovaj tutorijal se nadovezuje na varijable, jer kako smo u prošlom tutorijalu napisali da int, string i char označavaju tip podakta koji će biti pridružen varijabli. Pa ćemo sada detaljnije objasniti te i ostele tipove podataka.
Kada programiramo, spremamo varijable u memoriju kompjutera, ali kompjuter mora znati što ćemo (kakav tip podatka) spremiti u varijablu. Jedan jednostavan broj neće zauzeti istu količinu memorije kao jedan veliki tekst ili veliki broj, i neće biti interpretirano na isti način.
Memorija kompjutera je organizirana po bajtovima (bytes). Jedan bajt je minimalna količina memorije koju možemo sačuvati u C++. Jedan bajt može pohraniti relativno mali broj podataka. Jedno slovo ili jedan cijeli broj od 0 do 255.
Osim toga, C++ može upravljati mnogo kompleksnijim tipovima podataka koje dolaze grupiranjem bajtova. Kao što su dugački brojevi (long numbers) i slično.
Evo jedne tablice sa osnovnim tj. bitnim tipovima podataka.
Zaboravio sam napisati, Floating Point Numbers su vam brojevi sa pomičnim zarezom.
Konstante (nepromjenjive)
Varijable su promjenjive dok su konstante su izrazi sa fiksnim, nepromjenjivim vrijednostima.
Morate inicirati konstantu kada ju napravite, i ne možete jej prirdružiti novu vrijednost kasnije. Poslje kada je konstanta inicirana njezina vrijednost je nepromjenjiva.
Literal Constants (konkretne konstante)
C++ ima dva tipa konstanti: konkretne i slimbolične (literal i symbolic)
Literal konstanta je vrijednost upisana direktno u program kada god je to potrebno. Npr.
int godine = 24;
godine je varijabla tipa integer, a 24 je literal konstanta. Ne možete pridružiti vrijednost na 24, i ta vrijednost ne može biti promijenjena.
Symbolic constants (simbolične konstante)
Simbolična konstanta je konstanta koja je pretstavljena po imenu, baš kao i varijabla. Ali nakon što je konstanta inicirana, njezina vrijednost ne može biti promjenjena. Ako imate jednu integer varijablu imenovanu "studenti" i drugu imenovanu "ucionica", možete procijeniti koliko studenata imate, i broj učionica, te ako znate da je 15 studenata po razredu.
sudenti = ucionice * 15;
U ovom primjeru, broj 15 je Literal konstanta. Kod bi bio puno jednostavniji za čitanje i jednostavniji za održavati ako biste tu vrijednost zamijenili simboličnom konstantom.
studenti = ucionice * ucenika_po_ucionici;
Ako kasnije odlučite promijeniti broj studenata po ucionice, mozete to uciniti tako da definirate konstantu ucenika_po_ucionici bez potrebe za izmjenama u svakom dijelu koda gdje ste koristili tu vrijednost.