二维数组作为参数,传入函数(最好用的)

很多时候我都是直接通过传入一个 固定的数字来传递一个二维数组,

比如这样子定义函数 int fun(int a[][3],int n)

调用函数是 fun(a,n);

这样子调用的二维数组只能是固定已经知道的,不够灵活性。

以下介绍一下通过指针直接随意设定的二维数组;

*定义函数是 int fun(int *a,int n)

调用函数也是直接 fun(a,n);

不过有一点就是在定义数组的时候得分配一下空间以及定义的方式有些许不同,详细见下。

#include<iostream>
using namespace std;
int fun(int **a,int n)  //在这里面操作二维数组也是正常的使用 a[i][j],不用通过 *(*(a+i)+j) 这样子的繁琐的指针地址和操作
for(int i=0;i<n;i++)
{for(int j=0;j<n;j++){cout<<a[i][j]<<" ";}cout<<endl;}}int main(){int n;cin>>n; int *a[n];  for(int i=0;i<n;i++)   //给每行的数组分配一下空间 {    a[i]=new int [n];    }//下面初始化一下数组 int count=0;    for(int i=0;i<n;i++){for(int j=0;j<n;j++){a[i][j]=count;count++;}        }fun(a,n);//调用二维数组就可以直接用二维数组的起始地址 a 传入就可以了 return 0;
}
//上面如果不太懂的话可以对照一下下面的一维数组的指针传递,类似。
#include<iostream>
using namespace std;
int fun1(int *a,int n)
{for(int i=0;i<n;i++){cout<<a[i]<<" ";}
}
int main()
{int n;cin>>n;int *b;b=new int [n];//初始化for(int i=0;i<n;i++){b[i]=i;}fun1(b,n);return 0;
}

不过要记得清楚动态内存。

二维数组作为参数,传入函数(最好用的)相关推荐

  1. PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

    如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) {echo '是一维数组'; ...

  2. php 二维数组根据参数分组

    镇子上要体检了,三个村的人一起结伴前往,到了体检处后谁是哪个村的体检管理员分不清楚了怎么办? 很简单啊,管理员说到各村子的到相应地方站好,于是乎一下子就清晰明了了,但是总不能男女一块体检吧 所以男生和 ...

  3. 关于二维数组作为参数传递给函数的问题

    刚碰到要写一个函数func,要传入一个二维数组给该函数,于是写成func(int a[][]);但马上又发现将二维数组传给函数时必须指定第二维的维数,因为函数传递的是一个指向一个一维数组的指针,这个一 ...

  4. 如何把二维数组传参给函数

    1.传递"数组指针" #include <stdio.h>void output( int (*pa)[3], int n ) //这个函数只能输出n行3列的二维数组 ...

  5. matlab 二维数组声明,Matlab字符串函数及二维数组

    Matlab字符串函数及二维数组 发布时间:2017年07月28日 评论数:抢沙发 阅读数:833 strcmp(Str1,Str2),finder(S,s),strcat(S1,S2),disp(s ...

  6. C++ 数组作为参数传入函数 int sum_arr(int arr[], int n)

    首先我们要知道C++对于返回值的类型是有限制的--不能是数组. 我们来看看这条语句 int sum_arr(int arr[], int n)是否是正确的呢? 这条语句是正确的,但是不是说返回值不能是 ...

  7. c++函数返回二维数组_C++ 怎样让函数返回数组

    作者:杨溪  链接:https://www.cnblogs.com/yangxi/archive/2011/09/18/2180759.html 这个问题属于非常初级的问题,但是对于初学不知道的人可能 ...

  8. c/c++ 一维数组、二维数组作为函数参数、返回值

    c/c++ 一维数组.二维数组作为函数参数.返回值 一.一维数组作为参数 传入数组 int [] 为了规范,常常需要将数组的size一同传入,这是因为C++/C遇到参数为数组时,不会去一个个拷贝数组内 ...

  9. 在C++中如何将二维数组作为函数参数

    一直以来弄不清C++中数组怎么作为参数传入函数中,尤其是最近学了Python之后,Python这种几乎可以把一切作为参数传入函数的方式更是让我在C++中混淆,下面来总结一下二维数组作为函数参数该如何表 ...

最新文章

  1. 为什么说混合云是新基建的流行架构?文末彩蛋!
  2. LeveyPopListView
  3. java获取当前方法
  4. IT项目管理总结:第二章 项目管理和IT背景
  5. 【CDN】最近,你的APP崩了吗?
  6. Pytorch —— 学习率调整策略
  7. ssm框架中前台html如何接受后台的数据_计算机毕业设计中实现java后台的微信小程序...
  8. FM算法及FFM算法
  9. 踢向《英雄王座》的面目全非脚
  10. SQL Server 【不允许保存更改】问题解决图解
  11. OFDM插入导频过程详解
  12. LR 类分析方法总结
  13. 微信公众号运营辅助工具汇总
  14. 计算机运行内存和显卡内存不足,Win10系统提示计算机显卡内存不足该怎么办?...
  15. linux内存条故障,linux – 如何从MCE消息中找到故障内存模块?
  16. Vue 点击事件写法
  17. 入学校计算机社团申请书,学校社团成立申请书
  18. Linux基础——防火墙(一)
  19. 大数据技术之电商推荐系统(6) | 基于LFM的离线推荐模块
  20. 用Python绘制一朵玫瑰花,送给特别的她

热门文章

  1. java调用oracle视图_oracle中视图
  2. 华天软件首席科学家梅敬成出席“产业链生态大会暨2023京沪黄金线高峰论坛”
  3. java计算机毕业设计健身俱乐部管理系统MyBatis+系统+LW文档+源码+调试部署
  4. 2020/04/09 03-模拟登陆和页面等待
  5. SQL Server 管理系列课程-王进-专题视频课程
  6. Linux运维05:mpstat命令详解
  7. 扫雷TigerMinesweeper_01
  8. 宝塔 SSL lnvalid response from 就这一个二级域名失败
  9. 【大会前瞻】明天有件大事!CDEC2019生态大会•上海站 集结!!
  10. mysql having in_mysql:having 用法