[Powered by Google Translate] Функции являются участки кода, используемые в более широкой программы для выполнения определенной задачи. Они также известны как процедуры, подпрограммы и подпрограммы, так как они на самом деле просто мини-программ в рамках программы. Даже если вы не заметили, Вы совершенно определенно использовал функции уже если вы программировали на языке C. Когда вы пишете материал на экран с помощью Printf, вы на самом деле с помощью функции называются Printf. Кроме того, GetInt и GetString функции, которые CS50 предоставляет для вас. Как программисты, мы используем функции для целого ряда причин. Наличие функции для выполнения общих задач, таких как написание на экране и предлагая пользователю для ввода экономит нам время при программировании. Это не нужно писать код, чтобы сделать те же самые вещи так как они уже сделали для нас. Это даже не нам необходимо понять, как именно эти функции работают внутри страны. Вместо этого, мы просто должны знать, как использовать или называем их в наших программах. Это также полезно, чтобы написать функции в больших программах Даже если вы не планируете иметь другие используют их, просто делить большие задачи. Таким образом, вы даете структуры в коде так же, как вы могли бы дать структуру эссе, и с очень крупными проектами вы включите несколько человек работать над различными частями в то же время так как ясно, где работа одного человека заканчивается, а другой начинается. Функции как правило, работают на 1 или более входов, известный как аргументы или параметры, преобразования этих вкладов в выходное значение, которое затем возвращается. Однако, это также возможно иметь функции, которые не используют никаких входных аргументов и не возвращаются выход. Ладно, хватит с пушистые вещи. Давайте посмотрим на некоторые реальные функции в C. Здесь у нас есть функция называется квадратной, что, верите или нет, вычисляет квадрат вход. Давайте проанализируем синтаксис его. Первое слово, которое вы видите на функцию, INT, определяет тип возвращаемого значения функции, то есть, типа C выходной функции. Эта функция будет выводить значение с типом Int. Следующее слово, которое вы видите, является имя функции, квадратного в этом случае. Именование функции надлежащим особенно важно так как это, вероятно, наиболее заметным документации, что функция делает. Это может быть прохладно, чтобы назвать эту функцию Shazam или Booyah, но это не говорит нам ничего о том, что функция делает. После имени функции приходят входа в функцию, аргументами. Они перечислены в круглых скобках как с их тип и имя для использования их в теле функции. Площадь занимает всего 1 аргумент, внутр к площади, который я решил дать название х. На этом заканчивается объявлением функции прототипа. Фигурные скобки остальные функции обозначают начало и конец тела функции, определение самой функции. Площадь довольно простая функция. Он получил только 1 линию, так как все, что мы должны сделать, это умножить х сама по себе. Слово возвращения определяет выходное значение и триггеры конце функции. Чтобы использовать квадратные функции, мы должны предоставить соответствующие входы , а затем захватить выход. Здесь вы видите несколько способов сделать это. Мы можем передать в сыром Int, как и 6, или мы можем передать в переменную как. Обратите внимание, что каждый раз, когда мы называем площади, мы фиксируем результат в переменную, а затем распечатать его. Тем не менее, у нас нет для хранения возвращаемого значения в переменной, а затем распечатать. Мы могли бы просто отправить его прямо на Printf, как мы делаем, когда мы квадрат 10, но это не означает, что мы не имеем доступа к возвращаемым значением квадрат 10 в других местах в коде. Давайте посмотрим на еще один простой пример. На этот раз мы будем подводить 2 поплавка вместе, так что мы можем видеть, что функция выглядит когда он получил 2 входа, а не только 1. Как вы можете видеть, это не сильно отличается. Все, что нам сделать, это добавить во 2-й аргумент, поплавок имени б, в списке аргументов через запятую, чтобы отделить его от первого аргумента, плавать. Таким образом, наши площади и суммой функции довольно легко понять потому что они эквивалентны функции, которые вы видели до этого в математическом классе. Теперь, давайте посмотрим на функцию, которая немного отличается. Вместо возвращения значения, она изменяет состояние. Это известно как имеющий побочных эффектов. В этой программе функция printf_fudd_style имеет возвращаемый тип, что мы раньше не видели, недействительными. Пустота используются для говорим, что функция не возвращает ничего. Есть никаких переменных типа пустота, так что если вы попытаетесь вернуть что-то из функции, как printf_fudd_style, компилятор будет кричать на вас. Внутри printf_fudd_style, мы видим, что в то время как функции до сих пор выполняет задачи, а именно, переход всех грн для Ws, точка функции заключается в изменении строки, а затем распечатать его на экране, изменением состояния программы вместо возвращения результата. С помощью этой функции очень похож используя наши площади и суммы функций, кроме мы не сохранить результат в переменной или передать его на другую функцию так как нет результата говорить. Поэтому, когда мы скомпилировать и запустить наш Elmer Fudd программы, Вы видите, что "Ты мошенник кролика!" преобразуется право "Вы wascally Wabbit!" Наконец, есть еще 1 функция стоит обсуждать так как вы используете это в каждой программе C вы когда-либо написанных, основной. Главная функция так же, как любой другой. Это есть возвращение тип, имя, список аргументов, и тело. Тип возвращаемого значения основных всегда INT, и это Int используется для передачи состояния программы, когда он закончится. Разве это успешно работать, или же это кончится рано из-за ошибки? Возвращаясь к нулю указывает на успешное перспективе, и возвращение любое ненулевое значение указывает на ошибку. В зависимости от того, какую программу вы пишете, возвращение различные коды для различных ошибок может быть полезным для людей, которые используют вашу программу позже. Сеть аргументы немного сложнее. Список аргументов может быть либо пустой, которые мы указываем в письменном виде пустоты в круглых скобках, или списка может иметь 2 аргумента: Int и массив символов S *. Они используются, когда ваша программа намерен использовать Аргументы, передаваемые в командной строке, когда программа вызывается. Int аргумент обычно называют агдс, и это равный длине массив символов *, известный как ARGV. Argv содержит аргументы командной строки передаются в программу. В другом Короче говоря, мы поговорим о том, как использовать эти переменные более подробно. На данный момент, вы можете смело заявить основной в любом случае. Я обычно выбирают, чтобы написать это короткий путь, без аргументов, когда это возможно. Теперь, когда вы знаете, как писать функции, Вы находитесь хорошо на Вашем пути к разработке более крупных и сложных программ. Меня зовут Нейт Хардисон. Это CS50.