1.在栈上分配的数组
(1). void arrShow(int arr[][5], int row, int col);
(2). void arrShow(int (*arr)[5], int row, int col);
(3). void arrShow(int *arr, int row, int col);
关于(3)示例如下:
void arrShow(int row, int col, int *arr)
{
for (int _row = 0; _row < row; ++_row)
{
for (int _col = 0; _col < col; ++_col)
{
cout << arr[_row * col + _col] << " ";
}
cout << endl;
}
}
2.在堆上分配的数组
#include <iostream>
using std::cout;
void arrShow(int row, int col, int *arr);
int main()
{
int arr[3][3] = { { 1, 2, 3 }, { 4, 5, 6 }, {7, 8, 9} };
int *arr1 = new int[9];
for (int row = 0; row < 3; ++row)
for (int col = 0; col < 3; ++col)
{
arr1[row * 3 + col] = arr[row][col];
}
arrShow(3, 3, *arr);
arrShow(3, 3, arr1);
return 0;
}
void arrShow(int row, int col, int *arr)
{
for (int _row = 0; _row < row; ++_row)
{
for (int _col = 0; _col < col; ++_col)
{
cout << arr[_row * col + _col] << '\t';
}
cout << endl;
}
}