随笔 - 14  文章 - 0 评论 - 0 阅读 - 949
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

野指针:指针指向的位置是      不可知的 ,    随机的,   不正确的,     没有明确限制的。
 
 
野指针形成原因:
          1,指针未初始化(例 int* p;)
          2,指针越界访问 (当指针指向的范围超出arr的范围时,p就是野指针)
               arr[10]={0};
               int* p=arr;
               for(i=0;i<15;i++)
                {*(p++)=i;}
          3.指针指向的空间释放
              释放并不是把该空间里所存放的数据全部清空置零,而是把该空间还给操作系统了,也就是说该空间已经不是你所拥有的了。
 
如何避免野指针?
            1,指针初始化;
             2,小心指针越界;
             3,使用完指针后(释放空间后)及时将指针置零(赋值NULL)
             4,指针使用之前检查其有效性;
 
ps:
空指针
    如果给指针初始化时候把NULL赋值给指针,那么这个指针就会变成空指针,
    注意!!!!此时如果想打印出空指针,结果为0x00000000,但是!!!!!这里的空指针表示的是不指向任何有效空间,而不是表示指向0x00000000,所以此时对空指针解引用操作时系统  会报错,此时访问空间就无意义了!!!
posted on   蔡依林别吸我  阅读(119)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示