[Powered by Google Translate] CHRIS Гербер: функция представляет собой серию шагов в большую программу, которая, как правило, предназначены для вызова несколько раз и из многих других мест в программы. При создании функции C, одним из требований является указать тип возвращаемого значения. Простейшим случаем является ситуация, когда вызывающий Код не связана с результатом функции. Это может быть случай, когда мы печатаем данные пользователей дисплеем, как и с Printf. В этом случае, мы можем объявить возвращаемого значения к типу недействительными. Использование недействительными просто сообщает компилятору, что не значение будет возвращено. Давайте посмотрим, как это выглядит. Давайте предположим, что у нас есть функция под названием say_hello, что принимает один аргумент. Мы будем передавать его имя человека, и он будет отображать приветствие на экране. Название будет типа символ *. И мы укажем, что в качестве аргумента. Мое приложение не нужно знать, что было напечатано или, если это была напечатана. Таким образом, возвращаемое значение будет иметь тип недействительными. Эта функция может печатать на экране с командой Е ("Hello,% с \ п », Имя);. Приветствие будет отображаться и управление будет передано обратно в вызывающий код. Единственное, что следует отметить, это то, что если тип возвращаемого значения, является ничтожным, Вам не нужно включать возвращение Заявление в функции. Если вы решили включить один, не включают возвращаемого значения в качестве аргумента. В некоторых случаях имеет смысл вернуться значения из функции. Давайте предположим, что мы писали функция называется add_floats. Мы будем передавать его двумя аргументами, как поплавки, называются первой и второй. И он скажет нам, что сумма этих поплавков. Мы знаем, что если мы добавим два поплавка вместе, то результат будет плавать. Исходя из этого, мы выбираем тип возвращаемого значения с плавающей точкой. Эта функция будет выполнять этот расчет и вернуть Значения в заявлении, как возвращение первый + второй;. Когда управление передается обратно в вызывающий код, Полученное значение теперь доступна для этого кода. Мы можем хранить это значение следующим образом: поплавок результат = add_floats (3,14, 1,62 ). Результат в этом случае будет теперь содержать значение 4,76. Напомним, что значения с плавающей точкой являются неточными. Так что, если это был финансовый расчет, используя доллары и центов, мы хотим рассмотреть точный тип данных, таких как Int и выполнять вычисления в копейки. Еще один случай, где мы хотели бы возвратить значение из функция, когда мы хотим знать, если функция была успешным. Если она не была успешной, мы можем также хотят знать, какой тип Произошла ошибка. Давайте предположим, что мы пытаемся открыть файл на диске для подсчета Количество символов в нем. Если файл не может быть открыт, мы хотим, чтобы быть в состоянии остановить и сообщить пользователю о проблеме. Мы назовем нашу count_file_chars функции, и это будет принимать один аргумент. Мы пройдем во имя файла с помощью символ * называется именем. Эта функция может выглядеть следующим образом. В этом примере, мы ожидаем, что количество вернулся в 0 или больше. Это оставляет нас отрицательные целые числа, чтобы использовать в качестве дозорных значения. Дозорные значения это просто особое значение, которое не законные данные, но никак передачи информации. Здесь, если я вернусь -1 до вызывающего кода, я фактически отправляет сообщение, что произошла ошибка пытается получить доступ к файлу. Я мог бы проверить, что возвращаемое значение, чтобы определить, если мои вызов функции прошел успешно. Если количество было 0 или больше, я хотел бы знать Количество символов в файле. Если, однако, эта цифра была меньше 0, я мог бы просто печать, что проблема не произошло. Один компромисс, чтобы рассмотреть, что за счет резервирования всех отрицательные значения, как дозорные значения, предполагая, что это 32-разрядное число, я, по существу, забрали около 2 миллиарда возможных возвращаемых значений. Типы Возвращаемое значение является одним из наиболее важных элементов вызовы функций. Надеюсь, этот краткий обзор помог вам думать о три основных типа: пустота, результат значения, и дозорные значения, и когда каждый из трех может быть уместным в коде. Спасибо за просмотр.