if(p == (char *) 0 )是什么意思
答案:4 悬赏:80 手机版
解决时间 2021-04-10 09:47
- 提问者网友:不爱我么
- 2021-04-10 03:31
if(p == (char *) 0 )是什么意思
最佳答案
- 五星知识达人网友:山君与见山
- 2021-04-10 04:57
从你给的这个信息看出,p是一个指针,并且是 char型的。也就是这样定义的:char *p;
p的值如果为0的话,表示无任何指向。
NULL是一个宏 实际上是 (void *)0
整个语句的意思:
判断 p 的值是否为 0,也就是判断p有没有指向某个区域,如果有指向,这个if语句将不成立
(char *)0 :强转0,只是为了保证 与 p的类型保持一致。好比较。这样的代码很规范。
如果我写话,我会写 if(p==NULL)
p的值如果为0的话,表示无任何指向。
NULL是一个宏 实际上是 (void *)0
整个语句的意思:
判断 p 的值是否为 0,也就是判断p有没有指向某个区域,如果有指向,这个if语句将不成立
(char *)0 :强转0,只是为了保证 与 p的类型保持一致。好比较。这样的代码很规范。
如果我写话,我会写 if(p==NULL)
全部回答
- 1楼网友:夜风逐马
- 2021-04-10 08:29
if(p!=0);
你这里有2个错:if(p!=0)中的感叹号不能是中文标点,必须是英文的;第二,后面要有一个p不等于0时要执行的语句,不能紧跟一个分号。否则表示“如果p不等于0"时什么也不做,那这个语句就等于白写了,没有任何作用的。
- 2楼网友:拾荒鲤
- 2021-04-10 06:55
只能说写代码的人太烂了 if(p)就可以了
- 3楼网友:鱼忧
- 2021-04-10 06:00
就是说p是一个char型指针,如果它指向NULL也就是空指针,括号内bool表达式值为true,执行if后的代码块,否则跳过之
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯