Kurs C
menu C#
Wskaźnik na funkcje |
W książce "Rusz głową C" znalazłem fajny przykład zastosowania wskaźników na funkcje. Wyobraźmy sobie, że chcemy wyszukiwać określone wyrazy w tablicy znaków. W ten sposób musielibyśmy tworzyć kilka if'ow do każdego wyrazu oddzielny, a tym samym tworzyć kilka funkcji, które robią dokładnie to samo. Oczywiście w C jest możliwość stworzenia jednej funkcji szukającej i kilku funkcji z szukanymi słowami, które będą podmieniane. Najpierw tworzymy wyrażenie, które chcemy wyszukać. W naszym przypadku szukamy słowa "Marcin" i "lubi" w jednym zdaniu: W tym przypadku stworzyliśmy funkcje szukaj_marcin_lubi(), aby ją zastosować w przykładzie, należy się do niej odwołać za pomocą int(*funkcja)(char*) tak jak to pokazałem w przykładzie: Ten program wypisze wszystkie wiersze, gdzie występuje Marcin z lubie i Marcin z kocha: Oczywiście słowa szukane można łączyć z różnymi operatorami logicznymi, np || (lub) i !(różne). |