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(" "); 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