首页 > 后端开发 > C++ > C 与 C:`void foo()` 和 `void foo(void)` 有什么区别?

C 与 C:`void foo()` 和 `void foo(void)` 有什么区别?

DDD
发布: 2024-12-17 02:37:25
原创
113 人浏览过

C vs. C  : What's the Difference Between `void foo()` and `void foo(void)`?

C 和 C 中的函数原型:void foo() 与 void foo(void)

C 中,函数的语法原型包括一个 void 关键字,后跟函数名称和括号。两个常见的变体是:

  • void foo()
  • void foo(void)

在 C 中使用 void foo(void) 意味着:该函数不带参数,而 void foo() 表示未指定数量的未指定类型的参数。

中然而,C 中的 void foo() 和 void foo(void) 都表示不带参数的函数。这种区别是由于历史原因而产生的,是为了使 C 与 Java 等其他语言保持一致。

虽然这两种形式在技术上在 C 中都是有效的,但约定是使用 void foo() ,而不使用多余的 void 参数明晰。编写 void foo(void) 不会被视为错误,但它不会提供任何附加信息,并且可能会让某些读者感到困惑。

此外,在 C 中的函数名称之前指定 void 可以帮助跨语言兼容性:与 C 代码的接口。通过使用 void foo(void),开发人员可以确保两种语言对函数签名的解释一致,从而促进更轻松的代码维护和可移植性。

以上是C 与 C:`void foo()` 和 `void foo(void)` 有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板