在C语言中,可以使用const来定义一个常量。常量的定义与变量的定义很相似,只需在变量名前加上const即可,如下所示。
int const a;
以上语句定义了a为一个整数常量。那么,既然a的值不能被修改,如何让a拥有一个值呢?
这里,一般有两种方法,其一是在定义时对它进行初始化,如下所示。
const int *a;
int *const a;
在第一条语句中,const用来修饰指针a所指向的对象,也就是说我们无法通过指针a来修改其指向对象的值。但是a这个指针本身的值是可以改变的,即可以指向其他对象。
与此相反,在第二条语句中,const修饰的是指针a。因此,该指针本身的值是不可改变的,而该指针所指向的对象的值是可以改变的。
define定义常量
define实际是一个预处理指令,其实际的用途远大于定义常量这一功能。在这里,首先讲解define定义常量的基本用法。
使用define定义常量实际是进行符号替换,其定义方法为
#define 符号表替换列表
符号名必须符合标识符命名规则。替换列表可以是任意字符序列,如数字、字符、字符串、表达式等,例如:
#define SUM 99