打印
[资源共享]

请问main函数内定义的变量是在栈上吗?

[复制链接]
1284|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 芯圣电子官方QQ 于 2023-7-20 10:42 编辑

有个程序调试很久一直数据异常,后来无意发现main函数内定义的变量定义在main以外后程序功能正常了。

我分析原因可能是:main函数内定义的变量属于函数局部变量,局部变量保存在栈中,main中有后续程序意外改变了栈里的值,导致这个定义在main内的变量值发生了意外改变


使用特权

评论回复
沙发
tpgf| | 2022-6-2 20:16 | 只看该作者
是不是可以看一下地址进行判定啊

使用特权

评论回复
板凳
drer| | 2022-6-2 20:25 | 只看该作者
跟变量的位置有关系吗

使用特权

评论回复
地板
qcliu| | 2022-6-2 20:35 | 只看该作者
其实可以指定地址试试看效果的

使用特权

评论回复
5
coshi| | 2022-6-2 20:43 | 只看该作者
堆和栈的区别是什么

使用特权

评论回复
6
kxsi| | 2022-6-2 20:51 | 只看该作者
这个确实不能肯定的说

使用特权

评论回复
7
wiba| | 2022-6-2 21:00 | 只看该作者
觉得应该没有什么关系啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

497

主题

1869

帖子

4

粉丝