Язык С++ и программирование на нем. Рейзлин В.И. - 57 стр.

UptoLike

Составители: 

59
Функция может и не возвращать никакого значения. В этом слу-
чае ее определение таково:
void имя (список описаний аргументов){ операторы }
Вызов такой функции имеет вид
имя (список фактических аргументов);
Выполнение функции, не возвращающей никакого значения, пре-
кращается оператором return без следующего за ним выражения. Вы-
полнение такой функции и возврат из нее в вызывающую функцию
происходит также и в случае, если при выполнении тела функции про-
изошел переход на самую последнюю закрывающую фигурную скобку
этой функции.
В качестве примера приведем функцию, копирующую одну стро-
ку в другую:
void copy (char* to, char* from){
while(* to ++ = *from ++ );}
void main(){
char str1[ ]=“string1”;
char str2[ ]=“string2”;
copy(str2, str1);
cout<<str<<\n”; }
Заметим, что библиотечная функция strcpy имеет другое описа-
ние и ее заголовок имеет вид:
char* strcpy (char* to, const char* from);
Её действие копирование строки from в строку to и, кроме то-
го, она возвращает указатель на строку to, т.е. в ней есть оператор
return to.
16.2. Функции. Передача аргументов
В приведенных выше примерах происходит так называемая пере-
дача аргументов по значению. Такая передача аргументов означает, что
в вызываемой функции для каждого формального аргумента создаётся
локальный объект, который инициализируется значением фактического
аргумента. Следовательно, при такой передаче изменения значений
формальных параметров функции не приводит к изменению значений
соответствующих им фактических аргументов.