C语言:野指针成因。

1、指针未初始化

#include <stdio.h>
int main()
{
    
    
int *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、指针指向的空间释放

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45275802/article/details/112574954