在C語言中,嵌套函數(shù)是指在一個函數(shù)內(nèi)部聲明并定義另一個函數(shù)。嵌套函數(shù)只在外層函數(shù)內(nèi)部可見,并且只能在外層函數(shù)內(nèi)部被調(diào)用。
以下是一個簡單的示例:
#include <stdio.h>
int outerFunction() {
int a = 10;
int innerFunction(int b) {
return a + b;
}
return innerFunction(5);
}
int main() {
printf("%d\n", outerFunction()); // 輸出15
return 0;
}
在上面的示例中,innerFunction
是在outerFunction
內(nèi)部聲明和定義的嵌套函數(shù),它可以訪問outerFunction
內(nèi)部的局部變量a
。在main
函數(shù)中調(diào)用outerFunction
將會輸出15
,因為innerFunction(5)
返回a + b
,即10 + 5
。
需要注意的是,C語言標(biāo)準(zhǔn)并沒有規(guī)定嵌套函數(shù)的語法,而一些編譯器可能不支持嵌套函數(shù)的特性。因此在使用嵌套函數(shù)時應(yīng)注意不同編譯器的兼容性。