当前位置: 代码迷 >> C语言 >> 变量地址&存储空间
  详细解决方案

变量地址&存储空间

热度:150   发布时间:2007-11-26 14:04:54.0
变量地址&存储空间
关于变量地址及其存储空间,本人有太多困惑,请大家指点:
1、变量的地址在程序的哪个阶段被确定?(包括动态变量、静态变量、常量等)
2、有这样一种说法:“动态变量在编译时获得唯一的地址和和存储空间”。这时的地址指的应该是逻辑地址吧?物理地址的获得是不是在链接或运行时获得?
搜索更多相关的解决方案: 变量  空间  地址  

----------------解决方案--------------------------------------------------------
说法是错误的。
什么是动态变量?

auto int i;      /* auto 可选声明方式 */

这是动态变量吗?
如果这个变量是在函数中声明的,那么地址是在进入函数后分配的。
全局变量是在编译时分配的。(具有静态存储时期的变量的地址才是在编译时分配的)

[[italic] 本帖最后由 cosdos 于 2007-11-26 16:09 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
对于程序,这就是地址。
对于操作系统,它好要处理更多。

[[italic] 本帖最后由 cosdos 于 2007-11-26 16:07 编辑 [/italic]]
----------------解决方案--------------------------------------------------------
用auto声明全局变量是无效的,即便加上auto,也是静态属性。
----------------解决方案--------------------------------------------------------