• C语言二维数组的传递几种方法


    #include <iostream>
    #include <string>
    
    using namespace std;
    
    // 方法1:传递了二维数组的首地址,和二维数组的行数
    void
    print1_Array2D(int (*ptr)[4], int cnt) { for (int i = 0; i < cnt; i++) { for (int j = 0; j < 4; j++) { cout << ptr[i][j] << " "; } cout << endl; } }
    // 方法2:传递了二维数组的首地址,和二维数组的行数
    void print2_Array2D(int ptr[][4], int cnt) { for (int i = 0; i < cnt; i++) { for (int j = 0; j < 4; j++) { cout << ptr[i][j] << " "; } cout << endl; } }
    // 方法3:传递了二维数组第一个元素的地址,和而为数组的行数和列数
    void print3_Array2D(int *ptr, int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << *(ptr + i * col + j) << " "; } cout << endl; } } int main(int argc, char *argv[]) { int iArray2D[3][4] = { {12, 3, 5 ,12}, {23, 4, 8 ,10}, {10, 7, 3 ,18} }; print1_Array2D(iArray2D, 3); cout << endl; print2_Array2D(iArray2D, 3); cout << endl; print3_Array2D(&iArray2D[0][0], 3, 4); return 0; }
    #include <iostream>
    #include <string>
    
    using namespace std;
    
    // 方法4:将二维数组的每行地址传递给指针数组,及二维数组的行数和列数
    void print4_Array2D(int* ptr[], int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << *(ptr[i] + j) << " "; } cout << endl; } }
    // 方法5:与方法4本质相同
    void print5_Array2D(int** ptr, int row, int col) { for (int i = 0; i < row; i++) { for (int j = 0; j < col; j++) { cout << *(ptr[i] + j) << " "; } cout << endl; } } int main(int argc, char *argv[]) { int iArray2D[3][4] = { {12, 3, 5 ,12}, {23, 4, 8 ,10}, {10, 7, 3 ,18} }; int* ptr[3] = {iArray2D[0], iArray2D[1], iArray2D[2]}; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { cout << *(ptr[i] + j) << " "; } cout << endl; } cout << endl; print4_Array2D(ptr, 3, 4); cout << endl; print5_Array2D(ptr, 3, 4); return 0; }
  • 相关阅读:
    laravel
    composer lavarel 安装
    phpstudy 500 Internal Server Error 解决办法
    阿里云php-7.2.12 安装
    mysql索引
    服务器配置-双机热备
    layui动态数据表格-分页
    layui 笔记
    Thinkphp5.1 模板路径报错
    window/linux composer安装/卸载
  • 原文地址:https://www.cnblogs.com/Robotke1/p/3062529.html
Copyright © 2020-2023  润新知