niedziela, 22 października 2017

Funkcje zwracające w języku C++ i zasięgi zmiennej

Funkcja zwracająca wartość wylicza wartość i odsyła tę wartość do funkcji wywołującej, wtedy mówi się, że funkcja zwraca wartość.

Funkcje zwracające wartość muszą zawierać instrukcje return z wartością, która ma być zwrócona do funkcji wywołującej. Zwracana wartość może być stałą, zmienną lub wyrażeniem, np.
  • return a*b;
  • return Wynik;
Parametr - wartość przekazywana funkcji, a wartość zwracana to wartość przekazywana z funkcji.

W funkcjach czy procedurach parametry mogą być przekazywane na dwa sposoby:
  • przez wartość: dla parametru formalnego i aktualnego o dwóch różnych nazwach zostaną zarezerwowane dwa miejsca w pamięci (o różnych adresach)
    • są traktowane jako zmienne lokalne
    • void nazwa_funkcji (lista parametrów)
Wartości zmiennych
x
y
a
b
Na początku procedury Wartości
3
8
3
8
Na końcu procedury Wartości
13
-2
3
8
Po powrocie do programu głównego
(zmienna przestała istnieć)
(zmienna przestała istnieć)
3
8
  • przez zmienną (przez referencję): dla parametru formalnego i aktualnego o dwóch różnych nazwach zostanie zarezerwowane to samo miejsce w pamięci ( o tym samym adresie)
    • void nazwa_funkcja (nazwa_typu &parametr1, nazwa_typu &parametr2)
    • przed nazwą parametru należy umieścić znak &
Wartości zmiennych
x
y
a
b
Na początku procedury Wartości
3
8
3
8
Na końcu procedury Wartości
13
-2
13
-2
Po powrocie do programu głównego
(przestała istnieć nazwa zmiennej x)
(przestała istnieć nazwa zmiennej y)
13
-2

Ze względu na zasięgi zmiennej rozróżniamy zmienne:
  • globalne
  • lokalne
Parametry formalne przekazywane przez wartość w treści danej procedury lub funkcji są traktowane jak zmienne lokalne. Ewentualnie operacje wykonywane na tych parametrach wewnątrz procedury lub funkcji nie powodują zmian wartości odpowiadających im parametrów aktualnych.







Brak komentarzy:

Prześlij komentarz