Sposoby wywołania funkcji w języku programowania C
Istnieją dwie różne metody wywoływania funkcji w języku programowania C: wywołanie wartości i wywołanie przez odniesienie. W poprzednim wysyłamy kopię faktycznej zmiennej do funkcji, wywołując ją. Z tego powodu każda zmiana wartości tej zmiennej wewnątrz ciała funkcji nie jest odzwierciedlona na zewnątrz. Z drugiej strony, w tym drugim przypadku wysyłamy odniesienie do faktycznej zmiennej do funkcji, wywołując ją, dlatego każda zmiana wartości tej zmiennej wewnątrz ciała funkcji jest również odzwierciedlona na zewnątrz. Będziesz w stanie dobrze zrozumieć tę koncepcję, przechodząc przez następujące dwa przykłady.
Przykład nr 1: Metoda wywołania według wartości
Jak mówi nagłówek, w tym przykładzie będziemy wywoływać funkcję według wartości. W tym celu stworzyliśmy skrypt C pokazany na poniższym obrazku:
W tym skrypcie zdefiniowaliśmy dwa różne liczby całkowite, a następnie wydrukowaliśmy ich oryginalne wartości na terminalu, abyśmy mogli łatwo porównać je z ich nowymi wartościami. Następnie nazwali funkcję „newValues ()”. Wewnątrz tej funkcji wartość pierwszej zmiennej jest zwiększana o „2”, a wartość drugiej zmiennej jest zwiększana o „4”. Następnie wydrukowaliśmy nowe wartości tych zmiennych na terminalu. Następnie, ponownie w funkcji „Main ()”, wydrukowaliśmy wartości tych zmiennych na terminalu, aby sprawdzić, czy zmiana ich wartości jest odzwierciedlona poza funkcją „newValues ()”, czy nie.
Aby skompilować ten przykładowy skrypt, użyliśmy następującego polecenia:
Funkcja $ GCC.Funkcja C -O
Do uruchomienia tego skryptu użyliśmy polecenia pokazanego poniżej:
$ ./funkcjonować
Ponieważ w tym przykładzie nazywaliśmy naszą funkcję, zmienione wartości naszych zmiennych były wyświetlane tylko podczas wykonywania funkcji, a nie przed i po wywołaniu funkcji. Można to zobaczyć w następującym wyjściu:
Przykład nr 2: Metoda wywołania przez referencję
Teraz będziemy używać tego samego skryptu, który zaprojektowaliśmy w naszym pierwszym przykładzie. Jednak tym razem będziemy wywoływać naszą funkcję przez odniesienie. W tym celu możesz spojrzeć na zmodyfikowany skrypt pokazany na poniższym obrazku:
W tym skrypcie, zamiast przekazać kopię zmiennych do funkcji „newValues ()”, przekazaliśmy do niej ich odniesienia. Ta niewielka zmiana zostanie przedstawiona na wyjściu naszego zmodyfikowanego skryptu.
Możesz zweryfikować na podstawie wyjścia pokazanego na poniższym obrazie, że tym razem zmienione wartości zostały również przedstawione poza funkcją „newValues ()” po jej wywołaniu. Jest tak, ponieważ zmiana jest wprowadzana w rzeczywistych zmiennych, a nie w ich kopiach.
Wniosek
Ten artykuł został napisany, aby dać ci wyobrażenie o różnych sposobach wywołania funkcji w języku programowania C. Istnieją przede wszystkim dwa sposoby tego: wywołanie wartości i wywołanie przez odniesienie. Czytając ten artykuł, będziesz mógł nauczyć się obu tych metod wraz z ich znaczeniem w języku programowania C.