代码是:
char* c;
if(c!=NULL)
{
cout << "c has an address the address is "<<c;
}
else
{
cout << "c is null";
}
输出结果为:
c的地址为[完成时间为0.3秒]
如果c不为NULL,为什么c不会像#34; 0x401dee&#34;
这样的地址打印出来?答案 0 :(得分:3)
指针的问题是,它们在创建后经常有一个值,但它不是NULL指针(!)。但因为它的指针指向你记忆中的随机地址。这可能会导致很大的问题,这就是为什么你应该总是用
初始化一个指针TYPE * NAME = NULL
所以它没有价值,所以它不能指向可能导致问题的东西,现在你可以用
进行测试NAME == NULL
(当然你也可以用一个真实的值来初始化它,比如你的一个变量的地址)