标题:[求助]请大家帮我看看为什么会出现NUll pointer assignment
取消只看楼主
txbhj
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-12-19
 问题点数:0 回复次数:4 
[求助]请大家帮我看看为什么会出现NUll pointer assignment

这是我用C写的一个链表程序,完成的功能是创建一个链表和输出一个链表,可到输出的时候总是有Null pointer assignment的错误信息,没有办法现在都已经是凌晨4:40了为了这个问题睡不着觉,请大家帮帮我吧,我的源程序如下:(我的Email:txbhj@163.com) 输入0代表链表结束 #define LEN sizeof(struct List) #define TRUE 1 #define ERROR 0 #define FALSE 0 #define NULL 0 #include "malloc.h" typedef int ElemType;

struct List{ ElemType elem; int size; struct List *next; };

struct List *creat(void){ struct List *head; struct List *p,*p1,*p2; p1=p2=(struct List *)malloc(LEN); scanf("%d",&p1->elem); p=head=NULL; while(p1->elem!=0){ p->size=+1; if(p->size==1)head=p1; else p2->next=p1; p2=p1; p1=(struct List *)malloc(LEN); scanf("%d",&p1->elem); } p2->next=NULL; return(head); }

void print(struct List *head){ struct List *p; printf("The records are:"); p=head; if(head!=NULL) do {printf("%d ",p->elem); p=p->next; }while(p!=NULL); }

main(){ struct List *head; head=creat(); print(head); }

[此贴子已经被作者于2005-8-7 4:52:44编辑过]

搜索更多相关主题的帖子: assignment pointer 链表 NUll define 
2005-08-07 04:45
txbhj
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-12-19
得分:0 
真是太感谢了,我本不是计算机专业的,没有系统的学过,都是出于对计算机热爱,现在才开始接触到C语言,还没有什么经验,我会努力的。

我本菜鸟, 请多关照
2005-08-07 12:08
txbhj
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-12-19
得分:0 
我还有个问题要问,能给我解释一下吗?你为什么要在p2=p1后加上p1=NULL这行代码??

我本菜鸟, 请多关照
2005-08-07 12:27
txbhj
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-12-19
得分:0 
谢谢大家的帮助

我本菜鸟, 请多关照
2005-08-08 20:53
txbhj
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2004-12-19
得分:0 
但是我把free(p1)好像不行哟

我本菜鸟, 请多关照
2005-08-09 06:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-24559-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.623905 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved