初始化指向另一个结构内部结构的指针

时间:2019-01-15 12:46:43

标签: c++ c pointers struct

在C ++源文件的另一个结构定义中,我有两个指向结构的指针变量(prevGuiMsgcurrGuiMsg):

typedef struct
{
    bool re_pop_required;
    bool concurrent_popups;
    MlGuiMsg* prevGuiMsg;
    MlGuiMsg* currGuiMsg;
    uint32_t first_popup;
    uint32_t second_popup;
}RePopup;

M1GuiMsg-结构在另一个C头文件中定义(我正在混合C和C ++代码)。指向该结构的指针作为参数传递给源文件中的函数,在此我希望将参数所指向的数据存储在指针变量prevGuiMsgcurrGuiMsg中。

我希望明确地声明一个类型为struct RePopup的变量,并在C ++源文件中初始化其成员以及声明:

RePopup rp = {false, false, 0, 0, 0, 0};

因此,我的问题是:是否可以/应该在另一个结构的显式声明中初始化指向零的结构的指针?

1 个答案:

答案 0 :(得分:3)

您应该使用nullptr而不是0,但是初始化指向0的指针没有任何问题。