Open In App

How to Create an Array of Structs in C?

In C, a structure is a user-defined data type that can be used to group items of different types into a single entity while an array is a collection of similar data elements. In this article, we will learn how to create an array of structs in C.

Creating an Array of Structs in C

To create an array of structs, we first need to define the struct type and then declare an array of that type using the below syntax.



Syntax to Create an Array of Structure in C

// Define the struct
struct StructName {
dataType1 member1;
dataType2 member2;
// more members...
};
// Declare an array of structs
struct StructName arrayName[arraySize];

Here,

C Program to Create an Array of Structs

The below program demonstrates how we can create an array of structs in C.






// C program to demonstrate how to create an array of
// structs
#include <stdio.h>
  
// Define the struct
struct Student {
    int id;
    char name[50];
};
  
int main()
{
    // Declare the size of the array
    int size = 5;
  
    // Declare an array of structs
    struct Student myArray[size];
  
    // Initialize data to structs present in the array
    for (int i = 0; i < size; i++) {
        myArray[i].id = i + 1;
        snprintf(myArray[i].name, sizeof(myArray[i].name),
                 "Student%d", i + 1);
    }
  
    // Print the data of structs present in the array
    printf("Array Elements:\n");
    for (int i = 0; i < size; i++) {
        printf("Element %d: ID = %d, Name = %s\n", i + 1,
               myArray[i].id, myArray[i].name);
    }
  
    return 0;
}

Output
Array Elements:
Element 1: ID = 1, Name = Student1
Element 2: ID = 2, Name = Student2
Element 3: ID = 3, Name = Student3
Element 4: ID = 4, Name = Student4
Element 5: ID = 5, Name = Student5

Time Complexity: O(N), here N is the number of elements present in the array
Auxiliary Space: O(N)


Article Tags :