我正在学习C++中的指针。我写了这个简单的程序来展示一下我有一个问题:C++ - 空指针
#include <iostream>
using namespace std;
int main() {
cout << "test1";
char *ptr = 0;
cout << ptr;
cout << "test2";
}
当我运行程序时,它不输出“测试2”结尾,而不是只有“测试1”。这应该意味着当我试图打印出ptr的值时它崩溃了?我尝试在Eclipse调试器中逐步完成它,它看起来像每一行被执行,但不会抛出一个错误或什么?
对于初学者来说,试试这个:COUT << “test2的” << ENDL;看看它是否打印出test2。上一行应该打印出ptr的地址。 – 2014-10-10 01:38:41
你说得对 - 对不起,我的坏语义。我不确定它是否是实现定义的。我经常在OSX和Linux上使用GCC。 – 2014-10-10 01:43:45