• 问题反馈可发送邮件到stubbornhuang@qq.com

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

C++ – 将一维数组/二维数组/三维数组作为函数参数传递给函数

C++ 发布于2022-01-25 阅读 7,079次 0次评论 0次点赞 本文共1441个字,阅读需要4分钟。

在本文中将详细说明如何将一维数组二维数组三维数组作为函数参数传递给函数进行处理。

C++中,一维数组可以理解为包含n个数字的内存块,例如int a[3]表示数组a为包含3个int类型数字的内存块;

二维数组可以理解以一维数组为元素的一维数组,例如2行3列的二维数组可以理解为两个元素的一维数组,其中每个元素为包含3个元素的一维数组;

三维数组可以理解为以二维数组为元素的一维数组,例如2个2行3列的三维数组可以理解为两个元素的一维数组,其中每个元素为2行3列的二维数组;

将数组作为函数参数传递,最好的方式就是传递数组指针,即指向数组首个元素内存的指针,再加上可以表示数组维度或者长度的已知参数。

1 将一维数组作为函数参数传递给函数

下列代码展示例如如何将一维数组作为函数参数传递给函数,其中传递了两个行参,第一个形参为一维数组的长度,最后一个形参为数组指针。

#include <iostream>

void Print_1D_Array(int array_length, int* array)
{
    for (int i = 0; i < array_length; ++i)
    {
        std::cout << array[i] << ",";
    }
    std::cout << std::endl;
}

int main()
{
    std::cout << "一维数组传递" << std::endl;
    int array_1D[3] = { 1,2,3 };
    Print_1D_Array(3, array_1D);
}

2 将二维数组作为函数参数传递给函数

下列代码展示例如如何将二维数组作为函数参数传递给函数,其中传递了三个行参,第一个形参为二维数组的行数,第二个形参为二维数组的列数,最后一个形参为数组指针。

#include <iostream>

void Print_2D_Array(int rows, int cols, int* array)
{
     for (int i = 0; i < rows; ++i)
     {
         for (int j = 0; j < cols; ++j)
         {
             std::cout << array[i * cols + j]<<",";
         }
         std::cout << std::endl;
    }
}

int main()
{
    std::cout << "二维数组传递" << std::endl;
    int array_2D [][3] = {
         {1, 2, 3},
         {4, 5, 6}
    };
    Print_2D_Array(2, 3, array_2D[0]);
}

3 将三维数组作为函数参数传递给函数

下列代码展示例如如何将三维数组作为函数参数传递给函数,其中传递了四个行参,第一个行参为三维数组的第三维度的数量,第二个形参为二维数组的行数,第三个形参为二维数组的列数,最后一个形参为数组指针。

#include <iostream>

void Print_3D_Array(int num,int rows, int cols, int* array)
{
    for (int i = 0; i < num; ++i)
    {
        for (int j = 0; j < rows; ++j)
        {
            for (int k = 0; k < cols; ++k)
            {
                std::cout << array[i * rows * cols + j * cols + k] << ",";
            }
            std::cout << std::endl;
        }
    }
}

int main()
{
    std::cout << "三维数组传递" << std::endl;
    int array_3D [][2][3] = {
         {
             {1, 2, 3},
             {4, 5, 6}
         },
         {
             {7, 8, 9},
             {10, 11, 12}
         }
    };
    Print_3D_Array(2, 2, 3, array_3D[0][0]);
}

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:C++ – 将一维数组/二维数组/三维数组作为函数参数传递给函数

原文链接:https://www.stubbornhuang.com/1928/

发布于:2022年01月25日 15:12:32

修改于:2023年06月26日 20:45:53

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
C++ - 使用宏区分不同系统平台、不同编译器、不同编译模式等编译期宏使用总结
C++
下一篇
资源分享 - Practical Linear Algebra - A Geometry Toolbox , Third Edition 英文PDF下载
计算几何与计算机图形学资源
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号