在函数中声明的static变量是存储在堆栈区域的吗?

[复制链接]
4777|5
 楼主| flion 发表于 2012-5-10 14:24 | 显示全部楼层 |阅读模式
如题,在函数中声明的static变量是存储在堆栈区域的吗?C语言
 楼主| flion 发表于 2012-5-10 15:09 | 显示全部楼层
还是全局变量区域的?
sjnh 发表于 2012-5-10 15:57 | 显示全部楼层
全局变量 和 static变量(包括函数内部的)单独一块区, 不在堆栈区
xlsbz 发表于 2012-5-10 16:00 | 显示全部楼层
首先static肯定是被编译器分配固定内存的。

至于放在哪里?那到不一定!!比如有xdata内存的单片机  也可以放static数据啊,就不占用堆栈区域了
xlsbz 发表于 2012-5-10 16:27 | 显示全部楼层
呵呵  看了3楼的帖子   我觉得首先要强调一下什么叫做堆栈区域。

3楼的意思是从堆栈指针往上是堆栈区域。

我的意思是ram区。

3楼的说法应该更好一些
 楼主| flion 发表于 2012-5-11 08:45 | 显示全部楼层
这样的话我就明白了,我用的是stm8。
可以将部分函数内的变量声明为static,可以减少对堆栈区域空间的使用

谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

43

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部