DOUG LLOYD: Nii et kui olete näinud meie video struktuurid, sa juba tead, et meil on võime määrata oma andmete liigid. Aga kui sa oled kasutanud struktuurid, sa tead et mõnikord kasutavad neid andmeid liigid võib tegelikult olla natuke tülikas, sest me pead kasutama struct märksõna Kui me töötame koos them-- struct auto või struct õpilane. See on palju kirjutada Kui me tahame olla midagi lihtsat, nagu struktuuri. Tahame have-- tahame suutma töötada koos asju natuke rohkem stenografist viis, nagu int või char, midagi palju mugavam kirjutada. Õnneks on viis seda teha C, midagi nimetatakse typedef, mis on viis luua stenografisti või ümber kirjutada nimed andmetüüpe. Võite kirjutada andmeid liiki mis on juba olemas, või võite kirjutada andmetüübid oma. Esimene asi, mida teha, on teil määratleda tüüpi tavalisel viisil, ja siis sa lihtsalt teise nimega see midagi else-- typedef vana nimi uus nimi. Päris lihtne, eks? Nii võiksime typedef näiteks juba olemasolevate andmete tüüpi märgistamata sümbolid nagu bait. Ja siis, nüüd, kui me oleme tegi seda tüüpi definition-- uuesti, mis on tavaliselt läheb tipus Meie dot C faile, või dot H faili eraldi, saame lihtsalt Kasutage hammustavad kõikjal me oleks kasutanud märgistamata sümbolid. See on palju lühem kirjutada. In CS50 raamatukogu, teeme see-- me typedef char staar string. Kuna me ammutatava ära idee suunanäitajaks. Ja asjaolu, et string on tõesti kursor esimesele character-- array tähemärki sest see on lihtsalt nii segane, et su pea ümber selle-- kuid tegelikult see, mida me teeme. Ja see koodirida tegelikult olemas in CS50 dot H typedef char star string, lihtsalt teha, et veidi vähem tülikas tegelema. Juba oled näinud ilmselt natuke väärtus siin, kuid typedef muutub väga kui koos struktuure, nagu ma vihjas varem. Struktuurid on kaks sõnatüübi nimi. Ja nii nad võivad olla väga tüütu luua muutujaid seda tüüpi, või [kuuldamatu] on struct midagi, oma read lihtsalt saada tõesti pikk. Ja nii saate typedef tulla välja midagi palju lühem. Nii et kui ma määratleda auto järgmiselt mul minu määratlus car-- struct auto, ja avage lokkis traksidega, kõik valdkonnas oma struktuuri, tihe lokkis traksidega, semi-colon-- kui olen määratletud minu andmete tüübi, Ma ei typedef struct auto nagu auto alakriips t. Ja siis, kui ma olen teinud, et nüüd iga kord, kui ma oleks muidu kasutatud struct auto, ma ei saa lihtsalt kasutada auto alakriips t. See on palju lühem viis väljendada seda ideed selle struktuuri et ma lihtsalt loodud. Alternatiivselt, sest struktuuride on nii kasutatakse tavaliselt typedef, seal on a-- saab tegelikult määrata kirjuta algusest kuni lõpuni. Nii typedef struktuur on jälle Tavaliselt typedef, vana nimi, uus nimi kus nimed on juba tüübid, mida olete loonud. Aga sa võid tegelikult määratleda struktuuri otse keset typedef selle asemel et määratleda seda eraldi, ja seejärel teha typedef ta. Ja mis näevad välja nagu see-- typedef struct auto, Avatud lokkis traksidega, kõik oma valdkonnas mõisted, tihe lokkis traksidega, auto t. Nii vana nimi on kõik see kraam on punane, sa oled lihtsalt määratleda struktuuri ja nimetamise seda samal ajal. Ja siis uus nimi on auto alakriips t. Ja kui me hakkame kasutama Seda koodi, varem ma oleks võinud öelda, struct auto mycar semikooloniga. Noh ma ei pea seda tegema enam. Nüüd, kui ma olen kasutanud typedef, ma võib öelda auto alakriips t, mycar. See on palju lühem viis seda teha, ja tegelikult on see saab olema palju rohkem sobivat eriti kui hakkate kasutama struktuure palju rohkem oma koodi. Ma olen Doug Lloyd. See on CS50.