Skip to content

qn-11.c

Problem Statement

Write a program to explain, how an array of stucture can you defined and accessed.

Metadata

Property Detail
Author Amit Dutta amitdutta4255@gmail.com
Date 06 Mar 2026
License MIT License (See the LICENSE file for details)

Actions

Raw View on GitHub

💡 You can print or save this file by opening Raw and using your browser.

Source Code

#include <stdio.h>
#include <string.h>

// 1. Defining the Structure
struct Student {
    int rollNo;
    char name[50];
    float marks;
};

int main() {
    int n, i;

    printf("Enter the number of students: ");
    scanf("%d", &n);

    // 2. Defining an Array of Structures
    // This creates 'n' blocks of memory, each large enough to hold a Student
    struct Student s[n];

    // 3. Accessing members to STORE data
    for (i = 0; i < n; i++) {
        printf("\nEnter details for Student %d:\n", i + 1);
        printf("Roll No: ");
        scanf("%d", &s[i].rollNo); // Using dot (.) operator with index [i]

        printf("Name: ");
        getchar(); // To clear the newline character from buffer
        fgets(s[i].name, sizeof(s[i].name), stdin);
        s[i].name[strcspn(s[i].name, "\n")] = '\0'; // Safe newline removal

        printf("Marks: ");
        scanf("%f", &s[i].marks);
    }

    // 4. Accessing members to DISPLAY data
    printf("\n--- Student Records ---\n");
    printf("ID\tName\t\tMarks\n");
    for (i = 0; i < n; i++) {
        // Accessing using s[i].member
        printf("%d\t%-15s\t%.2f\n", s[i].rollNo, s[i].name, s[i].marks);
    }

    return 0;
}