DOUG LLOYD: Hivyo kama wewe wameweza kuonekana video wetu juu ya miundo,
tayari kujua kwamba tuna uwezo wa kufafanua aina yetu wenyewe data.
Lakini kama wameweza miundo kutumika, unajua kwamba wakati mwingine kutumia wale aina ya data
kweli anaweza kuwa ni kidogo mbaya kwa sababu sisi
una kutumia struct keyword wakati sisi ni kufanya kazi na them--
struct gari au struct mwanafunzi.
Kwamba mengi ya aina kama sisi tu wanataka kuwa na
kitu rahisi, kama muundo.
Tunataka have-- tunataka kuwa na uwezo wa kufanya kazi na mambo
zaidi kidogo shorthand njia, kama int au Char, kitu mengi
rahisi zaidi kwa aina.
>> Kwa bahati nzuri, kuna njia ya kufanya hivyo katika C,
na kitu kinachoitwa typedef, ambayo ni njia ya kujenga shorthand au kuandikwa upya
majina ya aina ya data.
Unaweza kuandika upya data aina ambazo tayari zipo,
au unaweza kuandika aina data yako mwenyewe.
>> Jambo la kwanza kufanya ni wewe kufafanua aina katika njia ya kawaida,
na kisha wewe tu vinginevyo hayo kwa kitu else-- typedef jina la zamani jina jipya.
Pretty moja kwa moja, sawa?
Hivyo tunaweza typedef kwa mfano, data zilizopo tayari
aina ya unsigned Char kama Byte.
Na kisha, kuanzia sasa, baada tumekuwa alifanya aina hii definition-- tena,
ambayo ni kawaida kwenda kuwa juu ya nukta yetu mafaili C, au katika nukta H faili
tofauti, tunaweza tu kutumia kuuma kila mahali
tunataka wametumia unsigned Char.
Hiyo ni mengi mfupi na aina.
>> Katika maktaba CS50, sisi kufanya Haya sisi typedef nyota Char kama kamba.
Kwa sababu sisi yanayotumika mbali wazo la kuyatumia.
Na ukweli kwamba kamba ni kweli pointer character-- kwanza
safu ya wahusika, kwa sababu ni tu
hivyo utata kupata kichwa yako karibu that-- lakini kwa kweli hiyo ni nini cha kufanya.
Na mstari wa kanuni kweli lipo katika CS50 nukta H typedef Char kamba nyota,
tu kufanya kwamba kidogo kidogo mbaya kwa kuwa na kushughulika na.
Tayari wameweza kuona pengine kidogo ya thamani hapa,
lakini typedef inakuwa kubwa wakati pamoja na miundo,
kama mimi alluded mapema.
Miundo na mbili neno aina jina.
Na ili waweze kuwa kweli annoying kujenga vigezo ya aina hiyo,
au [inaudible] ya struct kitu, yako mistari unaweza tu kupata kweli, kweli kwa muda mrefu.
Na hivyo unaweza kutumia typedef kuja na kitu mengi mfupi.
>> Hivyo kama mimi kufafanua gari kama ifuatavyo, nina tafsiri yangu ya car-- struct gari,
na kisha kufungua curly brace, kila mashamba ya muundo yangu,
karibu curly brace, nusu colon-- baada nimekuwa inavyoelezwa aina yangu data,
Siwezi typedef struct gari kama gari kusisitiza t.
Na kisha wakati mimi tumefanya kwamba, sasa kila wakati mimi ingekuwa vinginevyo kutumika struct
gari, naweza tu kutumia gari kusisitiza t.
Kwamba mengi mfupi wa njia ya kueleza wazo hili la mfumo huu
kwamba mimi tu kuundwa.
>> Vinginevyo, kwa sababu miundo ni hivyo kawaida kutumika katika typedef,
kuna a-- unaweza kweli kufafanua aina katika kati ya mwanzo na mwisho.
Hivyo muundo wa typedef tena ni Kwa kawaida typedef, jina la zamani, jina jipya,
ambapo majina tayari aina kwamba umeunda.
Lakini unaweza kweli kufafanua muundo haki ya katikati ya typedef
badala ya kuwa na kufafanua ni tofauti, na kisha
kufanya typedef yake.
Na kwamba bila kuangalia kama Haya typedef struct gari,
wazi curly brace, mapato yote ya shamba yako ufafanuzi, karibu curly brace, gari t.
Hivyo jina la zamani ni mambo ambayo yote katika nyekundu, wewe ni kufafanua tu muundo
na kumtaja hiyo kwa wakati huo.
Na kisha jina jipya ni gari kusisitiza t.
Na hivyo kama sisi kuanza kutumia hii katika kanuni, awali mimi
anaweza kuwa alisema, struct gari MyCar nusu ya matumbo.
Vizuri sina kufanya hivyo tena.
Sasa kwa kuwa nimekuwa kutumika typedef, mimi unaweza tu kusema gari kusisitiza t, MyCar.
Kwamba mengi mfupi wa njia kufanya hivyo, na kwa kweli, ni
kwenda kuwa mengi zaidi rahisi, hasa
kama wewe kuanza kutumia miundo mengi zaidi katika kanuni yako.
>> Mimi nina Doug Lloyd.
Hii ni CS50.