野指针
 //概念:野指针就是指针指向的位置是不可知的(随机的,不正确的
 //,没有明确限制的,空间还属于操作系统而不属于程序的)
 //野指针成因:
 //1.指针未初始化
 #include <stdio.h>
 int main() {
     int* p;//局部变量指针未初始化,默认为随机值
     //此时p指向的空间不明确,为野指针
     *p = 20;
     return 0;
 }
 
 
 //2.指针越界访问
 #include <stdio.h>
 int main() {
     int arr[10] = { 0 };
     int* p = arr;//数组名就是指向第一个元素的地址
     int i = 0;
     for (i = 0; i <= 11; i++) {
         //当指针指向的范围超出数组arr的范围时,p就是野指针
         *(p++) = i;
     }
     return 0;
 }
 
 
 //3.指针的空间释放
 int* test()
 {
     int a = 10;//a为局部变量,当超出了a的作用于\域,a会被销毁
     return &a;
 }
 int main() {
     int* p = test();//函数返回一个指针
     //但是函数调用结束后,局部变量a会被销毁,现在p就变成了野指针
     return 0;
 }
 
 
 //How.如何规避野指针
 //1.指针初始化
 //2.小心指针越界
 //3.指针指向空间释放即放置NULL
 //4.避免返回局部变量的地址
 //5.指针使用之前检查其有效性 如if(p!=NULL)