单链DNA

换了个地址:http://www.cnblogs.com/vizhen/

 

变量存储类型

  • 变量的存储方式

    变量值在内存的存在时间分为静态存储方式动态存储方式

    静态存储方式:在程序运行期间分配固定的存储空间。

    动态存储方式:在程序运行期间根据需要进行动态的分配存储空间。

    用户使用的存储空间:有程序区静态存储区动态存储区三部分构成。

    数据分别存放在静态存储区动态存储区

    动态存储区主要存放函数的形式参数、自动变量和函数用时的现场保护和返回地址等。在函数调用时开始分配动态存储空间,函数结束时是否这些空间。

  • 变量的存储类型
    变量的存储类型:auto、static、register和extern。
  1. auto 自动变量
    auto 变量只用于定义局部变量,存储在内存中的动态存储去。
    定义形式:auto <数据类型> <变量名表>;
    局部变量存储类型缺省时为auto型。
  2. static 静态变量
    static型可以定义全局变量和局部变量。
    static静态变量在静态存储去分配存储单元。在程序运行期间自始至终期间占用被分配的存储空间。
    注意:a.静态局部变量是在编译时赋初值的。以后每次调用函数时不再重新赋值而只引用上次函数调用结束时的值。
    b.静态局部变量时没有赋初值,编译时自动赋0或空字符。
  3. register 寄存器变量
    register寄存器变量:存放在寄存器中的变量。
    变量的值一般是存放在内存中的。某些要频繁使用的变量,为了提高变量的存取时间,可将这些变量存放在寄存器中,将变量定义为register变量。
    注意:a.计算机中寄存器数量是有限的,因此不能太多的寄存器变量。
              b.只有局部自动变量和形式参数可以定义为寄存器变量,全局变量和静态变量不能定义为寄存器变量。
              c.寄存器变量没有存储地址。
    void main()
    {
       register int x;
       x=1000;
       printf("%d\n",&x);//Error!cant use "&"
    }
  4. extern 外部变量
    extern变量就是全局变量。
    全局变量是从作用域角度提出的;外部变量是从其存储方式提出的,表示它的生存存期。
    外部变量的定义就是全局变量的定义。

posted on 2011-02-02 14:56 Geek.tan 阅读(181) 评论(0)  编辑 收藏 引用 所属分类: C++


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

统计

公告

coding是我的寂寞,我是谁的寂寞

随笔分类(40)

随笔档案(48)

搜索

积分与排名

最新评论

评论排行榜