具有宏值的 C 结构初始化

C struct initialization with macro value

我知道 C++ 并且我正在学习 C。我想将 nullptr 定义为 NULL,但是当我使用括号初始化结构时它会导致错误并显示预期的“}”。我正在使用 visual studio 编译器,下面是我的代码示例:

#define nullptr NULL;

typedef struct
{
    int data;
    struct Node* next;
} 
Node;

//works fine
Node myNode1;
myNode1.data = 1;
myNode1.next = nullptr;

//works fine
Node myNode2 = {1, NULL};

//error E0067   expected a '}'
Node myNode3 = {1, nullptr };

定义nullptr

#define nullptr NULL

没有尾随 ;