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

相关推荐
多弗朗皮卡丘3 小时前
C++STL之空间配置器
开发语言·c++·内存池·空间配置器
牵猫散步的鱼儿3 小时前
Demosaic 和 Remosaic
c++
荆棘鸟智能3 小时前
河道采砂船识别与轨迹追踪怎么做?检测、跟踪与电子围栏实战思路
人工智能·算法·目标检测
CodeYp20193 小时前
第19讲:封装红黑树实现 mymap 和 myset
开发语言·c++·红黑树
揽星河..4 小时前
【初阶数据结构】常见的排序算法
数据结构·排序算法·1024程序员节
DFT计算杂谈4 小时前
GSAS-II X 射线衍射(XRD)数据转换为对分布函数(PDF,Pair Distribution Function)
算法·机器学习·pdf
孙鹏宇.4 小时前
C++类型转换
c++
绕灵儿4 小时前
火灾检测-应用场景-YOLO训练记录
人工智能·算法
超级架构师4 小时前
让 COBOL 长出 AI 大脑:原生 Agent 核心框架 praxo-core 深度剖析
c语言·开发语言·c++·人工智能·python·架构·ai编程
·present·4 小时前
CSAPP(lecture 10)
c语言·c++