C array of pointer to structure
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