const define 区别
-
const 编译器可以进行安全检查 , define 只是简单替换
-
define 只在预处理阶段起作用, const 在编译运行起作用
#define N 100
const int M = 110;
const 用法
const 用法
int main(){
//1.修饰普通变量, 使其不能被更改
const double PI = 3.14159265;
//2.修饰指针, 指针所指向的单元不能被修改
int i = 5;
int j = 6;
const int *p = &i;
//*p = 8; 是错误写法, 但是指针本身是一个变量, 可以指向别的位置
//p = &j; 是正确的
//3.修饰指针变量 表示该指针是常量,不能指向别的位置
int * const p1 = &j;
//p1 = &i; 是错误写法 不能指向别的位置
//*p2 = 10; 是正确的 指针所指向的单元能被修改
//4.既修饰指针变量, 又修饰了指针类型。表示指针本身和指针所指向的位置均不可修改
const int * const p2 = &i;
}
//5.修饰函数的参数, 避免传过来的值在函数体内部修改
void show(const int a){
// a = 6;错误
}