Utwórz funkcję prywatną w C [duplikat]

Dec 09 2020

Mam plik .c, który zawiera wiele funkcji. Chcę, aby tylko jedna była wywoływana poza plikiem, ta funkcja publiczna wywołuje funkcje prywatne, a funkcja prywatna jest również wywoływana wzajemnie.

void f() {
   ....
}
void g() {
   f();
   ....  
}
void public() {
   f();
   ....
}

Odpowiedzi

1 dbush Dec 09 2020 at 05:25

Jeśli zadeklarujesz funkcję jako static, będzie ona widoczna tylko pod tą nazwą z wnętrza pliku źródłowego (a dokładniej z wnętrza tej jednostki tłumaczeniowej ):

static void f() {
   ....
}
static void g() {
   f();
   ....  
}
void public() {
   f();
   ....
}