c语言

c语言struct数组赋值方法是什么

小亿
87
2024-08-23 03:30:31
栏目: 编程语言

在C语言中,给一个struct数组赋值可以通过以下两种方法:

  1. 逐个给每个元素赋值:
#include <stdio.h>

struct Student {
    char name[50];
    int age;
};

int main() {
    struct Student students[3];

    strcpy(students[0].name, "Alice");
    students[0].age = 20;

    strcpy(students[1].name, "Bob");
    students[1].age = 21;

    strcpy(students[2].name, "Cathy");
    students[2].age = 22;

    // 打印输出每个学生的信息
    for (int i = 0; i < 3; i++) {
        printf("Student %d: Name = %s, Age = %d\n", i+1, students[i].name, students[i].age);
    }

    return 0;
}
  1. 使用初始化列表初始化:
#include <stdio.h>

struct Student {
    char name[50];
    int age;
};

int main() {
    struct Student students[3] = {
        {"Alice", 20},
        {"Bob", 21},
        {"Cathy", 22}
    };

    // 打印输出每个学生的信息
    for (int i = 0; i < 3; i++) {
        printf("Student %d: Name = %s, Age = %d\n", i+1, students[i].name, students[i].age);
    }

    return 0;
}

上面的示例代码分别展示了逐个赋值和使用初始化列表两种方法给struct数组赋值的方式。需要注意的是,在使用初始化列表的情况下,数组大小必须和初始化列表中的元素数量保持一致。

0
看了该问题的人还看了