const是C语言中一个重要的关键字,意思是只读的,不可改变的,它可以用来修饰普通变量、结构体的成员变量、指针,还可以是函数的参数、函数的返回值等。
1、修饰普通变量
(1)修饰全局变量
#include <stdio.h>
const int i = 10;
int main()
{
printf("%d\n",i);
return 0;
}
尝试修改:
#include <stdio.h>
const int i = 10;
int main()
{
i = 20;
printf("%d\n",i);
return 0;
}
报错:
(2)修饰局部变量
#include <stdio.h>
int main()
{
const int i = 10;
printf("%d\n",i);
return 0;
}
尝试修改:
#include <stdio.h>
int main()
{
const int i = 10;
i = 20;
printf("%d\n",i);
return 0;
}
报错:
2、修饰指针
const int *p;
int const *p;
int* const p;
const int* const p;
上面两种写法相同,都是修饰*p,表示p所指向的单元是刻可读的,不能被修改,但是指针p可以改变指向。第三种写法const是修饰指针变量p,p的指向不能改,但是p所指的单元*p可以修改。第四种写法就是上面两种的结合,p的指向不能改,*p也不能被修改。
3、其他
const修饰函数的参数时我们希望参数是不会被改变的,加了const之后参数会更加的安全。还有就是对函数的返回值修饰,则函数的返回值也不能被改变。
4、const关键字的意义
(1)可增加程序的可读性。
(2)防止被意外修改。