一、const
C语言中关键字const用来定义一个常量,如果一个变量被const修饰,那么它的值就不能再改变,只能被读取。
(一)const修饰局部变量时**
const int num = 10;
int const num = 10;
上述两种对变量num的定义都是正确的,此时不能再重新给num赋值,num成为一个只读变量。如果强制给num重新赋值,会出现程序错误。
(二)const与指针
1.const int* p = &num
int const *p = &num
上面两种定义方法相同,const修饰的是一个int型的指针p,p中存放的是num的地址。因此p是一个常量指针。
常量指针指的是不能通过这个指针来改变变量的值,但是可以通过其他引用方式给变量重新赋值,并且此时的指针p也可以指向其他地址。
int main()
{
int num = 10;
n = 100;
const int* p = #
*p = 30;//程序报错
num = 20;//重新赋值,num的值变为20
p = &n;//将指针指向其他地址
return 0;
}
2.int* const p = #
此时的指针p是一个指针常量,指的是指针本身是一个常量,因此指针不能再指向其他任何地址,但是p所指向的变量num的数值