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

C++ NULL 与 空字符串 在使用时的注意点,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。