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;
}