【问题标题】:Declaration of a function in c programmingc语言中函数的声明
【发布时间】:2011-10-21 21:39:33
【问题描述】:

如果在函数(比如 main())中声明了一个函数(比如 a())原型,这是否意味着它不能在 main() 函数以外的函数中使用?

【问题讨论】:

    标签: c function declaration


    【解决方案1】:

    不,这并不意味着。如果其他函数也声明了它,那么该函数也可以被其他函数使用。

    int main(void) {
      void f(void); 
      f();
    }
    
    void g(void) {
      void f(void);
      f();
    }
    

    在本例中,main 在本地声明函数 f 并调用它。但是g 也做同样的事情。两个声明都引用同一个函数。

    【讨论】:

    • 好吧,如果你打算这样做,你也可以在外部单元范围内声明它!
    • 我的意思是,你说的是对的,但我不禁觉得这不是问题所在,但话又说回来,我可能是错的......
    【解决方案2】:

    是的,这是正确的。对于特定范围内的所有声明都是如此。它们仅在定义范围内可用。

    当然,您可以在另一个作用域中声明相同的函数,但我认为这不是您的意思。

    【讨论】:

      【解决方案3】:

      一般而言,您能够在函数内声明的内容(例如变量)仅用于该函数。

      【讨论】:

      • 我认为您对声明和定义感到困惑。
      猜你喜欢
      • 2011-09-04
      • 2021-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      相关资源
      最近更新 更多