我写一个结构体
struct Tree{ struct Node *root; struct Node NIL_t; struct Node * const NIL; //sentinel }
我想要
struct Node * const NIL = &NIL_t;
我不能在结构体内初始化它.
我正在使用msvs.
我使用C,不是C.
我知道我可以在C中使用初始化列表.
在C中怎么做?
解决方法
如果您使用C99,可以使用指定的初始化器来执行此操作:
struct Tree t = { .root = NULL,.NIL = &t.NIL_t };
这只适用于C99.我在gcc上测试过,似乎工作正常.