红联Linux门户
Linux帮助

关于static变量问题

发布时间:2008-05-02 10:44:08来源:红联作者:TheTeeth
在C语言程序中,当将一个变量声明为static 后,它会被自动初始化为NULL或0,请问,在此期间计算机是怎样工作的?
谢谢!
文章评论

共有 4 条评论

  1. 奶茶dsk 于 2008-05-02 19:56:59发表:

    引用:
    原帖由 TheTeeth 于 2008-5-2 15:57 发表
    请问,数据被分配到了计算机的哪一块存储区域?静态存储区在计算机内是以怎样形式存在的?

    谢谢!

    一般用户的存储区域分为程序区.静态存储区.动态存储区,一旦数据被放入静态存储区,知道程序结束才会被释放!

  2. 黄富强 于 2008-05-02 19:14:52发表:

    计算机内存中-----计算机中太模糊
    研究视角应是编译环境
    数据被分配到了计算机内存中的哪一块存储区域?---->主要由编译器的内存管理部件决定的,编译时间内完成,当然由OS负总责。
    静态存储区在计算机内存中是以怎样形式存在的?----->形式是由“型”决定。
    static----->内存的状态
    你可以研究一下编译器的构建机理
    开源GCC
    可以通过汇编中间代码研究下,反汇编.

    [ 本帖最后由 黄富强 于 2008-5-2 19:30 编辑 ]

  3. TheTeeth 于 2008-05-02 15:57:59发表:

    请问,数据被分配到了计算机的哪一块存储区域?静态存储区在计算机内是以怎样形式存在的?

    谢谢!

  4. 奶茶dsk 于 2008-05-02 11:19:49发表:

    程序运行时用static申明的变量采用的是静态存储方式,数据被存放在静态存储区..