C++数组引用
一、数组引用
C++数组的引用:
引用即别名
这样比指针传地址方便多了
形参中的(&a)[10]可以就看做a数组的别名,肯定要指定数组大小,如果没有后面的数组大小,天知道是变量还是数组
普通传值和引用传值对比:
数组普通传值:a-->a[10] (或a[])
数组引用传值:a-->(&a)[10]
变量普通传值:a-->a
变量引用传值:a-->(&a)
类比一下,很好理解
二、代码实例
1 /*
2 C++数组的引用:
3 引用即别名
4 这样比传地址方便多了
5 形参中的(&a)[10]可以就看做a数组的别名,肯定要指定数组大小,如果没有后面的数组大小,天知道是变量还是数组
6 普通传值和引用传值对比:
7 数组普通传值:a-->a[10] (或a[])
8 数组引用传值:a-->(&a)[10]
9 变量普通传值:a-->a
10 变量引用传值:a-->(&a)
11 类比一下,很好理解
12
13 测试结果:
14 0 0 0 0 0 0 0 0 0 0
15 0 1 2 3 4 5 6 7 8 9
16 */
17
18 #include <iostream>
19 using namespace std;
20 void test(int a[10]);// 数组普通传值,用于打印数组a的值
21 void readData(int (&a)[10]); //数组引用传值:将a数组赋值为0--9
22 void printData(int (&a)[10]); //数组引用传值:用于打印数组a的值
23 void test(int a[10]){// 数组普通传值,用于打印数组a的值
24 for(int i=0;i<10;i++)
25 {
26 printf("%d ",a[i]);
27 }
28 printf("\n");
29 }
30 void readData(int (&a)[10]){//数组引用传值:将a数组赋值为0--9
31 for(int i=0;i<10;i++)
32 {
33 a[i]=i;
34 }
35 }
36 void printData(int (&a)[10]){//数组引用传值:用于打印数组a的值
37 for(int i=0;i<10;i++)
38 {
39 printf("%d ",a[i]);
40 }
41 }
42 int main(){
43 int a[10]={0}; //为a数组中的每一个赋初值为0
44 test(a); // 数组普通传值,用于打印数组a的值
45 readData(a);//数组引用传值:将a数组赋值为0--9
46 printData(a);//数组引用传值:用于打印数组a的值
47
48 return 0;
49 }
三、测试结果
测试结果:
0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9