符号常量是在C语言中,可以用一个标识符来表示一个常量,这个标识符称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。
符号常量在使用之前必须先定义,其一般形式为:
#define标识符常量
enumEnumName{标识符,标识符,...};
其中#define也是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
枚举类型中的元素也是符号常量,如enumWeekday{SUN,MON,TUES,WED,THU,FRI,SAT}。
例:
#include
#definePRICE30
main()
{
intnum,total;
num=10;
total=num*PRICE;
printf("total=%d",total);
}
使用符号常量的好处是:
含义清楚;
能做到“一改全改”。
const定义
编辑 播报
形式为:consttypename=value;
例如:constintMONTHS=12;
这样就可以在程序中使用MONTHS而不是12了。常量(如MONTHS)被初始化后,其值就被固定了,编译器将不允许再修改该常量的值。假如您这样做:
MONTHS=18;
是不对的,就好像您将值4赋给值3一样,无法通过编译。
此外注意应在声明中对const进行初始化。下面的代码是不正确的:
constinttoes;//toes的值此时是不确定的
toes=10;//这时进行赋值就太晚了
如果在声明常量时没有提供值,则该常量的值是不确定的,而且无法修改它。