DOUG LLOYD: Takže, ak ste Videl naše video na štruktúry,
už viete, že máme schopnosť definovať vlastné dátové typy.
Ale ak ste použili štruktúry, vieš že niekedy používanie týchto dátových typov
môže byť v skutočnosti trochu ťažkopádny, pretože my
musieť použiť kľúčové slovo struct keď pracujeme s them--
struct auta alebo struct študentom.
To je veľa písať ak chceme len mať
niečo jednoduchého, ako štruktúra.
Chceme have-- chceme byť schopný pracovať s vecami
trochu skratka spôsob, ako je int alebo char, niečo veľa
pohodlnejšie písanie.
>> Našťastie je tu spôsob, ako to urobiť v C,
s niečím nazýva typedef, ktorý je spôsob, ako vytvoriť skratku alebo prepísaný
mená pre dátové typy.
Môžete prepísať dáta, typy, ktoré už existujú,
alebo môžete písať dátové typy svoje vlastné.
>> Prvá vec, ktorú urobiť, je vás definovať typ normálnym spôsobom,
a potom stačí alias to k niečomu else-- typedef staré meno nové meno.
Celkom jednoduché, nie?
Takže by sme mohli typedef napríklad, už existujúce dáta
typ unsigned char ako byte.
A potom, od teraz, potom, čo sme vyrobená tento typ definition-- znova
ktorý je zvyčajne bude na vrchole našich bodka súborov C, alebo v H súboru dot
zvlášť, môžeme len Používajte uhryznúť všade
by sme použili unsigned char.
To je veľa kratšie písať.
>> V knižnici CS50 to, čo robíme tohle-- sme typedef char hviezdu ako reťazec.
Pretože sme abstrahovať preč myšlienka ukazovateľov.
A skutočnosť, že reťazec je naozaj ukazovateľ na prvý character--
rad znakov, pretože je to len
tak mätúce, aby si hlavu okolo that-- ale v skutočnosti je to, že to, čo robíme.
A tento riadok kódu skutočne existuje v CS50 dot H typedef char hviezda reťazec,
Len aby sa to o niečo menej ťažkopádne musieť vysporiadať s.
Už ste videli asi Trochu hodnoty tu,
ale typedef sa stáva veľký v kombinácii s konštrukciou,
ako som spomenul už skôr.
Konštrukcia má názov typu dvoch slov.
A tak môžu byť naozaj otravné vytvárať premenné tohto typu,
alebo [nepočuteľné] of struct niečo, vaše riadky môžu len získať naozaj, ale naozaj dlho.
A tak môžete použiť typedef prísť s niečím oveľa kratšie.
>> Takže keď som definovať auto takto, mám moja definícia car-- struct autá,
a potom otvorte zloženú zátvorkou, všetky pole mojej štruktúry,
v blízkosti zložená zátvorka, semi-colon-- potom, čo ste definovali svoj dátový typ,
Môžem typedef struct auto ako auto podčiarknutie t.
A potom, keď som urobil, že teraz každý Doba by som inak použité struct
auto, môžem len použiť auto podčiarknutie t.
To je veľa kratšia, o spôsob, ako vyjadriť túto myšlienku tejto štruktúry
že som práve vytvorili.
>> Alternatívne, pretože štruktúr sú tak bežne používané v definície typu,
je tu je-- môžete skutočne definovať zadať medzi začiatkom a koncom.
Takže štruktúra typedef je opäť obvykle typedef, staré meno, nový názov,
kde mená sú už typy, ktoré ste vytvorili.
Ale môžete skutočne definovať štruktúru priamo uprostred typedef
namiesto toho, aby musel definovať to samostatne, a potom
urobiť definície typu to.
A to by vyzerať rovnako ako tohle-- typedef struct auto,
open zložená zátvorka, všetky vaše polia definície, v jeho blízkosti je zložená zátvorka, auto t.
Takže starý názov je všetky tie veci v červená, ste len definujúce štruktúru
a menovať to v rovnakom čase.
A potom nový názov je auto podčiarknik t.
A tak ak by sme začať používať to v kóde, skôr som
mohol povedať, struct auto MyCar bodkočiarka.
No ja nemám k tomu, že už nie.
Teraz, keď som použil typedef, ja stačí povedať, auto podčiarknik t, MyCar.
To je veľa kratšie spôsob, to urobiť, a v skutočnosti, to je
Bude to oveľa viac výhodné, a to najmä
ako začnete používať štruktúr oveľa viac v kóde.
>> Som Doug Lloyd.
To je CS50.