1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 Doug Lloyd: Se konsa, si ou te wè videyo nou an sou estrikti, 3 00:00:07,220 --> 00:00:10,950 ou deja konnen ke nou gen nan kapasite nan defini kalite pwòp done nou an. 4 00:00:10,950 --> 00:00:14,530 Men, si ou te itilize estrikti, ou konnen ke pafwa lè l sèvi avèk sa yo kalite done 5 00:00:14,530 --> 00:00:16,446 ka aktyèlman ap yon ti kras ankonbran paske nou 6 00:00:16,446 --> 00:00:19,210 gen yo sèvi ak mo kle a struct lè nou ap travay ak them-- 7 00:00:19,210 --> 00:00:21,257 struct machin oswa struct elèv yo. 8 00:00:21,257 --> 00:00:23,090 Sa se yon anpil yo tape si nou jis vle gen 9 00:00:23,090 --> 00:00:24,830 yon bagay ki senp, tankou yon estrikti. 10 00:00:24,830 --> 00:00:26,390 Nou vle en-nou vle kapab travay ak bagay sa yo 11 00:00:26,390 --> 00:00:29,350 yon ti kras plis steno fason, tankou int oswa Char, yon bagay yon anpil 12 00:00:29,350 --> 00:00:31,240 pi bon yo tape. 13 00:00:31,240 --> 00:00:33,100 >> Erezman, gen nan yon fason yo fè sa nan C, 14 00:00:33,100 --> 00:00:37,150 ak yon bagay rele tipedèf, ki se yon fason yo kreye steno oswa reekri 15 00:00:37,150 --> 00:00:38,640 non pou done kalite. 16 00:00:38,640 --> 00:00:40,720 Ou ka reyekri done kalite ki deja egziste, 17 00:00:40,720 --> 00:00:43,970 oswa ou ka ekri kalite done nan pwòp ou yo. 18 00:00:43,970 --> 00:00:46,890 >> Premye bagay ou fè se ou defini yon kalite nan wout ki pase nòmal, 19 00:00:46,890 --> 00:00:52,271 ak Lè sa a ou jis ALIAS li nan yon bagay else-- ansyen non nouvo non tipedèf. 20 00:00:52,271 --> 00:00:53,520 Trè dwat, dwa? 21 00:00:53,520 --> 00:00:56,240 Se konsa, nou te kapab tipedèf pou egzanp, done yo ki egziste deja 22 00:00:56,240 --> 00:01:00,266 di ki kalite siye Char kòm multiple. 23 00:01:00,266 --> 00:01:03,140 Apre sa, lè sa a, depi koulye a, apre yo fin nou te te fè sa a ki kalite definition-- ankò, 24 00:01:03,140 --> 00:01:07,570 ki se nòmalman ap pase yo dwe nan tèt la a dot nou an C dosye, oswa nan yon H dosye dot 25 00:01:07,570 --> 00:01:10,590 apa, nou kapab jis itilize mòde toupatou 26 00:01:10,590 --> 00:01:12,180 nou ta te itilize siye Char. 27 00:01:12,180 --> 00:01:14,300 Sa se yon anpil pi kout tape. 28 00:01:14,300 --> 00:01:19,280 >> Nan bibliyotèk CS50 a, nou fè sa a men nou tipedèf Char zetwal kòm fisèl. 29 00:01:19,280 --> 00:01:21,400 Paske nou distrè lwen lide a nan endikasyon. 30 00:01:21,400 --> 00:01:25,072 Ak lefèt ke yon afè se reyèlman yon konsèy nan character-- an premye 31 00:01:25,072 --> 00:01:26,780 yon etalaj de karaktè, paske li nan jis 32 00:01:26,780 --> 00:01:29,863 se konsa konfizyon yo ka resevwa tèt ou otou that-- men an reyalite sa a, se sa nou fè. 33 00:01:29,863 --> 00:01:35,140 Lè sa a liy nan Kòd aktyèlman egziste nan CS50 dot H tipedèf Char fisèl etwal, 34 00:01:35,140 --> 00:01:39,021 jis fè ke yon ti kras mwens ankonbran gen fè fas ak. 35 00:01:39,021 --> 00:01:41,520 Deja ou te wè pwobableman yon ti kras nan valè nan isit la, 36 00:01:41,520 --> 00:01:44,160 men tipedèf vin gwo lè konbine avèk estrikti, 37 00:01:44,160 --> 00:01:45,780 jan mwen mansyone pi bonè. 38 00:01:45,780 --> 00:01:48,550 Estrikti gen yon non kalite de-mo. 39 00:01:48,550 --> 00:01:52,020 Se konsa, yo ka reyèlman anmèdan yo kreye varyab la ki kalite, 40 00:01:52,020 --> 00:01:56,310 oswa [fèbl] a struct yon bagay, ou liy ka jis jwenn reyèlman, reyèlman long. 41 00:01:56,310 --> 00:01:59,400 Se konsa, ou ka itilize tipedèf yo vini ak yon bagay yon anpil pi kout. 42 00:01:59,400 --> 00:02:04,650 >> Se konsa, si mwen defini yon machin jan sa a, mwen gen definisyon mwen an yon struct machin car--, 43 00:02:04,650 --> 00:02:07,230 ak Lè sa a louvri Curly atèl, tout jaden yo nan estrikti mwen, 44 00:02:07,230 --> 00:02:11,030 fèmen atèl Curly, semi-colon-- apre mwen te defini kalite done m 'yo, 45 00:02:11,030 --> 00:02:15,680 Mwen kapab tipedèf struct machin kòm souliye machin t. 46 00:02:15,680 --> 00:02:19,670 Lè sa a, lè m 'te fè sa, kounye a chak tan mwen ta gen tan otreman itilize struct 47 00:02:19,670 --> 00:02:22,680 machin, mwen kapab jis itilize machin souliye t. 48 00:02:22,680 --> 00:02:26,480 Sa se yon anpil ki pi kout nan yon fason yo eksprime ide sa a nan estrikti sa a 49 00:02:26,480 --> 00:02:28,530 ke mwen jis kreye. 50 00:02:28,530 --> 00:02:33,620 >> Altènativman, paske estrikti yo, se pou souvan itilize nan tipedèf, 51 00:02:33,620 --> 00:02:37,980 gen nan a-- ou ka aktyèlman defini nan tape nan ant kòmansman an ak fen an. 52 00:02:37,980 --> 00:02:42,020 Se konsa, estrikti nan tipedèf ankò se anjeneral tipedèf, fin vye granmoun non, lòt non, 53 00:02:42,020 --> 00:02:45,360 kote non yo yo deja kalite ke ou te kreye. 54 00:02:45,360 --> 00:02:49,620 Men, ou ka aktyèlman defini yon estrikti dwa nan mitan an nan tipedèf nan 55 00:02:49,620 --> 00:02:51,760 olye pou yo gen yo defini li apa, ak Lè sa a 56 00:02:51,760 --> 00:02:52,990 fè yon tipedèf nan li. 57 00:02:52,990 --> 00:02:55,780 Apre sa, ki ta gade jis tankou sa a men tipedèf struct machin, 58 00:02:55,780 --> 00:02:59,957 louvri atèl Curly, nan tout jaden ou definisyon, fèmen atèl Curly, t machin. 59 00:02:59,957 --> 00:03:03,290 Se konsa, non an fin vye granmoun se tout sa ki bagay nan la wouj, w ap sèlman defini estrikti a 60 00:03:03,290 --> 00:03:05,610 ak nonmen li nan menm tan an. 61 00:03:05,610 --> 00:03:07,790 Lè sa a, nouvo non an se souliye machin t. 62 00:03:07,790 --> 00:03:10,150 Se konsa, si nou kòmanse yo sèvi ak sa a nan kòd, te deja mwen 63 00:03:10,150 --> 00:03:13,279 ta ka yo te di, struct machin mycar semi-kolon. 64 00:03:13,279 --> 00:03:14,820 Oke mwen pa gen fè sa ankò. 65 00:03:14,820 --> 00:03:20,265 Kounye a ke mwen te itilize tipedèf a, mwen ka jis di souliye machin t, mycar. 66 00:03:20,265 --> 00:03:22,640 Sa se yon anpil pi kout nan yon fason fè li, ak nan reyalite, li nan 67 00:03:22,640 --> 00:03:24,515 pral gen yon anpil plis pratik, espesyalman 68 00:03:24,515 --> 00:03:27,730 ke ou kòmanse yo sèvi ak estrikti yon anpil plis nan kòd ou yo. 69 00:03:27,730 --> 00:03:28,810 >> Mwen se Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Sa a se CS50. 71 00:03:30,640 --> 00:03:32,415