## C – Array of Structures

#### PrevNext

As you know, C Structure is collection of different datatypes ( variables ) which are grouped together. Whereas, array of structures is nothing but collection of structures. This is also called as structure array in C.

……

#### Example program for array of structures 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 1000 or 5000 etc.

```#include <stdio.h>
#include <string.h>

struct student
{
int id;
char name;
float percentage;
};

int main()
{
int i;
struct student record;

// 1st student's record
record.id=1;
strcpy(record.name, "Raju");
record.percentage = 86.5;

// 2nd student's record
record.id=2;
strcpy(record.name, "Surendren");
record.percentage = 90.5;

// 3rd student's record
record.id=3;
strcpy(record.name, "Thiyagu");
record.percentage = 81.5;

for(i=0; i<3; i++)
{
printf("     Records of STUDENT : %d n", i+1);
printf(" Id is: %d n", record[i].id);
printf(" Name is: %s n", record[i].name);
printf(" Percentage is: %fnn",record[i].percentage);
}
return 0;
}```

#### Output:

 Records of STUDENT : 1 Id is: 1 Name is: Raju Percentage is: 86.500000 Records of STUDENT : 2 Id is: 2 Name is: Surendren Percentage is: 90.500000 Records of STUDENT : 3 Id is: 3 Name is: Thiyagu Percentage is: 81.500000

#### Example program for declaring many structure variable in C:

In this program, two structure variables “record1” and “record2” are declared for same structure and different values are assigned for both structure variables. Separate memory is allocated for both structure variables to store the data.

```#include <stdio.h>
#include <string.h>

struct student
{
int id;
char name;
float percentage;
};

int main()
{
int i;
struct student record1 = {1, "Raju", 90.5};
struct student record2 = {2, "Mani", 93.5};

printf("Records of STUDENT1: n");
printf("  Id is: %d n", record1.id);
printf("  Name is: %s n", record1.name);
printf("  Percentage is: %f nn", record1.percentage);

printf("Records of STUDENT2: n");
printf("  Id is: %d n", record2.id);
printf("  Name is: %s n", record2.name);
printf("  Percentage is: %f nn", record2.percentage);

return 0;
}```

#### Output:

 Records of STUDENT1: Id is: 1 Name is: Raju Percentage is: 90.500000 Records of STUDENT2: Id is: 2 Name is: Mani Percentage is: 93.500000

.