Другие языки программирования и технологии

Если функция в СИ не возвращает никакого значения (т.е. void) то зачем она вообще нужна?

Объясните пожалуйста эту ситуацию, желательно с каким нибудь простеньким примером по возможности.
Допустим, что для пользователя предусмотрен вывод на экран информационного сообщения в 100 строк. Необходимость в таком сообщении может возникнуть 300 раз. И что? каждый раз писать в коде этот prinf()? Такое сообщение можно поместить в функцию, и тут же возникает очередной вопрос.. . А что она должна возвращать? А ничего!! ! Вот для этих целей и существует возвращаемый тип void
Функция, которая не возвращает, называется процедурой, и хотя Си является процедурном языком, процедур в нём нет. Вернее они называются функциями.
К рекомендуемым возвращаемым значениям относятся void и указатели на тип (объекта, переменной) .
Рекомендуется в качестве параметров в функциях использовать указатели и ссылки.
Сергей Русинов
Сергей Русинов
78 129
Лучший ответ
В программировании часто встречаются куски кода, которые не возращают результат непосредственно, как это делают всем знакомые функции типа sin(x).
Это могут быть обширные повторяемые куски, выполняющие какой либо вывод информации, и что более важно, какие либо действия, не сводящиеся к результату определенного типа. Хотя сама функция и не возвращает результата, ее аргументы могут иметь ссылочный тип, таким образом можно вернуть не одно, а много значений )).
Нуралы Турдиев
Нуралы Турдиев
35 996
чтобы разбить программу на подпрограммы, и использовать кусок кода в программе несколько раз
Чтобы выполнять какие-нибудь действия, не возвращающие результат. Например заполнение массива, или вывод на экран и тд.
Часто передают указатели в такие функции.
Вместо процедуры (подпрограммы)

Подпрограммы решают три важные задачи:

избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;

улучшают структуру программы, облегчая ее понимание;

повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.
Очень важно понимать, что в подпрограмму может выделяться любой законченный фрагмент программы. В качестве ориентиров просмотрите следующие рекомендации:

Когда Вы несколько раз перепишете в программе одну и ту же последовательность команд, необходимость введения подпрограммы приобретает характер острой внутренней потребности.

Иногда слишком много мелочей заслоняют главное. Полезно убрать в подпрограмму подробности, скрывающие смысл основной программы.

Полезно разбить длинную программу на составные части - просто как книгу разбивают на главы. При этом основная программа становится похожей на оглавление.

Бывают сложные частные алгоритмы. Полезно отладить их отдельно в небольших тестирующих программах. Включение отлаженных алгоритмов в основную программу будет легким, если они оформлены как подпрограммы.

(С)