c - 为什么 C 中的 printf() 方法设计为接受任意数量的参数?

标签 c oop printf overloading

我总是问自己这个问题,为什么 C 中的 printf() 被设计为接受任意数量的参数,这不是重载吗?如果是,纯结构化语言如何包含方法重载等面向对象的语言概念?

最佳答案

isn't that Overloading?

不,C 中没有重载。它被称为 "variadic function" .

而且不,尽管它出现在 C++ 中并且在 C 中不存在,但方法重载不是一个面向对象的概念。它在相当古老的非面向对象的编程语言(例如 Prolog)中具有突出的特点。

关于c - 为什么 C 中的 printf() 方法设计为接受任意数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12609309/

相关文章:

c - 在C中的字符串数组中重新分配内存

在 FreeBSD 中创建和发送原始 IP 数据包 - sendto() 错误无效参数

php - OOP - 在哪里声明属性?

c# - 在运行时从动态加载的 dll 创建对象列表

c++ - 从 printf 切换到 cout - 复杂格式说明符模式

ios -c 文件日志消息

c - 在要求用户输入之前,scanf 接受输入的性质不明确?

c - 指向静态分配结构的全局指针

PHP PDO 潜在的逻辑错误

c++ - 如何在 C++ 程序中使用 C 头文件?