如何在C中的struct中初始化一个const变量?

前端之家收集整理的这篇文章主要介绍了如何在C中的struct中初始化一个const变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我写一个结构体
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上测试过,似乎工作正常.

猜你在找的C&C++相关文章