c创建新结构时如何为成员指针赋值NULL

我正在使用链表编写一个运行长度编码项目.每当我使用new创建一个Node时,它是否可能接下来有值NULL?

我有

struct Node{
    int x;
    char c;
    Node* next;
}

class RLElist{
private:
    Node* startList;
public:
    /*some member functions here*/
}

我需要它为NULL所以我可以检查我是否已到达列表的最后一个节点.

最佳答案
有不同的选择:

添加一个构造函数,用于初始化指针(使其初始化为零):

struct Node{
    Node() : next() {}  // you can also value initialize x and c if required.
    int x;
    char c;
    Node* next;
};

在声明点初始化:

struct Node{
    int x;
    char c;
    Node* next = nullptr;
};

值初始化新建对象:

node* Node = new Node(); // or new Node{};

转载注明原文:c创建新结构时如何为成员指针赋值NULL - 代码日志