1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 Doug LLOYD: Mela jekk inti stajt jidhru vidjo tagħna fuq strutturi, 3 00:00:07,220 --> 00:00:10,950 inti diġà taf li aħna għandna l- abbiltà li jiddefinixxu tipi ta 'data tagħna stess. 4 00:00:10,950 --> 00:00:14,530 Imma jekk inti stajt istrutturi użati, inti taf li xi kultant juża dawk it-tipi ta 'data 5 00:00:14,530 --> 00:00:16,446 jista 'attwalment jiġi ftit ineffiċjenti għaliex aħna 6 00:00:16,446 --> 00:00:19,210 għandek tuża l-keyword Istituzzjonjijiet meta aħna qed jaħdmu ma them-- 7 00:00:19,210 --> 00:00:21,257 karozza Struct jew student Istituzzjonjijiet. 8 00:00:21,257 --> 00:00:23,090 Li l-lott li tip jekk aħna biss jixtiequ li jkollhom 9 00:00:23,090 --> 00:00:24,830 xi ħaġa sempliċi, bħal struttura. 10 00:00:24,830 --> 00:00:26,390 Aħna rridu li have-- rridu ikunu jistgħu jaħdmu ma 'affarijiet 11 00:00:26,390 --> 00:00:29,350 ftit b'mod aktar shorthand, bħal int jew char, xi ħaġa ħafna 12 00:00:29,350 --> 00:00:31,240 aktar konvenjenti għat-tip. 13 00:00:31,240 --> 00:00:33,100 >> Fortunatament, hemm mod kif tagħmel dan fis-C, 14 00:00:33,100 --> 00:00:37,150 ma 'xi ħaġa imsejħa typedef, li hija mod biex jinħolqu shorthand jew miktuba mill-ġdid 15 00:00:37,150 --> 00:00:38,640 ismijiet tat-tipi tad-data. 16 00:00:38,640 --> 00:00:40,720 Tista 'jikteb data tipi li diġà jeżistu, 17 00:00:40,720 --> 00:00:43,970 jew tista 'tikteb tipi ta' data tal tiegħek. 18 00:00:43,970 --> 00:00:46,890 >> L-ewwel ħaġa li għandek tagħmel huwa inti jiddefinixxi tip bil-mod normali, 19 00:00:46,890 --> 00:00:52,271 u mbagħad inti biss alias li xi ħaġa else-- typedef isem isem il-ġdid qodma. 20 00:00:52,271 --> 00:00:53,520 Pretty sempliċi, id-dritt? 21 00:00:53,520 --> 00:00:56,240 Allura nistgħu typedef per eżempju, id-data li diġà teżisti 22 00:00:56,240 --> 00:01:00,266 tip ta 'char mhux iffirmat kif byte. 23 00:01:00,266 --> 00:01:03,140 U mbagħad, minn issa ', wara konna magħmula dan it-tip definition-- darb'oħra, 24 00:01:03,140 --> 00:01:07,570 li normalment se tkun fil-quċċata tal dot C fajls tagħna, jew f'fajl dot H 25 00:01:07,570 --> 00:01:10,590 separatament, nistgħu biss użu gidma kullimkien 26 00:01:10,590 --> 00:01:12,180 aħna użaw char mhux iffirmat. 27 00:01:12,180 --> 00:01:14,300 Li l-lott iqsar għat-tip. 28 00:01:14,300 --> 00:01:19,280 >> Fil-librerija CS50, aħna nagħmlu this-- aħna typedef star char bħala sekwenza. 29 00:01:19,280 --> 00:01:21,400 Għaliex aħna estratt bogħod l-idea ta 'pointers. 30 00:01:21,400 --> 00:01:25,072 U l-fatt li string huwa verament a pointer għall-ewwel character-- 31 00:01:25,072 --> 00:01:26,780 firxa ta 'karattri, għaliex huwa biss 32 00:01:26,780 --> 00:01:29,863 hekk konfuża li tikseb ras tiegħek madwar that-- iżda fil-fatt dan huwa dak li nagħmlu. 33 00:01:29,863 --> 00:01:35,140 U din il-linja tal-kodiċi fil-fatt teżisti fil CS50 dot H typedef char string star, 34 00:01:35,140 --> 00:01:39,021 biss biex jagħmlu dak ftit inqas ineffiċjenti ikollhom jittrattaw magħhom. 35 00:01:39,021 --> 00:01:41,520 Diġà inti stajt tidher probabbilment ftit tal-valur hawnhekk, 36 00:01:41,520 --> 00:01:44,160 iżda typedef isir kbir meta kkombinat ma 'strutturi, 37 00:01:44,160 --> 00:01:45,780 kif I allużjoni għall qabel. 38 00:01:45,780 --> 00:01:48,550 Strutturi jkollha isem tip b'żewġ kelma. 39 00:01:48,550 --> 00:01:52,020 U sabiex ikunu jistgħu jkunu verament annoying biex joħolqu varjabbli ta 'dak it-tip, 40 00:01:52,020 --> 00:01:56,310 jew [inaudible] ta 'xi ħaġa Struct, tiegħek linji jistgħu biss jiksbu verament, verament twila. 41 00:01:56,310 --> 00:01:59,400 U għalhekk inti tista 'tuża typedef li ġejjin up ma 'xi ħaġa ħafna iqsar. 42 00:01:59,400 --> 00:02:04,650 >> Mela jekk jien jiddefinixxu karozza kif ġej, I jkollhom definizzjoni tiegħi ta 'karozza Struct car--, 43 00:02:04,650 --> 00:02:07,230 u mbagħad iftaħ kaboċċi Brace, Kollha l-oqsma ta 'struttura tiegħi, 44 00:02:07,230 --> 00:02:11,030 Brace kaboċċi qrib, semi-colon-- wara Stajt definit tip ta 'data tiegħi, 45 00:02:11,030 --> 00:02:15,680 I tista typedef Istituzzjonjijiet karozza kif jenfasizzaw karozza t. 46 00:02:15,680 --> 00:02:19,670 U mbagħad meta I ghamilt li, issa kull Struct ħin I kien użat altrimentri 47 00:02:19,670 --> 00:02:22,680 karozza, I jistgħu biss jużaw karozza enfasizzati t. 48 00:02:22,680 --> 00:02:26,480 Li l-lott iqsar ta 'mod li jesprimi din l-idea ta 'din l-istruttura 49 00:02:26,480 --> 00:02:28,530 li I biss maħluqa. 50 00:02:28,530 --> 00:02:33,620 >> Alternattivament, minħabba strutturi huma tant komunement użati fil typedef, 51 00:02:33,620 --> 00:02:37,980 hemm a-- inti tista 'attwalment tiddefinixxi l- tip fil bejn il-bidu u t-tmiem. 52 00:02:37,980 --> 00:02:42,020 Allura l-istruttura typedef darb'oħra huwa normalment typedef, isem antik, isem il-ġdid, 53 00:02:42,020 --> 00:02:45,360 fejn l-ismijiet huma diġà tipi li inti stajt maħluqa. 54 00:02:45,360 --> 00:02:49,620 Iżda int tista 'attwalment tiddefinixxi struttura lemin fin-nofs tal-typedef 55 00:02:49,620 --> 00:02:51,760 minflok li jiddefinixxu separatament, u mbagħad 56 00:02:51,760 --> 00:02:52,990 tagħmel typedef ta 'dan. 57 00:02:52,990 --> 00:02:55,780 U li tfittex biss bħal this-- typedef karozza Struct, 58 00:02:55,780 --> 00:02:59,957 Brace kaboċċi miftuħa, kollha ta 'qasam tiegħek definizzjonijiet, Brace kaboċċi qrib, t-karozzi. 59 00:02:59,957 --> 00:03:03,290 Allura l-isem antik huwa dak kollu li Jittieħed fid- aħmar, int biss tiddefinixxi l-istruttura 60 00:03:03,290 --> 00:03:05,610 u tismija fl-istess ħin. 61 00:03:05,610 --> 00:03:07,790 U allura l-isem il-ġdid huwa jenfasizzaw karozza t. 62 00:03:07,790 --> 00:03:10,150 U hekk jekk nibdew biex jużaw dan fil-kodiċi, qabel I 63 00:03:10,150 --> 00:03:13,279 jista qalu, Istituzzjonjijiet mycar karozza semi-colon. 64 00:03:13,279 --> 00:03:14,820 Well I ma għandek tagħmel dan aktar. 65 00:03:14,820 --> 00:03:20,265 Issa li stajt użati l typedef, I tista 'biss jgħidu t jenfasizzaw karozza, mycar. 66 00:03:20,265 --> 00:03:22,640 Li l-lott iqsar ta 'mod biex tagħmel dan, u fil-fatt, huwa 67 00:03:22,640 --> 00:03:24,515 se jkun hemm ħafna aktar konvenjenti, speċjalment 68 00:03:24,515 --> 00:03:27,730 kif tibda tuża strutturi ħafna aktar fil-kodiċi tiegħek. 69 00:03:27,730 --> 00:03:28,810 >> Jien Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Dan huwa CS50. 71 00:03:30,640 --> 00:03:32,415