【时时三省】(C语言基础)指针初阶2

山不在高,有仙则名。水不在深,有龙则灵。

                         ----CSDN 时时三省

野指针

概念:野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)

指针成因

1.指针未初始化

4f039d85c8bb4aae920a381a72b97c44.jpg

p是一个局部的指针变量,局部变量不初始化的话,默认是随机值

*p属于非法访问内存了 

这里的p就是一个野指针

2.越界访问

0d46a5133a054ab985bc86d106fae0a8.jpg

这个循环会循环11次 但是他只有10个数组 这个就属于越界访问 

3.指针指向的空间释放

刚开始是你的 后面就被还给操作系统了就不属于你了 但是p还是会记得 再通过这个指针访问的时候就不行了

如何规避野指针

1 .指针初始化命

2 .小心指针越界

3 .指针指向空间释放及时置NULL

4 .指针使用之前检查有效性

指针运算

•指针+ -整数

•指针-指针

指针-指针得到的两个指针之间的元素个数

•指针的关系运算

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

时时三省

网络乞丐,在线乞讨。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值