二维数组作为函数参数的使用方法
/*
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)表示第十一个到第三十个元素的原理:
- #include <iostream>
- int sum(int ar2[][4], int size); // 声明一个参数为二维数组的函数, size 为行数
- //int sum(int (*ar2) [4], int size); // 这样声明函数也可以, 使用 ar2 和使用数组方法是一样的
- void main()
- {
- using namespace std;
- int data[3][4] = { {1,2,3,4},{9,8,7,6},{2,4,6,8 } }; // 定义一个二位数组
- int total = 0;
- total = sum(data, 3);//data 数组有 3 个元素, 只不过这三个元素本身也是一个数组
- // 第一个元素本身是一个数组, 由 4 个 int 值组成
- cout << "二维数组内的元素和为:" << total << endl;
- system("pause");
- }
- int sum(int ar2[][4], int size)
- {
- int total = 0;
- for(int r=0; r<size; r++)
- for (int c = 0; c < 4; c++)
- total = total + ar2[r][c]; // 将二维数组中的内容进行累加
- return total;
- }
二维数组作为函数的参数
来源: http://www.bubuko.com/infodetail-2983927.html