Professional Documents
Culture Documents
Podobne ako pole, je aj štruktúra zložený (alebo tiež štruktúrovaný) údajový typ. Môže
obsahovať niekoľko hodnôt navzájom rôznych typov (napr. int, float, char, string, prípadne pole atď.).
Každá hodnota je uložená v samostatnej položke príslušného typu.
Uvedenou definíciou sa v pamäti nič nevytvára! Je to len predpis pre kompilátor aby vedel aká bude
štruktúra premennej, ktorá bude neskôr deklarovaná na uvedený údajový typ.
menoStruktury premenna;
Až teraz sa v RAM pamäti, konkrétne v zásobníku, vytvorí miesto pre premennú typu štruktúra.
Príklad:
ziak.vek =18;
ziak
priezvisko vek vyska
N o v a k 18
ziak.vyska =1.75;
ziak
priezvisko vek vyska
N o v a k 18 1.75
Vo voľnom úložišti sa rezervuje podľa počtu a typu položiek danej štruktúry príslušný počet bajtov
a adresa prvého bajtu sa uloží do ukazateľa menoPointera. So štruktúrou potom pracujeme rovnako ako
so štruktúrou, ktorá je vytvorená v zásobníku – rozdiel je len v prístupovom operátore, nepoužívame . ale
-> .
Alokovanú časť pamäte uvoľníme nasledovne:
detele menoPointera;
Pointer vynulujeme:
menoPointera=0;
Príklad:
osoba *ptZiak = new osoba; //vo voľnom úložišti sa rezervuje príslušný počet bajtov a adresa
//prvého bajtu sa uloží do ptZiak
getline(cin,ptZiak->meno);
cin >> ptZiak->vek;