c++中如何解决函数调用二维数组的问题。

本文介绍了在C/C++中如何通过不同方式将二维数组传递给函数,包括直接使用数组名、利用指针变量、提前声明全局数组及通过指针间接访问等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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] 这样调用就可以访问二维数组了






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值