C++ NULL 与 空字符串 在使用时的注意点
在这不做 理论上的 释疑,只是提供示例代码
int main() { char *p=NULL; if (p==NULL) // { p="p is NULL pointer"; } printf("%s\n",p); return 0; }
//此处说明:在定义 指针p的同时使用 NULL 对p进行初始化,若是在比较的时候用 p[0] == ‘\0‘ 则会报错
// 原因是 p不指向任何变量,对p进行[]操作非法
// 变量所指的范围 包括 普通的内置变量,自定义的对象变量,或者函数的地址
int main() { char *p=""; if (p[0]==0) //或者 p[0]==‘\0‘ 或者 p == "" { p="p is empty pointer"; } printf("%s\n",p); return 0; }
//此处说明:在定义 指针p的同时使用 空字符串("") 对p进行初始化
// 由于p是值为 "", 说以若是if语句为if(p==NULL),则其值为false,即不会输出 p is empty pointer
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。