# How to Iterate Through Array of Structs in C?

Last Updated : 01 Mar, 2024

In C, while working with an array of structs we have to iterate through each struct in an array to perform certain operations or access its members. In this article, we will learn how to iterate through an array of the structs in C.

## Iterate Over of an Array of Structures

To iterate through an array of the structures in C, we can simply use a loop (for loop or a while loop) and access each struct in the array using the array indexing, and then we can access every member using the member name.

### C Program to Iterate Over an Array of Structs

The below example demonstrates how we can iterate through an array of structs and access each struct in C.

## C

 `// C program to illustrate how to iterate through array of ` `// structs ` `#include ` ` `  `// Define the Person struct ` `struct` `Person { ` `    ``int` `id; ` `    ``char` `name[20]; ` `    ``int` `age; ` `}; ` ` `  `int` `main() ` `{ ` `    ``// Creating and initializing an array of Person structs ` `    ``struct` `Person people[] = { { 1, ``"Ram"``, 20 }, ` `                               ``{ 2, ``"Mohan"``, 25 }, ` `                               ``{ 3, ``"Ria"``, 30 } }; ` ` `  `    ``// Calculating the number of elements in the array of ` `    ``// struct ` `    ``int` `numPeople = ``sizeof``(people) / ``sizeof``(people[0]); ` ` `  `    ``// Iterating through the array of structs ` `    ``for` `(``int` `i = 0; i < numPeople; i++) { ` `        ``printf``(``"Person Id: %d, Name: %s, Age: %d\n"``, ` `               ``people[i].id, people[i].name, people[i].age); ` `    ``} ` ` `  `    ``return` `0; ` `}`

Output

```Person Id: 1, Name: Ram, Age: 20
Person Id: 2, Name: Mohan, Age: 25
Person Id: 3, Name: Ria, Age: 30
```

Time Complexity: O(N), here n is the number of elements in the array of structs.
Auxilliary Space: O(1)

Note: We can also use a pointer to iterate through the array and access each element’s members using the arrow operator (`->`).

Previous
Next