在C语言中,给一个struct数组赋值可以通过以下两种方法:
#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;
}
#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数组赋值的方式。需要注意的是,在使用初始化列表的情况下,数组大小必须和初始化列表中的元素数量保持一致。