指向指针的引用与指向引用的指针

本文详细解析了 C++ 中的引用和指针概念,包括引用作为变量的别名,指针存储变量地址的特性,以及复杂的指向指针的引用和为何无法创建指向引用的指针。通过实例代码展示了不同情况下引用和指针的行为差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、引用

二、指针

三、指向指针的引用

四、指向引用的指针


一、引用

引用只是变量的一个别名,引用只能引用变量,并且只能引用一次,不能引用A再引用B,引用没有自己的地址
 

#include<iostream>
using namespace std;


int main()
{
	int a = 10;
	int & b = a;
	b = 20;
	cout<<"a = "<<a<<"\t"<<"b = "<<b<<endl;
	cout<<&a<<"  "<<&b<<endl;
	return 0;
} 
a = 20  b = 20
0x9ffe34  0x9ffe34

二、指针

指针就是地址,指针变量存放的是某一个变量的地址。指针可以改变指向,并且有自己的地址。

 

#include<iostream>
using namespace std;


int main()
{
	int a = 10;
	int * b = &a;
	*b = 20;
	cout<<"a = "<<a<<"\t"<<"b = "<<*b<<endl;
	cout<<&a<<"  "<<&b<<endl;
	return 0;
} 

 

a = 20  b = 20
0x9ffe3c  0x9ffe30

三、指向指针的引用

#include<iostream>
using namespace std;


int main()
{
	int a = 10,x = 100;
	int *b = &a;
	*b = 20;
	int *& c = b;
	c = &x; 
	cout<<"c = "<<*c<<"\t"<<"b = "<<*b<<endl;
	cout<<&c<<"  "<<&b<<endl;
	return 0;
} 

 

 

c = 100 b = 100
0x9ffe28  0x9ffe28

四、指向引用的指针

因为引用没有自己的地址,所以指针不能指向引用

#include<iostream>
using namespace std;


int main()
{
	int a = 10;
	int & b = a;
	int & * p = &b; //[Error] cannot declare pointer to 'int&'
	cout<<*p<<endl;
	return 0;
} 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少年与云眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值