C++ 指针* 和 指针的引用 *& (不是指针和引用,是指针的引用)

先看一个,指针参数的函数 调用过程

cpp 复制代码
#include <iostream>
using namespace std;

struct node{
	char data;
};

void pr(node *a){
	a=new node();
	a->data='x';
	cout<<"pr= "<<a<<endl;
	cout<<"data= "<<a->data<<endl;
}


int main(int argc, char** argv) {
	node *a;
	pr(a);
	cout<<"main= "<<a<<endl;
	cout<<"data= "<<a->data<<endl;
	return 0;
}

运行结果为:

pr= 0x7f1540

data= x

main= 0x2b

修改一下代码,把函数的参数 由指针 改为指针的引用

cpp 复制代码
#include <iostream>
using namespace std;

struct node{
	char data;
};

void pr(node* &a){
	a=new node();
	a->data='x';
	cout<<"pr= "<<a<<endl;
	cout<<"data= "<<a->data<<endl;
}


int main(int argc, char** argv) {
	node *a;
	pr(a);
	cout<<"main= "<<a<<endl;
	cout<<"data= "<<a->data<<endl;
	return 0;
}

pr= 0xb61540

data= x

main= 0xb61540

data= x

相关推荐
aqiu1111115 分钟前
python02
算法
瓦特what?5 分钟前
位运算核心技巧与应用
java·jvm·算法
无限码力5 分钟前
阿里算法岗 0530笔试真题 - 荆棘林的最优砍断计划
算法·阿里笔试真题·阿里机试真题·阿里算法岗笔试真题·阿里巴巴笔试真题
随意起个昵称8 分钟前
线性dp-LIS题目5(导弹拦截,二分优化)
c++·算法·动态规划
winlife_8 分钟前
全程用 AI 做一款商业级手游 · EP10 道具系统:让三个按钮真正改变棋盘
windows·算法·unity·ai编程·游戏开发·mcp·玩法系统
IT策士9 分钟前
Redis 从入门到精通:数据结构Set 与 Sorted
数据结构·数据库·redis
计算机安禾12 分钟前
【数据库系统原理】第16篇:范式理论(下):多值依赖与第四范式——消除非平凡的非函数依赖
算法
lqqjuly17 分钟前
一致性模型深度解析
人工智能·深度学习·算法
光电笑映18 分钟前
进程间通信:深入 System V IPC:共享内存、消息队列与信号量
linux·运维·服务器·c++
RisunJan18 分钟前
Linux命令-patch (为开放源代码软件安装补丁程序)
linux·服务器·算法