C++笔记:指针(2)

7. 常量指针

7.1. 概念

所谓的常量指针,即这个指针指向的一个常量的内存地址,常量指针中,不能对其指向的内存地址进行改变,但是指针指向的地址可以改变。

  • 即:指针的指向可以改变,但是指向的内容不可改变。
7.2. 声明方式

const 变量类型*

7.3. 举例
	const int a{ 1000 };
	const int b{ 2000 };

	const int* ptr{ &a };
	
    //a是常量,不允许修改a的内容;
	// *ptr = 500;  //编译失败
	
    // ptr 是变量,允许修改ptr的指向,可以指向a,也可以指向b
	ptr = &b;    // 编译成功

8. 指针常量

8.1. 概念

所谓的指针常量,即这个指针变量是一个常量,一旦初始化就不可以再指向其他内存地址,但是内存地址里的数据可以读写;

  • 即:指针的指向不能改变,但是指向的内容可以改变。
8.2. 声明方式

变量类型* const

8.3. 举例
	int a{ 1000 };
	int b{ 2000 };
	int* const ptr{ &a };

    // ptr 是一个常量
	//ptr = &b; //编译失败
	
	*ptr = 99999; //正确

8. 指向常量的常量指针

8.1. 概念

所谓指向常量的常量指针,即这个指针变量是一个常量,一旦初始化就不可以再指向其他内存地址,因为其本身就是一个指向常量的指针,所以其指向的内存区域也不可以修改。

  • 即:指针的指向不能改变,指向的内容也不可以改变。
8.2. 声明方式

const 变量类型* const

8.3. 举例
    const int a{ 1000 };
	const int b{ 2000 };
    const int* const ptr{ &a };

	// ptr = &b;         //编译失败
	// *ptr = 99999;     // 编译失败
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值