CATEGORII DOCUMENTE |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
Pentru a avea acces la componentele unei date structurate va trebui sa folosim o calificare de forma:
nume_data_structurata nume_componenta
Astfel daca avem tipul structurat data_calendaristica introdus in exemplele anterioare si declaram data dc astfel:
struct data_calendaristica dc;
atunci pentru a ne referi la componentele datei dc vom folosi constructiile:
dc ziua
dc anul
dc luna (atentie este pointer spre caractere)
Daca avem declarat un tablou astfel:
struct data_calendaristica tdc[10];
atunci pentru fiecare componenta i ne vom referi astfel:
tdc[i] ziua
tdc[i] anul
tdc[i] luna (este pointer)
tdc[i] luna[0], tdc[i] luna[1], . . . , tdc[i] luna[11]
Ca si tablourile structurile se pot transfera prin parametrii, transferand un pointer spre data structurata respectiva, adica adresa de inceput a zonei alocate structurii. Deci, printr-un apel de forma:
functie(&data_structurata);
se transfera functiei functie adresa de inceput a zonei alocate structurii data_structurata. Daca data_structurata este o structura de tipul tip, atunci antetul functiei functie este urmatorul:
void functie(tip *p)
unde p este pointer spre tipul structurat tip
Pentru data structurata dc de tipul data_calendaristica antetul functiei functie este:
void functie(struct data_calendaristica *p)
iar apelul pentru data dc se face
functie(&dc);
Printr-un astfel de apel, functia apelata nu are acces la numele datei structurate transferate, ci numai la pointerul spre ea. De aceea se pune problema accesului la componentele datei structurate prin pointerul la ea. In acest caz numele datei structurate se va inlocui prin *p. Deci, in cazul datei structurate dc, transferate ca si mai sus, in locul constructiei
dc zi
vom scrie:
(*p) zi
inlocuind numele datei structurate dc prin *p, unde p este un pointer spre dc.
Observatie:
1o. Parantezele rotunde din constructia de mai sus sunt obligatorii, deoarece punctul este un operator prioritar operatorului unar *.
2o. Constructia de mai sus poate fi inlocuita prin p->zi care este identica cu ea. Simbolul -> se compune din caracterele '-' si '>' scrise unul dupa celalalt fara spatiu intre ele. El se numeste sageata si este considerat a fi un operator cu aceeasi prioritate ca si punctul, deci de prioritate maxima.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 729
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved