Kei*_*son 10
查看是否可以cdecl为系统安装命令.(在Ubuntu上,sudo apt-get install cdecl.)cdecl.org上还有一个web界面.
这是我告诉我的系统示例:
$ cdecl
Type `help' or `?' for help
cdecl> explain int * a[10];
declare a as array 10 of pointer to int
cdecl> explain int (*b)[10];
declare b as pointer to array 10 of int
cdecl>
Run Code Online (Sandbox Code Playgroud)
我曾经学过一些奇怪的技巧(也许这不是正确的词)关于阅读真正困扰我的声明:http://www.antlr.org/wiki/display/CS652/How+To+Read+C+Declarations
从变量名称开始(如果没有标识符,则从最里面的构造开始.向右看,不要跳过右括号;说出你看到的内容.再看左边而不跳过括号;说出你所看到的.如果你看到了,请跳出一个括号任何.看起来正确;说出你看到的东西.向左看;说出你看到的东西.继续这样,直到你说变量类型或返回类型.
使用该心算法,您可以轻松阅读和理解任何C变量声明.
有时,当它们变得非常复杂时,使用这个小实用程序很好:cdecl可以作为一个独立的应用程序,也可以作为一个网站:http://cdecl.org/