在定义变量的时候,为什么int x;
会被分配一块有效内存,但是int *x;
只会被随机分配一块内存地址变成野指针
分配地址为什么是不一样的。
为什么操作系统区别对待变量与指针
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
快乐鹦鹉 2023-06-01 11:35关注int * x同样分配一个有效内存,只不过这个内存存储的是一个地址信息而已
为什么是野指针,是因为这个地址信息是个不确定的值,取决于上一个占用这个内存空间的程序在内存里写的是什么。显然这个值你现在的程序无法预测,且这个值会被作为一个地址看待,那么这个地址当前程序并没有申请占用,所以要么这个地址是禁止访问的,要么这个地址被别的程序占用。你强行去访问就出问题了。本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用