Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Прототипы функции


Автор: yarchik 5.4.2012, 20:39
Пожалуйста объясните что такое,и зачем нужен прототип функции?
Только начинаю изучать язык С++)

Автор: bsa 5.4.2012, 23:41
Прежде чем использовать что-либо в С/С++ необходимо это объявить (описать прототип). Прототип функции - это "заголовок функции", но без тела:
Код
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> в код твоей программы компилятор добавляет кучу прототипов стандартных функций, описанных в этом файле.  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)