Hej, słowo kluczowe typedef jest zaawansowanym elementem języka C, który pozwala tworzyć nowe nazwy typów.
Przypomina #define z trzema różnicami, które warto znać:
- W odróżnieniu od #define nadaje nazwy typom, a nie wartościom;
- Słowo kluczowe typedef jest interpretowane przez kompilator, nie przez preprocesor;
- mechanizm typedef jest bardziej elastyczny;
Jeśli chcemy używać np. terminu BYTE w odniesieniu do liczb o rozmiarze jednego bajta to wystarczy
zdefiniować BYTE jak zwykłą zmienną typu char i poprzedzić definicję słowem
kluczowym typedef.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wtedy możemy korzystać z nowego typu BYTE przy deklarowaniu
zmiennych:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Innym przykładem dla którego stosuje się typedef, jest często nadawanie nazwy
typom złożonym. Na przykład taka deklaracja:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
to sprawi, że
pointer oznacza typ, który jest funkcją zwracającą wskaźnik do tablicy dziesięciu elementów typu char.
Stosując typedef, trzeba pamiętać, że nie tworzy nowego typu tylko zamiast tego tworzy wygodne do stosowania etykiety. Za pomocą typedef, struktur, unii mamy możliwość zapewnić wydajną i przenośną obsługę naszych danych.
Przy stosowaniu typedef do nadania nazwy typowi strukturowemu można np. pominąć jej etykietę:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I użyć w następujący sposób:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.