前言:
1.一般定义
const是一个C语言中的关键字,所修饰的数据类型的变量或对象的值是不能被改变的。
2.推出目的
初始目的是为了取代预编译指令
3.主要作用
1)定义const常量,具有不可变性
2)便于进行类型检查
3)防止误修改
4)节省空间,提供效率
举例:
1.const int和int const
#include "stdio.h"
int main(void)
{
const int a = 10;
//int const a = 10; //同上句代码作用等同
//a = 20; //取消注释此句会报错,因为a的值不可变
printf("%d\n",a);
return 0;
}
2.const int *和int const *
#include "stdio.h"
int main(void)
{
int a = 10;
int b = 20;
const int *c = &a; //const修饰的是int,也即是*c的值不可变,但c指针可变
//int const *d = &a; //同上句代码作用等同
//*c = 20; //取消注释此句会报错,因为*c的内容不可变
c = &b; //可以修改c,指向新的地址
printf("%d\n",*c);
return 0;
}
3.int *const
#include "stdio.h"
int main(void)
{
int a = 10;
int b = 20;
int *const c = &a; //const修饰的是指针c,所以c是常量指针,但存储的地址所指向的内容可变
//c = &b; //取消注释此句会报错,因为c是常量指针
*c = 30;
printf("%d\n", *c);
return 0;
}