Šiame pavyzdyje išmoksite saugoti vartotojo įvestą informaciją naudodamas dinaminį atminties paskirstymą.
Norėdami suprasti šį pavyzdį, turėtumėte žinoti šias C programavimo temas:
- C Rodyklės
- C Dinaminis atminties paskirstymas
- C strukt
Ši programa prašo vartotojo saugoti struktūros kintamųjų vertę noOfRecords
ir noOfRecords
dinamiškai, naudodama šią malloc()
funkciją, paskirsto atmintį .
Parodykite dinaminį atminties paskirstymą struktūrai
#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; )
Rezultatas
Įveskite įrašų skaičių: 2 Įveskite atitinkamai dalyko pavadinimą ir žymes: Programavimas 22 Įveskite atitinkamai dalyko pavadinimą ir žymes: Struktūra 33 Informacijos rodymas: Programavimas 22 Struktūra 33