Сделать приватную функцию на C [дубликат]

Dec 09 2020

У меня есть файл .c, который содержит множество функций. Я хочу, чтобы только одна вызывалась вне файла, эта общедоступная функция вызывает частные функции, а частная функция также вызывает друг друга.

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

Ответы

1 dbush Dec 09 2020 at 05:25

Если вы объявите функцию как static, она будет видна только под этим именем изнутри исходного файла (или, точнее, изнутри этой единицы перевода ):

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