C++中指针与引用的使用和区别

C++中指针和引用的应用很常见,连着的使用极易混淆,但是区别很明显:

1. 指针是变量,而引用只是变量的一个别名,而且引用使得别名与引用对象绑在了一起。

2.指针初始化之后还可以指向其他变量,但是引用只能初始化一次。

3.sizeof 操作的结果不一样,引用为所指向变量的大小,指针则返回指针本身的大小。

4. 引用不可以为空,但是指针可以是空指针。

#include<cstdio>
//引用的用法,引用就相当于给一个对象定义一个别名,作用在引用上的所有操作都与绑定的对象有关。

int Yin()
{
	int val = 11, val2 = 33;
	int &refval = val, &refval2 = val2; ///引用必须要初始化,使其绑定到一个变量上
	///修改引用的值将改变其所绑定的变量的值
	refval = -22;
	printf("%d %d\n", val, refval);//输出为-22,refval的值和val一样

	refval = refval2;   //引用一但初始化(绑定),将始终绑定到同一个特定对象上,无法绑定到另一个对象上
	printf("%d %d\n", val, refval);//输出为33,33
	return 0;
}

从上例可以看出引用的特性和用法。

#include<cstdio>
//指针的用法

int main()
{
	int val1 = 11, val2 = 33;
	int *p = &val1; //初始化指针指向变量1
	printf("%d %p\n", val1, p);//输出为11  0030F8B4
	p = &val2;
	printf("%d %p\n", val2, p);//输出为33  0030F8B0  指针的指向发生了变化,值也改变了
	return 0;
}

上例为指针的简单应用。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清韵逐梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值