【问题标题】:Must a function prototype be declared everywhere the function has to be used?必须在必须使用函数的任何地方声明函数原型吗?
【发布时间】:2016-02-02 15:14:20
【问题描述】:

是否有必要在调用函数的任何地方为函数声明原型。 默认情况下,所有函数都是外部函数,因此为什么将它们视为外部变量,其中 1 个变量的外部声明和 1 个本地定义足以在所有文件中访问?

【问题讨论】:

  • ` where 1 extern declaration ...` 这一切都取决于 extern 声明的位置。
  • 当编译器不知道 foo 是void foo(int) 还是void foo(float) 时,它如何知道为foo(5); 生成代码?
  • @M.M- 所以是的。必须在调用它们的任何地方声明它们,以便编译器知道 func 参数是什么?
  • 是的,返回类型是什么。
  • @AkshayImmanuelD 无论何时调用函数,函数声明都必须在范围内,是的。通常这是通过使用头文件来完成的,所以声明在你的源代码中只出现一次。

标签: c


【解决方案1】:

是的,我们需要在使用函数之前声明函数的原型。 如果您使用许多外部函数,我建议将原型编写在头文件中。 在源文件中包含头文件以使用这些功能。

【讨论】:

  • 是的,这就是我实现所有功能的方式。只是想知道为什么它们不被视为外部变量
  • 如果您使用外部变量,您需要在所有使用它的文件中将变量声明为外部变量。同样,您需要在您使用的所有文件中声明函数。
  • 哦,没错。即使是外部变量也必须在任何使用它们的地方重新定义
猜你喜欢
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 2012-10-17
  • 2012-07-16
  • 1970-01-01
相关资源
最近更新 更多