Arhitecturi de structuri

Structurile formează adesea rețele. Pentru a declara o matrice de structuri, trebuie mai întâi să definiți o structură (care este definirea unui tip de date agregat) și apoi să declarați o variabilă de matrice de același tip. De exemplu, pentru a declara o matrice de 100 de elemente de structuri de tipul addr. care a fost definită mai devreme, scrieți următoarele:







Această expresie va crea 100 de seturi de variabile, fiecare dintre acestea fiind organizată așa cum este definită în structura addr.

Pentru a accesa o anumită structură, specificați numele matricei cu index. De exemplu, pentru a scoate codul ZIP din a treia structură, scrieți următoarele:

Ca și în alte tablouri de variabile, în matrice de structuri, indexarea începe la 0.

Pentru referință. Pentru a specifica o structură specifică care se află într-o serie de structuri, trebuie să specificați numele acestui matrice cu un anumit index. Și dacă trebuie să specificați indexul unui anumit element din structură, trebuie să specificați indexul acestui element. Astfel, ca urmare a executării expresiei următoare, primul caracter al membrului de nume. situată în a treia structură a adresei addr_list. i se atribuie valoarea "X".

Exemplu cu lista de discuții

Toate aceste informații, după cum se arată mai jos, se află într-o serie de structuri de tipul addr:

Rețineți că câmpul de zip are un tip lung nesemnat. Este adevărat că este mai frecvent posibil să stocați coduri de poștă care utilizează șiruri de caractere, deoarece această metodă este potrivită pentru codurile poștale care folosesc litere împreună cu numerele (de exemplu, în Canada și în alte țări). Cu toate acestea, în exemplul nostru, codul poștal este stocat ca un număr întreg; acest lucru se face pentru a arăta utilizarea unui element numeric în structură.






Aici este main () - prima funcție pe care programul o are:

Funcția începe executarea de la inițializarea matricei de structuri și apoi răspunde la elementul de meniu selectat.

Funcția init_list () pregătește o serie de structuri pentru utilizare, zeroind primul octet al câmpului de nume al fiecărei structuri de matrice. (Programul presupune că dacă câmpul de nume este gol, atunci elementul matrice nu este utilizat.) Dar funcția init_list () în sine:

Funcția menu_select () afișează meniul de pe ecran și returnează ceea ce a selectat utilizatorul.

Funcția enter () îi spune utilizatorului ce să scrie și stochează informațiile introduse în următoarea structură liberă. Dacă matricea este plină, se afișează lista de mesaje plină. Funcția find_free () caută un element gratuit în matricea structurilor.

Rețineți că dacă toate elementele din structura de structuri sunt ocupate, atunci find_free () returnează -1. Acesta este un număr convenabil, deoarece nu există element -1 în matrice.

Ultima funcție solicitată de program este lista (). care afișează întreaga listă de discuții. Datorită varietății medii de calcul, C nu definește o funcție standard care să trimită ieșirea la imprimantă. Cu toate acestea, toate instrumentele necesare pentru acest lucru sunt disponibile în toate compilatoarele C. Poate că veți dori să vă asigurați că programul pentru lucrul cu listele poate tipări și lista de discuții.

Mai jos este lista completă a programului de procesare a listei de discuții. Dacă aveți în continuare îndoieli cu privire la componentele sale, introduceți programul în computer și testați funcționarea acestuia, făcând modificări în program și obținerea rezultatelor corespunzătoare.







Articole similare

Trimiteți-le prietenilor: