代做毕业设计找哪个网站好,哪个网站可以做印章图案,网络整合营销六大模型,wordpress 页面属性目录 概念 原因
1、指针未初始化
2、指针越界访问
3、指针指向的空间释放
如何规避野指针
1、指针初始化
(1)、不知道指针初始化什么地址时#xff0c;直接初始化为NULL
(2)、明确知道初始化的值
2、小心指针越界
3、指针指向空间释放即时置NULL
4、指针使用之前检查…目录 概念 原因
1、指针未初始化
2、指针越界访问
3、指针指向的空间释放
如何规避野指针
1、指针初始化
(1)、不知道指针初始化什么地址时直接初始化为NULL
(2)、明确知道初始化的值
2、小心指针越界
3、指针指向空间释放即时置NULL
4、指针使用之前检查有效性 概念
指针指向的位置是不可知的随机的、不确定的、没有明确限制的 原因 1、指针未初始化
#includestdio.h
int main()
{int* p; //局部变量指针未初始化默认为随机值*p20;return 0;
} 2、指针越界访问
#inlcudestdio.h
int main()
{int arr[10]{0};int *parr;int i0;for(i0;i11;i){//当指针指向的范围超出数组arr的范围时p就是野指针*(p)i; }return 0;
} 3、指针指向的空间释放
#includestdio.h
int* test()
{int a10;return a;
}
int main()
{int*ptest();*p20;return 0;
}
如何规避野指针
1、指针初始化 (1)、不知道指针初始化什么地址时直接初始化为NULL
#includestdio.h
int main()
{int* pNULL;return 0;
} (2)、明确知道初始化的值
#includestdio.h
int main()
{int a10;int* pa;return 0;
} 2、小心指针越界
C语言本身是不会检查数组越界行为的 3、指针指向空间释放即时置NULL 4、指针使用之前检查有效性
#includestdio.h
int main()
{int* pNULL;if(p!NULL)//判断是否为空指针检测是否有效*p10;return 0;
}