- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
define NULL 0什么意思
#define NULL 0什么意思2010-04-15 08:37提问者:?wyy孳孳linda?|浏览次数:1372次#include stdio.h #include malloc.h#define NULL 0typedefstruct node {int data; struct node *next; }linklist; void input(linklist *L) /*输入函数*/{linklist *r,*p; p=(linklist *)malloc(sizeof(node)); r=L;printf(input nums(-1 to quit): );scanf(%d,p-data); while(p-data!=-1) { r-next=p; r=p; p=(linklist *)malloc(sizeof(node));scanf(%d,p-data); } r-next=NULL;}void mergelist(linklist *A,linklist *B,linklist *C) /*两单链表合并函数*/{linklist *p,*q,*r; p=A-next; /*A的第一个节点*/ q=B-next; r=A; while(p q) { if(p-dataq-data) { r-next=p; r=p; p=p-next; } else if(p-data==q-data) { r-next=p; r=p; p=p-next; q=q-next; } else { r-next=q; r=q; q=q-next; } } if(p) r-next=p; if(q) r-next=q;}void output(linklist *L) /*输出函数*/{linklist *p; p=L-next; while(p) {printf(%2d,p-data); p=p-next; }printf(\n);}void main(){linklist *LA,*LB,*LC; LA=(linklist *)malloc(sizeof(linklist)); LB=(linklist *)malloc(sizeof(linklist));printf(对链表LA进行初始化!\n);; input(LA); output(LA);printf(对链表LB进行初始化!\n); input(LB); output(LB); LC=LA;mergelist(LA,LB,LC); printf(链表LA和LB合并后为: ); output(LC);}我来帮他解答满意回答2010-04-15 10:30#define 是宏定义语句,后面加NULL 0 表示把NULL定义成0,实际上,在编译器工作时候,第一步就是对原文件进行预处理,首先把#include的文件展开,然后把文件中所有用#define定义的宏用其值替换,对于你这个来说,就是在预处理的时候,把所有的NULL用0进行了替换
文档评论(0)