1. 程式人生 > >C++ 函式使用形參傳入二維陣列實參的方法

C++ 函式使用形參傳入二維陣列實參的方法

C++函式裡,如果要使用形參訪問二維陣列,只能使用指向行的指標向量。 指向行的指標作為形參有兩種寫法:“資料型別 形參名[][行長度]”或者 “資料型別 (*形參名)[行長度]”。 如f(char a[][3])或者f(char (*a) [3]) 如:
int maxInMatrix(int (*a)[3] , int row , int col);
int main(int argc, char *argv[])
{
	int a[][3]={{1,2,3},{4,5,6}};
	cout<<maxInMatrix(a , sizeof(a)/sizeof(a[0]) , sizeof(a[0])/sizeof(a[0][0]))<<endl;
	return 0;
}
int maxInMatrix(int (*a)[3] , int row , int col)
{
	int m = a[0][0];
	for(int i=0 ; i<row ; i++)
		for(int j=0 ; j<col ; j++){
			if(a[i][j] > m)
				m=a[i][j];
		}
	return m;
}

下面總結一下二維陣列和指標的常見用法: