C++——指针与引用型指针的区别

   在由清华大学出版社出版的李春葆主编的第4版《数据结构教程》中出现了一个新的类型——引用型指针(*&),在实现线性表的基本运算的程序中,有的是用指针类型作形参(如:int ListLength(LinkList * L);),有的是用引用型指针类型作形参(如:void InitList(LinkList * &L);)。

   那么,两者有什么区别吗?下面就用一个很简单的例子来说明下。

#include <iostream>
using namespace std;

void f(char * p)
{
	char *e = "China";
	p = e;
	cout << p << "  ";
}

void g(char * &p)
{
	char *e = "China";
	p = e;
	cout << p << "  ";
}

int main()
{
	char *p = "English";
	cout << "直接指针:";
	f(p);
	cout << p << endl;
	cout << "引用指针:";
	g(p);
	cout << p << endl;
	return 0;
}

结果如下:

由结果我们可以看出:

(1)指针类型作形参————该形参变量在函数中改变了对原来的实参变量没有任何影响

(2)引用型指针类型作形参————该形参变量在函数中改变了,原实参变量也会跟着改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值