初始化结构内部的数组(带有值的数组)

时间:2019-07-06 20:34:23

标签: c arrays structure

是否可以使用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]);

1 个答案:

答案 0 :(得分:4)

您可以在定义结构对象时对其进行初始化,其中包括在结构内部初始化数组成员:

struct student example_student = { { 35434, 56343 } };

您还可以专门标识要初始化的结构成员:

struct student example_student = { .student_number = { 35434, 56343 } };