为什么c中的某些函数名称写成两行?

Dao*_*hou -4 c c++

为什么List MakeEmpty(List L)必须以如下形式编写:

List
MakeEmpty(List L)
Run Code Online (Sandbox Code Playgroud)

在Mark Allens书?

Bus*_*mer 5

这只是造型偏好的问题; 无论你是否写下,这里的命令都是一样的:

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.

希望这可以帮助.如果我在任何地方犯了错误,或者您还有其他问题,请在评论栏中询问我.