Cuprins:
Video: Curs de programare online pentru incepatori / copii - Curs 2 2024
Vă puteți gândi la structura limbajului de programare C ca o multivariabilă, sau la mai multe variabile într-una singură. Utilizezi structuri pentru a stoca sau accesa informații complexe. În acest fel, puteți păstra diferite variabile int, char, float și chiar și matrice, toate într-un singur pachet îngrijit.
Elementele de bază ale struct
O structură nu este un tip de variabilă. În schimb, gândiți-vă la acesta ca la un cadru care conține mai multe tipuri de variabile. În multe moduri, o structură este similară cu cea înregistrată într-o bază de date. De exemplu:
Denumire Vârsta Gambling debt
Aceste trei elemente pot fi câmpuri într-o înregistrare de baze de date, dar pot fi, de asemenea, membri într-o structură: Numele ar fi un șir; Vârsta, un număr întreg; și Datoria jocurilor de noroc, o valoare în virgulă mobilă nesemnată. Iată cum ar arăta o astfel de înregistrare ca o structură în C:
struct record {char name [32]; int age; float datorii;};
struct este un cuvânt cheie de limbă C care introduce, definește sau creează o nouă structură.
este numele structurii noi create.
În parantezele curbate locuiesc membrii structurii, variabilele conținute în structura numită. Tipul structurii de înregistrare conține trei variabile membre: un nume de șir, o vârstă denumită int și o valoare de plată, datorie.
Pentru a utiliza structura, trebuie să declarați o variabilă de structură a tipului de structură creat. De exemplu:
struct record uman;
Această linie declară o nouă variabilă a tipului structurii de înregistrare. Noua variabilă este numită uman .
Variabilele de structură pot fi de asemenea declarate atunci când definiți structura însăși. De exemplu:
struct record {char name [32]; int age; float datorii;} umane;
Aceste instrucțiuni definesc structura de înregistrare și declarând o variabilă a structurii de înregistrare, uman . Pot fi create mai multe variabile ale acelui tip de structură:
struct record {char name [32]; int age; float datorii;} bill, mary, dan, susie;
În acest exemplu sunt create patru variabile de structură de înregistrare. Fiecare variabilă are acces la cei trei membri definiți în structură.
Pentru a accesa membrii într-o variabilă de structură, utilizați o perioadă care este operatorul membru . Conectează numele variabilei de structură cu numele unui membru. De exemplu:
printf ("Victim:% sn", numele facturii);
Această declarație face trimitere la membrul membru în variabila de structură . O matrice de caractere, aceasta poate fi folosită în codul dvs. ca orice altă matrice de caractere. Alți membri din variabila structură pot fi utilizați ca și omologii lor individuali:
dan.vârsta = 32;
Cum se completează o structură
Ca și în cazul altor variabile, puteți atribui valori unei variabile de structură atunci când este creată. Mai întâi trebuie să definiți tipul de structură și apoi să declarați o variabilă de structură cu presetarea valorilor sale membre. Asigurați-vă că valorile presetate corespund ordinii și tipului de membri definite în structură, așa cum se arată în Declarația unei structuri inițializate.
DECLARAȚI O STRUCTURĂ INITIALIZATĂ
#include int main () {struct presedinte {char name [40]; int year;}; primul președinte al structurii = {"George Washington", 1789); printf ("Primul președinte a fost% sn", primul nume); printf ("A fost inaugurat în% dn", primul an); retur (0);}
Exercițiul 1 : Creați un nou program introducând codul sursă din Declarația unei structuri inițializate în editor. Construiți și alergați.
De asemenea, puteți declara o structură și o inițializați într-o singură declarație:
struct president {char name [40]; int an;} primul = {"George Washington", 1789);
Exercițiul 2 : Modificați codul sursă din exercițiul 1 astfel încât structura și variabila să fie declarate și inițializate ca o singură instrucțiune.
Deși puteți să declarați o structură și să inițializați o variabilă de structură așa cum este arătată, puteți să scăpați cu acel truc o singură dată. Nu puteți folosi tehnica pentru a declara a doua variabilă a structurii, care trebuie făcută în mod tradițional, așa cum se arată în Declarația unei structuri inițializate.
Exercițiul 3 : Adăugați o altă variabilă a structurii președintelui, al doilea în codul dvs., inițializând structura respectivă cu informații despre al doilea președinte, John Adams, care a fost inaugurat în 1797. Afișați conținutul ambelor structuri.
Cum se face o matrice de structuri
Crearea variabilelor structurale individuale, una după alta, este la fel de plictisitoare și risipă ca crearea unei serii de orice tip de variabilă individuală. Soluția pentru mai multe structuri este aceeași ca pentru mai multe variabile individuale: o matrice.
O matrice de structuri este declarată astfel:
struct score player [4];
Această declarație declară o serie de structuri de scoruri. Matricea este numită player și conține patru elemente de structură ca elemente.
Structurile din matrice sunt accesate utilizând o combinație de notație de matrice și de structură. De exemplu: playerul
[2]. nume
Variabila din linia precedentă accesează membrul de nume în al treilea element din matricea structurii jucătorului. Da, acesta este cel de-al treilea element deoarece primul element va fi menționat astfel:
player [0]. nume
Arrays începe numerotarea cu elementul 0, nu elementul 1.
Linia 10 din Arrays of Structures declară o serie de patru structuri de scoruri. Matricea este denumită player. Linile 13 până la 19 umple fiecare structură din matrice. Liniile 21 până la 27 afișează valorile membrilor fiecărei structuri.
ARRAJE DE STRUCTURI
#include int main () {struct de scoruri {char name [32]; int scor;}; struct score player [4]; int x; pentru (x = 0; x <4; x ++) {printf ("Introduceți playerul% d:", x + 1); scanf ("% s", player [x].Nume); printf ("Introduceți scorul lor:"); scanf ("% d", & player [x]. scor);} pune ("Info Player"); printf ("# tNametScoren"); pentru (x = 0, x <4; x ++) {printf ("% dt% st% 5dn", x + 1, player [x].
Exercițiul 4 : Introduceți codul sursă din Arrays of Structures în editorul dvs. Construiți și executați programul. Încercați să păstrați scorurile la mai puțin de cinci cifre, astfel încât acestea să se alinieze corect.
Exercițiul 5 : Adăugați codul în Arrays of Structures astfel încât afișarea structurilor să fie ordonată cu cel mai mare scor afișat mai întâi. Da, puteți face asta. Sortarea unei game de structuri funcționează la fel ca și trierea oricărei alte matrice.
Iată un indiciu: Linia 27 a soluției arată astfel:
player [a] = player [b];
Aveți posibilitatea să swap elementele structurii de structură așa cum puteți schimba orice elemente de matrice. Nu este nevoie să schimbați membrii variabilei structurale.