读书人

(林博士著)高质量编成中的一个有关问

发布时间: 2012-02-10 21:27:42 作者: rapoo

(林博士著)高质量编成中的一个问题,高手们帮忙解释一下!
书中的题目如下:
请写出char *p 与“零值”比较的if 语句;
标准答案是
if (p == NULL)
if (p != NULL)
我的疑问是: *p表示的是指针指向的char型的值;
p表示指针指向的char型值的地址;----这样理解对吧?
根据题目的要求,那就应该是 if (*p == NULL)
if (*p != NULL)
这样才对啊!请高手们指点迷津阿!

[解决办法]
是指针比较
[解决办法]
请写出char *p 与“零值”比较
前面char *p 中的 char *  只是定义一个类型
所以说,让你比较的是p不是*p
所以是指针比较,也就是用p比较
p是指针,相当于int大小,存放地址
与null比较就是那样了~
[解决办法]
char *p定义一个指针,让他和NULL比较,所以应该是指针比较而不是指针所指向的值比较
[解决办法]
应该说的意思是指针的值进行的比较,对指针进行初始化时总是用null,!=null意思即为指针非空。
[解决办法]
有时候指针为空也可以用零来表示,但他们其实不一样..
如果是  char * a; 那a 是指针,而*a是指针里存放的值.
慢慢就会懂了..
[解决办法]
指针比较, if (p == NULL),是看指针是否指向了某个内存空间。
[解决办法]
用于校验指针是否被建立

读书人网 >C语言

热点推荐