const声明常量
常量的样子与变量一样,只是它们的值不能修改。
1
int const a;
const int a;
这两条语句都把a声明为一个整数,它的值不能修改
2
int const *pi;
pi是一个普通的指向整型的指针。
3
int const *pci
是一个指向整型常量的指针,可以修改指针的值,但不能修改它所指向的值。
4
int * const pci;
声明pci为一个指向整型的常量指针。此时指针是常量,它的值无法修改,但可以修改它所指向的整型的值。
5
int const * const cpic;
最后在cpic这个例子里,无论是指针本身还是它所指向的值都是常量,不允许修改。
#define指令是另一种创建名字常量的机制
#define MAX_ELEMENTS 50
int const max_elemen = 50;
在这种情况下,使用#define比使用const变量要好,因为只要允许使用字面值常量的地方都可以使用前者,比如声明数组的长度。const变量只能用于允许使用变量的地方。