野指针:指针指向的位置是 不可知的 , 随机的, 不正确的, 没有明确限制的。 野指针形成原因: 1,指针未初始化(例 int* p;) 2,指针越界访问 (当指针指向的范围超出arr的范围时,p就是野指针) arr[10]={0}; int* p=arr; for(i=0;i<15;i++) {*(p++)=i;} 3.指针指向的空间释放 释放并不是把该空间里所存放的数据全部清空置零,而是把该空间还给操作系统了,也就是说该空间已经不是你所拥有的了。 如何避免野指针? 1,指针初始化; 2,小心指针越界; 3,使用完指针后(释放空间后)及时将指针置零(赋值NULL) 4,指针使用之前检查其有效性; ps: 空指针 如果给指针初始化时候把NULL赋值给指针,那么这个指针就会变成空指针, 注意!!!!此时如果想打印出空指针,结果为0x00000000,但是!!!!!这里的空指针表示的是不指向任何有效空间,而不是表示指向0x00000000,所以此时对空指针解引用操作时系统 会报错,此时访问空间就无意义了!!!
标签:初始化,arr,指向,处理,int,关于,NULL,指针 From: https://www.cnblogs.com/rabbitandtankbestmatch/p/17453708.html