U ovom ćete primjeru naučiti pohranjivati podatke koje je korisnik unio pomoću dinamičke dodjele memorije.
Da biste razumjeli ovaj primjer, trebali biste imati znanje sljedećih C programskih tema:
- C Pokazatelji
- C Dinamička dodjela memorije
- C strukt
Ovaj program traži od korisnika da dinamički pohrani vrijednost noOfRecords
i alocira memoriju za noOfRecords
strukturne varijable pomoću malloc()
funkcije.
Pokažite dinamičko dodjeljivanje memorije za strukturu
#include #include struct course ( int marks; char subject(30); ); int main() ( struct course *ptr; int i, noOfRecords; printf("Enter the number of records: "); scanf("%d", &noOfRecords); // Memory allocation for noOfRecords structures ptr = (struct course *)malloc(noOfRecords * sizeof(struct course)); for (i = 0; i subject, &(ptr + i)->marks); ) printf("Displaying Information:"); for (i = 0; i subject, (ptr + i)->marks); return 0; )
Izlaz
Unesite broj zapisa: 2 Unesite naziv predmeta i oznake: Programiranje 22 Unesite naziv predmeta i ocjene: Struktura 33 Prikazivanje podataka: Programiranje 22 Struktura 33