Прежде чем использовать что-либо в С/С++ необходимо это объявить (описать прототип). Прототип функции - это "заголовок функции", но без тела:Код | void my_func(int arg); /* это прототип - объявление функции*/ extern int my_var; /* это объявление переменной ("прототип") */ struct MyStruct; /* это объявление структуры */
struct MyOtherStruct /* это определение структуры */ { int member; };
struct MyStruct *my_other_var; /* это определение переменной */
void my_other_func(void) /* это определение функции */ { /* а тут начинается тело функции */ my_func(); } |
Это необходимо, чтобы компилятор знал как вызывать твою функцию, какие и сколько ей необходимо передавать параметров.
Кстати, когда ты делаешь #include <stdio.h> в код твоей программы компилятор добавляет кучу прототипов стандартных функций, описанных в этом файле. |