1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 Doug LLOYD: Taigi, jei jūs matyti mūsų vaizdo struktūras, 3 00:00:07,220 --> 00:00:10,950 Jūs jau žinote, kad mes turime Gebėjimas apibrėžti mūsų pačių duomenų tipus. 4 00:00:10,950 --> 00:00:14,530 Bet jei jūs naudojote struktūras, jūs žinote, kad kartais naudojant šias duomenų tipai 5 00:00:14,530 --> 00:00:16,446 tikrųjų gali būti šiek tiek sudėtinga, nes mes 6 00:00:16,446 --> 00:00:19,210 turite naudoti struct raktažodį kai mes dirbame su them-- 7 00:00:19,210 --> 00:00:21,257 konstrukto automobilį ar konstrukto studentas. 8 00:00:21,257 --> 00:00:23,090 Tai daug rašyti jei mes tiesiog norime turėti 9 00:00:23,090 --> 00:00:24,830 kažkas paprasta, kaip struktūra. 10 00:00:24,830 --> 00:00:26,390 Mes norime have-- norime būtų galima dirbti su ką 11 00:00:26,390 --> 00:00:29,350 šiek tiek daugiau sutrumpinimas būdas, kaip int ar char, kažkas daug 12 00:00:29,350 --> 00:00:31,240 patogiau rašyti. 13 00:00:31,240 --> 00:00:33,100 >> Laimei, yra būdas tai padaryti C, 14 00:00:33,100 --> 00:00:37,150 su kažkuo vadinamas Typedef, kuris yra būdas sukurti stenografistų arba perrašyti 15 00:00:37,150 --> 00:00:38,640 pavadinimai duomenų tipų. 16 00:00:38,640 --> 00:00:40,720 Jūs galite perrašyti duomenis rūšys, kurios jau egzistuoja, 17 00:00:40,720 --> 00:00:43,970 arba galite rašyti duomenų tipus savo. 18 00:00:43,970 --> 00:00:46,890 >> Pirmas dalykas, kurį jūs darote, yra jums apibrėžti tipas įprastu būdu, 19 00:00:46,890 --> 00:00:52,271 ir tada jums tiesiog Alias ​​ją į kažką else-- Typedef senas pavadinimas naują pavadinimą. 20 00:00:52,271 --> 00:00:53,520 Gana paprasta, tiesa? 21 00:00:53,520 --> 00:00:56,240 Kad galėtume Typedef pavyzdžiui, jau esamų duomenų 22 00:00:56,240 --> 00:01:00,266 tipo unsigned char kaip baitas. 23 00:01:00,266 --> 00:01:03,140 Ir tada, nuo šiol, po mes padarė šio tipo definition-- vėl, 24 00:01:03,140 --> 00:01:07,570 kuris paprastai yra bus viršuje mūsų dot C failus, arba dot H failą 25 00:01:07,570 --> 00:01:10,590 atskirai, mes galime tik naudoti bite visur 26 00:01:10,590 --> 00:01:12,180 būtume naudojamas unsigned char. 27 00:01:12,180 --> 00:01:14,300 Tai daug trumpesnis tipo. 28 00:01:14,300 --> 00:01:19,280 >> Be CS50 bibliotekoje, mes this-- mes Typedef char žvaigždę kaip eilutę. 29 00:01:19,280 --> 00:01:21,400 Kadangi mes išgaunamo Pašalink rodyklės idėja. 30 00:01:21,400 --> 00:01:25,072 Ir tai, kad eilutė yra tikrai rodyklė į pirmą character-- 31 00:01:25,072 --> 00:01:26,780 AN simbolių masyvas, nes tai tik 32 00:01:26,780 --> 00:01:29,863 taip sunku gauti savo galvą aplink that-- bet iš tikrųjų tai, ką mes darome. 33 00:01:29,863 --> 00:01:35,140 Ir tai kodo eilutę iš tiesų egzistuoja į CS50 DOT H Typedef char žvaigždutėmis eilutę, 34 00:01:35,140 --> 00:01:39,021 tik, kad kad mažiau sudėtinga susidurti su. 35 00:01:39,021 --> 00:01:41,520 Jau mačiau tikriausiai Šiek tiek vertės čia 36 00:01:41,520 --> 00:01:44,160 bet Typedef tampa puikus kai ji derinama su struktūromis, 37 00:01:44,160 --> 00:01:45,780 kaip aš užsiminiau anksčiau. 38 00:01:45,780 --> 00:01:48,550 Statiniai turi dviejų žodžių tipo pavadinimą. 39 00:01:48,550 --> 00:01:52,020 Ir todėl jie gali būti tikrai erzina sukurti kintamuosius tos rūšies, 40 00:01:52,020 --> 00:01:56,310 arba [nesigirdi] ir struct kažką, jūsų linijos gali tiesiog gauti tikrai, tikrai ilgai. 41 00:01:56,310 --> 00:01:59,400 Ir todėl jūs galite naudoti Typedef ateiti su kažkuo daug trumpesnis. 42 00:01:59,400 --> 00:02:04,650 >> Taigi, jei aš apibrėžti automobilį taip, turiu mano apibrėžimas car-- struct automobiliu, 43 00:02:04,650 --> 00:02:07,230 ir tada atidaryti garbanotas petnešomis, visa Į mano struktūros laukai, 44 00:02:07,230 --> 00:02:11,030 Uždaryti garbanotas petnešomis, pusiau colon-- Po Aš apibrėžta mano duomenų tipą, 45 00:02:11,030 --> 00:02:15,680 Galiu Typedef konstrukto automobilių, automobilių apatinio t. 46 00:02:15,680 --> 00:02:19,670 Ir tada, kai aš padariau, kad dabar kiekvienas Aš laikas būtų kitaip nenaudojamos konstrukto 47 00:02:19,670 --> 00:02:22,680 Automobilių, galiu tik naudotis automobilių apatinį t. 48 00:02:22,680 --> 00:02:26,480 Tai daug trumpesnis būdas išreikšti šią šios struktūros idėją 49 00:02:26,480 --> 00:02:28,530 kad aš ką tik sukūrėte. 50 00:02:28,530 --> 00:02:33,620 >> Alternatyviai, nes struktūrų yra taip, paprastai naudojamos Typedef, 51 00:02:33,620 --> 00:02:37,980 ten a-- jūs iš tikrųjų galite nustatyti įveskite tarp pradžios ir pabaigos. 52 00:02:37,980 --> 00:02:42,020 Taigi Typedef struktūra vėl yra paprastai Typedef, senas pavadinimas, naujas vardas, 53 00:02:42,020 --> 00:02:45,360 kur pavadinimai jau yra tipų, kad jūs sukūrėte. 54 00:02:45,360 --> 00:02:49,620 Bet jūs iš tikrųjų galite apibrėžti struktūrą tiesiai į vidurį Typedef 55 00:02:49,620 --> 00:02:51,760 vietoj to, kad apibrėžti ji atskirai, o tada 56 00:02:51,760 --> 00:02:52,990 padaryti jį Typedef. 57 00:02:52,990 --> 00:02:55,780 Ir tai atrodytų kaip this-- Typedef konstrukto automobilis, 58 00:02:55,780 --> 00:02:59,957 atvira garbanotas petnešomis, visi savo srityje apibrėžimai, netoli garbanotas petnešomis, automobilių t. 59 00:02:59,957 --> 00:03:03,290 Taigi senas pavadinimas yra viskas, stuff raudona, jūs tiesiog apibrėžti struktūrą 60 00:03:03,290 --> 00:03:05,610 ir pavadinimo jį tuo pačiu metu. 61 00:03:05,610 --> 00:03:07,790 Ir tada naujas vardas yra automobilių pabraukimas t. 62 00:03:07,790 --> 00:03:10,150 Ir todėl, jei mes pradėsime naudoti tai kodas, anksčiau aš 63 00:03:10,150 --> 00:03:13,279 galėjo sakė, konstrukto Automobilių mycar kabliataškis. 64 00:03:13,279 --> 00:03:14,820 Na aš neturiu daryti, kad nebėra. 65 00:03:14,820 --> 00:03:20,265 Dabar, kad aš naudojamas Typedef, aš gali tiesiog pasakyti, automobilių apatinį t, mycar. 66 00:03:20,265 --> 00:03:22,640 Tai daug trumpesnis būdu tai padaryti ir iš tiesų, tai 67 00:03:22,640 --> 00:03:24,515 bus daug daugiau patogu, ypač 68 00:03:24,515 --> 00:03:27,730 kaip jums pradėti naudoti struktūras daug daugiau savo kodą. 69 00:03:27,730 --> 00:03:28,810 >> Aš Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Tai CS50. 71 00:03:30,640 --> 00:03:32,415