保姆式整理C语言之const用法
C语言const关键字用法整理
1. 变量/数组中使用const
以const关键字声明的变量/数组,其值不能通过赋值/递增/递减来修改,即该变量为只读
const int test = 12; //限定test的值不能修改
test = 15; //不允许
test++; //不允许
test--; //不允许
2. 指针中使用const
限定指针本身
float * const pf; //pf是一个const指针,pf所指向的值可以被改变
pf = pf2; //不允许,pf本身的值不可以被改变
*(pf+1) = 2; //允许,pf指向的值能被改变
限定指针指向的值
const float *pf; //pf指向一个float类型的const值,即pf指向的值不能被改变,而pf本身的值可以改变
pf = pf2; //允许,pf本身的值可以改变
*(pf+1) = 2; //不允许,pf指向的值不能被改变
限定指针指向的值和限定指针本身
const float * const pf; //pf本身不能被修改,pf指向的值也不能被修改
3. 函数形参中使用const
限定函数内部该变量不会被修改,与输入实参是否由const关键字声明无关
void test(const int *vec, int limit); //test函数声明,形参vec使用const关键字表明在函数内部不能修改指针vec所指向的值
int main(void)
{
int vec[20];
test(vec, 5); //输入vec不要求必须是关键字const定义
return;
}