Funkcje 
Słowo kluczowe typedef

Deklaracje wskaźników do funkcji można jeszcze bardziej skomplikować - np. funkcja, której argumentem jest wskaźnik do funkcji i zwraca wskaźnik do funkcji. Stają się one bardzo nieczytelne. Z pomocą przychodzi nam słowo kluczowe typedef

typedef służy do wprowadzania innej nazwy na istniejący już typ. Nowa nazwa musi być poprawnym identyfikatorem.

typedef unsigned long long ullong;
 
ullong n=10;

W powyższym przykładzie zdefiniowaliśmy nowy typ o nazwie ullong. Od tej pory możemy używać tej nazwy na typ tak samo jak jej dłuższej wersji unsigned long long.

Analogicznie można zdefiniować typ wskaźnika do funkcji o określonej sygnaturze.

typedef bool (*WskaznikDoFuncji)(int,int);
 
void funkcja(WskaznikDoFunkcji f)
{
  ... 
  bool r = f(a,b);
}
 
WskaznikDoFunkcji g(WskaznikDoFunkcji f)
{
  ...
  bool r = f(a,b);
  return f;
}
 

Przykład - wskaźniki do funkcji i typedef.

Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ
Daniel Wilczak