1.const的用法
const常变量在编译期期间,就会检查错误。
const可以用来修饰普通变量、指针、函数等,const用来修饰的符号,除了赋初值的情况下,其余情况不可修改,也就是说只支持读不支持写。
1.1 常变量
const int num = 0; //定义int型常整型变量num,并赋初值
num = 1; //编译报错,num是常变量,不可修改
1.2 常量指针
int num1 = 0,num2 = 0;
int * const addr = &num1;
addr = &num2;//编译报错,常量指针,指针的指向不可变,即指针指向的地址不可变。
1.3 指向常量的指针
int num = 0;
int const * addr = #
*addr = 1;//修改num的值报错
如何区分常量指针和指向常量的指针:
看const是在号左边还是右边
const在号左边修饰* addr,addr指向的是一个变量,指的这个变量不可修改,也就说是指向常量的指针。
const在号右边修改addr,addr为指针变量,指的是这个指针变量不可修改,即常量指针。
1.4 const 函数
#include <stdio.h>
void fun()
{
int num =0;
num =1;
}
int main() {
int const num = 0;
int num1 = num;
fun();
return 0;
}
const函数中,任何变量不可修改。
2.使用注意事项
非const变量不能赋值给const变量(初始化除外),反之可以。
非const函数可以调用const函数,反之也可以。
因const修改的不可变,因此const在大型项目开发中广泛用于修改函数参数,来保证外部接口传来的参数不被修改。