c编程中函数的声明

c编程中函数的声明,c,function,declaration,C,Function,Declaration,如果在函数(比如main())中声明了函数(比如a())原型,这是否意味着它不能用于main()函数以外的函数中?不,这并不意味着。如果其他函数也声明了它,那么其他函数也可以使用该函数 int main(void) { void f(void); f(); } void g(void) { void f(void); f(); } 在本例中,main在本地声明函数f,并调用它。但是g也做同样的事情。两个声明都引用同一个函数 是的,这是正确的。对于特定范围内的所有声明都是如此

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

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

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

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

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

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


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

通常,您可以在函数中声明的内容(例如变量)仅用于该函数

我认为你把声明和定义搞混了。好吧,如果你要这样做的话,你可以在外部单位范围内声明它!我的意思是,你说的是对的,但我忍不住觉得这不是问题的真正目的,但话说回来,我可能错了。。。。