Array of Structures in C Programming Language

Rumman Ansari   Software Engineer   2019-03-31   9717 Share
☰ Table of Contents

Table of Content:


C Structure is a collection of different data types ( variables ) which are grouped together. Whereas, an array of structures is nothing but a collection of structures. This is also called a structure array in C.

This program is used to store and access id, name and percentage for 3 students. Structure array is used in this program to store and display records for many students. You can store n number of students record by declaring structure variable as struct student record[n], where n can be 2000 or 4000 etc.

Example Program

#include 
#include 
 
struct student 
{
     int id;
     char name[30];
     float percentage;
};
 
int main() 
{
     int i;
     struct student item[2];
 
     // 1st student's item
     item[0].id=21;
     strcpy(item[0].name, "Rambo");
     item[0].percentage = 86.5;
 
     // 2nd student's item         
     item[1].id=2;
     strcpy(item[1].name, "Azmi");
     item[1].percentage = 90.5;
 
     // 3rd student's item
     item[2].id=3;
     strcpy(item[2].name, "Rahul");
     item[2].percentage = 81.5;
 
     for(i=0; i<3; i++)
     {
         printf("items of STUDENT : %d \n", i+1);
         printf(" Id is: %d \n", item[i].id);
         printf(" Name is: %s \n", item[i].name);
         printf(" Percentage is: %f\n\n",item[i].percentage);
     }
     return 0;
}

Output

items of STUDENT : 1
 Id is: 21
 Name is: Rambo
 Percentage is: 86.500000

items of STUDENT : 2
 Id is: 2
 Name is: Azmi
 Percentage is: 90.500000

items of STUDENT : 3
 Id is: 3
 Name is: Rahul
 Percentage is: 81.500000

Press any key to continue . . .

It is possible to define an array of structures for example if we are maintaining information of all the students in the college and if 100 students are studying in the college. We need to use an array than single variables. We can define an array of structures as shown in the following example:

structure information 
{ 
int id_no; 
char name[20]; 
char address[20]; 
char combination[3]; 
int age; 
} 
student[100]; 
  

An array of structures can be assigned initial values just as any other array can. Remember that each element is a structure that must be assigned corresponding initial values as illustrated below.

Example Program

#include 
struct info 
{ 
int id_no; 
char name[20]; 
char address[20]; 
char sex[7]; 
int age; 
};
 

void main(){
struct info std[100]; 
int i,n; 
printf("Enter the number of students\n"); 
scanf("%d",&n); 

printf("Enter Id_no, name, address, sex age\n"); 

for(i=0; i < n;i++) {
scanf("%d%s%s%s%d",
&std[i].id_no, std[i].name, std[i].address, std[i].sex,&std[i].age); 
}
printf("\n Student information \n"); 

for (i=0;i

Output

Enter the number of students
2
Enter Id_no, name, address, sex age
21 Rambo kolkata male 21
22 Azmi kolkata male 22

 Student information
Id no: 21 Name: Rambo Address: kolkata sex: male age: 21
Id no: 22 Name: Azmi Address: kolkata sex: male age: 22
Press any key to continue . . .