const的使用 --- C语言

const的用法:
定义常变量,不允许修改其值(只可读)
eg:int const ca=10;//const修饰ca,ca的值不能改变,为定值。
1.基本的数据类型对于const是透明的;

(1)int const ca=0;//ca和cb是等价的;const修饰ca和cb;
const int cb=0;

      const int cb=10;
      cb=20//error 不可修改cb的值;

2.const限定它的直接右边
(const修饰的值不能做左值,const修饰的值不能改变所以不能做左值)
const int *p=&a;
cp=100;//error 直接右值不能做左值;
cp=&b;//正确 const修饰的是
cp不是cp;

    int main()
  {
	int a = 10;
	a = 20;
	int b = 20;
	int const ca = 10;
	//ca = 20;//error
	//ca = 10;//error
	//int const cb;//error
	const int cb = 10;//完全等同ca
	//cb = 20;//error
	int * p = &a;
	const int *cp = &a;
	//*cp = 100;//error//直接右边不能做左值
	cp = &b;
	int *const cp2 = &a;
	//cp2 = &b;//error,直接右边不能做左值
	*cp2 = 100;
	int const *cp3 = &a;//cp3等价cp
	cp3 = &b;
	//*cp3 = 100;//error
	const int *const cp4 = &a;
	//cp4 = &b;
	//*cp4 = 100;
	return 0;
}

3.权限可以缩小或同等传递,但不能放大

  int main()
{
	int a = 10;
	int b = 20;
	const int ca = 10;
	int *p1 = &a;
	//int *p2 = &ca;//error
	const int *p3 = &a;
	const int *p4 = &ca;
	int *const p5 = &a;
	//int *const p6 = &ca;//error

	return 0;
}

//const,防止在函数中修改源的数据
(src原函数不可修改,des目标函数可修改)

发布了17 篇原创文章 · 获赞 4 · 访问量 1602

猜你喜欢

转载自blog.csdn.net/qq_43411866/article/details/88029456