Funkcje

https://chacker.pl

Funkcje to samodzielne pakiety kodu, które można wywołać do wykonania za pomocą funkcji main() lub innych funkcji. Są one nietrwałe i można je wywoływać tyle razy, ile potrzeba, co zapobiega konieczności powtarzania tego samego kodu w całym programie. Format jest następujący:

Nazwa funkcji i opcjonalna lista argumentów składają się na podpis. Patrząc na to, możesz stwierdzić, czy funkcja wymaga argumentów, które zostaną użyte w przetwarzaniu procedur funkcji. Zwróć także uwagę na opcjonalną wartość zwracaną; informuje Cię, czy funkcja zwraca wartość po wykonaniu, a jeśli tak, to jakiego typu są to dane. Wywołanie funkcji może wyglądać następująco:

Poniżej znajduje się prosty przykład:

Tutaj dołączamy odpowiednie pliki nagłówkowe, które obejmują deklaracje funkcji dla wyjścia i printf. Funkcja wyjścia (1) jest zdefiniowana w stdlib.h, a printf (2) jest zdefiniowana w stdio.h. Jeśli nie wiesz, jakie pliki nagłówkowe są wymagane w oparciu o dynamicznie połączone funkcje, których używasz w programie, możesz po prostu zajrzeć do ręcznego wpisu, takiego jak man sscanf, i zapoznać się ze streszczeniem na górze. Następnie definiujemy funkcję main (3) z wartością zwracaną int. Podajemy void (4) w miejscu argumentów pomiędzy nawiasami, ponieważ nie chcemy zezwalać na przekazywanie argumentów do funkcji głównej. Następnie tworzymy zmienną o nazwie x z typem danych int (5) . Następnie wywołujemy funkcję foo (6) i przypisujemy wartość zwracaną do x. Funkcja foo po prostu zwraca wartość 8 (7). Wartość ta jest następnie drukowana na ekranie za pomocą funkcji printf, używając ciągu formatującego %d, aby traktować x jako wartość dziesiętną (8).  Wywołania funkcji modyfikują przebieg programu. Po wywołaniu funkcji wykonanie programu tymczasowo przechodzi do funkcji. Po zakończeniu wykonywania wywoływanej funkcji sterowanie powraca do funkcji wywołującej pod adresem pamięci wirtualnej bezpośrednio pod instrukcją wywołania.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *