你给我个指针数组,我用二级指针变量接收它:创建通用的二维数组处理函数

下面的案例也实现了通用的二维数组处理函数,能处理任意的M行N列的数组。

在调用函数之前,先用指针数组存储每行的首元素地址,再将指针数组名当成二级指针传递给函数。

#include <stdio.h>
#include <stdlib.h>

void print(int **p,int m,int n)
{
	int i,j;		
	
	for(i=0;i<m;i++)	
	{
		for(j=0;j<n;j++)
		{
			printf("%d ",p[i][j]);
		}
		printf("\n");
	}
	
} 
int main()
{
	int A[3][3]={3,2,1,6,5,4,8,7,9};
	int m=3,n=3,i;
	
	int *p[m];//指针数组	
	
	for(i=0;i<m;i++) 
	{
		p[i]=A[i];//存储每行的首元素地址 
	}

	print(p,m,n) ;
	
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章