为什么声明符的方法如此古怪
为什么声明符的方法如此古怪
问:为什么声明符的语法如此古怪?
答:声明试图进行模拟使用。指针声明符的格式为*p,这种格式和稍后将用于p的间接寻址运算符方式相匹配。数组声明符的格式为a[...],这种格式和数组稍后的取下标方式相匹配。函数声明符的格式为f(...),这种格式和函数调用的语法相匹配。这种推理甚至可以扩展到最复杂的声明符上。例如数组file_cmd的声明符格式为
(*file_cmd[])(void)
而这些函数的调用格式为
(*file_cmd[n])();
其中圆括号、方括号和*的位置都一样。

浙公网安备 33010602011771号