20180513 数组 实参 形参

已知数组D的定义是int D[4][8];,现在需要把这个数组作为实参传递给一个函数进行处理。下列说明汇总可以作为对应的形参变量说明的是()。

int D[4][]
int *s[8]
int(*s)[8]
int D[][8]

答案:CD 错选:D
二维数组在内存中也是连续存储的,他可以通过 arr[i][j]寻址是因为我们定义了这个数组有多少列, 加入有N列,这样数组寻址的时候编译器会自动得到 *(arr+(j*N)+i)所以传参数的时候列数必须指定, 所以D正确A不正确。
B表示有8个指向int指针的数组,错误。
C中(*s)等价于s[],正确。
因此答案CD;

猜你喜欢

转载自www.cnblogs.com/kxzh/p/9032785.html