const :限定变量的权限,变成只读(不能做左值)
一、基本数据类型对于const透明
*二、const修饰它的直接右边
三、权限可以同等或者缩小传递,不能放大传递
注:(1)左值:写权限
(2)右值:读权限
一、
#include<stdio.h>
int main()
{
int a;
a = 10;//左值,放在"="符号左边就是左值,其它情况都是右值
int b = a;
const int ca = 10;//限定写权限,变成只读
b = ca;//ok
//ca = 20;//error
//const int cb;//error
//ca = 10;//error
int const cb = 20;
//cb = 30;
b = cb;
return 0;
}
二、
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
int *p = &a;
p = &b;
int *q = &a;
q = p;
*p = 200;
b = *p;
const int *p1 = &a;
p1 = &b;//ok
//*p1 = 1000;//error
int const *p2 = &a;//p2完全等同p1
p2=&b;
//*p2=2000;//error
return 0;
}
三、
#include<stdio.h>
int main()
{
int a = 10;
int b = 20;
const int ca = 10;
int *p1 = &a;
*p1 = 20;
p1 = &b;
//int *p2 = &ca;//error
const int *p3 = &a;
const int *p4 = &ca;
//*p4 = &ca;//error
int *const p5 = &a;
//int *const p6 = &ca;//error
return 0;
}