二维数组作为函数参数的传递
自己试着摸索的,会尝试int**做形参,没学过很难知道问题所在
错误示例
void f(int** p){;
}int main(){int a[10][10];f(a);
}
正确示例
void f1(int a[10][10])//直接用相同的数组做形参
{cout<<a[1][2]<<' '<<a[2][1]<<endl;
}
void f2(int a[][10])//可以省略第一维,但第二维不能省
{cout<<a[1][2]<<' '<<a[2][1]<<endl;
}
void f3(int (*a)[10])//一维数组指针
{cout<<a[1][2]<<' '<<a[2][1]<<endl;
}
void f4(int (&a)[10][10])//二维数组引用,必须指定两个维度
{cout<<a[1][2]<<' '<<a[2][1]<<endl;
}int main(){int a[10][10];a[1][2]=12;a[2][1]=21;f1(a);f2(a);f3(a);f4(a);
}
int**的正确使用场合
顺便说一下第二维不是常量的实现方法
void F(int **p){}int main(){int n=10,m=10;int** p = new int* [n];p[0] = new int[n*m];for(int i = 1; i < n; i++){ //指定下标寻址方式p[i] = p[i-1] + m;}F(p);
}
二维数组作为函数参数的传递相关推荐
- C语言中将二维数组作为函数参数来传递
c语言中经常需要通过函数传递二维数组,有三种方法可以实现,如下: 方法一, 形参给出第二维的长度. 例如: #include <stdio.h> void func(int n, char ...
- 二维数组作为函数参数的用法(c++)
背景 今天刷题的时候遇到了需要一个大小可变的二维数组作为函数参数进行传递的情况,有点模糊不清,所以查了一些资料,写了这篇博客. 大小固定的二维数组 正确写法如下: void Func(int arra ...
- c/c++ 一维数组、二维数组作为函数参数、返回值
c/c++ 一维数组.二维数组作为函数参数.返回值 一.一维数组作为参数 传入数组 int [] 为了规范,常常需要将数组的size一同传入,这是因为C++/C遇到参数为数组时,不会去一个个拷贝数组内 ...
- 在C++中如何将二维数组作为函数参数
一直以来弄不清C++中数组怎么作为参数传入函数中,尤其是最近学了Python之后,Python这种几乎可以把一切作为参数传入函数的方式更是让我在C++中混淆,下面来总结一下二维数组作为函数参数该如何表 ...
- C++二维数组做函数参数
C++二维数组做函数参数 二维数组做函数参数的形式主要有: /对于一个m行n列int元素的二维数组 //函数f的形参形式 f(int daytab[m][n]) {...}//以下两种可以忽略行数 f ...
- linux C 二维数组 作为函数参数
c语言中怎么用二维数组作为函数参数 可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如: void Func(int array[3 ...
- C-指针,二级指针,二维数组作为函数参数使用,C语言链表(详解)
一级指针 int *p; //表示定义一个int型(4字节)的指针p &p //表示p自身的地址位置 p ...
- C语言 二维数组作为函数参数的4种方式
前言 多维数组中,二维数组是最常用的一种.在C语言编程中,二维数组的定义.取值以及赋值都比较容易,与一维数组类似.然而,在将二维数组作为函数参数传递时,参数结构较复杂,难以理解.本文章是实用型文章,注 ...
- 如何将二维数组作为函数参数
1.函数声明: 将二维数组作为函数参数的函数声明有两种 二维数组型:如 int sum(int ar2[][size]);注意:行数可不声明,但要求列数必须要声明,不然将发生错误! 指针型:如 int ...
最新文章
- 软件开发人员能力模型
- Android Studio使用Lint进行代码检查
- html画布360图案填充_在Photoshop中创建带有图案的抽象设计
- @Builder 实际参数列表和形式参数列表长度不同
- Anders Hejlsberg语录
- [转]NVIDIA/ATI显卡后缀命名大盘点
- 【数据挖掘】数据挖掘简介及十大经典算法
- java网络编程--网络的要素--ip地址
- 亚马逊常见的报错问题应该如何处理?
- photoshop多选文字_60多个Photoshop文字效果教程
- lisp 非对称缓和曲线_CAD画缓和曲线lisp程序
- mac rzsz 不弹窗问题
- 课程学习:Linux系统管理
- 那是无英勇的生活战士用生命换来的
- mysql不停機添加節點_MySQL 5.7主从不停机添加新从库
- 谈谈爬虫背后的法律风险
- 切图Photoshop参考线的操作
- 通讯录Android的设计报告,通讯录管理系统 课程设计报告(上交版)
- 计算两点间的距离,入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。
- 易源数据_易源数据-全国景点查询【最新版】_大数据可视化_数据API_数据应用-云市场-阿里云...