为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return ptr;特意加入这句有什么作用呢?因为如果ptr指针本身就为空的话,直接返回它不也是空么?
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/14 22:21:24
为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return ptr;特意加入这句有什么作用呢?因为如果ptr指针本身就为空的话,直接返回它不也是空么?
为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return ptr;
特意加入这句有什么作用呢?因为如果ptr指针本身就为空的话,直接返回它不也是空么?
为什么在函数中要特意加入 if(NULL == ptr)//特意加入这句 return NULL; return 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; //时,如果没有改语句,就会出错了.
}