In this example, you will learn to store the information entered by the user using dynamic memory allocation.
Limited time offer: Get 10 free Adobe Stock images.ADS VIA CARBON
To understand this example, you should have the knowledge of the following C programming topics:
This program asks the user to store the value of noOfRecords
and allocates the memory for the noOfRecords
structure variables dynamically using the malloc()
function.
Demonstrate the Dynamic Memory Allocation for Structure
#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 < noOfRecords; ++i) {
printf("Enter the name of the subject and marks respectively:\n");
scanf("%s %d", (ptr + i)->subject, &(ptr + i)->marks);
}
printf("Displaying Information:\n");
for (i = 0; i < noOfRecords; ++i)
printf("%s\t%d\n", (ptr + i)->subject, (ptr + i)->marks);
return 0;
}
Output
Enter the number of records: 2 Enter the name of the subject and marks respectively: Programming 22 Enter the name of the subject and marks respectively: Structure 33 Displaying Information: Programming 22 Structure 33