c语言中const的用法 关于 CONST 的用法 const 在 C 语言中算是一个比较新的描述符,我们称之为常量修饰符,意即其所修饰 的对象为常量(immutable)。我们来分情况看语法上它该如何被使用。 1.函数体内修饰局部变量。例: void func(){ const int a=0; } 首先,我们先把 const 这个单词忽略不看,那么 a 是一个 int 类型的局部自动变量, 我们给它赋予初始值 0。然后再看 const.const 作为一个类型限定词,和 int 有相同的地位 const int a; int const a; 是等价的。于是此处我们一定要清晰的明白,const 修饰的对象是谁,是 a,和 int 没有关系。 const 要求他所修饰的对象为常量,不可被改变,不可被赋值,不可作为左值(l-value)。 这样的写法也是错误的。 const int a; a=0; 这是一个很常见的使用方式: const double pi=3.14; 在程序的后面如果企图对 pi 再次赋值或者修改就会出错。 然后看一个稍微复杂的例子。 const int* p; 还是先去掉 const 修饰符号。注意,下面两个是等价的。 int* p; int *p; 其实我们想要说的是,*p 是 int 类型。那么显然,p 就是指向 int 的指针。同理 const int* p;其实等价于 const int (*p); int const (*p); 即,*p 是常量。也就是说,p 指向的数据是常量。于是 p+=8; //合法 ……