1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 DOUG LLOYD: Kaya kung na sa iyo nakita ng aming video sa kaayusan, 3 00:00:07,220 --> 00:00:10,950 na alam mo na na namin ang mga kakayahan upang tukuyin ang aming sariling mga uri ng data. 4 00:00:10,950 --> 00:00:14,530 Ngunit kung ikaw na ginagamit istruktura, alam mo na minsan ang paggamit ng mga uri ng data 5 00:00:14,530 --> 00:00:16,446 aktwal na maaaring maging isang maliit na nakakabahala dahil tayo 6 00:00:16,446 --> 00:00:19,210 kailangang gamitin ang struct keyword kapag kami ay nagtatrabaho sa them-- 7 00:00:19,210 --> 00:00:21,257 struct car o mag-aaral struct. 8 00:00:21,257 --> 00:00:23,090 Iyan ay isang pulutong na mag-type kung gusto lang namin na magkaroon ng 9 00:00:23,090 --> 00:00:24,830 isang bagay na simple, tulad ng isang istraktura. 10 00:00:24,830 --> 00:00:26,390 Gusto naming have-- gusto naming maaaring makapag-trabaho sa mga bagay-bagay 11 00:00:26,390 --> 00:00:29,350 isang maliit na mas shorthand paraan, tulad ng int o pansamantalang trabaho, isang bagay ng isang pulutong 12 00:00:29,350 --> 00:00:31,240 mas maginhawa upang i-type. 13 00:00:31,240 --> 00:00:33,100 >> Sa kabutihang palad, may isang paraan upang gawin ito sa C, 14 00:00:33,100 --> 00:00:37,150 na may isang bagay na tinatawag na typedef, na kung saan ay isang paraan upang lumikha ng shorthand o muling pagsusulat 15 00:00:37,150 --> 00:00:38,640 pangalan para sa uri ng data. 16 00:00:38,640 --> 00:00:40,720 Maaari mong muling isulat ang data uri na umiiral na, 17 00:00:40,720 --> 00:00:43,970 o maaari mong isulat mga uri ng data ng iyong sarili. 18 00:00:43,970 --> 00:00:46,890 >> Ang unang bagay na gagawin mo ay sa iyo tukuyin ang isang uri sa normal na paraan, 19 00:00:46,890 --> 00:00:52,271 at pagkatapos ay alias mo lamang ito sa isang bagay else-- typedef lumang pangalan ng bagong pangalan. 20 00:00:52,271 --> 00:00:53,520 Medyo prangka, di ba? 21 00:00:53,520 --> 00:00:56,240 Kaya maaari naming typedef halimbawa, ang mga umiiral na data 22 00:00:56,240 --> 00:01:00,266 uri ng unsigned pansamantalang trabaho bilang byte. 23 00:01:00,266 --> 00:01:03,140 At pagkatapos, mula ngayon, pagkatapos naming Na ginawa ng ganitong uri muli definition--, 24 00:01:03,140 --> 00:01:07,570 na kung saan ay karaniwang pagpunta sa maging sa tuktok ng ating dot C file, o sa isang tuldok H file 25 00:01:07,570 --> 00:01:10,590 nang hiwalay, maaari naming lamang gamitin ang kumagat sa lahat ng dako 26 00:01:10,590 --> 00:01:12,180 sana ay ginamit namin unsigned pansamantalang trabaho. 27 00:01:12,180 --> 00:01:14,300 Iyon ang mas maikli ng maraming mag-type. 28 00:01:14,300 --> 00:01:19,280 >> Sa library CS50, ginagawa namin this-- typedef namin char star bilang string. 29 00:01:19,280 --> 00:01:21,400 Dahil kami lumilipad ang isip ang layo ng mga ideya ng mga payo. 30 00:01:21,400 --> 00:01:25,072 At ang katunayan na ang isang string ay talagang isang pointer sa unang character-- 31 00:01:25,072 --> 00:01:26,780 isang hanay ng mga character, dahil ito lang 32 00:01:26,780 --> 00:01:29,863 kaya nakalilito upang makakuha ng inyong ulo sa paligid na- ngunit sa katunayan na ang kung ano ang ginagawa namin. 33 00:01:29,863 --> 00:01:35,140 At ito linya ng code ang tunay na umiiral sa CS50 dot H typedef char star string, 34 00:01:35,140 --> 00:01:39,021 lamang na gumawa na ng isang maliit na mas mababa nakakabahala na may sa pakikitungo sa. 35 00:01:39,021 --> 00:01:41,520 Mayroon ka na makikita marahil isang maliit na piraso ng halaga dito, 36 00:01:41,520 --> 00:01:44,160 ngunit typedef nagiging mahusay kapag pinagsama sa kaayusan, 37 00:01:44,160 --> 00:01:45,780 bilang ko alluded sa mas maaga. 38 00:01:45,780 --> 00:01:48,550 Istruktura ay may isang uri ng pangalan ng dalawang-salita. 39 00:01:48,550 --> 00:01:52,020 At kaya sila ay maaaring maging talagang nakakainis upang lumikha ng mga variable ng uri na iyon, 40 00:01:52,020 --> 00:01:56,310 o [hindi marinig] ng struct isang bagay, ang iyong mga linya ay maaaring lamang makakuha ng tunay, tunay long. 41 00:01:56,310 --> 00:01:59,400 At upang maaari mong gamitin typedef na dumating ng isang bagay ng isang pulutong mas maikli. 42 00:01:59,400 --> 00:02:04,650 >> Kaya kung tukuyin ko ng kotse ang mga sumusunod, mayroon akong ang aking mga kahulugan ng isang car-- struct kotse, 43 00:02:04,650 --> 00:02:07,230 at pagkatapos ay buksan kulot suhay, ang lahat ng larangan ng aking mga istraktura, 44 00:02:07,230 --> 00:02:11,030 malapit kulot suhay, semi-colon-- matapos na tinukoy ko na i-type ang aking data, 45 00:02:11,030 --> 00:02:15,680 Maaari ko bang typedef struct kotse bilang underscore car t. 46 00:02:15,680 --> 00:02:19,670 At pagkatapos ay kapag nagawa ko na, ngayon bawat time ko sana kung hindi man na ginamit struct 47 00:02:19,670 --> 00:02:22,680 kotse, maaari ko lamang gamitin underscore car t. 48 00:02:22,680 --> 00:02:26,480 Iyan ay isang pulutong mas maikli ng isang paraan upang ipahayag ang mga ideya na ito ng istraktura na ito 49 00:02:26,480 --> 00:02:28,530 na ako lang nilikha. 50 00:02:28,530 --> 00:02:33,620 >> Bilang kahalili, dahil istruktura ay kaya karaniwang ginagamit sa typedef, 51 00:02:33,620 --> 00:02:37,980 mayroong a-- maaari mong aktwal na tukuyin ang i-type sa pagitan ng simula at wakas. 52 00:02:37,980 --> 00:02:42,020 Kaya ang istraktura typedef muli ay karaniwang typedef, lumang pangalan, bagong pangalan, 53 00:02:42,020 --> 00:02:45,360 kung saan ang mga pangalan ay mayroon na uri na nilikha mo. 54 00:02:45,360 --> 00:02:49,620 Ngunit maaari mong aktwal na tukuyin ang isang istraktura karapatan sa gitna ng typedef 55 00:02:49,620 --> 00:02:51,760 sa halip ng pagkakaroon upang tukuyin ito nang hiwalay, at pagkatapos ay 56 00:02:51,760 --> 00:02:52,990 gawin ang isang typedef ng mga ito. 57 00:02:52,990 --> 00:02:55,780 At na magiging ganito ang hitsura lamang this-- typedef struct kotse, 58 00:02:55,780 --> 00:02:59,957 bukas kulot suhay, ang lahat ng iyong mga patlang pagbibigay-kahulugan, malapit kulot suhay, t car. 59 00:02:59,957 --> 00:03:03,290 Kaya ang lumang pangalan ay ang lahat ng mga bagay-bagay na sa pula, ikaw ay lamang ng pagtukoy sa istraktura 60 00:03:03,290 --> 00:03:05,610 at pagbibigay ng pangalan sa mga ito at sa parehong oras. 61 00:03:05,610 --> 00:03:07,790 At pagkatapos ay ang bagong pangalan ay underscore car t. 62 00:03:07,790 --> 00:03:10,150 At kaya kung sinimulan naming gamitin ang ito sa code, dati ko 63 00:03:10,150 --> 00:03:13,279 maaaring sinabi, struct car mycar semi-colon. 64 00:03:13,279 --> 00:03:14,820 Well hindi ko kailangang gawin iyon ngayon. 65 00:03:14,820 --> 00:03:20,265 Ngayon na ginagamit ko na ang typedef, ako Maaari lamang sabihin underscore car t, mycar. 66 00:03:20,265 --> 00:03:22,640 Iyan ay isang pulutong mas maikli ng isang paraan na gawin ito, at sa katunayan, ito ay 67 00:03:22,640 --> 00:03:24,515 pagpunta sa isang pulutong ng higit pa maginhawa, lalo na 68 00:03:24,515 --> 00:03:27,730 simulan mo na gumamit ng kaayusan isang pulutong ng higit sa iyong code. 69 00:03:27,730 --> 00:03:28,810 >> Ako Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Ito ay CS50. 71 00:03:30,640 --> 00:03:32,415