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 the name of structure.
member1, member2 specifies the data items that make up structure.
Example
The following example shows the usage of array within a structure in C programming −
struct book{ int pages; char author [30]; float price; };
Example
Following is the C program to demonstrate the use of an array within a structure −
#include <stdio.h> // Declaration of the structure candidate struct candidate { int roll_no; char grade; // Array within the structure float marks[4]; }; // Function to displays the content of // the structure variables void display(struct candidate a1){ printf("Roll number : %d\n", a1.roll_no); printf("Grade : %c\n", a1.grade); printf("Marks secured:\n"); int i; int len = sizeof(a1.marks) / sizeof(float); // Accessing the contents of the // array within the structure for (i = 0; i < len; i++) { printf("Subject %d : %.2f\n", i + 1, a1.marks[i]); } } // Driver Code int main(){ // Initialize a structure struct candidate A= { 1, 'A', { 98.5, 77, 89, 78.5 } }; // Function to display structure display(A); return 0; }
Output
When the above program is executed, it produces the following result −
Roll number : 1 Grade : A Marks secured: Subject 1 : 98.50 Subject 2 : 77.00 Subject 3 : 89.00 Subject 4 : 78.50