当前位置: 代码迷 >> C语言 >> 帮忙解一道关于指针的题
  详细解决方案

帮忙解一道关于指针的题

热度:223   发布时间:2008-05-30 11:53:06.0
帮忙解一道关于指针的题
1 请问下面的语句声明了一个什么变量呢?
CODE:
  int (*(*a)(int (*)[10][20],int))[10];
搜索更多相关的解决方案: 指针  int  变量  语句  

----------------解决方案--------------------------------------------------------
函数指针数组

[color=white]
----------------解决方案--------------------------------------------------------
能说的具体一点吗?
----------------解决方案--------------------------------------------------------
一层一层分析
int (*(*a)(int (*)[10][20],int))[10];
里面是2个参数,前面int(*)[10][20]是一个2维整形指针数组,(a)定义a指向这个函数,前面又定义指向a的指针数组大小为10;
请大家批评指正。
----------------解决方案--------------------------------------------------------
我是这样理解的:
a是个指向数组的指针
a的目标是个数组(整体)
该数组有10个元素,每个元素是一个函数指针
函数指针指向的函数应该是int类型,有两个形参,其中第一个形参是个指向整型二维数组的指针
也就是说a是一个指向函数指针数组的指针

请指正

[[it] 本帖最后由 forever74 于 2008-5-30 13:50 编辑 [/it]]
----------------解决方案--------------------------------------------------------
高手进来讨论啊,顺便再问,int (*)[10][20],和 (int *)[10][20],有区别吗?
----------------解决方案--------------------------------------------------------
没有区别…吧
----------------解决方案--------------------------------------------------------
我觉得5楼的朋友解释是正确的。
----------------解决方案--------------------------------------------------------
这是个函数指针数组。。
(*a)(int (*)[10][20],int)  这表明a是指针。。
----------------解决方案--------------------------------------------------------
貌似不能写(int *)[10][20]吧?
----------------解决方案--------------------------------------------------------
  相关解决方案