关键字--const
const表示只读,const关键字修饰的变量为只读变量。
const修饰的变量存放在内存中的全局(静态)区,在编译时即确定了变量的数值,变量一旦定义之后,不允许修改变量的数值,所以const变量必须在定义时进行初始化!
一、修饰一般变量:
const int i=10;
和
int const i=10;
是等效的。
二、修饰指针变量时,注意const所在位置:
const int *p;
int const *p;//与上句含义相同,p指向的位置可变,但是对象的数值不可变
int * const p;//p指向的位置不可变,对象数值可变
const in * const p;//p指向的位置不可变,对象数值也不可变
三、修饰函数参数
const关键字常被用于修饰函数参数,保护数据源不被异常修改,例如:
void fun(const int *p) //指针p指向的变量数值不能被修改
{
...
}
四、错误的写法
因为const变量不能被重新赋值,所以
extern const int i = 10;//这样的声明写法是错误的。
const int m;
m=10;//试图重新赋值也是错误的,只能在定义时初始化