面向对象的概念是否适用于C语言?

Col*_*lor 1 c c# oop overloading

在C#中,我们了解到当多个函数具有相同的标识符但签名不同时会发生函数重载.

虽然函数重载的概念是面向对象语言的,但在以下观察的基础上它是否也适用于C语言?

printf("%d", 3);

printf("%d + %d = %d", 1 , 2 , 3 );
Run Code Online (Sandbox Code Playgroud)

第一个printf只传递两个参数.第二个printf传递了四个参数.

这是否意味着printf超载?

Mih*_*kov 6

没有printf没有超载.在C中没有函数重载或任何其他面向对象的优点.printf的工作方式是使用参数列表.看一下这篇文章http://www.cprogramming.com/tutorial/c/lesson17.html