Array of Pointer to Structure in C Programming
Array of Pointer to Structure
Suppose we have declared structure then we can create array of pointer to the structure. Syntax of the structure is as follow -
Syntax :
struct stud { int roll; char name[10]; }*ptr[20];
Explaination of Code :
- Suppose we have to maintain database of 10 students .
- Here 10 Structures are Placed in the Memory and there base addresses are stored in Pointers .
- E.g ptr[0],ptr[1] stores the address of First & second structure respectively.
- Using the Array of Pointer the time required to access structure reduces.
- This is used in Dynamic Memory Allocation
Diagram :
Live Example :
#include<stdio.h> struct stud { int roll; char name[10]; }*ptr[10]; int main() { int i; printf("Enter the Student Details : "); for(i=0;i<3;i++) { ptr[i] = (struct stud *) malloc(sizeof(struct stud)); printf("\nEnter the Roll Number : "); scanf("%d",&ptr[i]->roll); printf("\nEnter the Name : "); scanf("%s",ptr[i]->name); } printf("\nStudent Details are : "); for(i=0;i<3;i++) { printf("\nRoll Number : %d",ptr[i]->roll); printf("\nName : %s",ptr[i]->name); } return(0); }
Output :
Enter the Student Details : Enter the Roll Number : 1 Enter the Name : Pritesh Enter the Roll Number : 2 Enter the Name : Suraj Enter the Roll Number : 3 Enter the Name : Aruna Student Details are : Roll Number : 1 Name : Pritesh Roll Number : 2 Name : Suraj Roll Number : 3 Name : Aruna