C语言---野指针

C语言---野指针

  • 野指针的概念
  • 野指针的成因
    • 1.指针未初始化
    • 2.指针越界访问
    • 3.指针指向的空间释放(动态内存开辟)
  • 如何避免野指针
    • 1. 指针初始化
    • 2. 小心指针越界
    • 3. 指针指向空间释放,及时置NULL
    • 4. 避免返回局部变量的地址
    • 5. 指针使用之前检查有效性

野指针的概念

野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)。
注:野指针不会直接引发错误,操作野指针指向的内存区域才会出问题。

野指针的成因

1.指针未初始化

它指定的空间是 随机的。

int main()
{
   
	int* p;
	*p = 12;
	//局部变量指针未初始化,默认为随机值
}

C语言---野指针_第1张图片

2.指针越界访问

int main()
{
   
	int arr[10] = 

你可能感兴趣的:(c语言)