# C Array of Structures | Arrays of Structures | Array of Structure in C

In this article C array of structures we give the information about arrays of structures, example and array of structure program in c.

#### Arrays of Structures:

We use structures to describe the format of a number of related variables. For example, in analyzing the score obtained by the cricket match of players, we may use a template to describe players name and score obtained in various matches and then declare all the players as structure variables. In such cases, we may declare an array of structures, each elements of the array representing a structure variable.

For example:

struct c_match players;

Defines an array called players, that consists of 11 elements. Each element is defined to be of type sturct c_match. Consider the following declaration:

struct scores

{

int match1;

int match2;

int match3;

};

main()

{

struct score player = {{40, 72, 90}, {51, 81, 36}, {40, 62, 91} };

this declares the players as an array of three elements player, player and  player   and initializes their members as follows:

player.match1 = 40;

player.match2 = 72;

player.match3 = 90;

………

………

Player.match3 = 91;

#### Example:

/* Write a program to calculate the player-wise totals and store them as a part of the structure.

Program:

*/

#include<stdio.h>

#include<conio.h>

struct score

{

int match1;

int match2;

int match3;

int total;

};

void main()

{

int i;

struct score player = {{40, 72, 90,0}, {51, 81, 36,0}, {40, 62, 91,0} };

clrscr();

for( i=0; i<3; i++)

{

player[i].total=player[i].match1+player[i].match2+player[i].match3;

}

printf(“\nPlayer      Total\n”);

for( i=0; i<3; i++)

{

printf(“Player[%d]           %d\n”, i+1, player[i].total);

}

getch();

}

OUTPUT:

Player               Total

Player             202

Player            168

Player            193

#### // Arrays within structure

#include<stdio.h>
#include<conio.h>
struct marks
{
int sub; // array variable
int tot;
};
void main()
{
struct marks stud={45,67,81,0,75,53,69,0,57,36,71,0};
int i,j;
clrscr();
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
stud[i].tot=stud[i].tot+stud[i].sub[j];
}
}
printf(“\n\n Student Total\n”);
for(i=0;i<3;i++)
printf(“\n stud[%d] %d”,i+1,stud[i].tot);
getch();
}

#### Some More: DBMS/ WT/ DMDW 