C++二维数组作为函数参数

Posted Wecccccccc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++二维数组作为函数参数相关的知识,希望对你有一定的参考价值。

#include <iostream>
#include <Windows.h>

//版本一  省略函数
//二维数组省略一个高维函数  但低维位函数必须定义
void printf1(int a1[][3]){
	for(int i=0; i<3; ++i){
		for(int j=0; j<3; ++j){
			printf("%d\\t", a1[i][j]);
		}
		printf("\\n");
	}
}

//版本二  指明参数
void printf2(int a1[3][3]){
	for(int i=0; i<3; ++i){
		for(int j=0; j<3; ++j){
			printf("%d\\t", a1[i][j]);
		}
		printf("\\n");
	}
}

//版本三   省略一个高维函数  定义一个参数可以灵活变动
void printf3(int a1[][3], int number){
	for(int i=0; i<number; ++i){
		for(int j=0; j<3; ++j){
			printf("%d\\t", a1[i][j]);
		}
		printf("\\n");
	}
}

//版本四   数组作为函数的参数传递,不是单纯的值传递,传递的是数组本身  
void printf4(int a1[][3], int number){
	for(int i=0; i<number; ++i){
		for(int j=0; j<3; ++j){
			a1[i][j]=123;
		}
		printf("\\n");
	}
}

int main(void) {
	int a1[3][3]={0};
	int i=0;
	int j=0;

	//给数组赋值
	for(int i=0; i<3; ++i){
		for(int j=0; j<3; ++j){
			a1[i][j]=3*i+j+1;
		}
	}

	printf1(a1);
	printf("\\n----------------\\n");
	printf2(a1);
	printf("\\n----------------\\n");
	printf3(a1, 3);
	printf("\\n----------------\\n");
	printf4(a1, 3);
	printf1(a1);
	system("pause");
	return 0;
}
//二维数组多维函数参数  
//给数组赋值
/**
	切记!
	数组作为函数的参数传递,
	不是单纯的值传递,
	传递的是数组本身
	二维数组作为函数的参数:
**/

以上是关于C++二维数组作为函数参数的主要内容,如果未能解决你的问题,请参考以下文章

将二维数组传递给 C++ 函数

将二维双数组从 C# 传递到 C++ 函数

C语言中如何将二维字符数组作为函数参数引用传递

java 如何将二维数组的一列作为参数传进去 求代码

无法将二维数组传递给 C++ 中的辅助函数

如何将 C# 中的二维数组传递给 C++ DLL?