Caracteristicile limbii C. Tutorial
Subiectul indicilor este strâns legat de subiectul tipurilor de date dinamice. Atunci când programul este compilat, variabilele declarate în mod sau altul (în funcție de locul în care sunt declarate) zone de memorie alocate. Atunci mărimea acestor secțiuni nu se schimbă, numai conținutul lor (valori sau date) se poate schimba. Cu toate acestea, este cu ajutorul indicii le puteți înregistra și elibera site-uri noi de stocare sunt deja în procesul de implementare a programului. Tipurile de date dinamice vor fi discutate mai târziu.
Ca urmare a acestui cod, pe ecran apare următorul text (numărul hexazecimal va fi diferit):
După cum vedem, în ciuda faptului că valorile variabilelor s-au schimbat, celulele de memorie au rămas aceleași.
Numărul 8 va fi afișat.
Dacă pentru dvs. cele de mai sus nu este evident, atunci repetați lecția la început, citiți alte surse și obțineți o înțelegere deplină, deoarece fără această mișcare este inutilă.
Dacă pointerul este declarat, dar nu este definit, se referă la o secțiune arbitrară de memorie cu o valoare necunoscută:
Rezultatul (în Ubuntu):
Utilizarea de indicatori nedefiniți în program în calcule este plină de apariția unor erori grave. Pentru a evita acest lucru, unui pointer i se poate atribui o valoare spunând că pointerul nu se referă nicăieri (NULL). Utilizați acest pointer în expresii nu funcționează până când nu este atribuită o valoare specifică:
Rezultatul (în Ubuntu):
În acest caz, dacă încercați pentru a extrage valoarea din memorie prin utilizarea unui indicator care nu este o legătură, există o „eroare de segmentare“.