C语言中文网vip教程13.5

发布时间:2018-07-01 12:44:28   来源:文档文库   
字号:

我们知道,变量是有数据类型的,用以说明它占用多大的内存空间,可以进行什么样的操作。

除了数据类型,变量还有一个属性,称为“存储类别”。存储类别就是数据在内存中的存放区域。在《C语言内存模型》一文中我们讲到,一个正在运行的C程序的内存空间可以分为五个区域:程序代码区、静态数据区、堆区、栈区和命令行参数区,其中静态数据区栈区可以用来存放变量的值。

静态数据区的内存在程序启动时就已经由操作系统分配好,占用的空间固定,程序运行期间不再改变,程序运行结束后才由操作系统释放;它可以存放全局变量静态变量一般常量字符串常量

栈区的内存在程序运行期间由操作系统根据需要来分配(使用到变量才分配内存;如果定义了变量但没有执行到该代码,也不会分配内存),占用的空间实时改变,使用完毕后立即释放,不必等到程序运行结束;它可以存放局部变量函数参数等。

可以通过C语言中的关键字来控制变量的存放区域;C语言共有 4 个关键字用来指明变量的存储类别:auto(自动的)、static(静态的)、register(寄存器的)、extern(外部的)。

知道了变量的存储类别,就可以知道变量的生存期。通俗地讲,生存期指的是在程序运行过程中,变量从创建到销毁的一段时间,生存期的长短取决于变量的存储类别,也就是它所在的内存区域。

auto 变量

auto 是自动或默认的意思,很少用到,因为所有的变量默认就是 auto 的。也就是说,定义变量时加不加 auto 都一样,所以一般把它省略,不必多次一举。

例如:

1. int n =10;

1. autoint n =10;

的效果完全一样。

auto 变量最容易理解,不再另立篇幅讲解。

本文来源:https://www.2haoxitong.net/k/doc/b8d93e2d770bf78a642954d6.html

《C语言中文网vip教程13.5.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式