声明指针的时候没有初始化,导致指针指向一个随机的地址,无法使用
#include<iostream> using namespace std; int main(void) { int* p; *p = 200; cout << *p << endl; return 0; }
p就是一个野指针,它指向的是一块随机的内存地址,编译器无法给一个随机的地址赋值200
改正
#include<iostream> using namespace std; int main(void) { int a = 0; int* p=&a; *p = 200; cout << *p << endl; return 0; }
或者
#include<iostream> using namespace std; int main(void) { int* p = new(int); *p = 200; cout << *p << endl; delete(p); char ch = getchar(); return 0; }
原文:https://www.cnblogs.com/wangtianning1223/p/14617878.html