【发布时间】:2009-12-12 10:38:12
【问题描述】:
如何解释复杂的声明,例如:
int * (* (*fp1) (int) ) [10]; ---> declaration 1
int *( *( *[5])())(); --------> declaration 2
理解上述声明是否应遵循任何规则?
【问题讨论】:
-
int *( *( *[5])())(); -
虽然我不同意:这样的声明是原因之一,为什么有些人害怕和讨厌 C 甚至更多的 C++。
-
@REDSOFTADAIR 不,人们把简单的变得复杂。 为什么要大声朗读声明?你只需要知道如何使用它,声明中写着:
*(*(*fp1) (5)) [0]是int,*(*(*fp1) (7)) [9]也是.关于C++,我不得不说,与C++中成千上万的不自然的不一致设计相比,这根本算不上什么。你可以看到 linus、stallman 和 knuth 的话。
标签: c declaration