static变量放在堆还是在栈上?

ikuaifenglea 2009-04-14 11:11:14
static变量放在堆还是在栈上?
...全文
3886 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanseshenhua 2009-07-30
  • 打赏
  • 举报
回复
不错!
FrostyF 2009-04-17
  • 打赏
  • 举报
回复
静态存储区。
堆栈都是动态存储区的东西
xing_cq 2009-04-17
  • 打赏
  • 举报
回复
全局变量所放的空间
itegel84 2009-04-17
  • 打赏
  • 举报
回复
看过
hylove9494 2009-04-17
  • 打赏
  • 举报
回复
static静态变量放静态数据区
  • 打赏
  • 举报
回复
在全局数据区。
//main.cpp
int a = 0; 全局初始化区
char *p1; 全局未初始化区
main()
{
int b; 栈
char s[] = "abc"; 栈
char *p2; 栈
char *p3 = "123456"; 123456\0在常量区,p3在栈上。
static int c =0; 全局(静态)初始化区
p1 = (char *)malloc(10);
p2 = (char *)malloc(20);
分配得来得10和20字节的区域就在堆区。
strcpy(p1, "123456"); 123456\0放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。
}
danxuezx 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 brookmill 的回复:]
http://blog.csdn.net/sergeycao/archive/2009/01/16/3793671.aspx
[/Quote]
资料不错
wxgiter 2009-04-15
  • 打赏
  • 举报
回复
学习了。。
nde123456 2009-04-15
  • 打赏
  • 举报
回复
静态变量跟全局变量一样,存放在全局数据段,程序载入时分配空间,位置固定不再变化
堆和栈的空间是动态变化的
beyond071 2009-04-15
  • 打赏
  • 举报
回复
学习了
ztenv 版主 2009-04-15
  • 打赏
  • 举报
回复
看C++Primer上讲,静态数据和全局数据是放在全局数据区的;
aaaa3105563 2009-04-15
  • 打赏
  • 举报
回复
在静态区啊 ··
amossavez 2009-04-15
  • 打赏
  • 举报
回复
它存储在静态存储区。
局部变量,参数,调用现场存在栈。
new,malloc等动态开辟的存在堆。

同意!
meteor2520 2009-04-15
  • 打赏
  • 举报
回复
这样的问题也要问题?
楼主多看看书啊
zgjxwl 2009-04-15
  • 打赏
  • 举报
回复
静态数据和全局数据是放在全局数据区的
bfhtian 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ryuk33 的回复:]
都不是.

是在 .static段上, 即静态空间上
[/Quote]
up
loud1984 2009-04-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 ikuaifenglea 的帖子:]
static变量放在堆还是在栈上?
[/Quote]c++ 中static变量 既不放在栈区也不放在堆区,在C++里边,专门由一个静态和常量区,保存静态变量和常量,知道程序结束时释放,不能修改。
常量 如 char * p="hello";
liliangbao 2009-04-14
  • 打赏
  • 举报
回复
它存储在静态存储区。
局部变量,参数,调用现场存在栈。
new,malloc等动态开辟的存在堆。
wxc0077 2009-04-14
  • 打赏
  • 举报
回复
放在静态数据区
KevinHo 2009-04-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 brookmill 的回复:]
既不是堆,也不是栈,而是一个专门存放静态变量的地方
和全局变量的保存比较类似
[/Quote]
正解
加载更多回复(4)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧