(1)野指针
野指针的意思是,指针指向的空间未分配。

例如int* p2 = p1 + 10;
这时指针会在内存中移动40个字节,在内存中,该位置的内存还未被进程使用,所以此时指针指向的就是未分配的内存空间,一般野指针可用于单机游戏的数值修改。
(2)悬空指针
悬空指针的意思是,指针指向的空间已分配,但是被释放了。
定义一个函数method(),返回值类型为int类型的指针变量,不传递任何参数,函数体的内容如下:

在程序主入口里,调用method(),并用p3指针记录返回值,打印输出的之后带上解引用输出真实数据。

最后会发现输出的数据为其他的值,这是因为在调用完函数之后,函数里面的变量会失效,如果不想失效要在指针变量前面加上static。
这里函数中变量在调用时系统已经分配了内存空间,在函数调用完之后就会被释放,此时就会有其他的程序占用该内存空间,就会导致输出的结果发生错误。
