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.