- const关键字声明常量:
int const a;
const int a;
这两个语句都把a声明为一个整数,其值不能修改。两种方式等价; - 当涉及指针变量时情况会变得有趣:因为有两样东西都有可能成为常量—————-指针变量和它指向的实体。
如:int *pi;
pi是一个指向整型的指针,而变量
int const *pci;则是一个指向整型常量的指针,你可以修改它所指向的值。相比之下:
int * const cpi;则声明pci为一个指向整型的常量指针,此时指针是常量,其值无法修改,
但它所指向的整型的值可以修改。
int const * const cpci;在这个例子中,无论是指针本身还是它所指向的值都是常量
创建常量
可以有两种方式:一种使用const,一种用宏:#define指令。
只要允许使用字面值常量的地方都可以使用#define,比如声明的数组的长度。
const变量只能用于允许使用变量的地方。