C语言变量的存储类型

2018-02-03 10:20:22来源:https://www.jianshu.com/p/f5d4aa1ec42e作者:小生图图人点击

分享

一、局部变量的存储类型

局部变量有三种存储类型:自动变量(auto)、静态局部变量(static)、寄存器变量(register)。

1.自动变量

局部变量定义时不指明存储类型或用auto说明时,都是自动变量。自动变量分配在动态存储区。

2.静态局部变量

使用static定义的局部变量,称为静态局部变量,他的作用域与自动变量一样,但他被分配在静态存储区中。

3.寄存器变量

使用register定义的局部变量,称为寄存器变量。顾名思义,寄存器变量占用CPU的通用寄存器,而不占用内存单元。因此,使用寄存器变量就省去了访问内存的时间,从而提高了程序的执行速度。


二、全局变量的存储类型

全局变量有两种存储类型:外部变量(extern)和静态全局变量(static)。

1.外部变量

没有用static定义的全局变量,就是外部变量,引用这种外部变量时,用extern加以说明,就可以使他的范围扩大到他所在的整个源程序文件,甚至其他文件。

2.静态全局变量

当用static定义全局变量时,该全局变量不允许其他文件引用,只能在定义他的源文件中使用,这种变量称为静态全局变量。





最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台