首页 > 解决方案 > CPP 错误:为链接列表取消引用 NULL

问题描述

任何人都可以帮助我解决以下错误,因为我找不到我哪里出错了......

#include <stdio.h>
#include <stdlib.h>
#include <iostream>

struct node
{
  int data;
  struct node *link;
};

int main()
{
  node *head = (struct node*)malloc(sizeof(struct node));

  head -> data = 99;

警告 C6011 取消引用 NULL 指针“头”。链接列表_2

head -> link = NULL; 

node* next = (struct node*)malloc(sizeof(struct node));
next -> data = 89;

警告 C6011 取消引用 NULL 指针“下一个”。链接列表_2

next->link = NULL;
head->link = next;


printf("%d\t%d", head->data,next->data);
return 0;
}

标签: c

解决方案


尝试代替node *head = (struct node*)malloc(sizeof(struct node)); 这一行:

node *head=new node;. 接下来也一样。

说明:要创建动态结构(该结构意味着您要创建动态列表或类似的东西),您可以new在动态内存中分配该节点。这一行node *head=new node;的意思是“创建一个名为 head 的节点指针,它指向一个节点结构并在动态内存中执行”


推荐阅读