Другие языки программирования и технологии
Если функция в СИ не возвращает никакого значения (т.е. void) то зачем она вообще нужна?
Объясните пожалуйста эту ситуацию, желательно с каким нибудь простеньким примером по возможности.
Допустим, что для пользователя предусмотрен вывод на экран информационного сообщения в 100 строк. Необходимость в таком сообщении может возникнуть 300 раз. И что? каждый раз писать в коде этот prinf()? Такое сообщение можно поместить в функцию, и тут же возникает очередной вопрос.. . А что она должна возвращать? А ничего!! ! Вот для этих целей и существует возвращаемый тип void
Функция, которая не возвращает, называется процедурой, и хотя Си является процедурном языком, процедур в нём нет. Вернее они называются функциями.
К рекомендуемым возвращаемым значениям относятся void и указатели на тип (объекта, переменной) .
Рекомендуется в качестве параметров в функциях использовать указатели и ссылки.
Функция, которая не возвращает, называется процедурой, и хотя Си является процедурном языком, процедур в нём нет. Вернее они называются функциями.
К рекомендуемым возвращаемым значениям относятся void и указатели на тип (объекта, переменной) .
Рекомендуется в качестве параметров в функциях использовать указатели и ссылки.
В программировании часто встречаются куски кода, которые не возращают результат непосредственно, как это делают всем знакомые функции типа sin(x).
Это могут быть обширные повторяемые куски, выполняющие какой либо вывод информации, и что более важно, какие либо действия, не сводящиеся к результату определенного типа. Хотя сама функция и не возвращает результата, ее аргументы могут иметь ссылочный тип, таким образом можно вернуть не одно, а много значений )).
Это могут быть обширные повторяемые куски, выполняющие какой либо вывод информации, и что более важно, какие либо действия, не сводящиеся к результату определенного типа. Хотя сама функция и не возвращает результата, ее аргументы могут иметь ссылочный тип, таким образом можно вернуть не одно, а много значений )).
чтобы разбить программу на подпрограммы, и использовать кусок кода в программе несколько раз
Чтобы выполнять какие-нибудь действия, не возвращающие результат. Например заполнение массива, или вывод на экран и тд.
Часто передают указатели в такие функции.
Вместо процедуры (подпрограммы)
Подпрограммы решают три важные задачи:
избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
улучшают структуру программы, облегчая ее понимание;
повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.
Очень важно понимать, что в подпрограмму может выделяться любой законченный фрагмент программы. В качестве ориентиров просмотрите следующие рекомендации:
Когда Вы несколько раз перепишете в программе одну и ту же последовательность команд, необходимость введения подпрограммы приобретает характер острой внутренней потребности.
Иногда слишком много мелочей заслоняют главное. Полезно убрать в подпрограмму подробности, скрывающие смысл основной программы.
Полезно разбить длинную программу на составные части - просто как книгу разбивают на главы. При этом основная программа становится похожей на оглавление.
Бывают сложные частные алгоритмы. Полезно отладить их отдельно в небольших тестирующих программах. Включение отлаженных алгоритмов в основную программу будет легким, если они оформлены как подпрограммы.
(С)
Подпрограммы решают три важные задачи:
избавляют от необходимости многократно повторять в тексте программы аналогичные фрагменты;
улучшают структуру программы, облегчая ее понимание;
повышают устойчивость к ошибкам программирования и непредвиденным последствиям при модификациях программы.
Очень важно понимать, что в подпрограмму может выделяться любой законченный фрагмент программы. В качестве ориентиров просмотрите следующие рекомендации:
Когда Вы несколько раз перепишете в программе одну и ту же последовательность команд, необходимость введения подпрограммы приобретает характер острой внутренней потребности.
Иногда слишком много мелочей заслоняют главное. Полезно убрать в подпрограмму подробности, скрывающие смысл основной программы.
Полезно разбить длинную программу на составные части - просто как книгу разбивают на главы. При этом основная программа становится похожей на оглавление.
Бывают сложные частные алгоритмы. Полезно отладить их отдельно в небольших тестирующих программах. Включение отлаженных алгоритмов в основную программу будет легким, если они оформлены как подпрограммы.
(С)
Похожие вопросы
- как в с++ возвращать значение функции больше одного? допустим сразу несколько значений
- Помогите правильно построить функцию в Си
- Функции в Си
- Помогите оформить функцию в Си
- C#. Как прописать несколько одинаковых функций так, чтобы они возвращали результаты разных типов?
- Вызов функции в Си
- СИ: "int a[3]={1, 2, 3}, * p=a+1" Чему равно значение выражения "p[0]-2"? И что вообще здесь происходит?
- Посмотрите функцию на Си
- Пожалуйста, помогите написать программу через функции в Си++
- слышал что в с++ функция main всегда неявно возвращает в конце return 0 и поэтому писать это не нужно. так ли это?