C++之野指针

本文深入探讨了C++中的野指针现象,包括指针未初始化、指针越界和释放后仍使用的风险。通过示例代码解释了如何在`test`函数中产生野指针,并提出了预防措施,如初始化指针、避免指针越界、正确管理内存以及在使用前验证指针的有效性。了解这些关键点对于编写安全、可靠的C++代码至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

学习目标:

野指针

学习内容:

野指针篇
定义:指针指向的位置不可知(随机的,不正确的,没有明确限制的)
1,指针未初始化,默认值就是随机值
2.指针越界访问
3.指针指向的空间释放

int *test()
{
int a =10;
return &a;
}

int main()
{
int *p=test();//此时一切正常
printf(“%d\n”,*p);//此时test一切正常,*p就变成野指针了
return 0;
}

规避野指针的方法:
1.指针初始化
2.小心指针越界
3.指针指向空间释放即使其置为空
4.指针使用之前检查有效性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值