const:把变量声明转变为常量声明成为只读值。
在程序的多个地方使用同一个常量而需要修改该常量值,只需通过修改const声明常量的值即可。如在程序中使用MONTHS标示月份
const int MONTHS = 12;
这样就可以在程序中使用MONTHS而不是12了,若修改程序中月份的值只需将上述语句中对应的数值改为相应数值即可。
*注意:应在声明中直接对const进行初始化。如下:
const int MONTHS = 12; //在声明的同时进行初始化操作
const int MONTHS;
MONTHS = 12; //此时声明已经太晚,编译器报错
在C语言中const关键字涉及到指针如下:
const float* p; //p指向的值必须是不变的
float* const p; //指针p本身的值不可变,指向的值可变
const float* const p; //指针本身及其指向的数值均不可改变
数组中使用const
const int array[]与const int* array相同,表明array指向的数据是不可变的。
与宏定义#define区别
const:有数据类型,编译时进行安全检查,可调试
#define:宏定义,不考虑数据类型,没有安检,不能调试。
在程序中推荐使用const!
1.使用const可以避免无意中修改数据的编程错误;
2.使用const使函数能够处理const和非const实参,否则将只能接受非const数据
3.使用const引用使函数能够正确生成并使用临时变量