DOUG LLOYD: Więc jeśli masz widział nasz film na strukturach,
wiesz już, że mamy Możliwość definiowania własnych typów danych.
Ale jeśli już używanych struktur, wiesz że czasami przy użyciu tych typów danych
rzeczywiście może być trochę kłopotliwe, bo my
trzeba używać słowa kluczowego struct kiedy pracujesz z them--
Samochód struct lub student struct.
To dużo, aby wpisać jeśli po prostu chcesz mieć
coś prostego, jak struktury.
Chcemy have-- chcemy być w stanie pracować z rzeczy
trochę bardziej skróconą drogą, jak int lub char, coś a lot
bardziej wygodne do pisania.
>> Na szczęście, istnieje sposób, aby to zrobić w C,
z czegoś, co nazywa typedef, która jest sposób tworzenia skrótów lub przepisany
Nazwy typów danych.
Możesz przepisać dane typy, które już istnieją,
lub możesz napisać typy danych własnych.
>> Pierwszą rzeczą, którą musisz zrobić, to cię określić typ w normalny sposób,
a potem po prostu alias go do czegoś else-- typedef starą nazwę nową nazwę.
Całkiem proste, prawda?
Tak więc można było typedef np już istniejących danych
typ unsigned char jako bajt.
A następnie, od teraz, po mamy ponownie wykonane tego typu definition--,
który zwykle będzie w górnej naszych dot plików C, lub w pliku dot H
oddzielnie, możemy po prostu używać ugryźć wszędzie
użylibyśmy unsigned char.
To dużo krótszy pisać.
>> W bibliotece CS50 jest, robimy this-- możemy typedef char gwiazdę jako ciąg.
Ponieważ wydobywane stąd pomysł wskaźników.
A fakt, że ciąg jest naprawdę wskaźnik do pierwszego character--
tablica znaków, bo to tylko
tak skomplikowane, aby wokół twojej głowie that-- ale w tym, że to, co robimy.
I ta linia kodu faktycznie istnieje w CS50 Dot H typedef char gwiazdkowy ciąg,
po prostu zrobić, że trochę mniej uciążliwe mieć do czynienia.
Już widziałem chyba Trochę wartości tutaj,
ale typedef staje wielka w połączeniu ze strukturami
jak wspomniałem wcześniej.
Struktury mają nazwy typu dwa słowa.
I tak może być naprawdę denerwujące do tworzenia tego typu zmiennych,
lub [niesłyszalne] z struct coś, twój linie mogą po prostu bardzo, bardzo długo.
A więc można używać typedef przyjść z czymś o wiele krótszy.
>> Więc jeśli mogę zdefiniować samochód następująco, mam moja definicja car-- struct samochodu,
a następnie otworzyć nawias klamrowy, wszystkie pola mojej konstrukcji,
blisko nawias klamrowy, pół-colon-- po tym, jak zdefiniowano mój typ danych,
Mogę typedef struct Samochód jak samochód podkreślenia t.
A potem, kiedy zrobiłem, że teraz każda razem byłby inny sposób wykorzystywane struct
samochód, mogę tylko używać samochodu podkreślenia t.
To dużo krótszy o sposób wyrazić tę ideę tej struktury
że właśnie stworzył.
>> Alternatywnie, ponieważ struktury jest to powszechnie stosowane w typedef,
tam A-- rzeczywiście można zdefiniować typ pomiędzy początkiem i końcem.
Więc znów struktura typedef jest zwykle typedef, stara nazwa, nowa nazwa,
których nazwy są już typy, które zostały utworzone.
Ale rzeczywiście można określić strukturę w samym środku typedef
Zamiast konieczności definiowania to oddzielnie, a następnie
zrobić typedef to.
I to będzie wyglądać podobnie jak this-- typedef struct samochodu,
otwarty nawias klamrowy, wszystkie swoje pola definicje, w pobliżu samochodu nawias klamrowy, t.
Więc stara nazwa to wszystkie rzeczy w czerwony, jesteś po prostu definiowanie struktury
i nadając mu w tym samym czasie.
I wtedy nowa nazwa Samochód podkreślenia jest t.
I tak, jeśli zaczniemy używać to w kodzie, wcześniej I
mógłby powiedzieć, struktura Samochód mycar średnik.
Cóż, nie musisz tego robić więcej.
Teraz, użyłem typedef, ja Można tylko powiedzieć, samochód podkreślenia t, mycar.
To dużo krótszy sposób aby to zrobić, w rzeczywistości, to
będzie dużo więcej wygodny, szczególnie
jak zaczniesz używać struktur wiele więcej w kodzie.
>> Jestem Doug Lloyd.
To CS50.