1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 DOUG LLOYD: Hivyo kama wewe wameweza kuonekana video wetu juu ya miundo, 3 00:00:07,220 --> 00:00:10,950 tayari kujua kwamba tuna uwezo wa kufafanua aina yetu wenyewe data. 4 00:00:10,950 --> 00:00:14,530 Lakini kama wameweza miundo kutumika, unajua kwamba wakati mwingine kutumia wale aina ya data 5 00:00:14,530 --> 00:00:16,446 kweli anaweza kuwa ni kidogo mbaya kwa sababu sisi 6 00:00:16,446 --> 00:00:19,210 una kutumia struct keyword wakati sisi ni kufanya kazi na them-- 7 00:00:19,210 --> 00:00:21,257 struct gari au struct mwanafunzi. 8 00:00:21,257 --> 00:00:23,090 Kwamba mengi ya aina kama sisi tu wanataka kuwa na 9 00:00:23,090 --> 00:00:24,830 kitu rahisi, kama muundo. 10 00:00:24,830 --> 00:00:26,390 Tunataka have-- tunataka kuwa na uwezo wa kufanya kazi na mambo 11 00:00:26,390 --> 00:00:29,350 zaidi kidogo shorthand njia, kama int au Char, kitu mengi 12 00:00:29,350 --> 00:00:31,240 rahisi zaidi kwa aina. 13 00:00:31,240 --> 00:00:33,100 >> Kwa bahati nzuri, kuna njia ya kufanya hivyo katika C, 14 00:00:33,100 --> 00:00:37,150 na kitu kinachoitwa typedef, ambayo ni njia ya kujenga shorthand au kuandikwa upya 15 00:00:37,150 --> 00:00:38,640 majina ya aina ya data. 16 00:00:38,640 --> 00:00:40,720 Unaweza kuandika upya data aina ambazo tayari zipo, 17 00:00:40,720 --> 00:00:43,970 au unaweza kuandika aina data yako mwenyewe. 18 00:00:43,970 --> 00:00:46,890 >> Jambo la kwanza kufanya ni wewe kufafanua aina katika njia ya kawaida, 19 00:00:46,890 --> 00:00:52,271 na kisha wewe tu vinginevyo hayo kwa kitu else-- typedef jina la zamani jina jipya. 20 00:00:52,271 --> 00:00:53,520 Pretty moja kwa moja, sawa? 21 00:00:53,520 --> 00:00:56,240 Hivyo tunaweza typedef kwa mfano, data zilizopo tayari 22 00:00:56,240 --> 00:01:00,266 aina ya unsigned Char kama Byte. 23 00:01:00,266 --> 00:01:03,140 Na kisha, kuanzia sasa, baada tumekuwa alifanya aina hii definition-- tena, 24 00:01:03,140 --> 00:01:07,570 ambayo ni kawaida kwenda kuwa juu ya nukta yetu mafaili C, au katika nukta H faili 25 00:01:07,570 --> 00:01:10,590 tofauti, tunaweza tu kutumia kuuma kila mahali 26 00:01:10,590 --> 00:01:12,180 tunataka wametumia unsigned Char. 27 00:01:12,180 --> 00:01:14,300 Hiyo ni mengi mfupi na aina. 28 00:01:14,300 --> 00:01:19,280 >> Katika maktaba CS50, sisi kufanya Haya sisi typedef nyota Char kama kamba. 29 00:01:19,280 --> 00:01:21,400 Kwa sababu sisi yanayotumika mbali wazo la kuyatumia. 30 00:01:21,400 --> 00:01:25,072 Na ukweli kwamba kamba ni kweli pointer character-- kwanza 31 00:01:25,072 --> 00:01:26,780 safu ya wahusika, kwa sababu ni tu 32 00:01:26,780 --> 00:01:29,863 hivyo utata kupata kichwa yako karibu that-- lakini kwa kweli hiyo ni nini cha kufanya. 33 00:01:29,863 --> 00:01:35,140 Na mstari wa kanuni kweli lipo katika CS50 nukta H typedef Char kamba nyota, 34 00:01:35,140 --> 00:01:39,021 tu kufanya kwamba kidogo kidogo mbaya kwa kuwa na kushughulika na. 35 00:01:39,021 --> 00:01:41,520 Tayari wameweza kuona pengine kidogo ya thamani hapa, 36 00:01:41,520 --> 00:01:44,160 lakini typedef inakuwa kubwa wakati pamoja na miundo, 37 00:01:44,160 --> 00:01:45,780 kama mimi alluded mapema. 38 00:01:45,780 --> 00:01:48,550 Miundo na mbili neno aina jina. 39 00:01:48,550 --> 00:01:52,020 Na ili waweze kuwa kweli annoying kujenga vigezo ya aina hiyo, 40 00:01:52,020 --> 00:01:56,310 au [inaudible] ya struct kitu, yako mistari unaweza tu kupata kweli, kweli kwa muda mrefu. 41 00:01:56,310 --> 00:01:59,400 Na hivyo unaweza kutumia typedef kuja na kitu mengi mfupi. 42 00:01:59,400 --> 00:02:04,650 >> Hivyo kama mimi kufafanua gari kama ifuatavyo, nina tafsiri yangu ya car-- struct gari, 43 00:02:04,650 --> 00:02:07,230 na kisha kufungua curly brace, kila mashamba ya muundo yangu, 44 00:02:07,230 --> 00:02:11,030 karibu curly brace, nusu colon-- baada nimekuwa inavyoelezwa aina yangu data, 45 00:02:11,030 --> 00:02:15,680 Siwezi typedef struct gari kama gari kusisitiza t. 46 00:02:15,680 --> 00:02:19,670 Na kisha wakati mimi tumefanya kwamba, sasa kila wakati mimi ingekuwa vinginevyo kutumika struct 47 00:02:19,670 --> 00:02:22,680 gari, naweza tu kutumia gari kusisitiza t. 48 00:02:22,680 --> 00:02:26,480 Kwamba mengi mfupi wa njia ya kueleza wazo hili la mfumo huu 49 00:02:26,480 --> 00:02:28,530 kwamba mimi tu kuundwa. 50 00:02:28,530 --> 00:02:33,620 >> Vinginevyo, kwa sababu miundo ni hivyo kawaida kutumika katika typedef, 51 00:02:33,620 --> 00:02:37,980 kuna a-- unaweza kweli kufafanua aina katika kati ya mwanzo na mwisho. 52 00:02:37,980 --> 00:02:42,020 Hivyo muundo wa typedef tena ni Kwa kawaida typedef, jina la zamani, jina jipya, 53 00:02:42,020 --> 00:02:45,360 ambapo majina tayari aina kwamba umeunda. 54 00:02:45,360 --> 00:02:49,620 Lakini unaweza kweli kufafanua muundo haki ya katikati ya typedef 55 00:02:49,620 --> 00:02:51,760 badala ya kuwa na kufafanua ni tofauti, na kisha 56 00:02:51,760 --> 00:02:52,990 kufanya typedef yake. 57 00:02:52,990 --> 00:02:55,780 Na kwamba bila kuangalia kama Haya typedef struct gari, 58 00:02:55,780 --> 00:02:59,957 wazi curly brace, mapato yote ya shamba yako ufafanuzi, karibu curly brace, gari t. 59 00:02:59,957 --> 00:03:03,290 Hivyo jina la zamani ni mambo ambayo yote katika nyekundu, wewe ni kufafanua tu muundo 60 00:03:03,290 --> 00:03:05,610 na kumtaja hiyo kwa wakati huo. 61 00:03:05,610 --> 00:03:07,790 Na kisha jina jipya ni gari kusisitiza t. 62 00:03:07,790 --> 00:03:10,150 Na hivyo kama sisi kuanza kutumia hii katika kanuni, awali mimi 63 00:03:10,150 --> 00:03:13,279 anaweza kuwa alisema, struct gari MyCar nusu ya matumbo. 64 00:03:13,279 --> 00:03:14,820 Vizuri sina kufanya hivyo tena. 65 00:03:14,820 --> 00:03:20,265 Sasa kwa kuwa nimekuwa kutumika typedef, mimi unaweza tu kusema gari kusisitiza t, MyCar. 66 00:03:20,265 --> 00:03:22,640 Kwamba mengi mfupi wa njia kufanya hivyo, na kwa kweli, ni 67 00:03:22,640 --> 00:03:24,515 kwenda kuwa mengi zaidi rahisi, hasa 68 00:03:24,515 --> 00:03:27,730 kama wewe kuanza kutumia miundo mengi zaidi katika kanuni yako. 69 00:03:27,730 --> 00:03:28,810 >> Mimi nina Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Hii ni CS50. 71 00:03:30,640 --> 00:03:32,415