Когда вы пишете пользовательскую функцию, вы можете определить, будет ли ваша функция возвращать значение вызывающей стороне или нет. Чтобы вернуть значение вызывающей стороне, необходимы две вещи.
Во-первых, ваша функция должна указать, значение какого типа будет возвращено. Это делается путем установки типа возвращаемого значения функции, который является типом, определенным перед именем функции. В приведенном предыдущем примере функция getValueFromUser имеет тип возвращаемого значения void, а функция main имеет тип возвращаемого значения int. Обратите внимание, что это не определяет, какое конкретное значение будет возвращено – только тип значения.
Во-вторых, внутри функции, которая будет возвращать значение, мы используем инструкцию return, чтобы указать конкретное значение, возвращаемое вызывающей стороне. Конкретное значение, возвращаемое функцией, называется возвращаемым значением. Когда инструкция return выполняется, возвращаемое значение копируется из функции обратно в вызывающую функцию. Этот процесс называется возвратом по значению.
Давайте рассмотрим простую функцию, которая возвращает целочисленное значение, и пример программы, которая ее вызывает: