zoukankan      html  css  js  c++  java
  • C++中多维数组传递参数

    在c++自定义函数时我们有时需要传递参数,有时以多维数组作为参数,这里就遇到了多维数组该怎么传值的问题了,首先我们看看一维数组是怎么做的。

    void print_num(int num[], int size) {
        for(int i = 0; i < size; i++) {
            cout << num[i] << " ";
        }
        cout << endl;
    }
    void print_num(int * num, int size) {
        for(int i = 0; i < size; i++, num++) {
            cout << *num << " ";
        }
        cout << endl;
    }

    以上两种方法都可以实现,那么参照一维数组的做法,我们写成

    void print_num(int num[][], int row, int col) {
        for(int i = 0; i < row; i++) {
            for(int j = 0; j < col; j++) {
                cout << num[i][j] << " ";
            }
            cout << endl;
        }
        cout << endl;
    }

    但是问题出现了,这个代码是会报错的,因为我们必须指定第二维的大小,也就是第二个方括号中的内容。

    因此我们可以这样写

    void print_num(int * num, int row, int col) {
        for(int i = 0; i < row; i++) {
            for(int j = 0; j < col; j++) {
                cout << num[i * col + j] << " ";
            }
            cout << endl;
        }
        cout << endl;
    }

    这就实现了多维数组的参数传递了。

  • 相关阅读:
    Screen Space Soft Shadows
    立体涂鸦的草图渲染
    什么是Civil3D
    Visual Studio 和 .NET Framework
    编程语言的选择
    Civil3D二次开发能做些什么
    Civil3D二次开发Cookbook
    Civil3D跟AutoCAD是什么关系
    C#启示录:尝鲜版
    Thinking In DesignPattern
  • 原文地址:https://www.cnblogs.com/zhuangshq/p/5105247.html
Copyright © 2011-2022 走看看