Basic

Switch Case

Goto

Operators

if Statement

Nested if

While Loop

For Loop

Patterns

Array

2D Array

String Function Example

Pointers

Recursion Function

Structure

Excersises

Others


Array of Structures in C


Write a C program that uses a structure with an array to store multiple student's information:

  • A structure Student is defined to hold student details like id, name, and marks.
  • An array students[3] is declared to store data for three students.
  • A for loop is used to input details for each student, using scanf and dot notation.
  • Another for loop prints each student's information using their respective structure members.
Example : pgm.c
#include <stdio.h>

// Define structure for Student
struct Student {
    int id;
    char name[50];
    float marks;
};

int main() {
    // Declare an array of structures
    struct Student students[3];

    // Input student data
    for (int i = 0; i < 3; i++) {
        printf("Enter details for student %d:\n", i + 1);
        printf("ID: ");
        scanf("%d", &students[i].id);
        printf("Name: ");
        scanf(" %[^\n]", students[i].name);  // Read full name with spaces
        printf("Marks: ");
        scanf("%f", &students[i].marks);
        printf("\n");
    }

    // Print all student data
    printf("Student Details:\n");
    for (int i = 0; i < 3; i++) {
        printf("Student %d\n", i + 1);
        printf("ID: %d\n", students[i].id);
        printf("Name: %s\n", students[i].name);
        printf("Marks: %.2f\n", students[i].marks);
        printf("\n");
    }

    return 0;
}

Output :

Enter details for student 1:
ID: 101
Name: Ram
Marks: 89.5

Enter details for student 2:
ID: 102
Name: Alex
Marks: 92.0

Enter details for student 3:
ID: 103
Name: Sara
Marks: 89.5

Student Details:
Student 1
ID: 101
Name: Ram
Marks: 89.5

Student 2
ID: 102
Name: Alex
Marks: 92.0

Student 3
ID: 103
Name: Sara
Marks: 89.5