是否可以使用C中的结构内部的值初始化数组?
#include <stdio.h>
struct student{
int student_number[2];
};
int main(void){
struct student {
int student_number = {35434, 56343};
}
struct student example_student;
printf("%i \n", example_student.student_number[0]);
return 0;
}
编辑: 谢谢Eric P,这消除了我与遇到的其他示例之间的一些困惑。
编辑以上代码以显示修复程序:
struct student{
int student_number[2];
};
int main(void){
struct student example_student = {
.student_number = {35434, 56343}
};
printf("%i \n", example_student.student_number[0]);
答案 0 :(得分:4)
您可以在定义结构对象时对其进行初始化,其中包括在结构内部初始化数组成员:
struct student example_student = { { 35434, 56343 } };
您还可以专门标识要初始化的结构成员:
struct student example_student = { .student_number = { 35434, 56343 } };