This question already has answers here:
How to initialize a struct in accordance with C programming language standards
(16个答案)
6年前关闭。
这是我在其他人的问题中刚刚发现的初始化。
我以前从未见过这样的东西,也找不到解释说明.name如何正确。
我正在寻找的是此过程如何逐步进行。
它看起来像:
还是我完全错了? 普通旧数组初始化:
一个指定的初始化程序。请参阅此问题的可接受答案:How to initialize a struct in accordance with C programming language standards
语法是非常不言自明的。您可以这样初始化:
或使用任何订购,
(16个答案)
6年前关闭。
这是我在其他人的问题中刚刚发现的初始化。
my_data data[]={
{ .name = "Peter" },
{ .name = "James" },
{ .name = "John" },
{ .name = "Mike" }
};
我以前从未见过这样的东西,也找不到解释说明.name如何正确。
我正在寻找的是此过程如何逐步进行。
它看起来像:
1) data;
2) *data;
3) (*data).name;
4) (*data).name="Peter";
还是我完全错了?
最佳答案
这里只有两种语法在起作用。
int x[] = {0, 0}; // x[0] = 0, x[1] = 0
语法是非常不言自明的。您可以这样初始化:
struct X {
int a;
int b;
}
struct X foo = { 0, 1 }; // a = 0, b = 1
或使用任何订购,
struct X foo = { .b = 0, .a = 1 }; // a = 1, b = 0
关于c - 初始化结构体数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18921559/