O structură este unirea mai multor obiecte, posibil de diferite tipuri, sub același nume, care este tipul structurii. Obiectele pot fi variabile, tablouri, pointeri și alte structuri.
Structurile ne permit să tratăm un grup de obiecte conexe nu ca un set de elemente separate, ci ca un întreg. Structura este un tip complex de date, compus din tipuri simple.
int zi; // 4 octeți
char * luna; // 4 octeți
int an; // 4 octeți
>;
Câmpurile de structură sunt stocate în memorie în ordinea în care sunt declarate:
În acest exemplu, structura de date ocupă 12 de octeți în memorie. În plus, indicatorul * lună în timpul inițializării va fi începutul unui șir de text cu numele lunii alocate în memorie.
nume de caractere [20]; // numele de familie
caracterele [20]; // nume
struct date bd; // Data nașterii
>;
Inițializarea câmpurilor de structură
Inițializarea câmpurilor de structură poate fi realizată în două moduri:
În prima metodă, inițializarea este efectuată în următoarea formă:
Numele elementului de structură este compus. Pentru a vă referi la un element de structură, trebuie să specificați numele structurii și numele elementului însuși. Ele sunt separate de un punct:
printf (".% s", bd.day, bd.month, bd.year);
Cea de-a doua modalitate de a iniția obiecte de limbaj C utilizând funcțiile I / O.
#include Folosind structuri, puteți împacheta componente întregi chiar mai strâns decât ați făcut cu un matrice. Setul de cifre al unui întreg poate fi împărțit în câmpuri de biți, fiecare dintre acestea fiind alocat pentru o anumită variabilă. Când lucrați cu câmpuri de biți, numărul de biți alocați pentru stocarea fiecărui câmp este separat de nume printr-un colon nume de tip: NumberBit Când lucrați cu câmpuri de biți, trebuie să vă asigurați că valoarea variabilei nu necesită mai multă memorie decât este alocată. Exemplu: Dezvoltați un program care împachetează data într-un format #include ziua nesemnată scurtă: 5; luna nesemnate: 4; anul nesemnificativ scurt: 7; struct astăzi; Pentru a lucra cu matricea, puteți utiliza indicatorul p sau numele matricei: expresia este un indicator al unei structuri sau al unei uniuni; Alocarea dinamică a memoriei pentru o serie de structuri este necesară dacă dimensiunea matricei nu este cunoscută în prealabil. Pentru a determina dimensiunea unei structuri în octeți, utilizați operația sizeof (denumirea structurii); Exemplu O bibliotecă de 3 cărți #include #include
#include
struct date
Câmpuri bit
#include
# definește YEAR0 1980
struct date
>;
int main ()
Indicatori la structuri
expresie-> identificator
(* expresie)
identificator - domeniul structurii sau asociației;Alocarea dinamică a memoriei pentru structuri
#include
struct carte
Articole similare