可能副本(C):
How to understand complicated function declarations?
Spiral rule and ‘declaration follows usage’ for parsing C expressions复杂声明
没有使用相同的标题部分, “复杂的声明”,在K&R's The C Programming Language本书,你可能会已经阅读。我只是阅读这本书,并试图用C语言改善自己。在阅读了上述部分之后,我想我无法得到C声明语句语法背后的逻辑。第1,2,3和4部分来自第5部分和第6部分来自其他页面。
int (*daytab)[13]
daytab:指针INTvoid (*comp)()
COMP的阵列[13]:函数指针返回voidchar (*(*x())[])()
X:函数返回指针数组[]的指向函数返回字符的指针char (*(*x[3])())[5]
X:数组指针的[3]的功能返回指针数组[5] 炭typedef int (*PFI)(char *, char *)
创建类型PFI,用于``函数指针(的两个char * 参数)返回int。这里的语法如何工作?
最后,我的问题是:
- 你能解释一下你的思维方式,通过使用上面的例子可能阅读复杂 声明?
- 是否像 1,3,4几乎可用和需要?如果是这样,你能写一些代码示例吗?
是否确定INT(* daytab)[13] 声明daytab指向int的数组[13]? –
@PascalCuoq它没有,它是一个指向13个整数数组的指针。 –
@SethCarnegie我知道你知道这一点。我在问OP。 –