What is an array of structures in C language?

The most common use of structure in C programming language is an array of structures.

To declare an array of structures, first the structure must be defined and then, an array variable of that type can be defined.

For example, struct book b[10]; //10 elements in an array of structures of type ‘book’


Given below is the C program for accepting and printing details of 3 students with regards to an array of structures −

 Live Demo

#include <stdio.h>
#include <string.h>
struct student{
   int id;
   char name[30];
   float percentage;
int main(){
   int i;
   struct student record[2];
   // 1st student's record
   strcpy(record[0].name, "Bhanu");
   record[0].percentage = 86.5;
   // 2nd student's record
   strcpy(record[1].name, "Priya");
   record[1].percentage = 90.5;
   // 3rd student's record
   strcpy(record[2].name, "Hari");
   record[2].percentage = 81.5;
   for(i=0; i<3; i++){
      printf(" Records of STUDENT : %d 
", i+1);       printf(" Id is: %d
", record[i].id);       printf(" Name is: %s
", record[i].name);       printf(" Percentage is: %f

",record[i].percentage);    }    return 0; }


When the above program is executed, it produces the following result −

Records of STUDENT : 1
Id is: 1
Name is: Bhanu
Percentage is: 86.500000
Records of STUDENT : 2
Id is: 2
Name is: Priya
Percentage is: 90.500000
Records of STUDENT : 3
Id is: 3
Name is: Hari
Percentage is: 81.500000