为什么List MakeEmpty(List L)必须以如下形式编写:
List
MakeEmpty(List L)
Run Code Online (Sandbox Code Playgroud)
在Mark Allens书?
这只是造型偏好的问题; 无论你是否写下,这里的命令都是一样的:
List
MakeEmpty(List L)
Run Code Online (Sandbox Code Playgroud)
要么
List MakeEmpty(List L)
Run Code Online (Sandbox Code Playgroud)
除了改变代码的可读性之外,它确实没有什么区别.您提到的这本书的作者可能会发现,与您比较它的传统方法相比,添加一些更易读的空格.
分辨空白和实际编译差异的一种方法是分号.只要有分号,该行就会终止.在您的情况下,如果有:
List; // Notice semicolon here
MakeEmpty(List L)
Run Code Online (Sandbox Code Playgroud)
然后这会改变代码(这里的语法是错误的,因为它改变了代码的原始含义,但我只是想用这个例子说明我的观点).
添加空格使代码对程序员更具可读性; 它增加了风格,特别是如果它被呈现给更多的观众.优先考虑的空白量因人而异.
我试图在这里使最简单的例子:main()函数.看看我写的两种方式:
方法1:
int // Return type of function on different line from function name and arguments for function declaration
main(void)
{
cout << "hello" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
方法2:
int main(void) // Return type of function on same line as function name and arguments for function declaration
{
cout << "hello" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
就像你的函数声明一样,这里,返回值数据类型的位置在2个代码示例之间改变.但是,输出是相同的:它输出hello后跟一个endline.
希望这可以帮助.如果我在任何地方犯了错误,或者您还有其他问题,请在评论栏中询问我.