const是C语言中的关键字,可以限定一个变量不允许被修改,以下介绍const与一级指针结合的三种基本用法。
1.const在*前,*与q结合,*q是不可改变的量,所指向的值不可修改,但q本身可以修改
const int*q=&a;
2.const在*后,s是不可改变的量,本身的值不可修改,但可以修改*s,也就是可以通过解引用修改a的值
int*const s=&a;
3.双重限定,指针t指向与本身的值都不可修改
const int*const t=&b;
例:
const int a=10;//const限定a不可改变
const int*s=&a;//const限定*s所指向的值不可改变
int *p1=s; × 没有限制*p1,p1通过解引用可以修改a的值
const int *p2=s;√
int *const p3=s; × const只限制了p3本身不可改变,但仍然可以改变它所指向的a值
const int* const p4=s;√

606





