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

相关推荐
老鱼说AI2 小时前
《深入理解计算机系统》(CSAPP)2.2:整数数据类型与底层机器级表示
开发语言·汇编·算法·c#
Albert Edison2 小时前
【ProtoBuf 语法详解】oneof 类型
开发语言·c++·protobuf
会编程的土豆2 小时前
【数据结构与算法】 树
数据结构·算法
LSL666_2 小时前
Redis值数据类型——hash
redis·算法·哈希算法·数据类型
喵喵蒻葉睦2 小时前
力扣 hot100 滑动窗口最大值 单调双端队列 java 简单题解
java·数据结构·算法·leetcode·双端队列·滑动窗口·队列
样例过了就是过了2 小时前
LeetCode热题100 搜索二维矩阵
数据结构·c++·算法·leetcode·矩阵
2401_831920742 小时前
C++与Qt图形开发
开发语言·c++·算法
GIS阵地2 小时前
Warning 1: PROJ: proj_create_from_database
数据库·c++·mybatis·qgis·开源gis·pyqgis
Shining05962 小时前
AI 编译器系列(四)《AI 编译器中的后端优化》
linux·服务器·人工智能·线性代数·算法·triton·ai编译器