Funkcje 75
Kiedy wartość jest odkładana na stos, to jest umieszczana w komórce powyżej wskaźnika stosu. Wskaźnik stosu jest przesuwany na tę komórkę. Kiedy wartość jest zdejmowana, to faktycznie zmieniany jest tylko wskaźnik stosu. Rysunek 5.6. wyjaśnia ten mechanizm.
Stos
zmienna
mojWiek
twojWiek
100
101
102
103
104
105
106
107
108
109
110
Wskaźnik stosu
108
poza stosem
Kiedy program wywołuje funkcję to tworzy dla niej ramkę stosu. Ramka stosu to obszar na stosie, przeznaczony dla danej funkcji. Jest to bardzo ogólne i różnie wykonywane na różnych komputerach. Można jednak wyróżnić kilka podstawowych kroków:
1. Umieść na stosie adres powrotny. Kiedy funkcja się skończy, to program
wróci do tego adresu.
2. Zrób na stosie miejsca dla zadeklarowanej wartości zwracanej przez funkcję.
3. Umieść na stosie argumenty funkcji.
4. Przejdź do wykonywania funkcji.
5. Umieść na stosie zmienne lokalne funkcji według ich definicji.
W tym rozdziale wprowadziliśmy funkcje. Funkcje to podprogramy, do których
można przekazywać argumenty, i które mogą zwracać wartości. Wykonanie każdego programu w C++ rozpoczyna się od funkcji main (). Funkcja main () wywołuje inne funkcje programu.
Funkcję deklaruje się za pomocą prototypu, który opisuje typ wartości zwracanej, nazwę funkcji i typy jej parametrów. Funkcja może być zadeklarowana jako wewnętrzna. Za pomocą prototypu można deklarować domyślne wartości dla jednego lub więcej parametrów funkcji.
Kiedy wartość jest odkładana na stos, to jest umieszczana w komórce powyżej wskaźnika stosu. Wskaźnik stosu jest przesuwany na tę komórkę. Kiedy wartość jest zdejmowana, to faktycznie zmieniany jest tylko wskaźnik stosu. Rysunek 5.6. wyjaśnia ten mechanizm.
zmienna
mojWiek
twojWiek
100
101
102
103
104
105
106
107
108
109
110
Wskaźnik stosu
s
poza stosem
Kiedy program wywołuje funkcję to tworzy dla niej ramkę stosu. Ramka stosu to obszar na stosie, przeznaczony dla danej funkcji. Jest to bardzo ogólne i różnie wykonywane na różnych komputerach. Można jednak wyróżnić kilka podstawowych kroków:
1. Umieść na stosie adres powrotny. Kiedy funkcja się skończy, to program wróci do tego adresu.
2. Zrób na stosie miejsca dla zadeklarowanej wartości zwracanej przez funkcję.
3. Umieść na stosie argumenty funkcji.
4. Przejdź do wykonywania funkcji.
5. Umieść na stosie zmienne lokalne funkcji według ich definicji.
W tym rozdziale wprowadziliśmy funkcje. Funkcje to podprogramy, do których można przekazywać argumenty, i które mogą zwracać wartości. Wykonanie każdego programu w C++ rozpoczyna się od funkcji main (). Funkcja main () wywołuje inne funkcje programu.
Funkcję deklaruje się za pomocą prototypu, który opisuje typ wartości zwracanej, nazwę funkcji i typy jej parametrów. Funkcja może być zadeklarowana jako wewnętrzna. Za pomocą prototypu można deklarować domyślne wartości dla jednego lub więcej parametrów funkcji.