C语言的const了解
C语言的const理解
一 C中的const关键字
C中的const对于初学者也许是一个比较难懂的一个关键字。现将C中的const关键字的常见使用方法总结如下
const主要是用来修饰标示符的,可以理解为“read-only”之意。例如 const int i=10;在下文如果更改i标示符的值编译报错。
const与指针混合使用时理解稍难,具体的例子如下:
int test1=10;
int test2=100;
int const *p=&test1;
*p=100; //编译报错,此时的const修饰的是*p,所以当修改其值的时候编译器会报错
p=&test2; //编译通过
int * const p=&test1;
p=&test2; //编译报错,此时的const修饰的是p,p是int *,所以编译报错
*p=100; //编译通过,需要注意的是此时p指向的内存单元是没有改变的,改变的只是内存单元的内容
const int * const p=&test1;//注意如果写成const int const *p=&test1;编译不通过的原因是const重复
以上的语句是同时限定p 和*p