为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return ptr
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/13 00:44:16
为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return ptr;
特意加入这句有什么作用呢?因为如果ptr指针本身就为空的话,直接返回它不也是空么?
特意加入这句有什么作用呢?因为如果ptr指针本身就为空的话,直接返回它不也是空么?
if(NULL == ptr)
return NULL;
这样的语句,是为了程序的稳定性和健壮性.
因为如果ptr=NULL,下面的语句对其进行操作,会引起程序奔溃.
用常用的一个例子,举例:
Strcpy函数原型如下:
char *strcpy(char *strDest,const char *strScr)
{
char *address=strDest;
assert((strDest != NULL) && (strScr != NULL));//这一句的意义和 if(NULL == ptr)的意义基本一致.
while(*strScr) //是while(*strScr != ’\0’)的简化形式;
{
*strDest++ = *strScr++;
}
*strDest = '\0'; //当strScr字符串长度小于原strDest字符串长度
return address; //时,如果没有改语句,就会出错了.
}
return NULL;
这样的语句,是为了程序的稳定性和健壮性.
因为如果ptr=NULL,下面的语句对其进行操作,会引起程序奔溃.
用常用的一个例子,举例:
Strcpy函数原型如下:
char *strcpy(char *strDest,const char *strScr)
{
char *address=strDest;
assert((strDest != NULL) && (strScr != NULL));//这一句的意义和 if(NULL == ptr)的意义基本一致.
while(*strScr) //是while(*strScr != ’\0’)的简化形式;
{
*strDest++ = *strScr++;
}
*strDest = '\0'; //当strScr字符串长度小于原strDest字符串长度
return address; //时,如果没有改语句,就会出错了.
}
为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return ptr
printf("name:");if(i==4)ptr->next=NULL;intRun()MSGmsg;Update
if(str1==NULL || substr1==NULL) return -1;嘛意思?
这两个句子如何做运算的 if(s==NULL){return p;p=p->next;} else if(s==NULL
*ptr++ =
b=(double*)calloc(m,sizeof(double)); if (b==NULL) return(0);
while( *want ='\0'){ if( *str++ = *want++) return NULL; retu
return ((s == null) "[" + this.ID + "]" :s);这个语法怎么理解,
汇编语言中,ADD BYTE PTR [BX],BYTE PTR [DI] 这句指令正确吗,如果错了,错在哪?需要怎么改
头结点的指针为空是什么情况,在一段程序中有这样的语句,if(head==null||head->next==null)
if (jButton31 == null)这句话什么作用
if (name!=null && name!="")