为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=NULL)?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/30 09:28:23
为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=NULL)?

为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=NULL)?
为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=NULL)?

为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=NULL)?
NULL是一个事先定义的宏
#define NULL 0
所以二者写法等价.
为什么常见指针这样比较,而不是其他整形这么写?原因是约定俗成,一般的,NULL表示空指针.
事实上你也可以这么来:int a;
if(a != NULL)
也是合法的,只不过可读性不太好,容易让人误解.

为什么定义一个指针时,可以写成指针不等于0呢?如char *p,后面有句这样的 if(p!=0),可以写成if(p!=NULL)? 如何定义一个指针a 为什么定义指针变量时要定义其类型 定义一个指针pa,那么*pa,pa, 指针变量初始化为NULL什么意思1.为什么指针变量定义时一定要初始化?2.指针变量初始化为NULL是什么意思? 多次delete一个不等于NULL的指针会在运行时出错,为什么?多次delete一个不等于NULL的指针会在运行时出错,会有什么错误?为什么会出错?重复多次 fclose 一个打开过一次的 FILE *fp 指针会有什么结果 函数指针如何定义 如何定义指针 怎么定义指针为头指针 如果定义一个指针且指向一个已经确定指针的首地址,那么这个刚定义指针的改变会影响原来的指针吗? 如何定义一个函数指针,使其可以指向两个参数不同的函数 C++里定义一个指针变量时,我们事先对这个指针赋空值,那么一般就是赋个0给它.为什么不能像C语言中赋一个NULL这个值呢?为什么是赋值0?C语言中是否可以对这个空指向不写NULL,就写0可以吗? 为什么整数可以转换为指针 为什么整数可以转换为指针 数据结构一些问题.在二叉树的链式结构中,定义了一个指针BTNode *p,为什么visit(p)中的p为结点,它不是根结点的指针吗?另外,在线性表中头指针head为什么可以和头结点比较,head->next是头结点还是 若有定义:int x;,则定义一个可以指向整型变量x的指针P的语句是什么? 如何定义一个函数 返回一个指向数组的指针 若定义一个二级指针**p,请举一个例子,