C++,静态区,动态区,以及存储方式!
来源:互联网 发布:社会学调查数据 编辑:程序博客网 时间:2024/06/06 05:52
变量具有存储期的属性,也叫生命期。存储期是指变量在内存中的存在期间(从时间角度)。可以分为静态存储期和动态存储期。存储空间有三个部分:程序区,静态存储区和动态存储区。下面介绍几种变量:
1.全局变量全部放在静态存储区,直到程序完毕就释放这些空间。
2.自动变量:关键字auto声明的,存在动态存储区。当不写的的时候,系统默认为auto型;
3.关键字static:
①.用static声明静态局部变量,存在静态存储区,如果不赋初值,系统默认值为为0或空字符
②.用static声明静态外部变量,限制变量只能在本文件使用;
4.register寄存器,将变量直接存放在CPU中的寄存器中,存取速度快,执行效率高。现在的编译系统,能够识别,自动将使用频繁的变量存在寄存器当中,所以声明register在实际当中没有必要;
5.关键字extern:
①.在一个文件内声明,可以在未定义之前使用该变量;
②.在多文件中声明外部变量,可以使用另一个文件中声明的变量;(此时的外部变量存在静态区)
下面是一些相关实例;
file1.cpp
auto int a=3;//声明为自动变量,可以省略
static int b=3;//声明静态局部变量,函数调用后,值保持不变
register int c=3;//寄存器变量
extern int d;
cout<<d<<endl;
int d=5;
static int e=6;//在file2中不能引用该变量,
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
file2.cpp
extern int a;//可以使用file1.cpp文件中的a
extern int e;//不可以使用
- C++,静态区,动态区,以及存储方式!
- C中的静态存储区和动态存储区
- C中的静态存储区和动态存储区
- C中静态存储区和动态存储区
- 动态存储方式和静态存储方式
- 动态存储方式与静态存储方式
- C语言编程之道 (有感 静态变量和动态变量, 静态存储方式和动态存储方式 堆+栈)
- 堆/栈/动态存储方式/静态存储方式
- 堆-栈-动态存储方式-静态存储方式
- 堆/栈/动态存储方式/静态存储方式
- 堆-栈-动态存储方式-静态存储方式
- 堆-栈-动态存储方式-静态存储方式
- 堆/栈/动态存储方式/静态存储方式
- 【转】java基础:动态存储方式与静态存储方式
- 堆/栈/动态存储方式/静态存储方式
- 堆/栈/动态存储方式/静态存储方式
- 静态存储区、动态存储区、堆、栈理解
- 字符串的存储方式以及静态存储区域、栈、堆
- 程序的魅力→绝对奇妙!!!
- C++每个头文件的功能说明
- autorun.vbs病毒专杀
- 在 CentOs5 上 安装 asterisk 的步骤
- 关于随机数的产生!!
- C++,静态区,动态区,以及存储方式!
- 关于汉诺塔问题二
- 关于汉诺塔问题三
- 用metapost直接生成eps文件
- VC++6.0打开出现错误!
- MATLAB 7.0安装问题
- 强力卸载office2003
- ASCII码表完整版
- memset的用法