C++中引用符的使用

初学数据结构的时候,大家可能经常可以看到在线性表的一些操作函数中会有**&**的使用,初学者或者跨考考生或许会对这一点的使用存在着一段不短时间的疑惑。今天就这一点展开简单的描述。
实质上,在C++中引用符号的使用大家可以看成是c中指针的使用。
下面就以初学c中经常举例的交换两个值的函数进行简单的示例,简单看一下代码和运行结果,你马上就会对这一点的使用有了更深的理解。

代码如下附上:

#include<iostream>
using namespace std;

void swap1(int a,int b);
void swap2(int &a,int &b);

int main()
{
	int a=3,b=5;
	swap1(a,b);
	cout<<a<<"  "<<b<<endl;
	swap2(a,b);
	cout<<a<<"  "<<b<<endl;
}

void swap1(int a,int b)
{
	int t=a;
	a=b;
	b=t;
	return;
}
void swap2(int &a,int &b)
{
	int t=a;
	a=b;
	b=t;
	return;
}

运行结果:
结果

在简单使用上,有这一部分的理解差不多就已经够用了,想要深入学习的话,还是多看一下一些API文档和其他大佬的见解吧。

二更:
引用传递(pass-by-reference)过程中,被调函数的形式参数虽然也作为局部变量在堆栈中开辟了内存空间,但是这时存放的是由主调函数放进来的实参变量的地址。被调函数对形参的任何操作都被处理成间接寻址,即通过堆栈中存放的地址访问主调函数中的实参变量。正因为如此,被调函数对形参做的任何操作都影响了主调函数中的实参变量。

冲之

不要害怕卷
毕竟读书破万“卷”
生而为人,只来人间一次,谁又能做到双手一摊而甘拜下风。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 C 语言,可以使用 & 操作来获取某个变量的地址,并使用 * 操作来获取指针变量所指向的地址上的值。 下面是一个使用引用的简单示例: ``` #include <stdio.h> int main(void) { int x = 10; int &y = x; // y 引用 x printf("x = %d\n", x); printf("y = %d\n", y); y = 20; // 通过 y 修改 x 的值 printf("x = %d\n", x); printf("y = %d\n", y); return 0; } ``` 输出结果: ``` x = 10 y = 10 x = 20 y = 20 ``` 在上面的示例,y 引用了 x,因此 y 和 x 指向同一个内存地址,当通过 y 修改 x 的值时,x 的值也会被修改。 ### 回答2: 在C语言引用是一种非常重要的概念,用于操作变量和数据。引用可以看作是一个变量的别名,通过引用可以直接访问所引用变量的内容。 C引用的基本使用包括以下几个方面: 1. 引用的声明:在使用引用之前,需要先声明引用引用的声明方式为在变量类型前加上"&"号,表示该变量是一个引用。例如,int a; int &b = a; 表示变量b是变量a的引用。 2. 引用的赋值:给引用赋值即相当于给所引用的变量赋值。例如,int a = 5; int &b = a; 则b直接引用了a的值,将b赋值为10也会同时改变a的值。 3. 引用的应用:引用常用于函数参数的传递,可以通过引用来传递变量的值,而不是复制该变量。在函数的参数声明使用引用传递参数可以对原始变量进行修改。例如,void swap(int &x, int &y) { int temp = x; x = y; y = temp; } 通过引用传递可以实现交换两个变量的值。 4. 引用的作用域:引用的作用域与变量的作用域相同。即引用只在其声明的作用域内有效。在超出作用域后,引用不能再被使用。 总结起来,C语言引用提供了一种简洁高效的操作变量的方式。通过引用可以直接访问所引用变量的内容,并且对引用的修改会直接反映在原始变量上。引用在函数参数传递也非常实用,可以节省内存空间并提高程序的执行效率。同时需要注意引用的作用域,确保在合适的范围内使用引用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值