92
m=n=-2;
printf("сумма равна %d\n",sum(m,n)); /* так тоже можно */
Обратите внимание на то, что во втором случае в качестве значений
аргументов передаются текущие значения переменных с именами m и n.
Эти переменные при вызове называются
фактическими параметрами
функции. Что происходит при обращении к функции? Система берет
текущие значения переменных m и n, например, это будут числа –2 и –2,
при входе в функцию sum использует эти значения для формальных
параметров a и b, которые затем используются в теле функции по их
именам. При этом модифицировать переменные m и n в вызывающей
функции из функции sum напрямую невозможно. Подобный подход при
вызове подпрограмм в языках программирования называется передачей
параметров
по значению, что противопоставляется
передаче по ссылке,
используемой, например, в Паскале
и позволяющей вызванной процедуре
изменять значения переменных вызывающей функции.
Достарыңызбен бөлісу: