DOUG LLOYD: Takže, pokud jste Viděl naše video na struktury,
již víte, že máme schopnost definovat vlastní datové typy.
Ale pokud jste použili struktury, víš že někdy používání těchto datových typů
může být ve skutečnosti trochu těžkopádný, protože my
muset použít klíčové slovo struct když pracujeme s them--
struct auta nebo struct studentem.
To je hodně psát pokud chceme jen mít
něco jednoduchého, jako struktura.
Chceme have-- chceme být schopen pracovat s věcmi
trochu zkratka způsob, jako je int nebo char, něco hodně
pohodlnější psaní.
>> Naštěstí je tu způsob, jak to udělat v C,
s něčím nazývá typedef, který je způsob, jak vytvořit zkratku nebo přepsaný
jména pro datové typy.
Můžete přepsat data, typy, které již existují,
nebo můžete psát datové typy své vlastní.
>> První věc, kterou udělat, je vás definovat typ normálním způsobem,
a pak stačí alias to k něčemu else-- typedef staré jméno nové jméno.
Docela jednoduché, ne?
Takže bychom mohli typedef například, již existující data
typ unsigned char jako byte.
A pak, od teď, poté, co jsme vyrobena tento typ definition-- znovu
který je obvykle bude na vrcholu našich tečka souborů C, nebo v H souboru dot
zvlášť, můžeme jen Používejte kousnout všude
bychom použili unsigned char.
To je hodně kratší psát.
>> V knihovně CS50 to, co děláme tohle-- jsme typedef char hvězdu jako řetězec.
Protože jsme abstrahovat pryč myšlenka ukazatelů.
A skutečnost, že řetězec je opravdu ukazatel na první character--
řada znaků, protože je to jen
tak matoucí, aby si hlavu kolem that-- ale ve skutečnosti je to, že to, co děláme.
A tento řádek kódu skutečně existuje v CS50 dot H typedef char hvězda řetězec,
Jen aby se to o něco méně těžkopádné muset vypořádat s.
Už jste viděli asi Trochu hodnoty zde,
ale typedef se stává velký v kombinaci s konstrukcí,
jak jsem zmínil již dříve.
Konstrukce má název typu dvou slov.
A tak mohou být opravdu otravné vytvářet proměnné tohoto typu,
nebo [neslyšitelné] of struct něco, vaše řádky mohou jen získat opravdu, ale opravdu dlouho.
A tak můžete použít typedef přijít s něčím mnohem kratší.
>> Takže když jsem definovat auto takto, mám moje definice car-- struct auta,
a pak otevřete složenou závorkou, všechny pole mé struktury,
v blízkosti složená závorka, semi-colon-- poté, co jste definovali svůj datový typ,
Můžu typedef struct auto jako auto podtržení t.
A pak, když jsem udělal, že nyní každý Doba bych jinak použity struct
auto, mohu jen použít auto podtržení t.
To je hodně kratší, o způsob, jak vyjádřit tuto myšlenku této struktury
že jsem právě vytvořili.
>> Alternativně, protože struktur jsou tak běžně používané v definice typu,
je tu je-- můžete skutečně definovat zadat mezi začátkem a koncem.
Takže struktura typedef je opět obvykle typedef, staré jméno, nový název,
kde jména jsou již typy, které jste vytvořili.
Ale můžete skutečně definovat strukturu přímo uprostřed typedef
místo toho, aby musel definovat to samostatně, a poté
udělat definice typu to.
A to by vypadat stejně jako tohle-- typedef struct auto,
open složená závorka, všechny vaše pole definice, v blízkosti je složená závorka, auto t.
Takže starý název je všechny ty věci v červená, jste jen definující strukturu
a jmenovat to ve stejnou dobu.
A pak nový název je auto podtržítko t.
A tak pokud bychom začít používat to v kódu, dříve jsem
mohl říct, struct auto MyCar středník.
No já nemám k tomu, že už ne.
Teď, když jsem použil typedef, já stačí říct, auto podtržítko t, MyCar.
To je hodně kratší způsob, to udělat, a ve skutečnosti, to je
Bude to mnohem více výhodné, a to zejména
jak začnete používat struktur mnohem více v kódu.
>> Jsem Doug Lloyd.
To je CS50.