Тип возвращаемого значения
В
Реализации
Си
В языке Си для возврата пользовательских значений вызвавшему коду используется оператор return
, либо значение по умолчанию при автоматическом завершении работы функции после её закрывающей фигурной скобки. При этом в функции может быть несколько операторов return
, которые могут вызываться в зависимости от заранее заданных условий.
Все типы функций, кроме типа void возвращают значения, указываемое выражением в операторе return
. Стандарт C89 допускал выполнение оператора return
без указания выражения внутри функции, тип которой отличен от void, и в этом случае происходил возврат какого-либо произвольного значения. Но стандарт C99 уже регламентировал обязательное указание возвращаемого значения. То есть, если есть указание, что функция возвращает какое-либо значение, то оно должно быть заранее указано для оператора return
. При этом в случае выполнения функции, не относящейся к типу void, возвращается произвольное значение.
Также в языке Си предусмотрена возможность возврата функцией указателя. Чтобы функция могла возвратить указатель, она должна быть объявлена как возвращающая указатель на нужный тип. То есть, тип возвращаемого указателя должен декларироваться явно. Например, нельзя объявлять возвращаемый тип как int *, если возвращается указатель типа char *. В случае необходимости возврата «универсального» указателя (то есть указателя, который может указывать на данные любого типа) тип результата функции следует определить как void *[1].
Java
Пример на языке Java:
public int someMethod()
Здесь возвращаемый
public void returnNothing()
См. также
Примечания
- ↑ * Герберт Шилдт. Полный справочник по C. — 4-е. — М.: «Вильямс», 2007. — 704 с. — ISBN 978-5-8459-1102-5.