const常量、const指针、指向const常量的指针和指向常量的const指针的区别

1. const常量
变量可以通过const关键字定义为常量,并且常量定义的时候必须为其赋值初值,一旦定义为常量后其值就不能更改,定义格式:const type var_name = 初始值

 const  int num = 10; // 必须在定义的时候就初始化,后续不能再进行初始化
 num = 11; //错误,常量的值不能更改
 int  num2 = num; // 可以执行,这里是将num的值赋值给其他变量,并没有修改num的值

2. const指针
将指针定义为不可变,其所指向的地址一旦指定后就不能更改,定义格式:type* const point_name = 变量地址

	int num = 10; // 定义变量
	int num1 = 11;
	int* const ptr = # //将变量的地址赋值给指针
	*ptr = 11; //正确,可以修改变量的值
	ptr = &num1; //错误,const指针的指向不能改变

3. 指向const常量的指针
可以将常量的地址赋值给指针,可以更改指针的指向,但是不能更改指针所指常量的值,定义格式:const type* ptr_name = 常量地址

	const int num = 10; //定义一个常量
	const int  num1 = 11;
	const int* ptr = # //定义一个指向const常量的指针
	ptr = &num1; //正确,该指针可以指向另一个常量
	*ptr = 11; //错误,不能修改常量的值

4. 指向const常量的const指针
可以将2、3结合起来,定一个指向const常量的const指针,该指针定义以后既不能更改指针的指向,也不能更变指针所指常量的值,定义格式:const type* const ptr_name = 常量地址

	const int num = 10; //定义常量
	const int num1 = 11; //定义常量
	const int* const ptr = # // 定义变量
	*ptr = 20; //错误,指针指向的是一个常量,其值不能更改
	ptr = &num1; //错误,const指针的指向不能改变
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值