C函数声明在另一个函数内

bin*_*guy 6 c declaration function

任何人都可以向我解释这些问题:

int xyz( void )  
{ 
extern void abc( void );
}
Run Code Online (Sandbox Code Playgroud)

函数定义中的函数声明?还是我想念一些东西?

Oli*_*rth 11

是的,你的猜测是正确的.它声明了函数的存在abc(),因此可以在其中引用xyz().请注意,这extern是不必要的,因为extern默认情况下是函数.

  • @Lundin:你在所有局部变量之前编写`auto`吗? (4认同)
  • 我不会打电话给extern不必要的.可以说,在原型之前编写extern是更正确的语法,而不是隐含地使用它.就个人而言,我总是在原型之前写extern,因为这给了我总是在他们面前写*东西的习惯.这样我就不会忘记在应该私有封装的函数之前编写静态. (3认同)