[求助]以数组为函数参数时的疑惑
#include <stdio.h>
void Fun(char b[3][10])
{
......
}
void main()
{
char a[3][10];
Fun(a);
}
问题:对于二维数组来说,a,a[0],&a[0],&a[0][0]都指二维数组首地址,但在函数调用时,却只能用a和&a[0]作为参数,其它均会出现编译错误,这是为什么?
#include<stdlib.h>
#include<stdio.h>
int main()
{
char a[3][3]={'a','b','c','d','e','f','g','h','j'};
char (*ptr)[3];
char *ptr1;
ptr1=&a[0][0];
ptr=a;
printf("ptr=%c ptr1=%c\n",**ptr,*ptr1);
ptr1++;
ptr++;
printf("ptr=%c ptr1=%c\n",**ptr,*ptr1);
return 0;
}