野指针是怎么产生的?

一:野指针是怎么产生的?

1、野指针 未初始化

复制代码
#include<stdio.h>
// int main()
// {
//     // int a;   // 局部变量不初始化,默认是随机值
//     int *p; // 局部的指针变量 就被初始化随机
//     *p = 20;

//     return 0;
// }

2、野指针 越界访问

复制代码
int main()
{
    int arr[10] = {0};
    int *p = arr;
    int i = 0;
    for(i = 0; i < 12; i++)
    {
        // 当指针指向的范围超出数组arr的范围时,p就是野指针
        *(p++)=i;
    }
    //
    return 0;
}

3、指针 指向的空间 被释放了

二:怎么预防

如何规避野指针

1、初始化

2、指针越界

3、指针指向空间释放既放置NULL

4、指针使用检查有效性

相关推荐
Rambo.xia3 分钟前
为什么去马赛克算法,决定了ISP的画质上限
算法·接口隔离原则
Benny_Tang17 分钟前
题解:P10230 [COCI 2023/2024 #4] Lepeze
c++·算法
Geek-Chow24 分钟前
06 训练管线:数据如何变成权重
人工智能·算法
无损检测小白白32 分钟前
STM32F407 串口3 DMA收发-标准库
stm32·单片机·嵌入式硬件
我变成萤火虫1 小时前
反悔贪心(经典题目讲解)
c++·算法·贪心算法·stl·排序算法·反悔贪心
greatriver0071 小时前
e2studio R7FA6M5 卡死 rtc 需要如何配置时钟
单片机·瑞萨单片机
_Narcissus_1 小时前
排序算法总结表格
c语言·数据结构·c++·笔记·算法·排序算法·总结
恒锐丰小瑞2 小时前
率能SS6812T 40V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式(eTSSOP28),用于POS打印机/安防相机/机器人
单片机·嵌入式硬件·数码相机·机器人
一只小小的芙厨2 小时前
前缀和与差分
数据结构·算法
船厂电气自动化ai大模型2 小时前
AI大模型与数学第42课:泰勒级数完整展开(神经网络近似核心)
人工智能·python·深度学习·算法·机器学习