数组作为函数的参数传递,不是单纯的值传递,传递的是数组本身(访问的是同一个地址,相同的值)。

版本1:指明参数:

#include <iostream>
#include <windows.h>
using namespace std;

void part1(int put[3][4]) {
    for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 4; j++) {
            cout << put[i][j] << " ";
        }
        cout << endl;
    }
}
int main() {
    int x = 0;
    int y = 0;
    int stat[3][4] = { 0 };
    for (x = 0; x < 3; x++) {
        for (y = 0; y < 4; y++) {
            stat[x][y] = 4 * x + y + 1;
        }    
    }

    part1(stat);

    system("pause");
    return 0;
}

版本2:省略一个高维参数:

#include <iostream>
#include <windows.h>
using namespace std;

void part1(int put[][4],int lines) {
    for (int i = 0; i < lines; i++) {
        for (int j = 0; j < 4; j++) {
            cout << put[i][j] << " ";
        }
        cout << endl;
    }
}
int main() {
    int x = 0;
    int y = 0;
    int stat2[3][4] = { 0 };
    for (x = 0; x < 3; x++) {
        for (y = 0; y < 4; y++) {
            stat2[x][y] = 4 * x + y + 1;
        }
    }

    part1(stat2,3);

    system("pause");
    return 0;
}

posted on 2022-08-31 11:35  wshidaboss  阅读(121)  评论(0编辑  收藏  举报