<强>一,const的作用强>
const修饰的变量,变成了一个不可修改的常量,比如
<代码> int c=0; 代码>这个时候,c是可以修改的,但是加上const以后,c的值就变成常量,
<代码> const int c=0;> 代码如果这个时候令c <代码>=2,代码>那么程序就会报错。
这就是常量的主要作用,但是,在c语言中,<强> const修饰的变量真的就是一个常量吗? 强>
<强>二,const的“bug" 强>
我们看下面这段代码
<代码> int main () { const int cim_test=1; printf (" cim_test=% d \ n”, cim_test); int * p1=, cim_test; * p1=3; printf (" cim_test=% d \ n”, cim_test); 返回0; }代码>
<代码>这段代码,运行结果如下代码>
<强>四,const的扩展强>
我们可以利用常量的这个属性来规范一些代码编写。
1, const修饰的函数参数,在函数内部不允许修改。
2, const修饰的函数返回值,表示函数的返回值不可以修改
# include & lt; stdio.h>
<代码> const char * f (const int i) { 我=5;//错误,const变量不能作为左值 返回“Hello World”;//返回指向只读存储区的指针 } int main () { char *电脑=f (0);//华林 printf (" % s \ n ", pc); 电脑[6]=' _ ';//错误,不能修改只读存储区的内容 printf (" % s \ n ", pc); 返回0; }代码>