社区
C语言
帖子详情
关于局部变量与堆栈的问题
xxne2002
2003-10-20 05:49:15
书上说函数内的局部变量是在堆栈上分配内存空间的,但堆栈上的数据不是不能随机访问的,那么函数是如何访问这些变量的;还有函数内的局部变量是在编译时压栈的,还是在运行时调用时分配存储空间的
...全文
156
6
打赏
收藏
关于局部变量与堆栈的问题
书上说函数内的局部变量是在堆栈上分配内存空间的,但堆栈上的数据不是不能随机访问的,那么函数是如何访问这些变量的;还有函数内的局部变量是在编译时压栈的,还是在运行时调用时分配存储空间的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Darkay_Lee
2003-10-20
打赏
举报
回复
答案都已经被高手们说了,.^_^。
Jupin
2003-10-20
打赏
举报
回复
书上说函数内的局部变量是在堆栈上分配内存空间的,但堆栈上的数据不是不能随机访问的,那么函数是如何访问这些变量的;
=>函数调用时,先记录好sp指针,然后参数入栈,各个参数是根据在栈中与栈顶的相对偏移来访问的,函数调用结束时,恢复sp指针,参数消失。
还有函数内的局部变量是在编译时压栈的,还是在运行时调用时分配存储空间的
=>是在运行时分配存储空间的
TianGuangZao
2003-10-20
打赏
举报
回复
不同的变量都有自己的作用域和生存期。
“还有函数内的局部变量是在编译时压栈的,还是在运行时调用时分配存储空间的”
程序都是在被载入时才分配内存的,或分配部分内存,在运行时动态分配需要的内存。
编译期程序并没有执行,是不存在为变量分配空间,或入栈出栈之说的。
ttlb
2003-10-20
打赏
举报
回复
up
leyt
2003-10-20
打赏
举报
回复
关注中
daizh
2003-10-20
打赏
举报
回复
请参看这篇文章:http://www.csdn.net/develop/article/17/17420.shtm
局部变量
与
堆栈
我们知道函数中的
局部变量
存储在
堆栈
之中,如下图所示,当
局部变量
1、2、3存到
堆栈
中后,
堆栈
指针ESP并没有下移,依然指向原来的位置。出现这种情况的原因是:
局部变量
进入
堆栈
并不是使用push而是使用mov操作,所以ESP无变化。正是因为这样,如果函数把任何数据压入
堆栈
,那么
局部变量
将会被覆盖。 为了保护
局部变量
,解决方法是在函数代码的开始添加一行(针对汇编语言),通过从ES...
【C语言】关于
局部变量
在
堆栈
中的存储 - 只从表面浅浅认识一下
浅浅认识一下下
UCOS
局部变量
、任务
堆栈
UCOS中
局部变量
的生命周期: 任务一直存在,所以在任务中(非子函数)定义的
局部变量
不会死亡,在任务间的信息传递因
局部变量
未死亡而可行。在子函数中定义的
局部变量
在退出该函数时才死亡,在子函数中调用任务切换时
局部变量
保留,在任务切换所至任务执行完成并回到子函数正常退出时才死亡。 UCOS任务
堆栈
: 【函数嵌套、所调用函数
局部变量
分配内存、中断服务子程序嵌套】 1、当任务运行时保存一些
局部变量
(CPU...
局部变量
进入
堆栈
并不是使用push而是使用mov操作,所以ESP无变化。如果函数把任何数据压入
堆栈
,那么
局部变量
被覆盖,解决方法函数代码开始添加(针对汇编语言),通过从ESP减某个值保留一定空间
局部变量
与
堆栈
weixin_342351352014-08-13 19:40:0074收藏 我们知道函数中的
局部变量
存储在
堆栈
之中,如下图所示,当
局部变量
1、2、3存到
堆栈
中后,
堆栈
指针ESP并没有下移,依然指向原来的位置。出现这种情况的原因是:
局部变量
进入
堆栈
并不是使用push而是使用mov操作,所以ESP无变化。正是因为这样,如果函数把任何数据压入
堆栈
,那么
局部变量
将会被覆盖。 为了保护
局部变量
,解决方法是在函数代码的开...
C语言全局变量、
局部变量
....
堆栈
等内存
问题
详解
C语言里面的内存 c语言有四大存储空间 代码区,静态存储区,栈区,堆区 代码区:就是存放代码的存储区域,它不涉及代码中的变量值。 静态存储区:用来存放全局变量和静态变量。 栈区:也可称为
局部变量
存储区,所以它是专门存储
局部变量
的 堆区:也称为动态存储区。这块区域的内存供c语言程序动态申请。通俗地讲,也就是我们用malloc族函数申请并用free族函数释放的内存。
堆栈
详解 栈:后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体),我
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章