1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 DOUG LLOYD: Svo ef þú hefur séð vídeó okkar á mannvirki, 3 00:00:07,220 --> 00:00:10,950 þú veist nú þegar að við höfum getu til að skilgreina eigin gögn okkar gerðum. 4 00:00:10,950 --> 00:00:14,530 En ef þú hefur notað mannvirki, þú veist sem stundum með þeim gagnatög 5 00:00:14,530 --> 00:00:16,446 geta raunverulega vera a lítill fyrirferðarmikill vegna þess að við 6 00:00:16,446 --> 00:00:19,210 þarft að nota strúktúr leitarorð þegar við erum að vinna með them-- 7 00:00:19,210 --> 00:00:21,257 struct bíl eða struct nemandi. 8 00:00:21,257 --> 00:00:23,090 Það er mikið til að slá ef við viljum bara að hafa 9 00:00:23,090 --> 00:00:24,830 eitthvað einfalt, eins og uppbyggingu. 10 00:00:24,830 --> 00:00:26,390 Við viljum have-- við viljum vera fær um að vinna með hluti 11 00:00:26,390 --> 00:00:29,350 aðeins meira styttingin hátt, eins int eða char, eitthvað miklu 12 00:00:29,350 --> 00:00:31,240 þægilegra að slá. 13 00:00:31,240 --> 00:00:33,100 >> Sem betur fer, það er leið til að gera þetta í C, 14 00:00:33,100 --> 00:00:37,150 með eitthvað sem kallast typedef, sem er leið til að búa til hugtak eða endurskrifa 15 00:00:37,150 --> 00:00:38,640 nöfn gagnatög. 16 00:00:38,640 --> 00:00:40,720 Þú getur umrita gögn tegundir sem þegar eru fyrir hendi, 17 00:00:40,720 --> 00:00:43,970 eða þú getur skrifað gagnatög á eigin spýtur. 18 00:00:43,970 --> 00:00:46,890 >> The fyrstur hlutur þú gera er þér skilgreina tegund á venjulegan hátt, 19 00:00:46,890 --> 00:00:52,271 og þá alias bara það að eitthvað else-- typedef gamla nafn nýtt nafn. 20 00:00:52,271 --> 00:00:53,520 Mjög einfalt, ekki satt? 21 00:00:53,520 --> 00:00:56,240 Þannig að við gætum typedef td nú þegar fyrirliggjandi gögn 22 00:00:56,240 --> 00:01:00,266 gerð óundirritaður bleikju sem bæti. 23 00:01:00,266 --> 00:01:03,140 Og þá, héðan í frá, eftir að við höfum gerði þessi tegund definition-- aftur, 24 00:01:03,140 --> 00:01:07,570 sem er yfirleitt að fara að vera efst punkts okkar C skrár, eða í punktur h skrá 25 00:01:07,570 --> 00:01:10,590 sérstaklega, við getum bara nota bíta alls staðar 26 00:01:10,590 --> 00:01:12,180 við hefðum notað óundirritaður bleikju. 27 00:01:12,180 --> 00:01:14,300 Það er mikið styttri að gerð. 28 00:01:14,300 --> 00:01:19,280 >> Í bókasafninu CS50 er, gera við this-- við typedef bleikju stjörnuna sem streng. 29 00:01:19,280 --> 00:01:21,400 Þar sem við horfir burt hugmynd af ábendingum. 30 00:01:21,400 --> 00:01:25,072 Og sú staðreynd að band er í raun bendi á fyrsta character-- 31 00:01:25,072 --> 00:01:26,780 fylki af stöfum, vegna þess að það er bara 32 00:01:26,780 --> 00:01:29,863 svo ruglingslegt að fá höfuðið í kring that-- en í raun það er það sem við gerum. 33 00:01:29,863 --> 00:01:35,140 Og þessi lína af kóða í raun til í CS50 punktur h typedef bleikju stjörnu band, 34 00:01:35,140 --> 00:01:39,021 bara til að gera það aðeins minna fyrirferðarmikill að þurfa að takast á við. 35 00:01:39,021 --> 00:01:41,520 Þegar þú hefur séð sennilega svolítið um gildi hér, 36 00:01:41,520 --> 00:01:44,160 en typedef verður frábær þegar þau eru gefin með mannvirki, 37 00:01:44,160 --> 00:01:45,780 eins og ég vék að áðan. 38 00:01:45,780 --> 00:01:48,550 Mannvirki hafa tveggja orða tegund nafn. 39 00:01:48,550 --> 00:01:52,020 Og svo þeir geta verið mjög pirrandi til að búa til breytur af því tagi, 40 00:01:52,020 --> 00:01:56,310 eða [inaudible] af struct eitthvað, þinn Línurnar geta bara virkilega, virkilega lengi. 41 00:01:56,310 --> 00:01:59,400 Og svo þú getur notað typedef að koma upp með eitthvað mikið styttri. 42 00:01:59,400 --> 00:02:04,650 >> Svo ef ég skilgreina bíl sem hér segir, ég hef Skilgreining mín á car-- struct bíl, 43 00:02:04,650 --> 00:02:07,230 og þá opna hrokkið Brace, allt akurland uppbyggingu mína, 44 00:02:07,230 --> 00:02:11,030 nálægt hrokkið Brace, hálf-colon-- eftir að ég hef skilgreint gögn tegund mína, 45 00:02:11,030 --> 00:02:15,680 Ég get typedef strúktúr bíll eins og bíll undirstrik t. 46 00:02:15,680 --> 00:02:19,670 Og svo þegar ég hef gert það, nú á hverjum þegar ég hefði annars notað struct 47 00:02:19,670 --> 00:02:22,680 bíll, ég get bara notað bílinn undirstrik t. 48 00:02:22,680 --> 00:02:26,480 Það er mikið styttri um leið til að tjá þessa hugmynd þessa mannvirkis 49 00:02:26,480 --> 00:02:28,530 sem ég stofnaði bara. 50 00:02:28,530 --> 00:02:33,620 >> Einnig, vegna þess að mannvirki eru svo almennt notuð í typedef, 51 00:02:33,620 --> 00:02:37,980 það er a-- þú getur raunverulega skilgreina tegund í milli byrjun og enda. 52 00:02:37,980 --> 00:02:42,020 Svo typedef uppbygging aftur er yfirleitt typedef, gamla nafn, nýtt nafn, 53 00:02:42,020 --> 00:02:45,360 þar sem nöfn eru nú þegar tegundir sem þú hefur búið til. 54 00:02:45,360 --> 00:02:49,620 En þú getur raunverulega að skilgreina uppbyggingu réttur í the miðja af the typedef 55 00:02:49,620 --> 00:02:51,760 í stað þess að þurfa að skilgreina það sérstaklega, og þá 56 00:02:51,760 --> 00:02:52,990 gera typedef af því. 57 00:02:52,990 --> 00:02:55,780 Og það myndi líta bara eins og this-- typedef strúktúr bíll, 58 00:02:55,780 --> 00:02:59,957 opinn hrokkið Brace, öll akur þinn skilgreiningar, nálægt hrokkið Brace, bíll t. 59 00:02:59,957 --> 00:03:03,290 Svo gamla nafn er allt það efni í rautt, þú ert bara að skilgreina uppbyggingu 60 00:03:03,290 --> 00:03:05,610 og að tilgreina það á sama tíma. 61 00:03:05,610 --> 00:03:07,790 Og þá nýtt nafn er bíll undirstrik ekki. 62 00:03:07,790 --> 00:03:10,150 Og svo ef við byrjum að nota þetta í kóða, áður I 63 00:03:10,150 --> 00:03:13,279 gæti hafa sagt, struct bíll mycar hálf-hreinsun. 64 00:03:13,279 --> 00:03:14,820 Jæja ég þarf ekki að gera það lengur. 65 00:03:14,820 --> 00:03:20,265 Nú þegar ég hef notað typedef, ég getur bara sagt bíll undirstrika t, mycar. 66 00:03:20,265 --> 00:03:22,640 Það er mikið styttri um leið að gera það, og í raun, það er 67 00:03:22,640 --> 00:03:24,515 að fara til vera a einhver fjöldi fleiri þægilegt, sérstaklega 68 00:03:24,515 --> 00:03:27,730 eins og þú byrjar að nota mannvirki a einhver fjöldi fleiri í kóðann þinn. 69 00:03:27,730 --> 00:03:28,810 >> Ég er Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Þetta er CS50. 71 00:03:30,640 --> 00:03:32,415