1.变量
变量代表一个有名字的、具有特定属性的一个存储单元。它用来存放数据,也就是存救变量的值。在程序运行期间,变量的值是可以改变的。
变量必须先定义,后使用①。在定义时指定该变量的名字和类型。一个变量应该有一个名字,以便被引用。请注意区分变量名和变量值这两个不同的概念,图3.3中a是变量名,3是变量。的值,即存放在变量a的内存单元中的数据,变量名实际上是以一个名字代表的一个存储地址,在对程序编译连接时由编译系统给每一个变量名分配应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。
2.常变量
C99允许使用常变量,方法是在定义变量时,前面加一个关健字cont,如:const int a3;
定义:为一个整型变量,指定其值为3,雨且在安量存在期间其值不能改变。
常变量与常量的异同是:常变量具有变量的基本属性:有类型,占存储单元,只是不允 许改变其值。可以说,常变量是有名字的不变量,面常量是没有名字的不变量。有名字就便于在程序中被引用。
请思考:常变量与符号常量有什么不同?如,
s definr Pi 3.1415926
/定义符号常量
const float pi-3,1415926
/定义常变量
符号常量和常变量pi都代表3.1415925.在程序中都能使用。但二者性质不同:定义符 号常量用#define指令,它是预编译指令,它只是用符号常量代表一个字符申,在预编译时仅进行字符替换,在预编译后,符号常量就不存在了(全置换成3.1415926了),对符号常量的名字是不分配存储单元的。而常变量要占用存储单元,有变量值,只是该值不改变而已。 从使用的角度看,常变量具有符号常量的优点,而且使用更方便,有了常变量以后,可以不必多用符号常量。 誓说明:有些编译系统证未实现C99的功能,因此不能使用常变量。