C++存储类别

2017-12-22  本文已影响15人  魂之挽歌w

变量的另一种属性:存储期(也称生命期)

存储期是指变量在内存中的存在期间。可以分为静态存储期动态存储期

全局变量,静态外部变量,静态局部变量都在静态存储中,另外动态存储中有:

1.函数形式参数(即函数的形参)

2.函数中的局部变量(这里指未加static声明的局部变量)

3.函数调用时的现场保护和返回地址

C++中变量除了数据类型的属性之外,还有存储类别的属性

存储类别指的是数据在内存中存储的方法,即动态存储,静态存储两大类,具体为:

1.自动的(auto)   形参和函数中变量一般都是自动的,即动态存储中因为auto可以省略,即不写系统默认为auto

2.静态的(static)    在静态存储区分配存储单元,在程序整个运行期间都不释放,外部变量添加static只限于被本文件引用

3.寄存器的(register)   将局部变量的值放在CPU的存储器中(针对频繁使用的变量,提高执行效率)

4.外部的(extern)   全局变量在函数的外部定义,作用域为从变量的定义开始,到本程序文件末尾

如果在定义点之前的函数想用该全局变量,则应该在引用之前用extern进行外部声明!

例子:

main(){

extern int a,b;//此处使用了未定义的全局变量

cout<<max(a,b)<<endl;     }

int a=13,b=23;

int max(int x,int y){

        int z;

z=x>y?x:y;

return z;}

上一篇 下一篇

猜你喜欢

热点阅读