|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.02.2008, 20:20 | #1 |
Форумчанин
Регистрация: 29.10.2007
Сообщений: 628
|
Помогите разобраться с функциями!
Здравствуйте, я вот тут начал проходить функции... Вообщем вначале мне говорили, что функцию можно писать только до строчки
Код:
Подскажите, что дают эти прототипы? Можно ли с помощью них писать функции в других местах, а не только перед строчкой Код:
|
08.02.2008, 20:46 | #2 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Функции можно определять где угодно и когда угодно, главное, чтобы на момент первого использования (т.е. первого вызова) они были бы уже определены. Ничего особенного с функцией main в этом смысле не связано, просто она вызывается первой, следовательно должна "знать" о всех использующихся внутри нее функциях. Кроме того, иногда бывает сложно поставить определение одной функции раньше другой, например, если они перекрестно вызывают друг друга. Поэтому и применяются прототипы - точные копии определений функции, включая параметры, и размещаются "в начале" - или в файлах заголовков, что упрощает их совместное использование разными "c" файлами, либо в начале "C" файла.
|
08.02.2008, 20:46 | #3 |
Пользователь
Регистрация: 27.01.2008
Сообщений: 29
|
Здраствуйте.
Прототип функции описывает ее асигнатуру(то есть тип возвращаемого значения и список формальных параметров). Нужны прототипы для того,чтоб можно было описывать тело функции после мейна. То есть сначала вы пишите прототип функии, а после мейна ее тело. Примерно так: Код:
|
08.02.2008, 21:17 | #4 |
Let's keep talking
Форумчанин Подтвердите свой е-майл
Регистрация: 02.07.2007
Сообщений: 217
|
Всё выше сказанное про о прототипах верно. Можно лишь кое-что добавить:
ПРОТОТИПЫ СОДЕРЖАТ ТРИ ВИДА ИНФОРАЦИИ: - тип возвращаемого значения функцией - тип её формальных переменных(т.е параметров) - а также их количество(параметров). ПРОТОТИПЫ ПОЗВОЛЯЮТ КОМПИЛЯТОРУ ВЫПОЛНЯТЬ 3 ВАЖНЫЕ ОПЕРАЦИИ: - сообщают тип генерируемого кода при её вызове - позволяют обнаружить недопустимые преобр-я типов - позволяют выявить различия между кол-вом аргументов используемых и объявленных. Ну а на этом вроде как бы всё...
Лучше С++, чем ++С...
|
08.02.2008, 21:24 | #5 |
Форумчанин
Регистрация: 29.10.2007
Сообщений: 628
|
Большое Вам всем спасибо! Всё объяснили, и Я теперь знаю зачем нужны прототипы! Спасибо!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите разобратся с функциями на С++ | ANTI | Общие вопросы C/C++ | 1 | 04.03.2008 17:12 |
Помогите с интерполяционными функциями Лагранжа | victor07 | Помощь студентам | 3 | 03.12.2007 15:47 |
Работа с функциями | Worms | Общие вопросы Delphi | 1 | 02.12.2007 15:51 |