判断空指针的0与null标准C下定义:char *p;关于指针指向值是否为空的判断,请问以下四种方式是否等价?有无最优选择?1、if(*p = NULL)2、if(*p = 0)3、if(p)4、if(p = 0)“其次,*p是取指针里面的内容即里

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 19:22:12

判断空指针的0与null标准C下定义:char *p;关于指针指向值是否为空的判断,请问以下四种方式是否等价?有无最优选择?1、if(*p = NULL)2、if(*p = 0)3、if(p)4、if(p = 0)“其次,*p是取指针里面的内容即里
判断空指针的0与null
标准C下定义:char *p;
关于指针指向值是否为空的判断,请问以下四种方式是否等价?有无最优选择?
1、if(*p = NULL)
2、if(*p = 0)
3、if(p)
4、if(p = 0)
“其次,*p是取指针里面的内容即里面存的地址”
这里说的不太对吧?*p表示取p所指向的地址中存的内容,p才是地址.

判断空指针的0与null标准C下定义:char *p;关于指针指向值是否为空的判断,请问以下四种方式是否等价?有无最优选择?1、if(*p = NULL)2、if(*p = 0)3、if(p)4、if(p = 0)“其次,*p是取指针里面的内容即里
1,2是错的,3,4是对的,从代码的简洁性来说当然是3最简洁不过了,但是从程序的可读性来考虑,就是4比较容易让人一下子读懂.在C++中NULL与0是一样的,只是编程语言编译的时候的语义分别
实际上都是 0
比如 C 的宏定义文件里你就可以看到
#if __cplusplus
#define NULL 0
#else
#define NULL (void*)0
#endif

判断空指针的0与null标准C下定义:char *p;关于指针指向值是否为空的判断,请问以下四种方式是否等价?有无最优选择?1、if(*p = NULL)2、if(*p = 0)3、if(p)4、if(p = 0)“其次,*p是取指针里面的内容即里 若有如下定义;int a[2]具有相同类型的指针型变量p与数组a,下列不正确的操作是 A:p=a B:p=NULL C:&a[0]D:pj=&a C语言中指向NULL的指针和野指针有什么区别.NULL是空的意思.这两个指针不一样了吗. 空指针NULL的作用? c指针定义的时候使其指空,怎么操作?不用NULL C语言题目不会有关C语言中NULL,以下说法不正确的是( )A.在stdio.h中有定义#define NULL 0B.字符串结束标志C.NULL可以赋值给指向任何类型的指针变量D.空指针选哪一个?到底是A 还是 已知P是指针变量,则不能初始化指针的值是 A NULL B 1 C 地址 D 0 定义的时候使指针指空,不用NULL 14.若变量已正确定义,(A)不能使指针p成为空指针.A、p=EOFB、p=0C、p=’’ D、p=NULL 理由哈 C中,空指针常量与空指针值有什么区别 C++里定义一个指针变量时,我们事先对这个指针赋空值,那么一般就是赋个0给它.为什么不能像C语言中赋一个NULL这个值呢?为什么是赋值0?C语言中是否可以对这个空指向不写NULL,就写0可以吗? 如果 NULL 和 0 作为空指针常数是等价的,那我到底该用哪一个呢? 如果 NULL 和 0 作为空指针常数是等价的,那我到底该用哪一个呢? 具有相同类型的指针类型变量p与数组a,下列选项不正确的是A:p=a B:p=NULL C:&a[0] D:pj=&a 如何判断顺序队列为空的标准是头指针和尾指针均指向同一个结点? 两道关于null的c语言题目:1 设有定义:int x=0,*p;立刻执行以下语句,正确的是:a.p=x; b.*p=x;c.p=null; d.*p=null2设变量p是指针变量,语句p=null;是给指针变量赋null值,它等价于a.p= ; b.p=‘0’; VS中的C环境已将如何返回空值,因为NULL已被定义为0我定义了一个函数,需要返回顺序表的类型,出错时返回空值(NULL),但在VS的C++环境中提示#define NULL 0,不能返回NULL值,此时该怎么办系统定义 m_pMainWnd->SetMenu(NULL); 请问一下这个-> 的具体意思是什么 他和C语言的指针有什么不一样