社区
C++ 语言
帖子详情
二维数组占用内存情况
ljq550000
2011-07-22 08:14:17
#include <iostream>
#include <windows.h>
using namespace std;
int a[99999][99999];
int main()
{
Sleep(10000);
return 0;
}
...全文
1068
28
打赏
收藏
二维数组占用内存情况
#include #include using namespace std; int a[99999][99999]; int main() { Sleep(10000); return 0; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
heqinlong
2011-08-04
打赏
举报
回复
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表.
引用自
http://blog.csdn.net/zlp8383178/article/details/1657897
强迫症专用头像
2011-08-04
打赏
举报
回复
我是来学习的
mainsea
2011-08-03
打赏
举报
回复
!@#¥%……&*
jernymy
2011-08-02
打赏
举报
回复
不在堆,也不在栈中,静态存储区,运行时分配.
visualwind
2011-08-02
打赏
举报
回复
[Quote=引用 16 楼 threeleafzerg007 的回复:]
对csdn,有所失望 所谓有星的 或者不带星的
都不知道这个变量具体在程序的那个section里。
无初始值全局变量在binary的.bss段,只有占位符。只有系统启动这个程序时,才实际分配空间。。。。
[/Quote]
VC编译器会报错的
辰岡墨竹
2011-08-02
打赏
举报
回复
对于没有初始化的全局变量,不是在栈里,在BSS段里有一个说明,在EXE里只有几个字节。OS加载时会,按BSS的说明分配内存的。所以编译不出错,不过系统分配时失败。
乐哉悠哉
2011-08-02
打赏
举报
回复
[Quote=引用 16 楼 threeleafzerg007 的回复:]
对csdn,有所失望 所谓有星的 或者不带星的
都不知道这个变量具体在程序的那个section里。
无初始值全局变量在binary的.bss段,只有占位符。只有系统启动这个程序时,才实际分配空间。。。。
[/Quote]
占哪里的位啊?真心求解~
匚匚
2011-08-02
打赏
举报
回复
这是全局变量啊
应放在BSS段吧
机智的呆呆
2011-08-02
打赏
举报
回复
[Quote=引用 17 楼 healer_kx 的回复:]
火前第一帖!
[/Quote]
火前第二帖!
healer_kx
2011-08-02
打赏
举报
回复
火前第一帖!
threeleafzerg007
2011-08-02
打赏
举报
回复
对csdn,有所失望 所谓有星的 或者不带星的
都不知道这个变量具体在程序的那个section里。
无初始值全局变量在binary的.bss段,只有占位符。只有系统启动这个程序时,才实际分配空间。。。。
pamtry
2011-08-02
打赏
举报
回复
被另外一个帖子引过来
话说如果没记错的话只声明不初始化的全局变量,是分配到bss段的
也就是23L说的
“不在堆,也不在栈中,静态存储区,运行时分配.”
珍惜生命远离CPP
2011-08-02
打赏
举报
回复
留个名。。。
qianwen36
2011-07-29
打赏
举报
回复
[Quote=引用 3 楼 ljq550000 的回复:]
引用 2 楼 jackyjkchen 的回复:
栈不要超过1M
这个不是在堆上分配的么
[/Quote]
全局变量,或是静态变量都不存在内存分配问题,也就是说不需要程序员考虑这事情。是根据编译器规则来的,被指定在程序数据段中的静态区域。所以他的生命期是随同应用程序的整个生存期的。
chen16501560
2011-07-28
打赏
举报
回复
堆区 一般是new/free malloc/delete 申请的
赵4老师
2011-07-25
打赏
举报
回复
如果有一天,你真要用这么大的数组的话,别忘了_lseeki64
wjjjuniniho
2011-07-25
打赏
举报
回复
[Quote=引用 3 楼 ljq550000 的回复:]
引用 2 楼 jackyjkchen 的回复:
栈不要超过1M
这个不是在堆上分配的么
[/Quote]
这个是在全局区(或者叫静态区)分配的
sjy88813
2011-07-25
打赏
举报
回复
mark
luciferisnotsatan
2011-07-25
打赏
举报
回复
[Quote=引用 6 楼 babilife 的回复:]
受限的因素比较多,但是,不受物理内存限制。(你编译出的程序,即使你的机器物理内存有限,但你可以找到一个物理内存更大的机器,从而成功运行。另外,考虑虚拟内存。)
1、来自编译器的限制:大小不能超过size_t所能表示的最大值。
2、来自操作系统的限制:32位windows系统中,一个程序所能使用的内存最多不超过2G(也有说是3G的,我也不是很清楚)。其它操作系统类似。
另外,堆栈上的……
[/Quote]
windows可以设成3G用户态模式
lionghua
2011-07-25
打赏
举报
回复
好像之前有个问题和你提的类似。因为没有用到那么多,只是声明而已。不知道回答对不对
加载更多回复(8)
青少年C++编程NOIP/CSP竞赛通关语法-
二维数组
1、本课程为零基础C++语法专题课,是青少儿参加信息学奥赛NOIP/CSP需要学习的语法专题课; 2、本课程每节课均配有练习题以及真题,以锻炼孩子的解题能力;... 6、本课程介绍的是
二维数组
。也是历来竞赛重要考点。
二维数组
的
内存
分配及访问
二维数组
的
内存
分配及访问
C语言总结(一维数组、
二维数组
、字符数组和字符串)
C语言总结第七章、数组一维数组一维数组的定义一维数组的引用一维数组的初始化程序举例
二维数组
及多维数组
二维数组
的定义
二维数组
元素的引用
二维数组
元素的初始化程序举例字符数组和字符串字符数组 第七章、数组 ...
【java基础】——一维数组和
二维数组
存储
占用
内存
大小问题
问题:在java中,一维数组和
二维数组
在数据量一样的
情况
下,开辟的
内存
大小是怎样的? 一、尝试阶段: 1、代码一: public class OneArrayMemory{ public static void main(String[] args){ int num1 = 1024*...
【C 语言】二级指针作为输入 (
二维数组
|
二维数组
内存
大小计算 | 指针跳转步长问题 )
一、
二维数组
内存
大小计算、 二、
二维数组
内存
大小意义、
C++ 语言
64,654
社区成员
250,484
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章