Doug LLOYD: Mela jekk inti stajt jidhru vidjo tagħna fuq strutturi,
inti diġà taf li aħna għandna l- abbiltà li jiddefinixxu tipi ta 'data tagħna stess.
Imma jekk inti stajt istrutturi użati, inti taf li xi kultant juża dawk it-tipi ta 'data
jista 'attwalment jiġi ftit ineffiċjenti għaliex aħna
għandek tuża l-keyword Istituzzjonjijiet meta aħna qed jaħdmu ma them--
karozza Struct jew student Istituzzjonjijiet.
Li l-lott li tip jekk aħna biss jixtiequ li jkollhom
xi ħaġa sempliċi, bħal struttura.
Aħna rridu li have-- rridu ikunu jistgħu jaħdmu ma 'affarijiet
ftit b'mod aktar shorthand, bħal int jew char, xi ħaġa ħafna
aktar konvenjenti għat-tip.
>> Fortunatament, hemm mod kif tagħmel dan fis-C,
ma 'xi ħaġa imsejħa typedef, li hija mod biex jinħolqu shorthand jew miktuba mill-ġdid
ismijiet tat-tipi tad-data.
Tista 'jikteb data tipi li diġà jeżistu,
jew tista 'tikteb tipi ta' data tal tiegħek.
>> L-ewwel ħaġa li għandek tagħmel huwa inti jiddefinixxi tip bil-mod normali,
u mbagħad inti biss alias li xi ħaġa else-- typedef isem isem il-ġdid qodma.
Pretty sempliċi, id-dritt?
Allura nistgħu typedef per eżempju, id-data li diġà teżisti
tip ta 'char mhux iffirmat kif byte.
U mbagħad, minn issa ', wara konna magħmula dan it-tip definition-- darb'oħra,
li normalment se tkun fil-quċċata tal dot C fajls tagħna, jew f'fajl dot H
separatament, nistgħu biss użu gidma kullimkien
aħna użaw char mhux iffirmat.
Li l-lott iqsar għat-tip.
>> Fil-librerija CS50, aħna nagħmlu this-- aħna typedef star char bħala sekwenza.
Għaliex aħna estratt bogħod l-idea ta 'pointers.
U l-fatt li string huwa verament a pointer għall-ewwel character--
firxa ta 'karattri, għaliex huwa biss
hekk konfuża li tikseb ras tiegħek madwar that-- iżda fil-fatt dan huwa dak li nagħmlu.
U din il-linja tal-kodiċi fil-fatt teżisti fil CS50 dot H typedef char string star,
biss biex jagħmlu dak ftit inqas ineffiċjenti ikollhom jittrattaw magħhom.
Diġà inti stajt tidher probabbilment ftit tal-valur hawnhekk,
iżda typedef isir kbir meta kkombinat ma 'strutturi,
kif I allużjoni għall qabel.
Strutturi jkollha isem tip b'żewġ kelma.
U sabiex ikunu jistgħu jkunu verament annoying biex joħolqu varjabbli ta 'dak it-tip,
jew [inaudible] ta 'xi ħaġa Struct, tiegħek linji jistgħu biss jiksbu verament, verament twila.
U għalhekk inti tista 'tuża typedef li ġejjin up ma 'xi ħaġa ħafna iqsar.
>> Mela jekk jien jiddefinixxu karozza kif ġej, I jkollhom definizzjoni tiegħi ta 'karozza Struct car--,
u mbagħad iftaħ kaboċċi Brace, Kollha l-oqsma ta 'struttura tiegħi,
Brace kaboċċi qrib, semi-colon-- wara Stajt definit tip ta 'data tiegħi,
I tista typedef Istituzzjonjijiet karozza kif jenfasizzaw karozza t.
U mbagħad meta I ghamilt li, issa kull Struct ħin I kien użat altrimentri
karozza, I jistgħu biss jużaw karozza enfasizzati t.
Li l-lott iqsar ta 'mod li jesprimi din l-idea ta 'din l-istruttura
li I biss maħluqa.
>> Alternattivament, minħabba strutturi huma tant komunement użati fil typedef,
hemm a-- inti tista 'attwalment tiddefinixxi l- tip fil bejn il-bidu u t-tmiem.
Allura l-istruttura typedef darb'oħra huwa normalment typedef, isem antik, isem il-ġdid,
fejn l-ismijiet huma diġà tipi li inti stajt maħluqa.
Iżda int tista 'attwalment tiddefinixxi struttura lemin fin-nofs tal-typedef
minflok li jiddefinixxu separatament, u mbagħad
tagħmel typedef ta 'dan.
U li tfittex biss bħal this-- typedef karozza Struct,
Brace kaboċċi miftuħa, kollha ta 'qasam tiegħek definizzjonijiet, Brace kaboċċi qrib, t-karozzi.
Allura l-isem antik huwa dak kollu li Jittieħed fid- aħmar, int biss tiddefinixxi l-istruttura
u tismija fl-istess ħin.
U allura l-isem il-ġdid huwa jenfasizzaw karozza t.
U hekk jekk nibdew biex jużaw dan fil-kodiċi, qabel I
jista qalu, Istituzzjonjijiet mycar karozza semi-colon.
Well I ma għandek tagħmel dan aktar.
Issa li stajt użati l typedef, I tista 'biss jgħidu t jenfasizzaw karozza, mycar.
Li l-lott iqsar ta 'mod biex tagħmel dan, u fil-fatt, huwa
se jkun hemm ħafna aktar konvenjenti, speċjalment
kif tibda tuża strutturi ħafna aktar fil-kodiċi tiegħek.
>> Jien Doug Lloyd.
Dan huwa CS50.