typedef w C/C++

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Co to jest typedef?

typedef to słowo kluczowe języków C i C++, które służy do nadania alternatywnej nazwy istniejącemu typowi danych. Nie tworzy ono zupełnie nowego typu, tylko alias, czyli wygodniejszą nazwę dla typu już istniejącego.

Składnia

typedef istniejący_typ nowa_nazwa;

Przykład:

typedef unsigned int uint;

uint liczba = 10;

W tym przykładzie uint jest aliasem typu unsigned int. Zmienna liczba ma więc typ unsigned int, ale zapis jest krótszy i czytelniejszy.

Zastosowania typedef

typedef stosuje się głównie do:

  • skracania długich nazw typów,
  • poprawy czytelności kodu,
  • definiowania wygodnych nazw dla struktur,
  • ułatwiania przenoszenia kodu między platformami.

Przykład ze strukturą:

typedef struct {
    int x;
    int y;
} Punkt;

Punkt p1;

Dzięki temu zamiast pisać długą deklarację struktury, można używać nazwy Punkt.

Czego nie robi typedef?

typedef nie służy do wyboru warunkowego, dlatego nie należy go mylić z switch. Nie definiuje też typu wyliczeniowego jak enum ani unii jak union. Jego zadaniem jest wyłącznie nadanie istniejącemu typowi innej nazwy.

W pytaniach egzaminacyjnych fraza „alternatywna nazwa typu danych” najczęściej wskazuje właśnie na typedef.