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

char *(*a[10])(int *p);请教这个定义如何解释

2012-03-17 
char *(*a[10])(int **p)请问这个定义怎么解释?char *(*a[10])(int **p)请问这个定义怎么解释?是函数指

char *(*a[10])(int **p);请问这个定义怎么解释?
char *(*a[10])(int **p);
请问这个定义怎么解释?是函数指针数组吗?

[解决办法]
是 。
[解决办法]
对的。。就是一个char *(*)(int **p)型的函数指针数组
[解决办法]
char *(*a[10])(int **p);
a是一个数组,数组里面存放了10个函数指针,函数指针指向这样一类函数:
返回类型为char* 参数类型为int**
[解决办法]
对于复杂指针,可以看看这样的解读方法

C指针声明解读之左右法则 
http://tieba.baidu.com/f?kz=691121990
[解决办法]

探讨
char *(*a[10])(int **p);
a是一个数组,数组里面存放了10个函数指针,函数指针指向这样一类函数:
返回类型为char* 参数类型为int**

[解决办法]
探讨
char *(*a[10])(int **p);
a是一个数组,数组里面存放了10个函数指针,函数指针指向这样一类函数:
返回类型为char* 参数类型为int**

[解决办法]
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!

[解决办法]
unix,linux里有一个cdecl工具可以解读复杂声明的。

热点排行