如果将值初始化为NULL,如何向全局结构添加值?

时间:2017-03-07 07:50:30

标签: c++

通常情况下,我只需在main中输入head = new Node,这会设置一切,但规定是我没有权限搞乱全局变量。这是一个我只能访问main的赋值,由于其他后端功能,我必须保留全局变量,所以我不能用head = new Node覆盖它。

重点是将字符添加到链表中。我只是硬编码插入一个例子,但我仍然无法避免错误。

有没有正确的方法来添加它们?

struct Node{
  char key;
  Node *next;
};

Node *head = NULL;

int main(){
    char x = 'a';
    cout<<x<<endl;
    head->key=x;

}

赋值: 查找BST中属于给定值范围的所有节点。然后构建值的链接列表,列表应按升序排列。

注意:链表的头部在后端全局声明,其初始值为NULL。只需使用head将节点添加到链接列表。链表的打印也将在后端完成。可以使用辅助函数。

void RangeSearch(TreeNode * node,char m,char n);

1 个答案:

答案 0 :(得分:0)

Head只是一个指向NULL的指针。没有为Node分配真实的对象/内存。你首先要为它分配内存。

在您的作业中,您可以而且应该(据我所知)将节点添加到链接列表,因此您必须分配新节点。

    struct Node {
    char key;
    Node *next;
};

Node *head = NULL;

int main() {
    char x = 'a';
    head = new Node();
    cout << x << endl;
    head->key = x;
    delete head;
    return 0;
}