簡體   English   中英

我們可以在函數內部聲明函數嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM