c语言之const的用法

本篇博文简单的讲讲c语言的const的用法。

const:定义常变量,不能写,只读

a.数据类型对于const而言是透明的
b.const用于封锁直接修饰的内容,将内容改变为只读

来段代码说明~~~
int main()
{
	int a = 10;//读,写
	int b = 20;//读,写
	const int ca = 10;//读
	int const cb = 20;//读
	int *p = &a;
	p = &ca ;//错误//p是指针变量,&ca是const int*类型不能被改变
	const int *cp1 = &ca;//正确//cp1是const int*类型的指针,&ca是const int*类型
	cp1 = &b;
	cp1 = &ca;//正确
	const int *cp2 = &ca;//正确
	int *const cp3 = &a;
	int *const cp4 = &ca;//错误//cp1是int* const类型的指针,而&ca是const int*类型
	const int *const cp5 = &a;//正确//cp5是const int * const类型的指针
	const int *const cp6 = &ca;//正确
	return 0;
}
c. 权限只能同等传递或者缩小传递

代码如下:

int main()
{
	int a = 10;
	a = 20;//左值,放在符号的左值,写权限
	const int ca = 100;//只读
	ca = 200;//错误,const类型不能被改变
	ca = 100;//错误
	const int cb;//错误//这里必须初始值设定,即赋初值
	int const cb = 100;//正确//等价于ca

	int b = a;
	int *p = &a;
	p = &b;
	*p = 200;
	const int *cp1 = &a;
	cp1 = &b;//正确
	*cp1 = 200;//错误//*cp1是const类型,不能被改变
	int const *cp2 = &a;//等价于cp1
	cp2 = &b;
	*cp2 = 200;//错误

	int const *const ccp = &a;
	ccp = &b;//错误
	*ccp = 100;//错误

}
Ps:    assert断言:断定表达式的结果一定为真
          如果为真什么都不做,如果为假程序崩溃
          只在debug版本有效



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值