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