Home / Programs / C Program to Store Information Using Structures with Dynamically Memory Allocation
Programming Example

C Program to Store Information Using Structures with Dynamically Memory Allocation

👁 1,232 Views
💻 Practical Program
📘 Step by Step Learning
In this example, you'll learn to store information using structures by allocation dynamic memory using malloc().

Program Code

#include <stdio.h>
#include<stdlib.h>

struct course
{
   int marks;
   char subject[30];
};

int main()
{
   struct course *ptr;
   int i, noOfRecords;
   printf("Enter number of records: ");
   scanf("%d", &noOfRecords);

   // Allocates the memory for noOfRecords structures with pointer ptr pointing to the base address.
   ptr = (struct course*) malloc (noOfRecords * sizeof(struct course));

   for(i = 0; i < noOfRecords; ++i)
   {
       printf("Enter 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 number of records: 2
Enter name of the subject and marks respectively:
Programming
22
Enter name of the subject and marks respectively:
Structure
33

Displaying Information:
Programming      22
Structure        33

Explanation

In this example, you'll learn to store information using structures by allocation dynamic memory using malloc().


This program asks user to store the value of noOfRecords and allocates the memory for the noOfRecords structure variable dynamically using malloc() function.

How to learn from this program

First read the algorithm, then study the program code line by line. After that, compare the code with the output and finally go through the explanation. This approach helps learners understand both the logic and the implementation properly.