二维数组作为函数参数的使用方法
/*
01)恒等式:ar2[r][c] == *(*(ar2+r)+c)
03) ar2+r指向编号为r的元素,该元素由c个int型(或其他类型)数组成,编号从0开始
02)int a[100][4];
....
int total = sum(a,100); //在主函数中调用sum()函数,使用二维数组中的全部的数据
int total = sum(a,10); //在主函数中调用sum()函数,使用二维数组中的前十行数据
int total = sum(a+10,20); //在主函数中调用sum()函数,使用二维数组中第十一个到第三十个元素
*/
sum(a+10,20)表示第十一个到第三十个元素的原理:
1 #include <iostream> 2 3 int sum(int ar2[][4], int size); //声明一个参数为二维数组的函数,size为行数 4 //int sum(int (*ar2) [4], int size); //这样声明函数也可以,使用ar2和使用数组方法是一样的 5 6 void main() 7 { 8 using namespace std; 9 10 int data[3][4] = { {1,2,3,4},{9,8,7,6},{2,4,6,8 } }; //定义一个二位数组 11 int total = 0; 12 total = sum(data, 3);//data数组有3个元素,只不过这三个元素本身也是一个数组 13 //第一个元素本身是一个数组,由4个int值组成 14 cout << "二维数组内的元素和为:" << total << endl; 15 system("pause"); 16 } 17 int sum(int ar2[][4], int size) 18 { 19 int total = 0; 20 for(int r=0; r<size; r++) 21 for (int c = 0; c < 4; c++) 22 total = total + ar2[r][c]; //将二维数组中的内容进行累加 23 24 return total; 25 }