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.