【发布时间】:2011-05-24 16:14:55
【问题描述】:
这已经困扰我很久了:假设我有一个功能:
void test(){
int t1, t2, t3;
int t4 = 0;
int bigvar[10000];
// do something
}
计算机如何处理变量的内存分配?
我一直以为变量空间是保存在.exe中,然后电脑会读取,这样对吗?但据我所知,bigvar 数组在 .exe 中不占用 10000 个int 元素空间,因为它未初始化。那么当我调用函数时它的内存分配是如何工作的呢?
【问题讨论】:
-
exe存放在磁盘中,编译后的代码存放在那里。但是当它被执行时,它会从 processor 单元中获取内存。磁盘中的字节与变量所需的字节不对应。
标签: c++ windows visual-studio-2008 stack