C语言中const关键字是constant的缩写,翻译为常量,常数的意思,主要作用如下:
1.修饰变量
C语言中使用const修饰变量,主要是对变量声明为只读特性,并保护变量以防止被修改。
例如 const i=5;
变量i只具有只读特性,不能够被更改,若想重新对i进行赋值,如i=10;是不可行的。
2.修饰数组
c语言中const还可以修饰数组
例如 const int array[5]={1,2,3,4,5};
array[0]=array[0]+1;
数组元素与变量类似,具有只读属性,不能被更改。
3.修饰指针
c语言中const修饰指针有两种形式,1.用来限定指向空间的值不能修改;2.限定指针不可更改
例如 int i=1;
int j=2 ;
const int* p1=&i;
int* const p2=&j;
第一个中const是限定的是p1,即指向空间的值不可改变,若改变其指向空间的值 p1=2,则程序报错。
第二个中const限定的是指针p2,若改变p2的值如p2=&i;则程序会报错,但p2即其所指向空间的值可以改变,如p2=3是可以的。
4.修饰函数参数
const关键字修饰函数参数,对参数起限定作用,防止其在函数内部被修改。所限定函数可以是普通变量,也可以是指针变量。
例如
void fun1(const int i)
{
……
i++; //对i的值进行了修改,程序报错
}