#include <stdio.h>
//笔记
//左值:写数据,放在赋值号左边;
//其他情况都是右值(读数据);
//const:把变量变成只读;
//1,基本数据类型对于const是透明的;
//2,const只能是限定修饰的直接右边;
//3,权限可同等或缩小传递,但不能放大传递
//例
int main(char p1,char p2,char p3,char p4)
{
int a=10;
int b=20;
const int *p2=&a;
p1=&a;//ok 指针
*p1=100;//error *p1相当于a的地址,a的地址为10,不是100;
int const *p2=&a;//相当于p1;
int *const p3=&a;
p3=&b;//error 不能将int型的b赋值给char型的p3
*p3=100;//ok 左值右值弄乱
const int *const p4 =&a;//error const重复使用
p4=&b;//error 不能将int型的b赋值给char型的p4
*p4=100;//error 左值右值弄乱
return 0;
}