众所周知的 把数组作为参数传递时,会自动的将数组类型转变为指针类型。
一维数组很好理解。但是二维甚至更多维的时候情况就会有点让人头疼了。
经过不断尝试,规则是通用的
void fun(int a[10][10]);
void fun(int a[][10]);
效果一样的, a是一个指向有10位数据的数组的指针,参数传递进来时,自动将第一维数组转换为指针。因此第一个10是没有效果的
void fun(int* a[10]);
void fun(int* a[]);
void fun(int** a);
效果也一样,自动将第一个数组转换维指针。
经过上面的比较,相信已经能明了了。
阅读(3579) | 评论(0) | 转发(0) |