数组的指针做参数
对于 void process(char *p,int (*q)[10])函数,第二个参数是一个数组的指针,为什么对于第二个参数一定是例如int a[8][10]; 的二维数组
而不能是int (*a)[10];类型的数组的指针变量呢??
void main()
{
//int (*a)[10]; // error ??
int a[8][10]; // right
char *numbers="a123*456 17960?302ta1b5897";
//printf("%s",numbers);
process(numbers,a);
}
----------------解决方案--------------------------------------------------------
int (*a)[10];
int a[8][10]; /* 其定义覆盖了 int (* a)[10]; 的定义*/
作用域问题。
a[8][10] 的标识符与 (* a)[10] 标识符是一样的。
[此贴子已经被作者于2007-11-21 17:12:55编辑过]
----------------解决方案--------------------------------------------------------
char (*a)[10];
int a[8][10];
这样的话好现是对的哦
记得命名空间不一样
----------------解决方案--------------------------------------------------------