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

标签 c++ c pointers struct

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

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

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

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

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

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

最佳答案

您应该使用 nullptr 而不是 0,否则将指针初始化为 0 没有任何问题。

关于c++ - 初始化指向另一个结构内部结构的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54199170/

相关文章:

c++ - 硬件级别的 'for loop' 中发生了什么?内存是自动分配的吗? (C++)

c++ - AR.Drone 2, ffmpeg avcodec_decode_video2( ) 段错误

c++ - 在 MSVC 上解决类似 Sanitizer 的功能

在 C 中创建和使用泛型方法

c - Id 返回 1 退出状态 - 文件读取

c - 数字字符串上的 STRCMP

C - 为什么允许我这样做?

c++ - 存储指向对象成员变量的指针

c - 指向链表指针数组的指针

c++ - 为什么我在 OpenGL 的透视投影中将 Z 除以 W?