I dette eksempel lærer du at gemme de oplysninger, der er indtastet af brugeren ved hjælp af dynamisk hukommelsestildeling.
For at forstå dette eksempel skal du have kendskab til følgende C-programmeringsemner:
- C markører
- C Dynamisk hukommelsesallokering
- C struct
Dette program beder brugeren om at gemme værdien af noOfRecords
og allokere hukommelsen til noOfRecords
strukturvariablerne dynamisk ved hjælp af malloc()
funktionen.
Demonstrer den dynamiske hukommelsesallokering til struktur
#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; )
Produktion
Indtast antallet af poster: 2 Indtast henholdsvis emnets navn og mærker: Programmering 22 Indtast henholdsvis emnets navn og mærker: Struktur 33 Visning af oplysninger: Programmering 22 Struktur 33