Popular Tutorials
Start Learning CCertification Courses
Created with over a decade of experience and thousands of feedback.
C Program to Store Data in Structures Dynamically
In this example, you will learn to store the information entered by the user using dynamic memory allocation.
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 <stdio.h>
#include <stdlib.h>
struct course {
int marks;
char subject[30];
};
int main() {
struct course *ptr;
int noOfRecords;
printf("Enter the number of records: ");
scanf("%d", &noOfRecords);
// Memory allocation for noOfRecords structures
ptr = (struct course *)malloc(noOfRecords * sizeof(struct course));
for (int i = 0; i < noOfRecords; ++i) {
printf("Enter subject and marks:\n");
scanf("%s %d", (ptr + i)->subject, &(ptr + i)->marks);
}
printf("Displaying Information:\n");
for (int i = 0; i < noOfRecords; ++i) {
printf("%s\t%d\n", (ptr + i)->subject, (ptr + i)->marks);
}
free(ptr);
return 0;
}
Output
Enter the number of records: 2 Enter subject and marks: Science 82 Enter subject and marks: DSA 73 Displaying Information: Science 82 DSA 73
Did you find this article helpful?