Explain the array of structures in C language

An array of structure in C programming is a collection of different datatype variables, grouped together under a single name.

General form of structure declaration

The structural declaration is as follows −

struct tagname{
   datatype member1;
   datatype member2;
   datatype member n;

Here, struct is the keyword

    tagname specifies name of structure

    member1, member2 specifies the data items that make up structure.


The following example shows the usage of array of structures in C programming −

struct book{
   int pages;
   char author [30];
   float price;

Array of structures

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

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

  • For Example − struct book b[10]; //10 elements in an array of structures of type ‘book’


The following program shows the usage of 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