//const:定义常变量,只能读,不能写
//数据类型对于const而言是透明的
//const用于封锁直接修饰的内容,将该内容变为只读
//权限只能同等传递或者缩小传递
#include<stdio.h>
int main()
{
int a=10;
int b=20;
const int ca=10;
const int cb=20;
int *p=&a;
//p=&ca;//error 间接修改了ca的值,而ca用const是不能进行更改的
*p=40;
const int*cp1=&a;
cp1=&b;
cp1=&ca;
const int *cp2=&ca;
int *const cp3=&a;
//int *const cp4=&ca;//error
const int *cp5=&a;
const int *const cp6 =&ca;
printf("%d\n",a);
return 0;
}
int main()
{
int a=10;
a=20;//左值,放在赋值符号的左边,写权限
int b=a;//c99
const int ca=100;//只读
//ca=200;//error不能更改,只能读取
//const int cb;//error 没有赋值,无法读取,也不能给其之后给值
int const cb=100;//等价ca
int *p=&a;
p=&b;
*p=200;
const int * cp1;
cp1=&b;
//*cp1=200; 错,cp1是只读的,不能修改
int const *cp2=&a;//cp2等同于cp1
cp2=&b;
//*cp2=200;//error,不能改
int *const cp3=&a;
//cp3=&b;//error
//cp3=200;//ok 相当于将200放入a
int const *const ccp=&a;
//ccp=&b;//error
//*ccp=100;//error
return 0;
}