程序中的变量

来源:互联网 发布:对证券行业的认识知乎 编辑:程序博客网 时间:2024/06/06 08:26

背景知识:

区分两个概念: 变量的 作用范围 生命周期

对C语言程序来说,内存分为两块区域: 程序区和数据区,我们所有的变量都集中在数据区

                  

操作系统

程序区              (c程序代码)

       

 

 

数据区

静态存储区

全局变量

静态局部变量

动态存储区          (如自动变量)

 

 

 

常用变量:

        自动变量:         如局部变量 作用域为{   }   生命周期为 {   }

        全局变量:         作用域 从定义开始到程序所在文件的结束   生命周期  程序结束

        静态局部变量:    作用域 {   }    生命周期  程序结束

特殊变量:

        寄存器变量:     数据存储在计算机寄存器单元上, 使用方式与自动变量完全相同

        外部变量:       只起声明作用

        临时变量:       编译器因为某种需要自动生成的不能访问的变量  如以下情况下

                               1.  创建常量的引用,将产生一个临时变量.如:
                                    const   int   i=5;
                                    const   int   &ri=i;
                               2.  当初始化引用的变量类型与声明的引用类型不一致时,也会产生临时变量:
                                    int   i=5;
                                    double   &rd=i;
                               3.  函数以值的形式返回时,也会产生临时变量(对象)etc.

动态对象:

应该注意的是以上都是  静态分配对象---即编译器在处理程序源代码时分配

实际上我们还可以     动态分配对象---即程序执行时调用运行时刻库函数来分配 即利用 newdelete 表达式

原创粉丝点击