Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有这个代码
#define MAX_DIM 3 struct kd_node_t { double x[MAX_DIM]; struct kd_node_t *left, *right; }; struct kd_node_t wp[] = { {{2, 3}}, {{5, 4}}, {{9, 6}}, {{4, 7}}, {{8, 1}}, {{7, 2}} };
我不明白这种情况下的结构声明。请帮帮我
这是使用大括号初始化。
该数组给出了一个逗号分隔的列表,初始化数组中的每个结构(如果给出了明确的大小,我相信剩余的结构将被初始化为零)。
既然都差不多,就拿第一个吧{{2,3}}。
{{2,3}}
这有一个元素,{2,3}它告诉您如何初始化x成员。由于只指定了两个值,余数将被初始化为零,给出[2,3,0]. 同样,left和right被初始化为空指针。
{2,3}
x
[2,3,0]
left
right
数组中的其余结构以类似方式初始化。