数组传参
#include <iostream> using namespace std; void trs_array( char (*arr)[2][2] ); int main() { char array[2][2][2] = {'1','2','3','4','1','2','3','4'}; trs_array(array); return 0; } void trs_array( char (*arr)[2][2] ) { for(int i = 0;i < 2 ; i++) { for(int j = 0;j < 2 ; j++) for(int z = 0; z < 2;z++) cout << *(*(*(arr+i)+j)+z)<< endl; } }
在声明函数原型时,编译器必须知道多维数组第二个及以后下表的长度,才可以对数组进行求值,而一维数组不需要
例如:
指针数组:char *p[4] = {"123","123","3214","324"};
数组指针(指向数组的指针): char temp[4] ={1,2,3,4}
char *(p)[4] = &temp; //指向含4个数据的数组的首地址