char *(*a[10])(int *p);请教这个定义如何解释
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
[解决办法]
[解决办法][解决办法]VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
[解决办法]unix,linux里有一个cdecl工具可以解读复杂声明的。