ПредишенСледващото

Списъкът с параметрите се подават на функцията, както е показано в предишната част, съдържа имената на параметрите и ръководствата на техния вид. Например, в заглавието:

двойно FSum (двойна X1, X2 двойно, междинно съединение А)

Неопределени три параметъра X1, X2, А и определя вида им. Обаждане на такава процедура може да има следния вид:

Това е само един от начините за предаване на параметри в процедурата, наречени прехвърляне на стойност. Тя работи добре. По време на разговор в памет функции са временни променливи имена X1, X2, A, и техните стойности са копирани аргумент Y, X2 и константи 5. При връзката между аргументите и променливи x1, x2, Счупена. Можете да промените стойностите на X1 в рамките на процедура, X2 и А, но това няма да се отрази на стойността на аргумента. Аргументите в този случай са защитени срещу непреднамерено променя стойността си с викащата функция. Това предотвратява случайни странични ефекти, които са понякога толкова силно се избегнат установяването на коректен и надежден софтуер.

инт броене
инт броене
инт броене

невалидни квадрат (междинно съединение); // функция прототип изчисляване на площада
нищожен квадрат (инт а) // заглавието Функцията
а * = с; // Промяна на стойността на параметъра
>

Такава функция може да се нарече конвенционален метод за предаване на себе си името на аргумента. Например:

Int x1 = 2;
квадрат (х1);

В резултат на тази покана ще получи стойността на променливата x1 4.

Тъй като референтни параметри са посочени в тялото на функцията се нарича с малкото му име, програмистът може случайно да приеме референтен параметър за параметъра приет от стойност. Това може да доведе до неприятен бъг, ако първоначалните стойности на променливите са се променили от повикващия.

Ето един пример на същия по-рано квадратна функция. но с параметъра предаване чрез използване на курсора на връзка:

невалидни квадрат (междинно *); // функция прототип изчисляване на площада
невалидни квадрат (междинно * а) // заглавието Функцията * а * = * а; // Промяна на стойността на параметъра
>

Обаждане на такава функция може да се извърши, например, както следва:

Int x1 = 2;
квадрат (х1);

Подкрепете проекта - споделете линка, благодаря!