变量的存储类别小总结

来源:互联网 发布:h5小游戏免费制作软件 编辑:程序博客网 时间:2024/04/30 18:52

对一个数据的定义,需要指定两种属性:存储类别和数据类型。其中存储类别有以下几种:static(静态变量)auto(自动变量,一般没加存储类别都默认是自动变量,如果int a,就是一个自动变量)register(寄存器变量)extern(外部变量)

我们可以从一下几个角度来区别这些变量:

1、从作用于角度分:局部变量和全局变量

(1)局部变量:

自动变量,即动态局部变量(离开函数,值消失);

静态局部变量(离开函数,值保存);

寄存器变量(离开函数,值消失)—— 跟自动变量的区别就是自动变量存储于内存,而寄存器变量存放于寄存器,读取速度比自动变量快。

(2)全局变量:

静态外部变量(只限本文件引用);

外部变量(允许其他文件引用);


2、从变量存在时间分:动态存储和静态存储

(1)动态存储:

自动变量(本函数内有效);

寄存器变量(本函数内有效);

形式参数(本函数内有效);

(2)静态存储:

静态局部变量(本函数内有效);

静态外部变量(本文件内有效);

外部变量(其他文件可引用);


3、从存放位置上分:

(1)内存中的静态存储区:静态局部变量,静态外部变量,外部变量;

(2)内存中的动态存储区:自动变量和形式参数;

(3)cpu中寄存器:寄存器变量;

原创粉丝点击