CATEGORII DOCUMENTE |
DOCUMENTE SIMILARE |
|
TERMENI importanti pentru acest document |
|
Structuri
O structura este o colectie de variabile (de tipuri diferite) referite sub un singur nume. Definitia unei structuri formeaza un asa numit sablon (template, tag) ce poate fi folosit la crearea variabilelor tip structura. Variabilele care formeaza structuri se numesc elementele structurii.
De exemplu, fragmentul urmator defineste un sablon pentru o structura numita addr care defineste la randul sau numele si adresa unei persoane necesare in cazul transmiterii unei scrisori:
struct addr ; } addr;
Pentru definirea unui sablon al unei structuri se foloseste cuvantul cheie struct. Terminarea definitiei se face cu ";" (este unul din putinele cazuri de utilizare a caracterului punct si virgula ";" dupa acolada).
Precizam ca numele addr identifica structura particulara definita anterior (sablonul) si este specificatorul sau de tip. Programul anterior defineste numai forma (tipul) datelor structurii, dar nu defineste variabilele structura, deci trebuie facuta distinctie dintre structura-sablon si variabila-structura. O variabila de tip structura se declara cu ajutorul sablonului structurii.
Pentru a declara o variabila actuala cu aceasta structura vom scrie
struct addr addr_info;
Aceasta linie declara variabila addr_info ca variabila structura de tip addr.
Limbajul C aloca suficienta memorie pentru a pastra toate variabilele ce alcatuiesc o structura. De exemplu, memoria alocata pentru structura addr_info va fi :
Name 30 bytes
Street 40 bytes
City 20 bytes
State 3 bytes
Zip 4 bytes
Cand se defineste o structura sablon, se pot declara una sau mai multe variabile-structuri, astfel :
struct addr addr_info, binfo, cinfo;
Secventa anterioara defineste o structura sablon numita addr si declara variabilele addr_info, binfo, cinfo de acelasi tip.
Pentru declararea unei singure structuri numite addr_info, nu mai este necesara includerea numelui addr al structurii, astfel:
struct addr_info;
In cazul de mai sus se defineste variabila-structura addr_info cu sablonul definit, dar fara nume
Forma generala de definire a unei structuri este :
struc nume_tip_structura variabile_structura;
unde pot fi omise fie numele tipului structurii nume_tip_struct, fie variabile_structura, dar nu ambele. Dupa cum se observa, nume_tip_structura dupa cuvantul cheie struct se refera la sablonul structurii (tipul sau) iar variabile_structura se refera la lista de variabile de acest tip (cu aceasta structura)
Referirea individuala a elementelor unei structuri se face cu operatorul punct '.'. De exemplu, instructiunea urmatoare va atribui elementului zip al variabilei structura addr_info valoarea 12345:
addr_info.zip = 12345;
Pentru accesarea elementelor unei structuri se foloseste forma generala :
nume_structura.nume_element
De exemplu, pentru afisarea variabilei zip se va scrie:
printf ('%d', addr_info.zip);
In aceeasi forma, se pot referi celelalte elemente ale structurii addr_info. De exemplu apelul:
gets (addr_info.name);
are ca efect trecerea la un pointer-caracter la primul caracter al elementului nume. Pentru a avea acces la fiecare caracter al elementului addr_info.name, se poate indexa name. De exemplu, pentru afisarea continutului lui addr_info.name, caracter cu caracter, se foloseste programul:
register int t;
for (t = 0; addr_info.name[t]; ++t)
putchar (addr_info.name[t]);
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 889
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved