天天看点

C++数组引用C++数组引用

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

C++数组引用C++数组引用