int(*a)[10](int) 与int(a[10])(int)分别是什么意思???
!!!!!!!!!!!!!!!!!! 有吗
[解决办法]
int a(int) 是定义一个函数
int (a)(int) 也是定义一个函数.
int (a[10])(int) 定义 10 个函数!
int ((a)[10])(int) 还是定义 10 个函数!
由于 [] 的优先级高于 (), 所以上面这个等价于:
int (a)[10](int)
继续等价于
int a[10](int)
都是定义的 10 个函数.
既然知道了 int a[10](int) 是定义的 10 个函数, 那么
int(*a)[10](int) 就是一个指向 10 个函数的指针.
当然, 在 C 里面是没法同时定义 10 个函数的. 所以它们都是非法的!