在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。
一、符号常量定义用#define:
符号常量在使用之前必须先定义,其一般形式为:
形式为:#define 标识符 常量
eg: #define PI 3.14 //没有分号
#define 是一条预编译命令(预处理命令都以"#"开头),称为宏定义命令,在预编译时仅仅是进行字符替换。符号常量不占内存,只是一个临时符号,在预编译后这个符号就不存在了,故不能对符号常量赋以新值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
二、常变量定义const
形式为 :const type name = value;
eg:const int N= 12;
这样就可以在程序中使用N而不是12了。常量(如N)被初始化后,其值就被固定了,编译器将不允许再修改该常量的值。此外注意应在声明中对const进行初始化。这种形式叫常变量,分配有存储空间,但是其中的内容不允许改变。常变量具有符号常量的优点,而且使用方便,有了常变量以后,可以不必多使用符号常量。
三、enum
形式为:enum EnumName{标识符,标识符,...};
eg: enum money{ONE,TWO,FIVE=5,TEN=10};
枚举类型中的元素也是符号常量。