C中结构的不同语法
Different syntax of structure in C
c结构有哪些不同的语法?如何解码:
struct p {
char a[1];
int b;
int *a;
int value;
};
struct p q[] = {
{"a", 0, &b, C},
{"J", 0, &k, l}
};
我找到了另一个讨论here,但没有遇到这种类型。
q
是p
.
类型结构的数组
p
具有以下元素:
字符指针
任何类型(int、char、short 等,甚至指针也是可能的)
指向任何类型的指针
应该是常数
语法实际上是初始化q[0]
和q[1]
那是在声明一个名为 q 的类型为 struct p 的数组,它实际上根本没有定义一个结构。初始化列表中的 {"a", 0, etc...} 正在创建结构,通过为结构字段定义值来填充数组的第一个和第二个元素,并在这样做时创建实例堆栈上的结构。
结构 p 似乎包含一个
字符*,
一个整数,
一些其他指针
和其他东西(可能是整数)。
c结构有哪些不同的语法?如何解码:
struct p {
char a[1];
int b;
int *a;
int value;
};
struct p q[] = {
{"a", 0, &b, C},
{"J", 0, &k, l}
};
我找到了另一个讨论here,但没有遇到这种类型。
q
是p
.
p
具有以下元素:
字符指针
任何类型(int、char、short 等,甚至指针也是可能的)
指向任何类型的指针
应该是常数
语法实际上是初始化q[0]
和q[1]
那是在声明一个名为 q 的类型为 struct p 的数组,它实际上根本没有定义一个结构。初始化列表中的 {"a", 0, etc...} 正在创建结构,通过为结构字段定义值来填充数组的第一个和第二个元素,并在这样做时创建实例堆栈上的结构。
结构 p 似乎包含一个 字符*,
一个整数,
一些其他指针
和其他东西(可能是整数)。