野指针是怎么产生的?

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

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、指针使用检查有效性

相关推荐
优选资源分享3 分钟前
MD5 哈希值校验工具 v1.5.3 实用文件校验工具
算法·哈希算法
AI科技星10 分钟前
能量绝对性与几何本源:统一场论能量方程的第一性原理推导、验证与范式革命
服务器·人工智能·科技·线性代数·算法·机器学习·生活
Coder_Boy_10 分钟前
基于SpringAI的在线考试系统-数据库表设计
java·数据库·算法
散峰而望14 分钟前
【算法竞赛】链表和 list
数据结构·c++·算法·链表·list·哈希算法·推荐算法
爱编程的小吴19 分钟前
【力扣练习题】55. 跳跃游戏
算法·leetcode
春日见20 分钟前
控制算法:PID算法
linux·运维·服务器·人工智能·驱动开发·算法·机器人
Maỿbe26 分钟前
常见的垃圾收集算法
java·jvm·算法
斌蔚司李27 分钟前
Windows 电源高级选项
windows·stm32·单片机
钿驰科技33 分钟前
TC-BL2840驱动板在3D打印美甲仪无刷电机的应用
单片机·嵌入式硬件
珂朵莉MM35 分钟前
2025年睿抗机器人开发者大赛CAIP-编程技能赛-本科组(国赛)解题报告 | 珂学家
java·人工智能·算法·机器人·无人机