1、变量名变量名实质上是一段连续存储空间的别名,是一个标号(门牌号);通过变量来申请并命名内存空间;通过变量的名字可以使用内存空间。2、引用的概念变量名,本身是一段内存的引用,即别名(alias)。引用...
1、变量名
变量名实质上是一段连续存储空间的别名,是一个标号(门牌号);
通过变量来申请并命名内存空间;
通过变量的名字可以使用内存空间。
2、引用的概念
变量名,本身是一段内存的引用,即别名(alias)。引用可以看作一个已定义变量的别名。
引用的语法:Type & name = var;
用法如下:

1 #include <iostream>
2 using namespace std;
3
4 int main(void)
5 {
6 int a = 10;//C编译器分配4个字节内存,a内存空间的别名
7 int &b = a;//b就是a的别名
8
9 a = 11;
10 {
11 int *p = &a;
12 *p = 12;
13 cout << a << endl;//12
14 }
15 b = 14;
16 cout << "a=" << a << ",b=" << b << endl;//a=14,b=14
17 return 0;
18 }
View Code
3、规则
(1)引用没用定义,是一种关系型声明。声明它和原有某一变量(实体)的关系。故类型与原类型保持一致,且不分配内存,与被引用的变量有相同的地址。
(2)声明的时候必须初始化,一经声明,不可更改。
(3)可对引用,再次引用,多次引用的结果是某一变量具有多个别名。
(4)&符号前有数据类型时是引用,其它皆为地址。
1 #include <iostream>
2 using namespace std;
3
4 int main(void)
5 {
6 int a,b;
7 int &r = a;
8 int &r = b;//error,不可更改原有的引用关系——规则(2)
9 float &rr = b;//error,引用类型不匹配——规则(1)
10 cout <<"&r="<< &r << ",&a=" << &a << endl;//变量与引用具有相同的地址——规则(1)
11 int &ra = r;//可对引用再次引用,表示a变量有两个别名,分别是r和ra——规则(3)
12
13 return 0;
14 }
沃梦达教程
本文标题为:C++对C语言的拓展——引用
基础教程推荐
猜你喜欢
- C语言数组长度的计算方法实例总结(sizeof与strlen) 2023-04-26
- 05-C语言进阶——动态内存管理 2023-11-20
- Qt数据库应用之实现通用数据库请求 2023-03-18
- 纯C++代码详解二叉树相关操作 2023-05-15
- character-encoding – Linux中最常见的C语言编码(和Unix?) 2023-11-21
- 利用QT设计秒表功能 2023-05-30
- C语言的三种条件判断语句你都了解吗 2023-03-05
- C语言植物大战数据结构二叉树递归 2023-04-09
- VisualStudio2010安装教程 2023-01-05
- g++: const 丢弃限定符 2022-10-07
