Вызов функции влечет выполнение содержащихся в теле функции операторов.
Функции должны быть объявлены перед их вызовом. В Стандарт ANSI языка Си объявления функции (называемом также объявлением прототипа функции) используется для контроля типов. Компилятор выполнит проверки того, что количество и типы параметров, переданные функции, правильны.
Если объявление типа функции опущено, компилятор будет использовать правило умолчания K&R и установит для нее тип int. Для функций стандарта K&R компилятор не выполняет контроля типов.
Пример 1
#include <stdio.h>
int main()
{
  void intro (void);     /* объявление прототипа функции*/

  intro();              /*вызов функции*/
...

}
void intro (void)        /*определение прототипа функции*/
{
  printf("Работает вызываемая фукция intro()");

}
В данном примере при вызове функции intro() функция main() является вызывающей функцией. При вызове функции printf() вызывающей функцией является intro(). Ключевое слово void в объявлении прототипа функции intro() показывает, что функция intro() не имеет параметров и не возвращает значение.