首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么理解“编译时分配内存有关问题”

2012-02-06 
如何理解“编译时分配内存问题”?谭浩强的那本书上说,全局变量和加static关键字的变量(静态变量),是“在编译

如何理解“编译时分配内存问题”?
谭浩强的那本书上说,全局变量和加static关键字的变量(静态变量),是“在编译时分配内存的”。

问题是:编译时,程序并没有执行。程序不执行,如何分配内存呢?

惭愧得很,在网上查了,并没有结果。

谢谢!

[解决办法]
局部变量那些都是程序进入main后,再申请内存地址,使用..
静态,全局,可以简单理解为main之前申请的
[解决办法]
编译时,程序并没有执行。程序不执行,如何分配内存呢?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
编译时分配内存,并不是指动态分配.

仅仅是把static变量编译成一个地址而已

[解决办法]
我是这样理解的:
那些全局变量和静态变量,编译时就在exe文件中占了一个位置,相对于exe文件的起始地址已经是固定的了.程序加载后这些变量的相对位置已是固定的了.
[解决办法]
如果他们有初始值,就直接写到可执行文件中了。。
[解决办法]
应该是在编译时分配存储空间
内存分配是在程序加载时完成的
[解决办法]
这里的分配是, 编译器产生了一张表, 程序中显示定义了一个变量,就把相关变量的 变量名加入该表,并制定一个预期的地址值....

热点排行