1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 DOUG Lloyd: Pra, nëse ju keni shihet video tonë në strukturat, 3 00:00:07,220 --> 00:00:10,950 ju tashmë e dini se ne kemi Aftësia për të përcaktuar llojet e të dhënave tona. 4 00:00:10,950 --> 00:00:14,530 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 5 00:00:14,530 --> 00:00:16,446 në fakt mund të jetë pak i rëndë sepse ne 6 00:00:16,446 --> 00:00:19,210 duhet të përdorni fjalen struct kur ne jemi duke punuar me të, porsi 7 00:00:19,210 --> 00:00:21,257 makinë struct apo student struct. 8 00:00:21,257 --> 00:00:23,090 Kjo është një shumë për të tipit në qoftë se ne vetëm duam të kemi 9 00:00:23,090 --> 00:00:24,830 diçka e thjeshtë, si një strukturë. 10 00:00:24,830 --> 00:00:26,390 Ne duam të have-- ne duam të të jetë në gjendje për të punuar me gjëra 11 00:00:26,390 --> 00:00:29,350 një mënyrë pak më shumë stenografi, si int ose char, diçka shumë 12 00:00:29,350 --> 00:00:31,240 më të përshtatshëm për të tipit. 13 00:00:31,240 --> 00:00:33,100 >> Për fat të mirë, nuk ka një mënyrë për të bërë këtë në C, 14 00:00:33,100 --> 00:00:37,150 me diçka të quajtur typedef, e cila është një mënyrë për të krijuar stenografi ose rishkruar 15 00:00:37,150 --> 00:00:38,640 emra për lloje të të dhënave. 16 00:00:38,640 --> 00:00:40,720 Ju mund të ndryshonin të dhënat Llojet që tashmë ekzistojnë, 17 00:00:40,720 --> 00:00:43,970 ose ju mund të shkruani llojet e të dhënave nga mesi juaj. 18 00:00:43,970 --> 00:00:46,890 >> Gjëja e parë që bëni është të ju përcaktojnë një lloj në mënyrë normale, 19 00:00:46,890 --> 00:00:52,271 dhe atëherë ju vetëm alias atë për diçka else-- typedef emri i vjetër emër të ri. 20 00:00:52,271 --> 00:00:53,520 Shumë e drejtpërdrejtë, e drejtë? 21 00:00:53,520 --> 00:00:56,240 Pra, ne mund të typedef për shembull, të dhënat ekzistuese 22 00:00:56,240 --> 00:01:00,266 lloji i char unsigned si bajt. 23 00:01:00,266 --> 00:01:03,140 Dhe pastaj, tani e tutje, pasi ne kemi e bëri këtë lloj definition-- përsëri, 24 00:01:03,140 --> 00:01:07,570 i cili është zakonisht do të jetë në krye e tona dot C fotografi, ose në një skedar H dot 25 00:01:07,570 --> 00:01:10,590 veç e veç, ne mund vetëm përdorin kafshoj kudo 26 00:01:10,590 --> 00:01:12,180 ne do të kishte përdorur char unsigned. 27 00:01:12,180 --> 00:01:14,300 Kjo është një shumë më të shkurtër të tipit. 28 00:01:14,300 --> 00:01:19,280 >> Në bibliotekën CS50 e, ne bëjmë this-- ne typedef yll char si string. 29 00:01:19,280 --> 00:01:21,400 Sepse ne përhumbur larg ideja e pointers. 30 00:01:21,400 --> 00:01:25,072 Dhe fakti që një varg është me të vërtetë një tregues për character-- parë 31 00:01:25,072 --> 00:01:26,780 një grup të karaktereve, sepse kjo është vetëm 32 00:01:26,780 --> 00:01:29,863 në mënyrë konfuze për të marrë kokën tuaj rreth that-- por në fakt kjo është ajo që ne bëjmë. 33 00:01:29,863 --> 00:01:35,140 Dhe kjo linjë e kodit të vërtetë ekziston në CS50 dot H typedef char yll varg, 34 00:01:35,140 --> 00:01:39,021 vetëm për të bërë që pak më pak rëndë për të duhet të merren me të. 35 00:01:39,021 --> 00:01:41,520 Tashmë ju ndoshta keni parë një pak e vlerës këtu, 36 00:01:41,520 --> 00:01:44,160 por typedef bëhet i madh kur kombinohet me struktura, 37 00:01:44,160 --> 00:01:45,780 si unë aludoi për më herët. 38 00:01:45,780 --> 00:01:48,550 Strukturat kanë një dy-fjalë emrin tipit. 39 00:01:48,550 --> 00:01:52,020 Dhe kështu që ata mund të jetë me të vërtetë i bezdisshëm për të krijuar variablat të atij lloji, 40 00:01:52,020 --> 00:01:56,310 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ë. 41 00:01:56,310 --> 00:01:59,400 Dhe kështu që ju mund të përdorni typedef për të ardhur me diçka shumë më të shkurtër. 42 00:01:59,400 --> 00:02:04,650 >> Pra, nëse unë të përcaktojë një makinë si më poshtë, unë kam Përkufizimi im i një makine car-- struct, 43 00:02:04,650 --> 00:02:07,230 dhe pastaj të hapur mbajtëse kaçurrel, gjithë fushat e strukturës sime, 44 00:02:07,230 --> 00:02:11,030 mbajtëse afër kaçurrel, gjysmë-colon-- pasi unë kam përcaktuar lloji të dhënat e mia, 45 00:02:11,030 --> 00:02:15,680 Unë mund të typedef e strukturës makinë si nënvizojnë makinave t. 46 00:02:15,680 --> 00:02:19,670 Dhe atëherë kur unë e kam bërë këtë, tani çdo herë që unë do të kishte përdorur ndryshe struct 47 00:02:19,670 --> 00:02:22,680 makinë, unë mund të përdorni vetëm makinën nënvizë t. 48 00:02:22,680 --> 00:02:26,480 Kjo është një shumë më të shkurtër të një mënyrë për të shprehin këtë idenë e kësaj strukture 49 00:02:26,480 --> 00:02:28,530 që unë sapo krijuar. 50 00:02:28,530 --> 00:02:33,620 >> Nga ana tjetër, për shkak se strukturat e janë kaq të përdorur zakonisht në typedef, 51 00:02:33,620 --> 00:02:37,980 ka a-- ju në fakt mund të përcaktojë shkruani në mes fillim dhe në fund. 52 00:02:37,980 --> 00:02:42,020 Pra, struktura typedef përsëri është zakonisht typedef, emri i vjetër, emri i ri, 53 00:02:42,020 --> 00:02:45,360 ku emrat janë tashmë Llojet që e keni krijuar. 54 00:02:45,360 --> 00:02:49,620 Por ju mund të vërtetë të përcaktojë një strukturë të drejtë në mes të typedef 55 00:02:49,620 --> 00:02:51,760 në vend që të përcaktojë ajo veç e veç, dhe pastaj 56 00:02:51,760 --> 00:02:52,990 të bëjë një typedef të saj. 57 00:02:52,990 --> 00:02:55,780 Dhe kjo do të dukej vetëm si this-- typedef makinë struct, 58 00:02:55,780 --> 00:02:59,957 mbajtëse hapur kaçurrel, gjithë fushën tuaj përkufizimet, mbajtëse afër kaçurrel, t makinave. 59 00:02:59,957 --> 00:03:03,290 Pra, emri i vjetër është e gjitha që gjëra në e kuqe, ju jeni vetëm përcaktimin e strukturës 60 00:03:03,290 --> 00:03:05,610 dhe përmendur atë në të njëjtën kohë. 61 00:03:05,610 --> 00:03:07,790 Dhe pastaj emri i ri është underscore makinë t. 62 00:03:07,790 --> 00:03:10,150 Dhe kështu që në qoftë se ne fillojmë të përdorim këtë në kodin, më parë unë 63 00:03:10,150 --> 00:03:13,279 mund të ketë thënë: struct mycar makinë gjysmë-zorrës së trashë. 64 00:03:13,279 --> 00:03:14,820 E pra unë nuk kam për të bërë këtë më. 65 00:03:14,820 --> 00:03:20,265 Tani që unë kam përdorur typedef, unë Mund të them vetëm t nënvizojnë makinë, mycar. 66 00:03:20,265 --> 00:03:22,640 Kjo është një shumë më të shkurtër nga një mënyrë të për të bërë atë, dhe në fakt, kjo është 67 00:03:22,640 --> 00:03:24,515 do të jetë shumë më i përshtatshëm, sidomos 68 00:03:24,515 --> 00:03:27,730 si ju filloni të përdorni strukturat shumë më tepër në kodin tuaj. 69 00:03:27,730 --> 00:03:28,810 >> Unë jam Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Kjo është CS50. 71 00:03:30,640 --> 00:03:32,415