为什么C语言需要函数声明

Python07

为什么C语言需要函数声明,第1张

C语言的编译是自顶向下进行的。

这是由C语言的编译器规定的。你可以认为C语言的编译器,就是把你写的C语言代码翻译成计算机能懂的语言的翻译者。翻译者在读你的代码的时候,是从第一行开始向下读的。你写的函数声明,就是告诉翻译者,你定义了一个函数。你写的函数体,就是在告诉翻译者,这个函数声明代表的函数是什么样子的。

第一个C语言编译器应该是用汇编写的,但是第一个成熟的C语言编译器应该是由汇编和C语言共同写的。

编译原理讲到了“自举编译器”。大意就是先用底层语言(应该是汇编)写一个能运行,但效率极低的C语言编译器(底层语言不好优化),有了C语言的编译器以后,就可以用C语言好好写一个编译器了,用之前那个运行没问题,但效率低得编译器编译一下,就得到了可以使用的编译器了。