[英]Can we declare functions inside functions?
#include <stdio.h>
int main()
{
void foo();
printf("1 ");
foo();
}
void foo()
{
printf("2 ");
}
輸出:
1 2
在函數內部聲明函數是如何工作的? 這是否意味着 foo() 函數只能由 main() 調用?
是的,您可以聲明,但不能定義。 此外,您可以根據需要多次聲明函數,但只能定義一次。
我們可以在函數內部聲明一個函數,但它不是一個嵌套函數。 因為嵌套函數定義不能訪問周圍塊的局部變量,它們只能訪問包含模塊的全局變量。 所以最好在主函數之上聲明任何函數,這樣你就可以在任何函數的任何地方調用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.