首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

int(*a)[十](int) 与int(a[10])(int)分别是什么意思?

2013-07-09 
int(*a)[10](int) 与int(a[10])(int)分别是什么意思???!!!!!!!!!!!!!!!!!!有吗[解决办法]int a(int) 是定

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 个函数的. 所以它们都是非法的!

热点排行