C++ 指针*与引用*&的区别

本文面向C++初学者,深入解析指针*和引用*&的区别。通过案例分析,展示了指针变量存储地址,而引用实际上是变量的别名。文章提供代码示例,帮助读者理解在内存分配和赋值过程中的行为差异。
摘要由CSDN通过智能技术生成

本文主要是面向C++初学者。

以下是我个人学习的过程中遇到问题后自己总结的经验。如果有什么理解偏差的地方,欢迎大家在下方留言,交流学习。

1.指针*

指针变量实际上存的是另一个变量的地址;

int a = 10;//变量a;
int *Addr_a ;//定义整型指针变量Addr_a;
Addr_a = &a;//将变量a的地址赋值给Addr_a;r_a;

 

2.引用*&

引用实际上是对变量的原内存地址的内容进行操作。

int a = 10;
int *addr_a;//定义整形指针变量;
addr_a = &a;
*(&addr_a) = 20//对变量a的内存重新进行赋值;引用

 

3.下面用个例子来比较指针与引用的深刻含义。

先附上例子的原代码。

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <stdlib.h>
using namespace std;

typedef struct LNode
{
	int val;
	struct LNode *next;
}LNode,*LNodeList;

void changeNode1(LNode*& pL)//引用
{
	pL = new LNode;
	pL->val = 10;
}

void changeNode2(LNode* pL)//指针
{
	
	pL = new LNode;
	pL->val
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值