const关键字

const是一个C语言(ANSI C)的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助。

const修饰变量

const float PI = 3.14;
//产量不可修改
PI = 12.0;  //error

const修饰的变量不可修改,此为常量,如同一些常数不可修改。注意在定义时初始化,如果定义后再初始化将报错,且该常量为随机数。没有意义。
这个相对于宏定义改进了一些地方,检查数据类型,检查表达式的语法,在效率上也提高,空间占用更少。

const修饰数组

const int ARRAY[10] = {0};

这个注意事项与变量一样。

const修饰指针

const char *ptr1;
char const *ptr2;
char * const ptr3;
const char * const ptr4;

这个主要看const与那个运算符接近,就修饰那个运算符。第一个const接近*,则修饰它,效果为该指针指向的数据不可修改,该指针变量可以修改。第二个和第一个一样,都是修饰*,效果相同。第三个const修饰指针变量,则该指针变量不可修改,指针变量指向的数据可以修改。第四个,指向的数据和指针变量都被const修饰,两者均不可以修改。方法就是看const离那个运算符近,就修饰那个。

const修饰形参

char *strcpy( char *to, const char *from );

字符串拷贝函数,我们只需拷贝内容,并不需要改变fron指针指向的内容。const修饰不需要改变的形参好处有二:一,如果函数内部破坏该数据,编译器将报错,保护数据。二,让调用者明显看到该形参不可改变,做出一些必要调准。

C语言中const缺陷

const float PI = 3.14;
//PI = 3.0;  ERROR
printf("DEFORE PI = %f\n",PI);
float *ptr = Π
*ptr = 3.0;
printf("AFTER PI = %f\n",PI);

结果

DEFORE PI = 3.140000
AFTER PI = 3.000000

可以看到,在C语言中,const修饰的常量虽然不能直接修改,但可以间接修改。

const一般使用

const一般使用在常量和修饰形参居多,在修饰变量时,变量名一般起大写的名字,这样一看到就知道是常量,且在定义时记得初始化。
微信号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值