请问C中的数组是存在栈中,还是堆中?

xskuang 2013-08-02 03:09:00
如题,请问C语言中,数组是存在堆中还是栈中呢?
...全文
4995 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-08-02
  • 打赏
  • 举报
回复 2
malloc或new的数组存在堆中 不带static前缀的局部数组在栈中 带static前缀的局部数组和全局数组在全局数据区中
cabbage000 2013-08-02
  • 打赏
  • 举报
回复
那看你要怎么定义了 1.要是全局静态常量字符组,那就在静态区 2.模块内部的话大部分都是在栈中 3.像三楼讲,要是自己手动分配地址那肯定在堆中啊,所有malloc的空间都是在堆中申请
图灵狗 2013-08-02
  • 打赏
  • 举报
回复
参考http://blog.csdn.net/hanlin1985/article/details/3132210
引用 楼主 xskuang 的回复:
如题,请问C语言中,数组是存在堆中还是栈中呢?
max_min_ 2013-08-02
  • 打赏
  • 举报
回复

int a[100] = {0} // 这是在栈中的
int a[100] = malloc(sizeof(int)*100); // 这是在堆中的
max_min_ 2013-08-02
  • 打赏
  • 举报
回复

自己new malloc 是存放在堆中的!

其他应该都是由系统管理的,
大部分在栈中,也有可能在静态区,看你怎么申明定义了

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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