每日一C之C语言const用法
每天拾一个C语言贝壳,厚积薄发,积跬步以致千里。
今日贝壳:C语言const能在一定程度上提高程序的安全性与可靠性。
1.const修饰只读变量:const 数据类型 变量名
如 const int a = 10 ;
const修饰后,变量成为只读变量,这意味着该变量需在定义时同时初始化。const只读变量,任何企图对只读变量的修改都会引发错误。
2.const修饰指针:如
const int *p ; // (*p)(即P指向的变量)不可变,即指向的是常量,称为常量指针
int* const p ; // p不可变,这个指针是常量,称为指针常量
如下示例:
#include
int main(){
int a=1;
int b=2;
const int *p1=&a; //常量指针p1
int* const p2=&b; //指针常量p2
printf("%d:\n",*p1);
p1=&b; //常量指针指(*P)不可变,但p可变
//p2=&a; 错误,p2为指针常量,p2这个指针是常量,故p2不能修改
printf("%d:\n",*p1);
return 0;
}
常量指针:指向的是常量,指针本身可以修改。
指针常量:为常量的指针,指针本身不可修改。
3.const修饰函数参数:
当函数的参数为指针时(参数不为指针不存在安全问题),处于安全性考虑,不希望函数修改其内容,用const修饰可保证函数不会修改参数。
void foo(const int *p); //在函数内,p指向的内容不会被改变
Have a nice day !