1

我有这个代码

#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}}
};

我不明白这种情况下的结构声明。请帮帮我

4

1 回答 1

1

这是使用大括号初始化。

该数组给出了一个逗号分隔的列表,初始化数组中的每个结构(如果给出了明确的大小,我相信剩余的结构将被初始化为零)。

既然都差不多,就拿第一个吧{{2,3}}

这有一个元素,{2,3}它告诉您如何初始化x成员。由于只指定了两个值,余数将被初始化为零,给出[2,3,0]. 同样,leftright被初始化为空指针。

数组中的其余结构以类似方式初始化。

于 2013-04-21T16:44:13.617 回答