二维数组作函数参数

来源:互联网 发布:杨佳袭警案 知乎 编辑:程序博客网 时间:2024/06/04 19:46

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;    }}
0 0
原创粉丝点击