常量在定义时可以被初始化。
int const a =15;
当指针和常量结合时,就会很有趣,因为有两样东西都可能成为常量,指针和它指向的实体。一般大家在大学考计算机二级和面试时经常会遇到的。
int *a;
a就是一个很普通的指向整型的指针。
int const *a;
这时则是一个指向整型常量的指针。也就是说,你可以修改指针的值,但是不能修改它指向的值。
int *const a;
这时a是一个指向整型的常量指针。这个指针是常量,它的值无法修改,但是你可以修改它所指向的整型的值。
int const *const a;
这个时候无论是指针本身还是它所指向的值都是常量,都不允许修改。
|