c++里一维数组名,是个指针,那二维数组名呢

来源:百度知道 编辑:UC知道 时间:2024/06/05 06:54:31
如题 ,我想将一个二维数组做为函数参数传给某个函数,该如何弄呢?
我刚才试了一下,可以把*加在数组名前面,这样是算指向第一个数据的指针吗?

如果把数组名当作参数传递给函数时,那么编译器将认为传递的是指针。在函数中同样可以操作该指针,访问数组元素,不管它是多少维数组。比如:
int iArray[10];
void f1(int *p1);
如果这样调用f1(iArray),那么p1[0]等于iArray[0],p1[1]等于iArray[1]......以此类推

int iArray[10][10];
void f2(int *p2);
如果这样调用f2((int *)iArray),那么p2[0]等于iArray[0][0],p2[1]等于iArray[0][1],...,p2[10]等于iArray[1][0],...以此类推

double a[10][10];

function(a[][10]);

function(a[10][10]);

二维数组就是类型 ** 比如 int ** char **

可以用指针,跟一维用法一样.