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

相关推荐
Ada's9 小时前
【计算机基础系列】003:Python数据结构
开发语言·数据结构·python
Nil20810 小时前
leetcode 118杨辉三角
算法·leetcode·职场和发展
NeilYuen11 小时前
【C++】STL源码仿写(二):vector
开发语言·c++
郝学胜_神的一滴12 小时前
游戏引擎原理与实践 04:拆解引擎基础系统与内存管理
c++·游戏
wanderist.12 小时前
线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数
java·数据结构·算法
All for pursuit.12 小时前
【设计-1】208.实现Trie (前缀树)
数据结构·c++·算法·leetcode
weixin_3077791313 小时前
C++代码实现MATLAB中的crossval函数功能
开发语言·c++·算法·matlab
青少儿编程课堂13 小时前
背包问题(0/1 背包与完全背包)解题精讲——动态规划入门
c++·python·算法·bfs·信息学竞赛
倒头就睡的小比特13 小时前
C++多态
c++
光影少年13 小时前
为什么 JavaScript 中 0.1 + 0.2 !== 0.3,如何让其相等?
前端·javascript·算法