可以在定义结构体数组时把变量直接初始化吗

2025-06-22 08:31:51
推荐回答(1个)
回答1:

可以呀,试试就知道了:

#include 

struct A {
    int a;
    float b;
    const char* c;
};

int main() {
    struct A aa[] = {{1, 1.1, "1.1.1"}, {2, 2.2, "2.2.2"}};
    int n = sizeof(aa) / sizeof(aa[0]);
    for(int i=0; i        printf("%d, %f, %s\n", aa[i].a, aa[i].b, aa[i].c);
    }

    return 0;
}

定义单个结构体可以struct A a = {1, 1.1, "1.1.1"};所以结构体数组,就是像上面那样写就好了。

需要注意的是,每个结构体里面的三个参数顺序必须跟结构体里定义的顺序一致。