vlambda博客
学习文章列表

保姆式整理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;}