Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Rozdział3
Zmienneiichnazwy
Zmiennatonazwanyobszarpamięci,wktórymprogramistamożeumieszczaćdane.
WjęzykuCwszystkiezmiennemusząbyćzadeklarowaneprzedpierwszymich
użyciem.Inaczejmówiąc,kompilatormusipoznaćtypzmiennej,zanimbędzieona
używanalubzanimzostaniejejprzyznanyobszarpamięci1.
Deklaracjazmiennej(odłacińskiegoclarus—jasny,zrozumiały)składasię
znazwytypuilistyidentyfikatorów,np:
intx,y;
floattab[100];
char∗nazwa;
Deklaracjezmiennychumieszczasięzwyklenapoczątkuplikulubnapoczątku
funkcji.
Definicjązmiennej(odłacińskiegofinis—koniec,granica)nazywamymiejsce
programu,wktórymzmiennejzostajeprzydzielonyobszarpamięci.Inaczejmó-
wiąc,wokółzmiennejwpamięcizostajewytyczonagranica,zależnaodobjętości
danejzmiennej.Bardzoczęstodeklaracjajesttakżedefinicjązmiennej—takjak
wpowyższychtrzechprzykładach.Jednakżeponiższyzapis:
externinttemperatura;
jestjedyniedeklaracją—kompilatorzostajepoinformowanyotypiezmiennej
temperaturaorazotym,żemiejscewpamięcinatęzmiennązostałojużbądź
będziewkrótcezarezerwowane,np.podczaskompilacjiinnegopliku.Rozróżnienie
pomiędzydefinicjąadeklaracjązmiennychstajesięszczególnieważnewprzypadku
klasjęzykaC++(częśćIIksiążki).
Wmomencieswojegodefiniowaniazmiennamożebyćtakżezainicjalizowana,
czylimożebyćjejnadanawartość.Jeśliponazwiezmiennejwystąpiznakrówności
iwyrażenie,zmiennejzostanieprzypisanawartośćtegowyrażenia:
charesc1’\\’;
intkoniec1MAXCHAR+1;
1Czasamiinformacjaposiadanaprzezkompilatorniemusibyćkompletna,np.wystarczyin-
formacja,żedanazmiennareprezentujestrukturę,bezpodaniaszczegółówtejstruktury.