上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
2.3 常量与变量
对于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,它们可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。
2.3.1 常量和符号常量
在程序执行过程中,其值不发生改变的量称为常量。
直接常量(字面常量),如:整型常量12、0、-3;实型常量4.6、-1.23;字符常量’a'、'b';字符串常量(字符串)"Good"。
符号常量,即用标识符代表一个常量。
符号常量在使用之前必须先定义,其一般形式为:
#define 标识符 常量
其中#define也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令(在后面将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。
习惯上,符号常量的标识符用大写字母书写,变量标识符用小写字母书写,以示区别。
【例2.1】符号常量的使用。
#define PRICE 30 main() { int num, total; num=10; total=num* PRICE; printf("total=%d", total); }
符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。
使用符号常量的好处是:含义清楚,能做到“一改全改”。
2.3.2 变量
其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前,一般放在函数体的开头部分。要区分变量名和变量值是两个不同的概念。变量的具体存放形式如图2-1所示。
图2-1