DOUG Lloyd: Joten jos olet nähneet video rakenteisiin,
tiedät jo, että meillä kyky määritellä omia tietotyyppejä.
Mutta jos olet käyttänyt rakenteita, tiedät että joskus käyttää näitä tietotyyppejä
voi todella olla hieman kömpelöä, koska me
täytyy käyttää struct avainsanan kun olemme kanssa them--
struct auto tai struct opiskelija.
Että on paljon kirjoittaa jos me vain haluamme olla
jotain yksinkertaista, kuten rakenne.
Haluamme have-- haluamme pystyä toimimaan asioita
hieman pika tavalla, kuten int tai char, jotain paljon
helpompaa kirjoittaa.
>> Onneksi tapa tehdä tämä C,
jotain kutsutaan typedef, joka on tapa luoda pika tai kirjoittaa uudelleen
nimet tietotyyppejä.
Voit kirjoittaa tiedot tyypit jo olemassa,
tai voit kirjoittaa dataa eri omaa.
>> Ensimmäinen asia, et on sinun määritellä tyyppi normaalilla tavalla,
ja sitten vain alias sitä jotain else-- typedef vanha nimi uusi nimi.
Melko yksinkertainen, eikö?
Jotta voisimme typedef esimerkiksi, jo olemassa olevat tiedot
tyyppi unsigned char kuin tavu.
Ja sitten, tästä lähtien, kun olemme teki tämän tyyppinen definition-- uudelleen,
joka on yleensä olemaan huipulla meidän piste C tiedostoja, tai piste H tiedosto
erikseen, voimme vain Käytä purra kaikkialla
olisimme käyttää unsigned char.
Se on paljon lyhyempi kirjoittaa.
>> Vuonna CS50 kirjasto, teemme this-- me typedef char tähden string.
Koska me otetun pois ajatus viitteitä.
Ja se, että merkkijono on todella osoitin ensimmäiseen character--
joukko merkkejä, koska se on vain
niin hämmentävää saa pään ympärillä that-- mutta itse asiassa se mitä teemme.
Ja tämä rivi koodia todella on olemassa vuonna CS50 piste H typedef char tähti nuora,
vain tehdä, että hieman vähemmän hankala on käsiteltävä.
Jo olet nähnyt luultavasti hieman arvosta täällä,
mutta typedef tulee suuri yhdistettynä rakenteita,
kuten viittasin aikaisemmin.
Rakenteet on kahden sanan tyypin nimi.
Ja jotta he voivat olla todella ärsyttävää luoda muuttujia kyseisen tyypin,
tai [äänetön] struct jotain, sinun linjat voi vain saada todella, todella pitkä.
Ja joten voit käyttää typedef tulla kanssa jotain paljon lyhyempi.
>> Jos siis määritellä auto näin, minulla on minun määritelmä car-- struct auto,
ja avaa kihara ahdin, kaikki aloilla minun rakenne,
lähellä kihara ahdin, semi-colon-- kun olen määritellyt tietoni tyyppi,
Voin typedef struct auton auto alaviiva t.
Ja sitten kun olen tehnyt, että nyt jokainen aika olisin muuten käyttää struct
auto, voin vain käyttää autoa alaviivaa t.
Se on paljon lyhyempi tapa ilmaista tämä ajatus tämän rakenteen
että olen juuri luonut.
>> Vaihtoehtoisesti, koska rakenteet ovat niin yleisesti käytetty typedef,
siellä a-- voit itse määritellä kirjoita alun ja lopun.
Joten typedef rakenne taas on yleensä typedef, vanha nimi, uusi nimi,
jossa nimet ovat jo tyypit, jotka olet luonut.
Mutta voit itse määritellä rakenne aivan keskellä typedef
sen sijaan, määritellä erikseen, ja sitten
tehdä typedef siitä.
Ja joka näyttää aivan kuten this-- typedef struct auto,
avoin kihara ahdin, kaikki kentän määritelmät, lähellä kihara ahdin, auto t.
Joten vanha nimi on kaikki jutut punainen, olet vain määrittelemällä rakenne
ja nimeämällä se samanaikaisesti.
Ja sitten uusi nimi on auto alaviiva t.
Joten jos alamme käyttää Tämän koodin, aiemmin I
olisi voinut sanoa, struct auto MyCar puolipisteellä.
No en tarvitse tehdä sitä enää.
Nyt kun olen käyttänyt typedef, I voi vain sanoa auton alaviiva t, MyCar.
Se on paljon lyhyemmän tavalla tehdä se, ja itse asiassa, se on
olemaan paljon enemmän kätevä, varsinkin
kun alkaa käyttää rakenteiden paljon enemmän koodissa.
>> Olen Doug Lloyd.
Tämä on CS50.