DOUG Lloyd: Pra, nëse ju keni shihet video tonë në strukturat,
ju tashmë e dini se ne kemi Aftësia për të përcaktuar llojet e të dhënave tona.
Por në qoftë se ju keni strukturave të përdorura, ju e dini që nganjëherë duke përdorur këto lloje të të dhënave
në fakt mund të jetë pak i rëndë sepse ne
duhet të përdorni fjalen struct kur ne jemi duke punuar me të, porsi
makinë struct apo student struct.
Kjo është një shumë për të tipit në qoftë se ne vetëm duam të kemi
diçka e thjeshtë, si një strukturë.
Ne duam të have-- ne duam të të jetë në gjendje për të punuar me gjëra
një mënyrë pak më shumë stenografi, si int ose char, diçka shumë
më të përshtatshëm për të tipit.
>> Për fat të mirë, nuk ka një mënyrë për të bërë këtë në C,
me diçka të quajtur typedef, e cila është një mënyrë për të krijuar stenografi ose rishkruar
emra për lloje të të dhënave.
Ju mund të ndryshonin të dhënat Llojet që tashmë ekzistojnë,
ose ju mund të shkruani llojet e të dhënave nga mesi juaj.
>> Gjëja e parë që bëni është të ju përcaktojnë një lloj në mënyrë normale,
dhe atëherë ju vetëm alias atë për diçka else-- typedef emri i vjetër emër të ri.
Shumë e drejtpërdrejtë, e drejtë?
Pra, ne mund të typedef për shembull, të dhënat ekzistuese
lloji i char unsigned si bajt.
Dhe pastaj, tani e tutje, pasi ne kemi e bëri këtë lloj definition-- përsëri,
i cili është zakonisht do të jetë në krye e tona dot C fotografi, ose në një skedar H dot
veç e veç, ne mund vetëm përdorin kafshoj kudo
ne do të kishte përdorur char unsigned.
Kjo është një shumë më të shkurtër të tipit.
>> Në bibliotekën CS50 e, ne bëjmë this-- ne typedef yll char si string.
Sepse ne përhumbur larg ideja e pointers.
Dhe fakti që një varg është me të vërtetë një tregues për character-- parë
një grup të karaktereve, sepse kjo është vetëm
në mënyrë konfuze për të marrë kokën tuaj rreth that-- por në fakt kjo është ajo që ne bëjmë.
Dhe kjo linjë e kodit të vërtetë ekziston në CS50 dot H typedef char yll varg,
vetëm për të bërë që pak më pak rëndë për të duhet të merren me të.
Tashmë ju ndoshta keni parë një pak e vlerës këtu,
por typedef bëhet i madh kur kombinohet me struktura,
si unë aludoi për më herët.
Strukturat kanë një dy-fjalë emrin tipit.
Dhe kështu që ata mund të jetë me të vërtetë i bezdisshëm për të krijuar variablat të atij lloji,
ose [e padëgjueshme] për diçka struct, tuaj Linjat e mund vetëm të merrni të vërtetë, të vërtetë e gjatë.
Dhe kështu që ju mund të përdorni typedef për të ardhur me diçka shumë më të shkurtër.
>> Pra, nëse unë të përcaktojë një makinë si më poshtë, unë kam Përkufizimi im i një makine car-- struct,
dhe pastaj të hapur mbajtëse kaçurrel, gjithë fushat e strukturës sime,
mbajtëse afër kaçurrel, gjysmë-colon-- pasi unë kam përcaktuar lloji të dhënat e mia,
Unë mund të typedef e strukturës makinë si nënvizojnë makinave t.
Dhe atëherë kur unë e kam bërë këtë, tani çdo herë që unë do të kishte përdorur ndryshe struct
makinë, unë mund të përdorni vetëm makinën nënvizë t.
Kjo është një shumë më të shkurtër të një mënyrë për të shprehin këtë idenë e kësaj strukture
që unë sapo krijuar.
>> Nga ana tjetër, për shkak se strukturat e janë kaq të përdorur zakonisht në typedef,
ka a-- ju në fakt mund të përcaktojë shkruani në mes fillim dhe në fund.
Pra, struktura typedef përsëri është zakonisht typedef, emri i vjetër, emri i ri,
ku emrat janë tashmë Llojet që e keni krijuar.
Por ju mund të vërtetë të përcaktojë një strukturë të drejtë në mes të typedef
në vend që të përcaktojë ajo veç e veç, dhe pastaj
të bëjë një typedef të saj.
Dhe kjo do të dukej vetëm si this-- typedef makinë struct,
mbajtëse hapur kaçurrel, gjithë fushën tuaj përkufizimet, mbajtëse afër kaçurrel, t makinave.
Pra, emri i vjetër është e gjitha që gjëra në e kuqe, ju jeni vetëm përcaktimin e strukturës
dhe përmendur atë në të njëjtën kohë.
Dhe pastaj emri i ri është underscore makinë t.
Dhe kështu që në qoftë se ne fillojmë të përdorim këtë në kodin, më parë unë
mund të ketë thënë: struct mycar makinë gjysmë-zorrës së trashë.
E pra unë nuk kam për të bërë këtë më.
Tani që unë kam përdorur typedef, unë Mund të them vetëm t nënvizojnë makinë, mycar.
Kjo është një shumë më të shkurtër nga një mënyrë të për të bërë atë, dhe në fakt, kjo është
do të jetë shumë më i përshtatshëm, sidomos
si ju filloni të përdorni strukturat shumë më tepër në kodin tuaj.
>> Unë jam Doug Lloyd.
Kjo është CS50.