【发布时间】:2011-10-21 21:39:33
【问题描述】:
如果在函数(比如 main())中声明了一个函数(比如 a())原型,这是否意味着它不能在 main() 函数以外的函数中使用?
【问题讨论】:
标签: c function declaration
如果在函数(比如 main())中声明了一个函数(比如 a())原型,这是否意味着它不能在 main() 函数以外的函数中使用?
【问题讨论】:
标签: c function declaration
不,这并不意味着。如果其他函数也声明了它,那么该函数也可以被其他函数使用。
int main(void) {
void f(void);
f();
}
void g(void) {
void f(void);
f();
}
在本例中,main 在本地声明函数 f 并调用它。但是g 也做同样的事情。两个声明都引用同一个函数。
【讨论】:
是的,这是正确的。对于特定范围内的所有声明都是如此。它们仅在定义范围内可用。
当然,您可以在另一个作用域中声明相同的函数,但我认为这不是您的意思。
【讨论】:
一般而言,您能够在函数内声明的内容(例如变量)仅用于该函数。
【讨论】: