|
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 39
|
|
Особенность объявления функции20.06.2013, 20:22. Показов 1602. Ответов 10
Метки нет (Все метки)
Собсно вопрос такой , зачем нужно объявлять функции если их можно просто определять? связано ли это с компилятором?
0
|
|
| 20.06.2013, 20:22 | |
|
Ответы с готовыми решениями:
10
Функции. Синтаксис объявления и вызова |
|
419 / 418 / 72
Регистрация: 27.05.2012
Сообщений: 1,168
|
|
| 20.06.2013, 20:34 | |
Сообщение было отмечено как решение
Решение
программирование вообще связано с компилятором, если на этапе компиляции функцию не видно перед точкой входа в программу, то будет ошибка
можно поместить всю функцию до входа в программу, а можно поместить объявление функции, этим мы говорим компилятору, что такая то функция где то находится и её тело подтянет линкер ну а зачем это надо? эстетическая сторона вопроса - не красиво когда после сотни определений функций, где то в конце файла висит злосчастный main
3
|
|
|
|
|||||||||||
| 20.06.2013, 20:39 | |||||||||||
|
Смотря что требуется. В каких-то случаях читающему требуется знать, какие функции содержатся в проекте, причем реализация для читающего может быть не столь важна.
Либо здесь:
Или еще:
1
|
|||||||||||
|
26 / 26 / 13
Регистрация: 13.04.2013
Сообщений: 79
|
|
| 20.06.2013, 20:42 | |
|
Допустим, у нас вот такая ситуация: функция a() вызывает функцию b(), а функция b(), в свою очередь, функцию a(). Опишите мне это без предварительного
обьявления ![]() Потом, h-файлы придумали для ускорения компиляции проектов в доисторические времена, ведь при изменении h-файла надо перекомпилировать все файлы, которые его включают. Это долго. А вот заведя h-файл с прототипом функции, и с-файл с реализацией, можно менять реализацию сколько влезет - перекомпилировать надо будет только ее.
0
|
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||
| 20.06.2013, 20:47 | ||
|
1
|
||
|
Комп_Оратор)
|
|
| 20.06.2013, 21:05 | |
|
В файле реализации (Срр) могут быть объявления которые уже есть в файлах, где требуется объявить функцию/класс, подключив хэдер-файл. При этом нет двойного объявления без использования спецификатора extern или директив препроцессора.
0
|
|
|
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 39
|
|||||||||
| 20.06.2013, 21:37 [ТС] | |||||||||
|
Добавлено через 2 минуты Добавлено через 3 минуты
0
|
|||||||||
|
Комп_Оратор)
|
|
| 20.06.2013, 21:45 | |
|
Главное сказано Кудаив:
Особенность объявления функции Компилятору в пределах файла нужна сигнатура, перед вызовом, чтобы сформировать код в стеке вызова. Сам код ищет редактор связей. А уж как оформить и разместить объявление и определение, - варианты.
0
|
|
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||
| 20.06.2013, 22:07 | ||
|
2
|
||
|
0 / 0 / 0
Регистрация: 22.03.2011
Сообщений: 39
|
|
| 21.06.2013, 00:07 [ТС] | |
|
Большое спасибо всем за ликбез!
0
|
|
| 21.06.2013, 00:07 | |
|
Помогаю со студенческими работами здесь
11
Для объявления класса Time, описать реализацию функции
В чем заключается особенность предварительного описания процедуры в начале модуля после объявления его переменных?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|