一、const类型限定符
以const关键字修饰的对象,其值不能通过赋值或递增、递减进行修改。但是可以通过指针访问的方式修改const修饰对象的值(也会报警告)。
//file1.c
const int num = 20;
//num = 10; 赋值出错
//num++; 递增出错
//num--; 递减出错
int* p = #
*p = 100;
//可以通过地址访问的方式修改const修饰对象的值
printf("%d\n",num);
所以,const修饰的对象变成只读变量,无法常规修改。
- const修饰指针
当const修饰指针时,要区分const是修饰指针本身,还是修饰指针所指向的值。
const char* p;//限定指针指向的值
char* const p;//限定指针
const char* const p;//限定指针指向的值和指针
限定指针指向的值:指针指向的值不能被改变,但指针本身可以改变,即更改指针的指向。
限定指针:指针本身的值不能被改变,但指针所指向的对象的值可以改变。
限定指针指向的值和指针本身的值