我们可以在函数内声明函数吗?

时间:2014-01-30 17:00:09

标签: c function

#include <stdio.h>

int main()
{
   void foo();
   printf("1 ");
   foo();
}

void foo()
{
    printf("2 ");
}

输出:

1 2

如何在函数内声明函数? 这是否意味着foo()函数只能由main()?

调用

2 个答案:

答案 0 :(得分:12)

是的,您可以声明,但不能定义。此外,您可以多次声明函数,但只能定义一次。

答案 1 :(得分:0)

我们可以在函数内部声明一个函数,但它不是一个嵌套函数。因为嵌套函数定义不能访问周围块的局部变量,它们只能访问包含模块的全局变量。 所以最好在 main 函数之上声明任意一个函数,这样你就可以在任意函数的任何地方调用它们。