c - 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;
}
解决方案
尝试代替node *head = (struct node*)malloc(sizeof(struct node));
这一行:
node *head=new node;
. 接下来也一样。
说明:要创建动态结构(该结构意味着您要创建动态列表或类似的东西),您可以new
在动态内存中分配该节点。这一行node *head=new node;
的意思是“创建一个名为 head 的节点指针,它指向一个节点结构并在动态内存中执行”
推荐阅读
- clojure - Clojure:如何判断代码是在 REPL 还是 JAR 中运行?
- sql - 如何按字母顺序对同一部门进行排序
- java - 在TSP问题中仍然找不到返回原点的方法
- javascript - 如何为 webRTC 提供 STUN 服务器
- node.js - 用 Mocha 测试 NodeJS:'Require is not defined'
- java - Java TargetDataLine 没有拾取任何音频?
- javascript - JS:这个的上下文什么时候开始?
- scrapy - 我无法用scrapy提取链接
- git - 推送的分支在 github 上不可见
- postgresql - 不区分大小写的唯一性 - 如何更新当前记录,无论大小写?