c++中如何解决函数调用二维数组的问题。
1.可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略 第一维的大小说明,如:
void Func(int array[3][10]);
void Func(int array[][10]);
调用函数时,我们只要告诉编译器我们调用函数的名字就可以了,上面函数的调用方法为:
Func(array);
2.用带有指针变量的方法:
用一维数组来传递二维数组
#include<iostream> #include<stdlib.h> using namespace std; void Func(int *a, int col, int row) { a =(int*)malloc(sizeof(int) * row * col); for(int i=0;i<col;i++){ for(int j=0;j<row;j++){ a[(i-1)*col + j-1]=i*col + j; cout<<a[(i-1)*col + j-1]<<" "; } cout<<endl; } } int main(){ int *a; int col=5; int row=4; Func(a,col,row); return 0; }
3.可以在头文件之后就直接定于好需要访问的数组变量,这样之后任何函数都可以去访问这个直接定义好的数组,免去了很多麻烦。
比如定义一个 int a[8][8={0},这样所有函数调用的时候都可以直接调用了。
4.
solve(1,n,a,(int *)b);
void solve(int row,int col,int *b)
b[row*n+x] 这样调用就可以访问二维数组了
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: ubuntu下crontab 定时执行php脚本
- 下一篇: 如何在Linux下查看分区和剩余空间大小