if(*p != NULL)与if(p != NULL)

char p[5];
memset(p, 0, sizeof(p));
这里用if(*p != NULL)为什么可以判断是否为空呢?我理解是if(p != NULL)来判断啊?有什么区别?谢谢!

p指向的内容是char。
*p就是p[0]
p!=NULL是恒成立的。因为p是一个地址常量。
而*p!=NULL,是把p指向的一段内存中的数据当做指针来使用,这段内存由于已经被你初始化为0,所以这项判断也成立。但意思就不同了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-28
p是一个数组,所以 p!=NULL 永远为真

*p就是p[0]

p[0]!=0 应该好懂了吧

C语言里int *p; if(*p==null)和if(p==null)有什么区别 我不怎么理解...
带*号是取值的意思,即取指向地址的值。所以if(*p == null)是判断指针p指向的地址存储的值是否为null if(p == null)是判断指针p是否指向null 希望对你有帮助。

请问if(p!=NULL)与if(p)这两个条件语句有什么区别?我在VC中运行时第一...
p 是指针。C++ 定义 define NULL 0 C 定义 define NULL ((void*) 0)p 是指针,p 要初始化。if(p) -- p 为 0 等于假。非0 等于真 if(p!=NULL) 条件成立为真,不成立为假 如果 while(p!=NULL 没错,if(p!=NULL) 也应当没错 你的错误信息图形看不清。

if (*p!=null)
void f(char*p) \/*函数f声明,无返回值,参数为一个字符串*\/ { if(*p!=NULL) \/*如果字符串非零(注释:这句话写得很罗嗦,直接写成if(*p)就可以*\/ { f(p+1);} \/*将字符串指针加1,递归调用本函数,也就是先处理下一个字符的意思*\/ printf("%c", *p);\/*递归调用结束后,开始打...

...返回值异常,经排查发现第一个if语句有问题,删掉后正常,求改,急_百 ...
改为 if( (p !=NULL) &&(*p=='?') )

if(!p) if(p!=null) 这两种写法那种比较好?
if(p) \/\/正确 { q->next=p->next;delete p;cout<<"已删除\\n";display(head);} else cout<<"没有找到该学生信息\\n";} 没什么区别,防止敲击键盘是出错时,编译器是否能提示报错。if(NULL != p) 如果写错写成if(NULL = p) 会报错 if( p!=NULL )如果写错写成if(p=NULL) 不会...

在C语言中实现选择某个数字后调整到另一个程序界面
STUDENT *head=NULL,*p; \/* 定义函数.此函数带回一个指向链表头的指针*\/ system("cls"); for(;;) { p=(STUDENT *)malloc(LEN); \/*开辟一个新的单元*\/ if(!p) \/*如果指针p为空*\/ { printf("\\n输出内存溢出. Out of memory."); \/*输出内存溢出*\/ return (head); \/*返回头指针,...

C语言求解
if((fp=fopen(outfile,"w"))==NULL) \/*为输出打开一个二进制文件,为只写方式*\/ { printf("打不开文件Cannot open the file\\n"); return; \/*若打不开则返回菜单*\/ } printf("\\n保存中...Saving the file...\\n"); p=head; \/*移动指针从头指针开始*\/ while(p!=NULL) \/*如p不为空*\/ {...

C语言编程:文件student.txt文件中保存有学生的信息(最后一条全0的表示...
if(pnew->sex&&pnew->sex-1) { cout<<"性别输入错误,0表示女性,1表示男性,请重新输入"<<endl; } else { break; } }cout<<"请依次输入学生的数学、英语、政治、语文成绩:"<<endl; for(pnew->total=0,pfloat=&pnew->math;pfloat<&pnew->math+4;) { cin>>*pfloat; if(*pfloat<0||*pfloat...

请写出char *p与"零值"比较的if语句含答案
请写出char *p与"零值"比较的if语句(含答案)标准答案:if (p == NULL)if (p != NULL)如下写法均属不良风格,不得分。if (p == 0)if (p != 0)if (p)if (!) 拓展阅读:在C\/C++中,char是C\/C++整型数据中比较古怪的一个,而且关于char还有一个特殊的语言就是char *,它在C\/...

麻烦请教:: 写出char *p与零值比较的if语句!!
if(p == NULL)if(p != NULL)类似的真假比较true ,false 还有整数跟0的比较 if(a <= 0.000001)if(a >= 0.000001)

相似回答
大家正在搜