Funkcja wywołania zwrotnego w C

Funkcja wywołania zwrotnego w C
Zwiedzanie w języku programowania C to funkcja oparta na zdarzeniach, która przekazuje funkcję do innej funkcji jako argument. Po prostu funkcja wywołania zwrotnego jest wtedy, gdy odniesienie „funkcji 1” jest przekazywane jako argument do „funkcji 2” za pomocą wskaźnika funkcji. Ta funkcja używa tego odniesienia do wywołania „funkcji 1”. Ten artykuł zawiera kilka ilustracji na temat korzystania z funkcji wywołania zwrotnego w języku programowania C

Składnia

Aby użyć funkcji wywołania zwrotnego, będziemy musieli zadeklarować i zainicjować wskaźnik funkcji w funkcji głównej. Funkcja Deklaracja/Składnia inicjalizacji jest tutaj zdefiniowana:

[ReturnType-of-the-CallingFunction] (*[wskaźnik-nazwa]) ([CallingFunction's-Parameters]) = & [CallingFunction-Nazwa];

Po deklaracji/inicjalizacji wskaźnika funkcji przekazamy wskaźnik do żądanej funkcji w następujący sposób:

[Pożądana nazwa funkcji] ([dowolna inna funkcja-parametr], nazwa wskaźnika);

Podpis definicji funkcji/inicjalizacji funkcji odbierającej ten argument będzie taki:

[ReturnType] [Funkcja-name] ([dowolna inna parametr funkcji], [ReturnType-of-off-of-calling-function] (*[Wskaźnik-nazwa]) ([Calling-Function's Parameters])))

W końcu wyświetlane jest wywołanie tej funkcji za pomocą przekazanego wskaźnika:

[Wskaźnik-nazwa] (Parametry funkcji);

Teoria może być nieco myląca. Jednak wdrożenie przykładów pomoże ci wyczyścić te zamieszania.

Przykład 1:

W naszym pierwszym przykładzie utworzymy prostą funkcję wywołania zwrotnego. Który nic nie zwraca i nie wymaga żadnych parametrów. Aby wyczyścić nasze nowo wyuczone koncepcje, wdrażając je. Wszystko, co musisz zrobić, to stworzyć notatnik i nadać mu wybrany tytuł. Dodać .Rozszerzenie CPP używane do plików programowania C.

Po utworzeniu dokumentu otwórz interfejs wiersza polecenia i wpisz następujące dołączone zapytanie, aby skompilować kod języka C za pomocą kompilatora GCC.

$ gcc -o [Twoja nazwa pliku] [nazwa pliku].CPP

Teraz wpisz do kolejnego polecenia dla wykonywania kodu.

$ [Twoja nazwa pliku].exe

Przejdźmy do głównego kodu. Zaczęliśmy od utworzenia podpisów funkcji u góry, ponieważ musimy utworzyć dwie funkcje. Jednym z nich będzie oddzwonienie, a drugi, którego wskaźnik funkcji jest przekazywany do funkcji wywołania zwrotnego.

W głównej funkcji zadeklarujemy/zainicjujemy nasz wskaźnik funkcji. Podczas wywołania funkcji musimy przekazać wskaźnik jako argument. Główny kod funkcji jest prezentowany na zrzucie ekranu pod spodem.

Teraz musimy tylko wypełnić nasze wywołanie zwrotne i drugą funkcję. Identyczny jak na obrazie przedstawionym poniżej. Zamodowe i inne kody funkcji są prezentowane na ekranie poniżej.

Nasze funkcje nie wykonują niczego złożonego. Aby uzyskać podstawowy pomysł, będziemy drukować wiadomości na konsoli. Aby zobaczyć, jak działa funkcja wywołania zwrotnego. Wykonaj instrukcję prezentowaną na obraz.

Sądząc po wyjściu, możemy stwierdzić, kiedy funkcjonowaliśmy wywoływanie z głównego. Poszedł do „funkcji 1” i wydrukowania wiadomości na konsoli. Następnie za pomocą wskaźnika funkcji można uzyskać dostęp „funkcję 2”, gdy wykonywane są linie kodu w „Funkcji 2”. Kontrola wróci do „funkcji 1”.

Przykład 2:

W takim przypadku zaimplementujemy proste operacje kalkulatora (i.mi., Dodaj, odejmij, pomnóż i dziel) za pomocą funkcji wywołania zwrotnego języka C. Zaczniemy od dodania podpisów funkcji operacji i funkcji wywołania zwrotnego podobnego do przykładu 1.

Następnie zadeklarujemy naszą liczbę całkowitą, operacją i zmienną wskaźnika funkcji.

Weź wejście użytkownika dla liczb całkowitych do działania i poproś użytkownika o wybranie pożądanej operacji, aby na nich wykonać.

Korzystając z warunków else-IF, wskaźnik funkcji operacji wyboru udźwigowanego przez użytkownika, aby przekazać go do funkcji zwrotnej kalkulatora.

To wszystko dla głównej funkcji, czasu na oddzwonienie i funkcje operacyjne. Wszystkie podpisy funkcji operacji pobierają dwa argumenty i zwracają wynik operacji jako wyjście. W naszej funkcji kalkulatora wydrukujemy zwróconą wartość operacji, wywołując funkcję operacji za pomocą jej wskaźnika.

W przypadku wszystkich funkcji operacji będziemy kodować i zwrócić wynik tej operacji.

W końcu nadszedł czas, aby przetestować nasz kod. Wykonaj instrukcję prezentowaną na obraz.

Jak widać, program działa sprawnie bez żadnych błędów. Spróbujmy również przetestować inne operacje.

Jak widać, nasz program jest logicznie poprawny dla wszystkich operacji. Gdy użytkownik wybiera pożądaną działalność, wybrano ten konkretny „jeśli” wyboru operacji, a wskaźnik funkcji operacji jest przekazywany do funkcji kalkulatora. Korzystanie z tej funkcji kalkulatora wskaźnika wywołuje kod wykonywalny wybranej operacji, w wyniku czego odzyskuje wynikową odpowiedź.

Teraz przetestujemy, jak dobrze reaguje nasz program, gdy użytkownik wprowadzi nieprawidłowe dane wejściowe do wyboru operacji.

Jak można wyświetlić z załączonego obrazu przedstawionego powyżej, nasz program działa sprawnie.

Wniosek:

Zróbmy szybki przegląd, który omówiliśmy w tym samouczku, jest teorią funkcji wywołania zwrotnego, wskaźnika funkcji, jej składni i kilku przykładów, aby lepiej zrozumieć. Mam nadzieję, że ten samouczek pomógł ci naprawić swoje koncepcje i wyczyścić wszystkie zapytania dotyczące funkcji wywołania zwrotnego w języku C.