首页 > 代码库 > C++ NULL 与 空字符串 在使用时的注意点

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