04-2 野指针
定义:指针指向的变量非法。
注意:野指针指向的内存是不可以操作的。
int main()
{
int* p = (int *)0x114514;
//*p = 100;
//cout << *p << endl;
system("pause");
return 0;
}
如果去掉注释,语法是对的,但是程序会崩。
程序中,尽量避免野指针。
在这里,0x114514
是一个十六进制的数字,表示一个内存地址。而(int *)
,则是把这个十六进制的数字改为十进制。
结论:空指针和野指针都不是我们申请到的内存空间,所以不要去访问它们。
:-)