1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:11,261 [Jwe mizik] 3 00:00:11,261 --> 00:00:12,640 >> DAVID J. Malan: Tout dwa. 4 00:00:12,640 --> 00:00:14,525 Sa a se CS50. 5 00:00:14,525 --> 00:00:16,009 Lè sa a se kòmansman an nan semèn 5. 6 00:00:16,009 --> 00:00:18,050 Epi kòm ou ka remake gen, kèk nan materyèl la 7 00:00:18,050 --> 00:00:21,050 a ap vin yon ti kras plis konplèks, dans la ti kras. 8 00:00:21,050 --> 00:00:24,560 >> Epi li trè fasil, espesyalman si ou rive ve te nan abitid la pou kèk tan, 9 00:00:24,560 --> 00:00:28,600 yo dwe ap eseye madjigridji desann pi anyen nou fè sa, nou ap di nan klas la. 10 00:00:28,600 --> 00:00:31,626 Men mwen reyalize, se sa ki pa petèt ideyal apwòch la pedagojik 11 00:00:31,626 --> 00:00:34,250 aprann sa a kalite materyèl, ak materyèl plis jeneralman. 12 00:00:34,250 --> 00:00:37,250 Se konsa, nou kontan anonse pwòp Gheng ki CS50 nan 13 00:00:37,250 --> 00:00:39,780 Gong te kòmanse yo prepare yon seri kanonyal nan nòt 14 00:00:39,780 --> 00:00:42,100 pou kou a, se espwa a nan ki se ke, yon sèl, sa yo 15 00:00:42,100 --> 00:00:44,030 pa sèlman sèvi kòm yon referans ak yon resous 16 00:00:44,030 --> 00:00:47,410 pou revize materyèl ak ale tounen nan materyèl ki ta ka gen 17 00:00:47,410 --> 00:00:51,230 chape ou premye fwa nan alantou li, men tou pou ke tèt nou ka gen plis 18 00:00:51,230 --> 00:00:53,740 moute pase desann, lè li rive lè yo konferans, 19 00:00:53,740 --> 00:00:56,960 pou ke ou ta ka angaje yo plis reflechi byen, menm jan 20 00:00:56,960 --> 00:00:59,170 yo te opoze ak plis scribbly. 21 00:00:59,170 --> 00:01:02,510 >> Avèk ki te di, ki sa ou ap jwenn sou sit entènèt la se dokiman tankou sa a. 22 00:01:02,510 --> 00:01:04,660 Ak avi, nan gòch anwo, gen nan pa sèlman yon Table of Contents, 23 00:01:04,660 --> 00:01:06,920 men tou, kòd tan ke pral imedyatman so ou 24 00:01:06,920 --> 00:01:09,077 nan pati ki apwopriye a nan jwèt la videyo. 25 00:01:09,077 --> 00:01:11,410 Ak sa ki Chang isit la te fè se, esansyèlman, dokimante 26 00:01:11,410 --> 00:01:13,340 sa ki te pase nan ka sa patikilye konferans. 27 00:01:13,340 --> 00:01:16,370 Ak anpil nan konferans yo se deja sou entènèt kounye a ak URL sa a. 28 00:01:16,370 --> 00:01:20,110 Epitou, n ap kontinye afiche rès la nan tout sa yo nan fen semèn sa a, 29 00:01:20,110 --> 00:01:22,380 se konsa pran avantaj de ki resous. 30 00:01:22,380 --> 00:01:25,740 >> Se konsa, san brwi pi lwen, nou te kòmanse kale tounen 31 00:01:25,740 --> 00:01:28,180 kouch nan ki te fisèl pou kèk tan. 32 00:01:28,180 --> 00:01:30,670 Ak sa ki nou te di yon afè aktyèlman se semèn pase a? 33 00:01:30,670 --> 00:01:31,720 34 00:01:31,720 --> 00:01:32,900 Se konsa, Char zetwal. 35 00:01:32,900 --> 00:01:34,900 Ak zetwal Char, byen, sa ki t 'ki vrèman vle di? 36 00:01:34,900 --> 00:01:37,150 Oke, tout tan sa a, si nou te te rele yon fonksyon, 37 00:01:37,150 --> 00:01:40,450 tankou getString, ak estoke retounen nan sa yo rele 38 00:01:40,450 --> 00:01:42,910 valè de getString nan yon variable-- sa yo rele 39 00:01:42,910 --> 00:01:47,721 kalite nan fisèl nou ve yo te ekri liy lan nan Kòd moute a pi wo a. 40 00:01:47,721 --> 00:01:49,970 Epi li sèlman lè mwen wè m ' ekriti gwo respè isit la 41 00:01:49,970 --> 00:01:51,930 fè mwen reyalize jis ki jan atròs sa a se. 42 00:01:51,930 --> 00:01:54,180 >> Sepandan, kite a sipoze ke, sou bò dwat-ou 43 00:01:54,180 --> 00:01:57,070 se, Alòske, yon rezonab ilistrasyon nan sa ki nan 44 00:01:57,070 --> 00:01:58,880 te ale sou tout bagay sa a tan ak getString. 45 00:01:58,880 --> 00:02:00,380 getString, nan kou, vin yon fisèl. 46 00:02:00,380 --> 00:02:01,691 Men, sa ki ki vrèman vle di? 47 00:02:01,691 --> 00:02:04,190 Sa vle di li vin yon ti moso nan memwa soti nan sistèm nan fonksyone 48 00:02:04,190 --> 00:02:06,040 lè w rele yon fonksyon, ki rele malok. 49 00:02:06,040 --> 00:02:07,390 Men, plis sou sa pita. 50 00:02:07,390 --> 00:02:09,139 Lè sa a, li remplit ki ti moso nan memwa 51 00:02:09,139 --> 00:02:11,764 ak lèt ​​yo itilizatè a gen tape nan, ki te swiv pa, nan kou, 52 00:02:11,764 --> 00:02:14,800 yon karaktè nil, oswa antislach zewo nan fen anpil. 53 00:02:14,800 --> 00:02:18,280 >> Pandan se tan, ki sou bò gòch-men nan istwa sa a, tout tan sa a, 54 00:02:18,280 --> 00:02:20,850 nou ve yo te deklare yon varyab, tankou nan. 55 00:02:20,850 --> 00:02:24,770 Ak varyab sa a se sa ki kounye a pral kòmanse rele yon konsèy. 56 00:02:24,770 --> 00:02:29,190 Li pa yon bwat andedan nan yo ki nou mete fisèl la, Daven, se pou chak, 57 00:02:29,190 --> 00:02:32,550 men pito nou mete nan ki kare bwat sou bò gòch la ki sa egzakteman? 58 00:02:32,550 --> 00:02:34,890 59 00:02:34,890 --> 00:02:35,390 Yeah? 60 00:02:35,390 --> 00:02:37,118 >> ODYANS: postal la nan kote li sitiye nan memwa. 61 00:02:37,118 --> 00:02:38,118 >> DAVID J. Malan: Egzakteman. 62 00:02:38,118 --> 00:02:40,690 Adrès postal la nan kote Daven a sitiye nan memwa. 63 00:02:40,690 --> 00:02:44,650 Epi yo pa kote tout nan Daven sitiye, se pou chak, men espesyalman adrès la 64 00:02:44,650 --> 00:02:45,150 nan ki sa? 65 00:02:45,150 --> 00:02:46,311 66 00:02:46,311 --> 00:02:46,810 Yeah? 67 00:02:46,810 --> 00:02:47,460 >> ODYANS: Premye karaktè. 68 00:02:47,460 --> 00:02:50,209 >> DAVID J. Malan: karaktè nan premye nan Daven, ki, nan ka sa a, 69 00:02:50,209 --> 00:02:53,820 Mwen pwopoze te abitrèman ak irealist 1, OX1, 70 00:02:53,820 --> 00:02:55,910 ki jis vle di la Nimewo ekzadesimal nan 1. 71 00:02:55,910 --> 00:02:57,993 Men, li la pwobableman pral yo dwe yon nimewo pi gwo anpil 72 00:02:57,993 --> 00:03:01,260 ke nou ta ka trase ak yon 0x kòm yon prefiks, 73 00:03:01,260 --> 00:03:02,806 repwezantan yon karaktè ekzadesimal. 74 00:03:02,806 --> 00:03:05,930 Epi paske nou pa bezwen konnen ki kote rès la nan karaktè yo nan Daven 75 00:03:05,930 --> 00:03:09,860 ye a, paske nan sa ki senp konsepsyon desizyon ki te fè anpil ane de sa? 76 00:03:09,860 --> 00:03:10,548 Yeah? 77 00:03:10,548 --> 00:03:11,651 >> ODYANS: Antislach 0. 78 00:03:11,651 --> 00:03:12,900 DAVID J. Malan: Yeah, egzakteman. 79 00:03:12,900 --> 00:03:18,100 Antislach a 0 pèmèt ou, kwake nan tan lineyè, Traverse fisèl la, 80 00:03:18,100 --> 00:03:20,400 mache soti nan goch a dwat, ak yon riban pou, oswa yon ti tan 81 00:03:20,400 --> 00:03:22,608 riban, oswa yon bagay tankou sa, epi detèmine, o, isit la 82 00:03:22,608 --> 00:03:24,751 se nan fen fisèl sa a an patikilye. 83 00:03:24,751 --> 00:03:27,000 Se konsa, avèk jis adrès la nan nan konmansman an nan yon fisèl, 84 00:03:27,000 --> 00:03:30,290 nou ka gen aksè antye a nan li, paske tout pandan y ap sa a, 85 00:03:30,290 --> 00:03:32,030 te yon afè jis te yon etwal Char. 86 00:03:32,030 --> 00:03:36,370 >> Se konsa, li la sètènman amann yo kontinye lè l sèvi avèk bibliyotèk la CS50 ak distraksyon sa a, 87 00:03:36,370 --> 00:03:38,440 se konsa pale, Men, nou pral kòmanse wè egzakteman 88 00:03:38,440 --> 00:03:41,230 sa ki te ale sou anba tan sa a tout antye. 89 00:03:41,230 --> 00:03:45,260 Se konsa, ou ka sonje egzanp sa a, tou, soti nan dènye fwa, konpare 0, 90 00:03:45,260 --> 00:03:47,300 ki pa t 'aktyèlman konpare. 91 00:03:47,300 --> 00:03:49,070 Men, nou yo te kòmanse rezoud sa a. 92 00:03:49,070 --> 00:03:52,020 >> Men, jan petèt yon resiklaj, ta ka mwen enterese yon moun 93 00:03:52,020 --> 00:03:54,261 nan yon elefan woz jodi a, tou fèt pa Chang? 94 00:03:54,261 --> 00:03:55,760 Kouman sou ou nan devan? [Fèbl]. 95 00:03:55,760 --> 00:03:56,660 Vini non sou yo. 96 00:03:56,660 --> 00:03:58,740 >> Ak nan entre-temps la, kòm ou vini, se pou yo 97 00:03:58,740 --> 00:04:01,670 konsidere sèlman pou moman yon ki sa Kòd sa a te aktyèlman fè. 98 00:04:01,670 --> 00:04:04,917 Li nan deklare de varyab moute tèt, la ak t, ak rele getString. 99 00:04:04,917 --> 00:04:08,250 Sa a se pa yon pwogram trè user-zanmitay, paske li pa di w ki sa yo fè. 100 00:04:08,250 --> 00:04:10,541 Men, kite a jis asime nou ap ki konsantre sou pati nan juicy. 101 00:04:10,541 --> 00:04:14,470 Lè sa a, nou fè sa, si yo egal egal t, li ta dwe di printf, 102 00:04:14,470 --> 00:04:16,170 ou tape menm bagay la. 103 00:04:16,170 --> 00:04:16,670 Hello. 104 00:04:16,670 --> 00:04:17,050 Ki sa ki nan non ou? 105 00:04:17,050 --> 00:04:17,779 >> Janelle: Janelle. 106 00:04:17,779 --> 00:04:19,529 DAVID J. Malan: Janelle, bèl al kontre ou. 107 00:04:19,529 --> 00:04:21,800 Se konsa, defi ou a yon men pou yon elefan sa a 108 00:04:21,800 --> 00:04:25,230 se premye trase nou yon foto nan sa ki nan ke yo te reprezante nan sa yo de premye 109 00:04:25,230 --> 00:04:25,970 liy yo. 110 00:04:25,970 --> 00:04:28,139 Se konsa, s ak t ta kapab reprezante ki jan sou ekran an? 111 00:04:28,139 --> 00:04:30,680 Epi ou ka jis trase l 'ak dwèt ou sou ekran sa a gwo. 112 00:04:30,680 --> 00:04:31,780 113 00:04:31,780 --> 00:04:34,510 >> Se konsa, gen nan de mwatye chak bò ki ekwasyon. 114 00:04:34,510 --> 00:04:37,760 Se konsa gen nan yo sou bò gòch la, epi Lè sa a, getString sou bò dwat la. 115 00:04:37,760 --> 00:04:40,540 Lè sa a, gen nan t sou bò gòch la, ak Lè sa a getString sou bò dwat la. 116 00:04:40,540 --> 00:04:42,630 Se konsa, ki jan ta ka nou kòmanse desen yon foto ki 117 00:04:42,630 --> 00:04:46,340 reprezante sa k ap pase sou isit la nan memwa, ou ta di? 118 00:04:46,340 --> 00:04:49,150 Ak kite m 'kite ou eksplike sa w ap fè jan ou ale. 119 00:04:49,150 --> 00:04:49,820 >> Janelle: OK. 120 00:04:49,820 --> 00:04:58,890 Oke, an premye, li ta dwe mande ou jwenn fisèl la opinyon. 121 00:04:58,890 --> 00:05:00,439 Epi li ta store-- oh, regrèt. 122 00:05:00,439 --> 00:05:01,230 DAVID J. Malan: OK. 123 00:05:01,230 --> 00:05:01,730 Bon. 124 00:05:01,730 --> 00:05:03,330 Lè sa a yo rele ki sa? 125 00:05:03,330 --> 00:05:03,950 Oh, OK. 126 00:05:03,950 --> 00:05:04,450 Kenbe prale. 127 00:05:04,450 --> 00:05:05,575 Mwen pa t 'vle di entèwonp. 128 00:05:05,575 --> 00:05:07,060 Janelle: M regrèt. 129 00:05:07,060 --> 00:05:14,237 Se konsa, li ta D 'l' nan adrès la of-- pa sèten. 130 00:05:14,237 --> 00:05:17,320 Mwen pa ka egzakteman sonje nimewo a, men mwen kwè li te kòmanse avèk 0. 131 00:05:17,320 --> 00:05:18,420 >> DAVID J. Malan: Sa a tout dwa, paske mwen te fè nimewo yo leve, 132 00:05:18,420 --> 00:05:19,650 se konsa gen nan pa gen repons ki kòrèk. 133 00:05:19,650 --> 00:05:22,105 >> Janelle: Kòmanse avèk arc ak a 0. 134 00:05:22,105 --> 00:05:24,000 >> DAVID J. Malan: OK, se konsa eleman 0. 135 00:05:24,000 --> 00:05:24,765 Asire w. 136 00:05:24,765 --> 00:05:28,295 >> Janelle: Lè sa a, si te tankou jis yon de-letter-- 137 00:05:28,295 --> 00:05:30,496 >> DAVID J. Malan: OK, tounen ba ou. 138 00:05:30,496 --> 00:05:33,629 >> Janelle: Se konsa, eleman 0, epi Lè sa a, eleman 1 oswa eleman 2. 139 00:05:33,629 --> 00:05:36,670 DAVID J. Malan: Lè ki moso nan foto a ou menm ki fè desen kounye a? 140 00:05:36,670 --> 00:05:37,690 Rele nan getString? 141 00:05:37,690 --> 00:05:38,830 Oswa deklarasyon an nan la? 142 00:05:38,830 --> 00:05:42,890 >> Janelle: deklarasyon ki nan s, mwen kwè. 143 00:05:42,890 --> 00:05:45,980 Oh, getString a, paske li ta dwe antre nan chak [? zòn nan. ?] 144 00:05:45,980 --> 00:05:46,510 >> DAVID J. Malan: Bon. 145 00:05:46,510 --> 00:05:47,051 Egzakteman. 146 00:05:47,051 --> 00:05:49,300 Menm si sa a efektivman retounen yon etalaj, sonje, 147 00:05:49,300 --> 00:05:53,300 lè nou jwenn tounen yon fisèl, nou kapab endèks nan ki fisèl lè l sèvi avèk 01 ak 2. 148 00:05:53,300 --> 00:05:56,180 Teknikman, sa yo se pwobableman reprezante pa adrès endividyèl, 149 00:05:56,180 --> 00:05:57,100 men sa a amann. 150 00:05:57,100 --> 00:06:00,170 >> Se konsa, ta kwè, si mwen ka jis vit pou pi devan pou kote nou te kite 151 00:06:00,170 --> 00:06:04,320 dènye fwa a, si youn nan strings yo te g yon b e, 152 00:06:04,320 --> 00:06:10,337 antislach 0, kidonk reprezante Gabe a D ', ki jan ta ka nou reprezante nan kounye a? 153 00:06:10,337 --> 00:06:12,670 Si sa a se memwa a sa a, se te tounen pa getString? 154 00:06:12,670 --> 00:06:14,415 155 00:06:14,415 --> 00:06:17,610 >> Janelle: Li ta dwe reprezante pa yon ak? 156 00:06:17,610 --> 00:06:18,750 >> DAVID J. Malan: Lè yon ak? 157 00:06:18,750 --> 00:06:19,130 Oke, pa gen okenn. 158 00:06:19,130 --> 00:06:21,171 Se pou nou jis di, pictorially, kite m 'jis ale pi devan 159 00:06:21,171 --> 00:06:25,710 ak pwopoze ke, si sa a se la, sa a se valè a retounen nan getString. 160 00:06:25,710 --> 00:06:29,482 Epi ou te trase sa a kòm 0, 1, 2, ki se parfe rezonab, paske nou 161 00:06:29,482 --> 00:06:30,940 kapab endèks nan fisèl la, kòm sa yo. 162 00:06:30,940 --> 00:06:33,340 Men, jis yo dwe konsistan avèk dènye fwa, kite m 'ale pi devan 163 00:06:33,340 --> 00:06:37,310 ak abitrèman pwopoze ke sa a se adrès 1, sa a se adrès 2, 164 00:06:37,310 --> 00:06:39,597 sa a se adrès 3, ak pou fè. 165 00:06:39,597 --> 00:06:41,430 Se konsa, jis yo dwe super klè, sa k ap pase 166 00:06:41,430 --> 00:06:44,580 yo ale nan a kòm yon rezilta nan ki premye liy nan kòd, ou ta di? 167 00:06:44,580 --> 00:06:45,420 >> Janelle: Adrès 1? 168 00:06:45,420 --> 00:06:46,420 >> DAVID J. Malan: Egzakteman. 169 00:06:46,420 --> 00:06:47,190 Se konsa, adrese 0x1. 170 00:06:47,190 --> 00:06:48,220 171 00:06:48,220 --> 00:06:51,230 Ak pandan se tan, kite m 'ale pi devan epi kopi anpil nan sa ki ou te fè 172 00:06:51,230 --> 00:06:52,740 epi ajoute pwòp t m 'isit la. 173 00:06:52,740 --> 00:06:56,340 Si m 'te tape nan Gabe ankò, yon dezyèm fwa, 174 00:06:56,340 --> 00:07:01,530 lè pouse ak getString, ki kote, nan kou, se Gabe pral ale? 175 00:07:01,530 --> 00:07:02,280 Oke, presumably-- 176 00:07:02,280 --> 00:07:04,935 177 00:07:04,935 --> 00:07:05,975 >> Janelle: Menm jan ak sou isit la? 178 00:07:05,975 --> 00:07:06,850 DAVID J. Malan: Yeah. 179 00:07:06,850 --> 00:07:08,516 Janelle: Oswa li la tou nan bwat yo menm? 180 00:07:08,516 --> 00:07:11,940 DAVID J. Malan: Kite m 'pwopoze, yeah, egzakteman, se konsa nan sa yo bwat adisyonèl. 181 00:07:11,940 --> 00:07:15,230 Men, sa ki nan kle kounye a se ke, menm menm si mwen te trase sa yo trè fèmen 182 00:07:15,230 --> 00:07:18,650 together-- 0x1, sa a se 0x2-- an reyalite, 183 00:07:18,650 --> 00:07:25,750 sa a kounye a ta kapab adrès 0x10, pou egzanp, ak 0x11, ak 0x12, 184 00:07:25,750 --> 00:07:26,870 ak pou fè. 185 00:07:26,870 --> 00:07:29,955 Se konsa, si sa a ka a, sa k ap pase nan fen moute isit la nan t? 186 00:07:29,955 --> 00:07:30,830 >> Janelle: 0x10? 187 00:07:30,830 --> 00:07:31,830 DAVID J. Malan: Egzakteman. 188 00:07:31,830 --> 00:07:33,180 Se konsa, 0x10. 189 00:07:33,180 --> 00:07:34,570 Se konsa, kounye a, kesyon final la. 190 00:07:34,570 --> 00:07:37,510 Ou te, pa lwen, te gen nan travay la pi di pou yon elefan konsa byen lwen. 191 00:07:37,510 --> 00:07:42,650 Depi kounye a, si mwen rale moute kòd la ankò, lè m 'fè, nan liy twa, 192 00:07:42,650 --> 00:07:47,630 si yo egal egal t, ki sa mwen aktyèlman konpare ke nou te trase isit la? 193 00:07:47,630 --> 00:07:49,271 >> Janelle: de adrès yo? 194 00:07:49,271 --> 00:07:50,270 DAVID J. Malan: Egzakteman. 195 00:07:50,270 --> 00:07:53,350 Se konsa, mwen di la a se s egal egal a T? 196 00:07:53,350 --> 00:07:56,210 Nan lòt mo, se 1 egal egal a 10? 197 00:07:56,210 --> 00:07:59,710 Ak nan kou, nan repons evidan kounye a se, pa gen okenn. 198 00:07:59,710 --> 00:08:02,920 Se konsa, pwogram sa a se finalman ale nan enprime ki sa, ou ta di? 199 00:08:02,920 --> 00:08:05,770 200 00:08:05,770 --> 00:08:08,405 >> Janelle: Li ta dwe, ou tape menm bagay la? 201 00:08:08,405 --> 00:08:11,446 >> DAVID J. Malan: Se konsa, si a se 1 ak t se 10? 202 00:08:11,446 --> 00:08:13,320 >> Janelle: Ou tape bagay diferan. 203 00:08:13,320 --> 00:08:13,570 >> DAVID J. Malan: Egzakteman. 204 00:08:13,570 --> 00:08:14,480 Ou tape bagay diferan. 205 00:08:14,480 --> 00:08:14,850 Tout dwa. 206 00:08:14,850 --> 00:08:16,714 Se konsa, yon wonn nan aplodisman, si nou te kapab, isit la. 207 00:08:16,714 --> 00:08:17,214 [Aplodisman] 208 00:08:17,214 --> 00:08:17,708 Sa ki te fè mal. 209 00:08:17,708 --> 00:08:18,208 Mwen konnen. 210 00:08:18,208 --> 00:08:19,684 Joliman fè. 211 00:08:19,684 --> 00:08:24,690 Se konsa, kounye a kite a wè si nou pa kapab toumante apa sa ki ranje a te ye a. 212 00:08:24,690 --> 00:08:28,040 Ak nan kou, lè nou fiks this-- ki mwen pral kounye a reprezante nan green-- 213 00:08:28,040 --> 00:08:29,690 nou te fè yon koup la amelyorasyon isit la. 214 00:08:29,690 --> 00:08:32,409 Premyèman, jis kòm yon saniti tcheke, mwen premye tcheke 215 00:08:32,409 --> 00:08:35,110 si yo egal nil epi t egal nil. 216 00:08:35,110 --> 00:08:39,440 Epi jis yo dwe klè, lè ta ka a oswa t pral nil nan kòd tankou sa a? 217 00:08:39,440 --> 00:08:43,140 218 00:08:43,140 --> 00:08:44,490 Lè a oswa t ta kapab nil. 219 00:08:44,490 --> 00:08:44,990 Yeah? 220 00:08:44,990 --> 00:08:45,990 >> ODYANS: [fèbl]. 221 00:08:45,990 --> 00:08:49,490 222 00:08:49,490 --> 00:08:50,510 >> DAVID J. Malan: Egzakteman. 223 00:08:50,510 --> 00:08:52,840 Si fisèl la ki itilizatè a tape nan se yon fason twò lontan 224 00:08:52,840 --> 00:08:56,140 nan anfòm nan memwa, oswa kèk etranj ka kwen tankou sa yo, 225 00:08:56,140 --> 00:08:59,010 getstring, jan nou pral wè, literalman jodi a, nan dokiman li yo, 226 00:08:59,010 --> 00:09:02,330 di li pral retounen nil kòm se yon valè Sentinel espesyal, 227 00:09:02,330 --> 00:09:05,417 oswa jis sòt de yon senbòl espesyal sa vle di yon bagay ale mal. 228 00:09:05,417 --> 00:09:07,500 Se konsa, nou vle tcheke pou sa, paske li vire soti 229 00:09:07,500 --> 00:09:09,720 ki nil se yon valè trè danjere. 230 00:09:09,720 --> 00:09:14,250 >> Anpil fwa, si ou eseye fè yon bagay ak nil ki enplike yon function-- pase li 231 00:09:14,250 --> 00:09:17,470 kòm opinyon, pou instance-- ke fonksyon ta ka trè pral aksidan ak, ak li, 232 00:09:17,470 --> 00:09:19,090 pran desann pwogram antye ou. 233 00:09:19,090 --> 00:09:22,570 Se konsa, liy sa a twazyèm kounye a se jis yon saniti tcheke, erè kont kouran, si ou vle. 234 00:09:22,570 --> 00:09:25,450 Sa a se yon abitid bon kounye a pou nou jwenn nan nenpòt ki lè nou 235 00:09:25,450 --> 00:09:28,050 eseye sèvi ak yon valè ki te kapab, ki kapab, pral nil. 236 00:09:28,050 --> 00:09:32,000 >> Koulye a, nan liy lan katriyèm isit la, "Si strkan (yo, t)," byen, 237 00:09:32,000 --> 00:09:33,180 sa ki nan ki refere li a? 238 00:09:33,180 --> 00:09:36,750 Oke, nou te di sa a te yon trè suksen yo te rele fonksyon pou fisèl konparezon. 239 00:09:36,750 --> 00:09:40,370 Ak objektif li yo nan lavi a se yo konpare premye agiman li yo kont li, dezyèm lan, 240 00:09:40,370 --> 00:09:44,640 men se pa an tèm de adrès yo, jan nou te fè san yon ti moman 241 00:09:44,640 --> 00:09:48,270 de sa ak kòd la wouj, men olye yo konpare sa yo de 242 00:09:48,270 --> 00:09:53,210 strings nan umenman entwisyon an fason lè w konpare sa a, kont sa a, 243 00:09:53,210 --> 00:09:56,690 kont sa a, kont sa a, epi Lè sa a, kanpe si ak lè yon sèl 244 00:09:56,690 --> 00:09:59,590 oswa toude nan dwèt mwen frape yon antislach 0. 245 00:09:59,590 --> 00:10:04,530 Se konsa, yon moun ane de sa aplike strkan aplike pou nou fonctionnalités a 246 00:10:04,530 --> 00:10:08,890 ke nou te espere nou ta gen vinn pa jis konpare de valè ki senp. 247 00:10:08,890 --> 00:10:14,929 >> Koulye a, franchman, mwen kenbe desen tout nan nimewo sa yo divès kalite. 248 00:10:14,929 --> 00:10:17,470 Men, reyalite a se, mwen te fè sa yo moute tan nan tout antye. 249 00:10:17,470 --> 00:10:19,580 Se konsa, kite m 'jis ale pi devan ak madjigridji sa yo soti 250 00:10:19,580 --> 00:10:23,100 fè yon pwen ki, nan fen a nan jou a ak k ap deplase pi devan, 251 00:10:23,100 --> 00:10:30,160 nou pa ap reyèlman ale nan pran swen sou sa adrese bagay yo aktyèlman 252 00:10:30,160 --> 00:10:30,790 nan memwa. 253 00:10:30,790 --> 00:10:34,320 Se konsa, mwen pa pwal fè desen sa yo kalite nimewo tèlman ankò, 254 00:10:34,320 --> 00:10:38,970 Mwen jis yon abstrè sa a lwen yon ti kras pi plis zanmitay ak jis kèk flèch. 255 00:10:38,970 --> 00:10:42,060 >> Nan lòt mo, si a se yon konsèy, byen, kite yo jis rale l ', literalman, 256 00:10:42,060 --> 00:10:45,430 kòm yon konsèy, yon flèch montre soti nan tèt li nan yon lòt bagay, 257 00:10:45,430 --> 00:10:48,280 epi yo pa enkyete twòp plis enfòmasyon sou ti detay nan sa yo adrès 258 00:10:48,280 --> 00:10:49,910 ki, ankò, mwen te fè leve de tout fason. 259 00:10:49,910 --> 00:10:52,680 Men, nou pral wè sa yo adrès, pafwa, lè debogaj kòd. 260 00:10:52,680 --> 00:10:56,450 >> Koulye a, pandan se tan, pwogram sa a moute isit la fikse, nan kou, 261 00:10:56,450 --> 00:10:58,720 ke pwoblèm lè w konpare de strings sa yo. 262 00:10:58,720 --> 00:11:00,260 Men, nou li pran kouri nan yon lòt pwoblèm. 263 00:11:00,260 --> 00:11:03,180 Sa a te soti nan kopi a pwogram dènye fwa, 264 00:11:03,180 --> 00:11:06,880 ak lese pase ', mwen te ap eseye kapitalize jis pèsonaj la premye nan yon fisèl. 265 00:11:06,880 --> 00:11:09,620 Men, sa ki te sentòm nan nou te wè dènye fwa lè 266 00:11:09,620 --> 00:11:14,150 yon itilizatè tape nan yon valè, tankou Gabe nan miniskil, pou la, 267 00:11:14,150 --> 00:11:19,310 lè sa a nou asiyen nan nan t, tankou nan liy nan twazyèm a, 268 00:11:19,310 --> 00:11:22,900 ak Lè sa a mwen te eseye tirer t bracket 0? 269 00:11:22,900 --> 00:11:25,950 Ki sa ki te efè a nan chanje t bracket 0 isit la? 270 00:11:25,950 --> 00:11:27,150 >> ODYANS: Li chanje a. 271 00:11:27,150 --> 00:11:29,360 >> DAVID J. Malan: Yeah, Mwen chanje a, kòm byen. 272 00:11:29,360 --> 00:11:31,050 Paske sa ki te reyèlman ale sou? 273 00:11:31,050 --> 00:11:34,130 Oke, kite m 'wè si mwen ka netwaye moute foto sa a, jan sa a. 274 00:11:34,130 --> 00:11:41,390 >> Si a se, ankò, pawòl Bondye g la, A, B, e, antislach, 0, ak s 275 00:11:41,390 --> 00:11:44,084 nou pral kontinye desen kòm yon bwat isit la, men pa gen okenn plis adrès. 276 00:11:44,084 --> 00:11:45,250 Ann sispann fè bagay yo. 277 00:11:45,250 --> 00:11:47,510 Se pou nou jis desine yon foto senplifye mond lan. 278 00:11:47,510 --> 00:11:52,640 >> Lè m 'deklare t ak fisèl t, ki ka kreye ki ti moso nan memwa. 279 00:11:52,640 --> 00:11:55,850 Square k ap pase yo 32 Bits nan pifò òdinatè. 280 00:11:55,850 --> 00:11:59,530 An reyalite, si ou te janm tande pale de yon òdinatè ki gen yon achitekti 32-ti jan, 281 00:11:59,530 --> 00:12:03,000 reyèlman anpenpan-pale, ki jis vle di li itilize adrès 32-ti jan. 282 00:12:03,000 --> 00:12:05,370 Epi kòm yon teknik sou kote, si ou te janm mande 283 00:12:05,370 --> 00:12:09,630 poukisa pi gran òdinatè, si ou aktyèlman yo te eseye soup yo moute ak anpil nan RAM, 284 00:12:09,630 --> 00:12:12,360 te kapab sèlman gen yon maksimòm nan kat jigokte nan RAM, 285 00:12:12,360 --> 00:12:14,860 byen sa a, se paske, literalman, òdinatè fin vye granmoun ou te kapab sèlman 286 00:12:14,860 --> 00:12:17,250 konte kòm yon wo 4 milya dola, 4 milya de dola bytes, 287 00:12:17,250 --> 00:12:20,590 paske li te lè l sèvi avèk 32-ti jan nimewo pou adrès. 288 00:12:20,590 --> 00:12:23,260 >> Men, nan nenpòt ka, nan ka sa egzanp, istwa a pi senpl. 289 00:12:23,260 --> 00:12:27,250 t se jis yon lòt konsèy, oswa reyèlman yon etwal Char, aka fisèl. 290 00:12:27,250 --> 00:12:30,860 Ak ki jan fè mwen vle mete ajou foto sa a kounye a ak ki liy dezyèm nan kòd, 291 00:12:30,860 --> 00:12:31,950 apre dot la, dot, dot? 292 00:12:31,950 --> 00:12:35,845 Lè m 'fè fisèl t egal a virgules, ki jan foto sa a chanje? 293 00:12:35,845 --> 00:12:37,500 294 00:12:37,500 --> 00:12:38,000 Yeah? 295 00:12:38,000 --> 00:12:38,916 >> ODYANS: [fèbl]. 296 00:12:38,916 --> 00:12:41,087 297 00:12:41,087 --> 00:12:42,020 >> DAVID J. Malan: Yeah. 298 00:12:42,020 --> 00:12:42,600 Egzakteman. 299 00:12:42,600 --> 00:12:45,620 Mwen jis mete yon flèch ki soti nan la t ti bwat nan adrès la menm, 300 00:12:45,620 --> 00:12:47,570 menm lèt la an premye nan te bay. 301 00:12:47,570 --> 00:12:50,850 Oswa teknikman, si sa a nèg yo te toujou nan 0x1, 302 00:12:50,850 --> 00:12:53,052 li a tankou si m 'te gen 0x1 isit la ak 0x1 isit la. 303 00:12:53,052 --> 00:12:54,760 Men, ankò, ki moun ki gen sousi sou adrès yo? 304 00:12:54,760 --> 00:12:56,345 Se jis nan lide a ke kounye a enpòtan. 305 00:12:56,345 --> 00:12:57,720 Se konsa, sa a se sa k ap pase isit la. 306 00:12:57,720 --> 00:13:02,690 Se konsa, nan kou, si ou fè t bracket 0, ki se notasyon etalaj, 307 00:13:02,690 --> 00:13:05,650 nan course-- ak franchman, li sanble tankou gen nan yon etalaj sou isit la, 308 00:13:05,650 --> 00:13:07,340 men kounye a gen nan bagay sa a etranj. 309 00:13:07,340 --> 00:13:11,160 Konnen ke lang nan pwogram, C, ofri ou karakteristik sa a, 310 00:13:11,160 --> 00:13:14,650 ak lese pase ', menm si t a se yon konsèy, oswa a se yon konsèy, 311 00:13:14,650 --> 00:13:18,050 ou ka toujou sèvi ak sa yo konnen yo, konfòtab bracket kare 312 00:13:18,050 --> 00:13:22,520 notasyon pou yo ale nan eleman an premye, oswa eleman nan dezyèm, oswa nenpòt eleman 313 00:13:22,520 --> 00:13:26,130 ki ki konsèy ap lonje dwèt paske, prezimableman, li 314 00:13:26,130 --> 00:13:29,410 se, tankou nan ka sa a, montre nan kèk etalaj. 315 00:13:29,410 --> 00:13:30,340 >> Se konsa, ki jan nou ranje sa a? 316 00:13:30,340 --> 00:13:33,660 Franchman, sa a se kote li te resevwa yon ti kras akablan nan premye gade. 317 00:13:33,660 --> 00:13:35,340 Men, isit la se yon nouvo ak amelyore vèsyon. 318 00:13:35,340 --> 00:13:37,460 >> Se konsa, premye, mwen jwenn m de bibliyotèk la CS50, 319 00:13:37,460 --> 00:13:41,170 jis ekspoze ke moun sa se tout bon yon etwal Char, jis yon synonym. 320 00:13:41,170 --> 00:13:43,540 Epi t se tou yon etwal Char. 321 00:13:43,540 --> 00:13:48,290 Men, ki sa ki pwal sou sou a bò dwat-ou nan ki liy 322 00:13:48,290 --> 00:13:49,970 ki kote t ap asiyen yon valè? 323 00:13:49,970 --> 00:13:50,790 >> Ki sa ki se malok? 324 00:13:50,790 --> 00:13:51,630 Ki sa ki li nan strlèn? 325 00:13:51,630 --> 00:13:52,547 Ki sa ki se sizof (Char)? 326 00:13:52,547 --> 00:13:54,380 Poukisa èk la fè sa a liy gade konsa konplèks? 327 00:13:54,380 --> 00:13:55,713 Ki sa ki nan li ap fè nan yon nivo segondè? 328 00:13:55,713 --> 00:13:56,482 329 00:13:56,482 --> 00:13:57,440 Ki sa ki nan li estoke nan t? 330 00:13:57,440 --> 00:13:58,646 Yeah? 331 00:13:58,646 --> 00:14:01,104 ODYANS: Li nan allocation yon sèten kantite espas memwa. 332 00:14:01,104 --> 00:14:03,032 Li nan nan magazen, mwen devine, lèt [fèbl]. 333 00:14:03,032 --> 00:14:04,032 >> DAVID J. Malan: pafè. 334 00:14:04,032 --> 00:14:04,540 Pafè. 335 00:14:04,540 --> 00:14:06,650 Li nan allocation yon sèten kantite lajan pou espas memwa 336 00:14:06,650 --> 00:14:08,940 nan magazen, prezimableman, lèt nan lavni. 337 00:14:08,940 --> 00:14:11,310 Ak an patikilye, malok se pou sa retounen ki sa? 338 00:14:11,310 --> 00:14:13,114 339 00:14:13,114 --> 00:14:14,851 >> ODYANS: Retounen [fèbl la]? 340 00:14:14,851 --> 00:14:15,850 DAVID J. Malan: Egzakteman. 341 00:14:15,850 --> 00:14:18,850 Retounen adrès sa a nan memwa, ki se yon fason anpenpan nan di, 342 00:14:18,850 --> 00:14:21,640 retounen adrès la an premye multiple nan ki memwa. 343 00:14:21,640 --> 00:14:25,460 Apartyin a se sou m 'yo sonje konbyen lajan memwa mwen aktyèlman 344 00:14:25,460 --> 00:14:27,140 resevwa lajan oswa mande malok pou. 345 00:14:27,140 --> 00:14:28,384 >> Koulye a, konbyen lajan se sa? 346 00:14:28,384 --> 00:14:30,550 Oke, menm si gen nan yon anpil nan parantèz isit la, 347 00:14:30,550 --> 00:14:32,970 malok pran jis yon agiman sèl. 348 00:14:32,970 --> 00:14:37,250 Apre sa, mwen di egzakteman kisa strlèn nan s, se konsa bay m 'menm jan anpil bytes kòm gen nan la, 349 00:14:37,250 --> 00:14:37,800 men li ajoute yon sèl. 350 00:14:37,800 --> 00:14:38,300 Poukisa? 351 00:14:38,300 --> 00:14:39,030 352 00:14:39,030 --> 00:14:39,530 Yeah? 353 00:14:39,530 --> 00:14:40,840 >> ODYANS: antislach a 0. 354 00:14:40,840 --> 00:14:41,840 DAVID J. Malan: Egzakteman. 355 00:14:41,840 --> 00:14:43,423 Nou te gen fè yon ti kras kenbe. 356 00:14:43,423 --> 00:14:45,970 Se konsa, paske gen nan yon antislach 0, nou ta pi bon sonje ke. 357 00:14:45,970 --> 00:14:47,310 Sinon, nou pral yo kreye yon kòd ki 358 00:14:47,310 --> 00:14:49,170 pa gen ke Terminator espesyal. 359 00:14:49,170 --> 00:14:52,640 >> Pandan se tan, jis yo dwe super nan dèyè, mwen gen sizof (Char), 360 00:14:52,640 --> 00:14:55,730 jis nan ka yon moun kouri mwen Kòd pa sou aparèy la CS50, 361 00:14:55,730 --> 00:14:58,220 men petèt yon òdinatè diferan tout ansanm ki kote charaktèr 362 00:14:58,220 --> 00:15:01,470 yo se youn multiple, pa konvansyon, men de bytes, oswa yon bagay pi gwo pase sa. 363 00:15:01,470 --> 00:15:04,490 Se jis yo dwe super, super advèrsèr yo erè. 364 00:15:04,490 --> 00:15:06,940 Menm si, an reyalite, li la gen plis chans ale nan yon 1. 365 00:15:06,940 --> 00:15:11,490 >> Koulye a, pandan se tan, mwen ale pi devan ak fè kopi a fisèl, t bracket mwen egal t bracket la. 366 00:15:11,490 --> 00:15:14,962 Apre sa, mwen pral ranvwaye semèn pase a kòd sous yo wè sa ki k ap pase sou. 367 00:15:14,962 --> 00:15:17,670 Men, kle Takeaway a, ak nan rezon ki fè mwen mete kòd la kounye a nan vèt, 368 00:15:17,670 --> 00:15:22,520 se paske ke liy trè dènye, t bracket 0 egal toupper, 369 00:15:22,520 --> 00:15:25,230 gen efè a nan valorizasyon ki fisèl? 370 00:15:25,230 --> 00:15:26,960 t ak / oswa a? 371 00:15:26,960 --> 00:15:29,280 372 00:15:29,280 --> 00:15:30,580 Sa liy dènye nan kòd. 373 00:15:30,580 --> 00:15:32,930 374 00:15:32,930 --> 00:15:35,560 >> Jis T, paske sa ki nan ki te pase tan sa a, 375 00:15:35,560 --> 00:15:41,500 si mwen yon ti kras defèt ke dènye etap, sa ki te pase se, se lè m'ap rele malok, 376 00:15:41,500 --> 00:15:45,380 Mwen esansyèlman jwenn yon ti moso nan memwa ki se gwosè a menm jan orijinal la, 377 00:15:45,380 --> 00:15:47,020 paske se sa aritmetik a mwen te fè. 378 00:15:47,020 --> 00:15:50,920 Mwen estoke nan t adrès la nan ki ti moso nan memwa. 379 00:15:50,920 --> 00:15:53,370 Menm si sa a sanble bèl ak bèl, bèl ak vid, 380 00:15:53,370 --> 00:15:56,882 reyalite a se gen nan, ki sa nou pral kenbe w rele, valè fatra nan isit la. 381 00:15:56,882 --> 00:15:59,340 Sa ti moso nan memwa ta ka trè byen gen te itilize anvan, 382 00:15:59,340 --> 00:16:00,940 yon kèk segond, Anons sa pibliye depi yon kèk minit. 383 00:16:00,940 --> 00:16:04,410 Se konsa, gen te kapab absoliman dwe nimewo oswa lèt gen, jis pa aksidan. 384 00:16:04,410 --> 00:16:08,580 Men, yo pa ap valab, jouk tan mwen tèt mwen peple sa a ti moso nan memwa 385 00:16:08,580 --> 00:16:12,510 ak charaktèr aktyèl, jan mwen fè nan ki pou bouk la. 386 00:16:12,510 --> 00:16:13,180 Tout dwa? 387 00:16:13,180 --> 00:16:16,180 >> Se konsa, kounye a, Pi gwo pwen an nan twa egzanp sa yo 388 00:16:16,180 --> 00:16:20,730 ki te w pèdi kase dènye fwa, Boukantay egzanp sa a, sa a fonksyon 389 00:16:20,730 --> 00:16:23,670 te travay nan sans la ke li échanges a ak b. 390 00:16:23,670 --> 00:16:25,620 Men, li pa t 'travay nan sa ki lòt sans? 391 00:16:25,620 --> 00:16:27,616 392 00:16:27,616 --> 00:16:28,614 Yeah? 393 00:16:28,614 --> 00:16:29,612 >> ODYANS: [fèbl]. 394 00:16:29,612 --> 00:16:35,600 395 00:16:35,600 --> 00:16:36,700 >> DAVID J. Malan: Egzakteman. 396 00:16:36,700 --> 00:16:39,530 Si m 'te rele fonksyon sa a soti nan another-- pou egzanp, 397 00:16:39,530 --> 00:16:42,870 soti nan yon fonksyon tankou prensipal yo, ki kote Mwen gen yon varyab, x ak y, jan mwen 398 00:16:42,870 --> 00:16:46,160 te fè semèn pase a, menm kòd, ak mwen pase nan x ak y 399 00:16:46,160 --> 00:16:49,860 swap, ak Lè sa a rele Swap-- sa a, nan kou, se vèsyon ki kòrèk la 400 00:16:49,860 --> 00:16:52,220 se sa nou ap sou yo see-- li pa t 'travay. 401 00:16:52,220 --> 00:16:53,770 Se konsa, ki sa ki ranje a? 402 00:16:53,770 --> 00:16:56,850 >> Oke, Se konsa, jis yo dwe klè, kite m 'ale pi devan 403 00:16:56,850 --> 00:17:05,450 and-- ban m 'yon dezyèm isit la, ak wè si mwen ka montre w yon sèl ki sot pase a, ki 404 00:17:05,450 --> 00:17:12,464 yo pral in-- kite a wè si mwen ka jwenn sa a reyèl OK fast--, [fèbl]. 405 00:17:12,464 --> 00:17:18,440 406 00:17:18,440 --> 00:17:19,240 OK, gen li ye. 407 00:17:19,240 --> 00:17:21,000 Se konsa, inyore kòmandman yo Mwen jis tape. 408 00:17:21,000 --> 00:17:23,780 Mwen vle li nan rekipere nan dènye minit te yon egzanp 409 00:17:23,780 --> 00:17:27,960 nan dènye tan, ki se kounye a yo rele pa gen okenn Boukantay. 410 00:17:27,960 --> 00:17:30,200 >> Se konsa, pa gen okenn Boukantay se kote nou te kite dènye tan, 411 00:17:30,200 --> 00:17:32,930 ak lese pase ', mwen initialisé x nan 1 ak y nan 2. 412 00:17:32,930 --> 00:17:35,840 Mwen Lè sa a, rele Boukantay, pase nan 1 ak 2. 413 00:17:35,840 --> 00:17:37,930 Lè sa a, fonksyon sa a te travay nan kèk sans, 414 00:17:37,930 --> 00:17:40,750 men li pa te gen okenn pèmanan efè sou x ak y. 415 00:17:40,750 --> 00:17:45,430 Se konsa, kesyon an nan men se, ki jan kounye a nou aktyèlman ranje pwoblèm sa a? 416 00:17:45,430 --> 00:17:47,820 Ki sa ki se solisyon an nan men? 417 00:17:47,820 --> 00:17:53,150 >> Oke, nan swap.c, ki se nouvo jodi a, remake yon koup la diferans. 418 00:17:53,150 --> 00:17:54,700 x ak y yo se menm bagay la. 419 00:17:54,700 --> 00:17:57,250 Men, sa ki se byen klè diferan sou liy 25? 420 00:17:57,250 --> 00:17:58,880 421 00:17:58,880 --> 00:18:01,715 Ki sa ki nan nouvo a, si ou sonje ki sa li te sanble ak yon dezyèm de sa? 422 00:18:01,715 --> 00:18:02,565 >> ODYANS: [fèbl]. 423 00:18:02,565 --> 00:18:03,440 >> DAVID J. Malan: Yeah. 424 00:18:03,440 --> 00:18:06,680 Se konsa, ampersands yo se yon moso nouvo nan sentaks pa sèlman nan pwogram sa a, 425 00:18:06,680 --> 00:18:08,560 men tou, plis jeneralman nan CS50. 426 00:18:08,560 --> 00:18:10,680 Pou dat, mwen pa panse ke nou te wè nenpòt ki egzanp 427 00:18:10,680 --> 00:18:14,070 oswa reyèlman te pale osijè de yo nan nenpòt detay, lòt pase, petèt, preemptively 428 00:18:14,070 --> 00:18:16,467 nan seksyon, yon comercial tankou sa a. 429 00:18:16,467 --> 00:18:19,300 Oke, li vire soti comercial se youn nan moso ki sot pase yo nan nouvo sentaks 430 00:18:19,300 --> 00:18:20,174 nou ap ale nan aprann. 431 00:18:20,174 --> 00:18:23,500 Tout sa vle di li se a adrès nan kèk varyab. 432 00:18:23,500 --> 00:18:25,070 Nan ki adrès x viv? 433 00:18:25,070 --> 00:18:26,510 Men, sa ki adrès y ap viv? 434 00:18:26,510 --> 00:18:28,700 Paske si la fondamantal pwoblèm anvan 435 00:18:28,700 --> 00:18:32,970 te ke x ak y yo te ke yo te pase kòm kopi, sa nou reyèlman vle fè 436 00:18:32,970 --> 00:18:38,780 se bay Boukantay ak tankou yon trezò kat jeyografik ki mennen nan kote x ak y aktyèlman 437 00:18:38,780 --> 00:18:41,910 se nan RAM, se konsa ke Boukantay ka swiv kat jeyografik ki 438 00:18:41,910 --> 00:18:47,760 epi ale nan tout kote x oswa y make plas la ak chanje valè yo aktyèl 1 ak 2 439 00:18:47,760 --> 00:18:48,270 la. 440 00:18:48,270 --> 00:18:50,710 >> Se konsa, Boukantay bezwen chanje yon ti kras tou. 441 00:18:50,710 --> 00:18:53,760 Ak nan premye gade, sa a ta ka sanble yon ti kras sanble ak zetwal Char. 442 00:18:53,760 --> 00:18:54,850 Ak tout bon li ye. 443 00:18:54,850 --> 00:18:59,635 Se konsa, yon se yon konsèy nan ki kalite done, ki baze sou pòsyon sa a make? 444 00:18:59,635 --> 00:19:00,810 445 00:19:00,810 --> 00:19:01,620 Se konsa, li yon Int. 446 00:19:01,620 --> 00:19:04,880 >> Se konsa, yon se pa yon int, li nan adrès ki nan yon Int. 447 00:19:04,880 --> 00:19:07,910 Epi Menm jan an tou, b se kounye a ale yo dwe adrès ki nan yon Int. 448 00:19:07,910 --> 00:19:12,470 Se konsa, lè mwen kounye a rele Boukantay soti nan Main, Mwen pa pral bay Boukantay 1 ak 2. 449 00:19:12,470 --> 00:19:15,540 Mwen pral bay li tankou Bèf-yon bagay e yo bèf-yon bagay, 450 00:19:15,540 --> 00:19:19,820 de adrès ki ap mennen Boukantay nan kote aktyèl yo 451 00:19:19,820 --> 00:19:21,310 nan memwa òdinatè mwen an. 452 00:19:21,310 --> 00:19:25,580 >> Se konsa, kounye a, aplikasyon mwen an rete bezwen chanje yon tad. 453 00:19:25,580 --> 00:19:28,650 Ki sa ki nan evidamman diferan kounye a nan twa liy sa yo nan Kòd? 454 00:19:28,650 --> 00:19:31,350 Genyen sa yo modi zetwal tout lòt peyi sou plas la, tout dwa? 455 00:19:31,350 --> 00:19:33,014 Se konsa, sa k ap pase sou isit la? 456 00:19:33,014 --> 00:19:33,514 Yeah? 457 00:19:33,514 --> 00:19:35,055 >> ODYANS: Li nan [fèbl] evidamman. 458 00:19:35,055 --> 00:19:36,832 459 00:19:36,832 --> 00:19:37,990 >> DAVID J. Malan: Egzakteman. 460 00:19:37,990 --> 00:19:41,560 Se konsa, nan kontèks sa a ak sa a pa te desizyon nan konsepsyon pi bon, Byensir, 461 00:19:41,560 --> 00:19:42,530 ane de sa. 462 00:19:42,530 --> 00:19:45,110 Nan kontèks sa a, kote ou jis gen yon etwal, 463 00:19:45,110 --> 00:19:48,240 epi ou pa gen yon kalite done, tankou int, imedyatman sou bò goch la, 464 00:19:48,240 --> 00:19:53,146 olye pou ou gen yon siy egal, byen klè, nan kontèks sa a, lè ou di zetwal yon, 465 00:19:53,146 --> 00:19:56,980 sa vle di ale nan nan adrès sa a, se nan yon. 466 00:19:56,980 --> 00:19:58,870 Swiv kat la trezò, se konsa pale. 467 00:19:58,870 --> 00:20:01,720 >> Ak pandan se tan, nan liy 37, sa vle di menm bagay la. 468 00:20:01,720 --> 00:20:05,460 Ale nan adrès yon la, li mete sa a? 469 00:20:05,460 --> 00:20:09,520 Kèlkeswa se nan la kote ki b espesifye. 470 00:20:09,520 --> 00:20:10,980 Nan lòt mo, ale nan b. 471 00:20:10,980 --> 00:20:12,130 Jwenn ki valè. 472 00:20:12,130 --> 00:20:15,620 Ale nan yon ak, pou chak egal a siyen, operatè a plasman, 473 00:20:15,620 --> 00:20:17,010 mete ke valè a. 474 00:20:17,010 --> 00:20:19,272 >> Menm jan an tou, int temp se jis yon Int. 475 00:20:19,272 --> 00:20:20,730 Pa gen anyen bezwen chanje sou temp. 476 00:20:20,730 --> 00:20:24,810 Se jis nan yon vè rezèv soti nan Annenberg pou kèk lèt ​​oswa ji zoranj. 477 00:20:24,810 --> 00:20:27,630 Men, mwen bezwen di, ale nan b. 478 00:20:27,630 --> 00:20:31,449 Ale nan ki destinasyon ak mete valè a nan temp la. 479 00:20:31,449 --> 00:20:32,490 Se konsa, sa k ap pase lè sa a? 480 00:20:32,490 --> 00:20:36,540 Lè m 'aktyèlman rele Swap tan sa a, si premye plato sa a isit la reprezante Main, 481 00:20:36,540 --> 00:20:42,270 dezyèm plato sa a reprezante Boukantay, lè Mwen pase comercial x ak y comercial 482 00:20:42,270 --> 00:20:47,150 soti nan Main Swap, jis yo dwe klè, ki sa ki sa a ankadreman k ap resevwa chemine? 483 00:20:47,150 --> 00:20:48,700 484 00:20:48,700 --> 00:20:49,200 Yeah? 485 00:20:49,200 --> 00:20:50,180 >> ODYANS: [fèbl]. 486 00:20:50,180 --> 00:20:51,180 DAVID J. Malan: Egzakteman. 487 00:20:51,180 --> 00:20:53,129 Adrès postal la nan x ak adrès ki nan y. 488 00:20:53,129 --> 00:20:55,170 Epi ou ka panse a sa yo tankou adrès lapòs. 489 00:20:55,170 --> 00:20:58,772 33 Oxford Street ak 35 Oxford Street, epi ou 490 00:20:58,772 --> 00:21:01,230 vle pou avanse pou de bilding yo ki nan moun kote yo ye. 491 00:21:01,230 --> 00:21:04,680 >> Li nan sòt de yon lide ridikil, men sa a tout sa nou vle di pa adrès. 492 00:21:04,680 --> 00:21:07,000 Ki kote nan mond la kapab ou jwenn sa yo de antye? 493 00:21:07,000 --> 00:21:09,470 Ki kote nan mond la kapab ou jwenn de bilding sa yo? 494 00:21:09,470 --> 00:21:15,170 Se konsa, si finalman, apre tout tan sa a mwen ale nan kòd sous jodi a ak konpile 495 00:21:15,170 --> 00:21:22,110 Boukantay ak kouri ./swap, finalman, pou la premye fwa nou aktyèlman wè ke 496 00:21:22,110 --> 00:21:25,330 Valè mwen gen tout bon te échanges avèk siksè. 497 00:21:25,330 --> 00:21:30,860 Epi, koulye a, nou ka menm pran nòt nan sa a nan, di, gdb. 498 00:21:30,860 --> 00:21:32,740 >> Se konsa, kite m 'ale nan dosye a menm. 499 00:21:32,740 --> 00:21:35,010 Kite m 'ale pi devan epi kouri gdb nan ./swap. 500 00:21:35,010 --> 00:21:36,590 501 00:21:36,590 --> 00:21:40,547 Epi, koulye a, nan Boukantay, mwen pral ale pi devan epi mete yon pwen repo nan Main. 502 00:21:40,547 --> 00:21:42,630 Epi, koulye a, mwen pral ale pi devan epi kouri pwogram nan. 503 00:21:42,630 --> 00:21:45,810 Epi, koulye a nou wè kòd m ' Sarepta nan ki liy. 504 00:21:45,810 --> 00:21:48,330 >> Si m 'ale pi devan epi ekri ak lèt ​​detache x, kisa pou m wè isit la? 505 00:21:48,330 --> 00:21:49,314 506 00:21:49,314 --> 00:21:49,980 Se yon kesyon. 507 00:21:49,980 --> 00:21:51,030 508 00:21:51,030 --> 00:21:51,530 Di ankò? 509 00:21:51,530 --> 00:21:52,295 >> ODYANS: [fèbl]. 510 00:21:52,295 --> 00:21:53,910 >> DAVID J. Malan: Se konsa, nimewo o aza, petèt. 511 00:21:53,910 --> 00:21:56,010 Petèt mwen jwenn chans, epi li bèl ak senp, tankou 0. 512 00:21:56,010 --> 00:21:57,230 Men, petèt li nan kèk nimewo o aza. 513 00:21:57,230 --> 00:21:58,090 Nan ka sa a, mwen te resevwa chans. 514 00:21:58,090 --> 00:21:59,030 Li jis k ap pase yo 0. 515 00:21:59,030 --> 00:22:00,780 Men, li se tout bon chans, paske se pa jiskaske mwen 516 00:22:00,780 --> 00:22:06,280 tape pwochen ak Lè sa a ekri ak lèt ​​detache x gen ki liy nan kòd, liy 19, te egzekite. 517 00:22:06,280 --> 00:22:10,942 >> Pandan se tan, si mwen tape pwochen ankò, epi kounye a enprime soti y, mwen pral gade 2. 518 00:22:10,942 --> 00:22:13,900 Koulye a, si mwen tape pwochen, li k ap pase yo jwenn yon ti kras konfizyon, paske kounye a, 519 00:22:13,900 --> 00:22:17,250 printf a ki pral parèt sou ekran an, jan li te fè. x se 1. 520 00:22:17,250 --> 00:22:18,606 >> Se pou yo fè sa a ankò. 521 00:22:18,606 --> 00:22:20,480 Epi, koulye a, isit la nan kote bagay sa yo jwenn ki enteresan. 522 00:22:20,480 --> 00:22:21,580 523 00:22:21,580 --> 00:22:26,580 Anvan mwen rele Boukantay oswa menm etap nan li, kite a pran yon ti kras gade vit. 524 00:22:26,580 --> 00:22:28,980 x se, ankò, 1. 525 00:22:28,980 --> 00:22:33,240 Y se, nan kou, saniti rapid tcheke, 2, Se konsa, pa di a. 526 00:22:33,240 --> 00:22:35,740 Men, sa ki comercial x? 527 00:22:35,740 --> 00:22:36,760 528 00:22:36,760 --> 00:22:39,350 Repons, li nan kalite fenki kap. 529 00:22:39,350 --> 00:22:43,500 Men, zetwal la int nan parantèz se jis fason GDP an pou li di sa a se yon adrès. 530 00:22:43,500 --> 00:22:48,290 Li pa nan yon int, li nan yon konsèy nan yon Int, oswa otreman li te ye kòm yon adrès. 531 00:22:48,290 --> 00:22:49,742 >> Ki sa ki se bagay sa a fou? 532 00:22:49,742 --> 00:22:51,825 Nou pa janm te wè yon bagay byen tankou ke anvan. 533 00:22:51,825 --> 00:22:53,650 534 00:22:53,650 --> 00:22:58,120 Se konsa, sa a se adrès la nan la òdinatè mwen an memwa nan kote x k ap pase nan ap viv la. 535 00:22:58,120 --> 00:22:59,040 Li nan bèf-yon bagay. 536 00:22:59,040 --> 00:23:01,290 Lè sa a se, franchman, poukisa Mwen te kòmanse fè desen flèch, 537 00:23:01,290 --> 00:23:03,340 olye pou yo nimewo, paske ki reyèlman sousye 538 00:23:03,340 --> 00:23:06,890 ki Int ou se nan yon patikilye adrès sa a, se sa ki gwo. 539 00:23:06,890 --> 00:23:12,160 Men, bffff0c4, sa yo se tout tout bon ekzadesimal chif, 540 00:23:12,160 --> 00:23:13,720 ki se 0 a f. 541 00:23:13,720 --> 00:23:16,590 >> Se konsa, nou pa ap ale nan rete twò lontan sou sa ki bagay sa yo ye. 542 00:23:16,590 --> 00:23:19,400 Men, si mwen enprime soti y, nan kou, mwen wè 2. 543 00:23:19,400 --> 00:23:22,440 Men, comercial y, mwen wè adrès sa a. 544 00:23:22,440 --> 00:23:26,527 Ak avi, pou kirye la, ki jan lwen apa yo x ak y? 545 00:23:26,527 --> 00:23:27,985 Ou ka inyore pi fò nan adrès la. 546 00:23:27,985 --> 00:23:29,330 547 00:23:29,330 --> 00:23:29,920 Kat bytes. 548 00:23:29,920 --> 00:23:33,510 Epi sa a, ki konsistan avèk nou an pi bonè reklamasyon ke ki jan gwo se yon int? 549 00:23:33,510 --> 00:23:34,130 Kat bytes. 550 00:23:34,130 --> 00:23:37,420 Se konsa, li sanble pawa tout bagay la moute joliman, jan ou ta ka espere, nan memwa. 551 00:23:37,420 --> 00:23:40,010 >> Se konsa, kounye a, kite yo jis vit pou pi devan nan fen a nan istwa sa a. 552 00:23:40,010 --> 00:23:43,290 Ann al pi devan epi tape etap, plonje nan fonksyon an Boukantay. 553 00:23:43,290 --> 00:23:46,880 Koulye a, remake, si mwen tape yon, li nan ki idantik ak adrès ki nan x. 554 00:23:46,880 --> 00:23:52,130 Si m 'tape b, li la ki idantik nan adrès ki nan y. 555 00:23:52,130 --> 00:23:57,020 Se konsa, sa mwen ta dwe wè si mwen di, ale nan adrès la yon? 556 00:23:57,020 --> 00:23:58,120 Se konsa, enprime zetwal a. 557 00:23:58,120 --> 00:24:00,130 Se konsa, zetwal vle di ale a, nan kontèks sa a. 558 00:24:00,130 --> 00:24:02,730 Comercial vle di sa ki nan adrès ki nan. 559 00:24:02,730 --> 00:24:05,000 Se konsa, zetwal yon mwayen 1. 560 00:24:05,000 --> 00:24:09,590 Ak zetwal ekri an lèt detache b ki ban m '2. 561 00:24:09,590 --> 00:24:15,750 >> Ak kite m 'asime, pou moman an, ke omwen kòd la ki 562 00:24:15,750 --> 00:24:18,950 montan yo egzekite kounye a kapab diskite nan nan fason sa a. 563 00:24:18,950 --> 00:24:21,150 Men, nou pral revize ide sa a anvan lontan. 564 00:24:21,150 --> 00:24:23,850 Se konsa, sa a vèsyon an Boukantay se kounye a kòrèk epi yo pèmèt 565 00:24:23,850 --> 00:24:26,650 nou swap sa a ki kalite done patikilye. 566 00:24:26,650 --> 00:24:29,120 >> Se konsa, nenpòt kesyon Lè sa a, sou Boukantay? 567 00:24:29,120 --> 00:24:29,890 Nan zetwal? 568 00:24:29,890 --> 00:24:30,690 Sou adrès nan? 569 00:24:30,690 --> 00:24:33,270 Epi ou pral wè, ak pwoblèm mete 4, sòt de, 570 00:24:33,270 --> 00:24:37,310 men pwoblèm mete 5, definitivman, ki jan sa yo bagay sa yo yo itil yo epi pou yo jwenn pi plis 571 00:24:37,310 --> 00:24:39,584 konfòtab ak yo, kòm yon rezilta. 572 00:24:39,584 --> 00:24:40,430 Nenpòt bagay nan tout? 573 00:24:40,430 --> 00:24:40,930 Tout dwa. 574 00:24:40,930 --> 00:24:44,350 Se konsa, malok se, ankò, fonksyon sa a ki jis repati memwa, memwa 575 00:24:44,350 --> 00:24:45,330 alokasyon. 576 00:24:45,330 --> 00:24:47,024 Epi poukisa se sa a itil? 577 00:24:47,024 --> 00:24:48,940 Oke, tout tan sa a, ou ve yo te lè l sèvi avèk malok. 578 00:24:48,940 --> 00:24:52,230 Si ou konsidere kounye a kijan getString travay, prezimableman, li nan 579 00:24:52,230 --> 00:24:56,140 te mande yon moun pou yon ti moso nan memwa, nenpòt lè itilizatè a kalite yon afè 580 00:24:56,140 --> 00:24:59,040 nan, paske nou sètènman pa t 'konnen, ke anplwaye CS50, 581 00:24:59,040 --> 00:25:02,710 ki jan gwo sa yo strings lezòm yo ale nan tape ta kapab. 582 00:25:02,710 --> 00:25:07,910 >> Se konsa, kite a, la pou premye fwa, kòmanse kale tounen ki jan travay yo bibliyotèk CS50, 583 00:25:07,910 --> 00:25:10,990 pa fason pou yon koup nan egzanp ki pral mennen nou la. 584 00:25:10,990 --> 00:25:15,300 Se konsa, si mwen louvri moute jdi epi louvri moute skanf 0, 585 00:25:15,300 --> 00:25:17,055 nou ap ale nan wè kòd ki anba la a. 586 00:25:17,055 --> 00:25:18,720 587 00:25:18,720 --> 00:25:23,530 Skanf 0, disponib sou sit entènèt la pou jodi a, gen liy relativman kèk nan kòd 588 00:25:23,530 --> 00:25:25,351 isit la, 14 a 20. 589 00:25:25,351 --> 00:25:26,600 Li kite yo wè sa ki li a ap fè. 590 00:25:26,600 --> 00:25:28,920 Li deklare yon int, rele x. 591 00:25:28,920 --> 00:25:30,850 Li di yon bagay tankou, nimewo tanpri. 592 00:25:30,850 --> 00:25:33,940 Epi, koulye a li di, skanf% mwen, & x. 593 00:25:33,940 --> 00:25:35,620 Se konsa, gen nan yon pakèt moun sou bagay nouvo gen. 594 00:25:35,620 --> 00:25:38,420 >> Men, skanf, ou ka kalite panse a kòm opoze a nan printf. 595 00:25:38,420 --> 00:25:40,090 printf, nan kou, simagri ekran an. 596 00:25:40,090 --> 00:25:44,410 skanf sòt de analiz soti nan la nan itilizatè klavye yon bagay li oswa li te tape. 597 00:25:44,410 --> 00:25:46,550 >> % Mwen se jis tankou printf. 598 00:25:46,550 --> 00:25:49,410 Sa vle di espere a itilizatè yo tape yon Int. 599 00:25:49,410 --> 00:25:52,820 Epi, koulye a, poukisa ou panse ke mwen ta ka pase skanf & x? 600 00:25:52,820 --> 00:25:54,030 601 00:25:54,030 --> 00:25:57,770 Si objektif la nan lavi nan skanf se jwenn yon bagay soti nan itilizatè a, 602 00:25:57,770 --> 00:26:02,480 ki sa ki siyifikasyon an nan pase li, & x, kounye a? 603 00:26:02,480 --> 00:26:02,980 Yeah? 604 00:26:02,980 --> 00:26:03,896 >> ODYANS: [fèbl]. 605 00:26:03,896 --> 00:26:05,540 606 00:26:05,540 --> 00:26:06,540 DAVID J. Malan: Egzakteman. 607 00:26:06,540 --> 00:26:12,900 Kèlkeswa sa mwen menm, moun lan, tape nan, opinyon mwen an yo pral sove nan ki kote. 608 00:26:12,900 --> 00:26:17,660 Li pa ase, sonje, nan jis pase nan x, paske nou te wè deja, 609 00:26:17,660 --> 00:26:21,630 nenpòt ki lè ou pase jis yon varyab anvan tout koreksyon, tankou yon int, nan kèk lòt fonksyon, 610 00:26:21,630 --> 00:26:25,640 asire w, li ka chanje sa varyab, men se pa pou tout tan. 611 00:26:25,640 --> 00:26:27,360 Li pa ka gen yon efè sou Main. 612 00:26:27,360 --> 00:26:29,420 Li ka sèlman chanje pwòp li yo kopi lokal yo. 613 00:26:29,420 --> 00:26:32,560 Men, si, olye de sa, ou pa fè sa ban m 'Int aktyèl la, 614 00:26:32,560 --> 00:26:36,640 men ou ban m 'esplikasyon ki Int, mwen kounye a, yo te skanf, 615 00:26:36,640 --> 00:26:41,050 siman, mwen ka swiv ki adrès ak mete yon nimewo gen 616 00:26:41,050 --> 00:26:43,280 konsa ou gen aksè nan li kòm byen. 617 00:26:43,280 --> 00:26:45,120 >> Se konsa, lè mwen kouri pwogram sa a, kite a wè. 618 00:26:45,120 --> 00:26:49,660 Fè skanf 0 dot koupe, skanf 0. 619 00:26:49,660 --> 00:26:54,030 Men, si mwen kounye a tape yon nimewo tankou 50, mèsi pou 50 an. 620 00:26:54,030 --> 00:26:58,150 Si m 'koulye a tape yon nimewo tankou negatif 1, pou 1 a negatif. 621 00:26:58,150 --> 00:27:04,200 Mwen kounye a tape yon nimewo tankou 1.5, HM. 622 00:27:04,200 --> 00:27:06,030 Poukisa pwogram mwen inyore m 'konsa? 623 00:27:06,030 --> 00:27:07,300 624 00:27:07,300 --> 00:27:09,880 Oke, paske tou senpleman, mwen te di li ou kapab espere yon Int sèlman. 625 00:27:09,880 --> 00:27:10,380 Tout dwa. 626 00:27:10,380 --> 00:27:11,630 Se konsa, ki nan yon sèl vèsyon an sa a. 627 00:27:11,630 --> 00:27:16,600 Se pou nou pran bagay yo yon Notch ak pwopoze ke sa a se pa bon. 628 00:27:16,600 --> 00:27:20,530 Ak dokiman sa a bay manti yon egzanp trè senp nan ki jan nou ka kòmanse Kòd ekri 629 00:27:20,530 --> 00:27:24,450 ke lòt moun ka esplwate oswa konpwomi pa fè move bagay. 630 00:27:24,450 --> 00:27:28,336 Se konsa, liy 16, se konsa menm jan an nan Lespri Bondye a anvan, 631 00:27:28,336 --> 00:27:29,960 men mwen pa deklare li Int tan sa a. 632 00:27:29,960 --> 00:27:32,970 Mwen deklare li Char etwal, aka fisèl. 633 00:27:32,970 --> 00:27:35,190 >> Men, sa ki ki vrèman vle di? 634 00:27:35,190 --> 00:27:38,790 Se konsa, si mwen pa presize yon address-- ak M ap rele li abitrèman, tanpon, 635 00:27:38,790 --> 00:27:43,370 men mwen te kapab rele li s, yo dwe simple-- ak Lè sa a mwen fè sa, eksplike m ', 636 00:27:43,370 --> 00:27:48,630 si ou te kapab, baze sou anvan an lojik, ki sa ki skanf fè nan liy 18, 637 00:27:48,630 --> 00:27:55,000 si pas% s ak tanpon, ki se yon adrès? 638 00:27:55,000 --> 00:27:58,210 Ki sa ki se skanf, si ou aplike nan egzak lojik menm jan ak vèsyon 0, 639 00:27:58,210 --> 00:28:00,640 pral pou yo eseye fè isit la, lè yon bagay nan kalite itilizatè nan? 640 00:28:00,640 --> 00:28:02,630 641 00:28:02,630 --> 00:28:03,409 Yeah? 642 00:28:03,409 --> 00:28:04,407 >> ODYANS: [fèbl]. 643 00:28:04,407 --> 00:28:07,401 644 00:28:07,401 --> 00:28:08,890 >> DAVID J. Malan: Egzakteman. 645 00:28:08,890 --> 00:28:11,577 Skanf, pa lojik nan pi bonè, se pral pran fisèl la 646 00:28:11,577 --> 00:28:13,410 ki tape imen an in-- li la kounye a yon fisèl, 647 00:28:13,410 --> 00:28:15,790 li pa yon nimewo, prezimableman, si li cooperates-- 648 00:28:15,790 --> 00:28:19,310 epi li pral pou yo eseye mete sa fisèl nan memwa nan tou sa adrès 649 00:28:19,310 --> 00:28:20,340 tanpon espesifye. 650 00:28:20,340 --> 00:28:23,870 Lè sa a se gwo anpil, paske tanpon se vre vle di yo dwe yon adrès. 651 00:28:23,870 --> 00:28:30,470 >> Men, mwen fè reklamasyon pwogram sa a se buggy nan yon fason ki grav anpil, paske sa valè 652 00:28:30,470 --> 00:28:31,330 tanpon pa default? 653 00:28:31,330 --> 00:28:33,380 654 00:28:33,380 --> 00:28:34,790 Kisa m 'initialisé an? 655 00:28:34,790 --> 00:28:35,770 Ki sa ki ti moso nan memwa? 656 00:28:35,770 --> 00:28:37,480 657 00:28:37,480 --> 00:28:38,620 Mwen pa gen, dwa? 658 00:28:38,620 --> 00:28:42,265 >> Se konsa, menm si mwen te resevwa lajan yon etwal Char ki nan pa gen okenn ankò yo rele a, 659 00:28:42,265 --> 00:28:48,030 li nan olye pou yo rele, buffer-- konsa kite a trase non varyab a 660 00:28:48,030 --> 00:28:53,380 kounye a kòm buffer-- si mwen pa gen rele getString oswa malok isit la, 661 00:28:53,380 --> 00:28:56,030 ki efektivman vle di ke tanpon se jis kèk valè fatra. 662 00:28:56,030 --> 00:28:57,030 >> Kounye a ki sa sa vle di? 663 00:28:57,030 --> 00:29:00,220 Sa vle di ke mwen te di skanf ou kapab espere yon fisèl soti nan itilizatè lan. 664 00:29:00,220 --> 00:29:01,300 Epi ou konnen ki sa? 665 00:29:01,300 --> 00:29:03,883 Kèlkeswa sa bagay sa a ap montre to-- ak mwen trase kesyon mak, 666 00:29:03,883 --> 00:29:07,060 men an reyalite, li la pral fè yon bagay tankou OX1, 2, 3, dwa? 667 00:29:07,060 --> 00:29:10,730 Li nan kèk valè fos ki jis k ap pase yo gen soti nan anvan. 668 00:29:10,730 --> 00:29:13,440 Se konsa, mete yon lòt fason, li nan tankou si tanpon se jis 669 00:29:13,440 --> 00:29:16,180 lonje dwèt nan yon bagay nan memwa. 670 00:29:16,180 --> 00:29:17,610 Mwen pa gen okenn lide ki sa. 671 00:29:17,610 --> 00:29:24,130 >> Se konsa, si mwen tape nan Gabe kounye a, li pral pou yo eseye mete g-yon-b-e / 0 la. 672 00:29:24,130 --> 00:29:25,530 Men, ki moun ki konnen ki sa ki se? 673 00:29:25,530 --> 00:29:27,480 Ak nan tan lontan an, nenpòt ki fwa nou te eseye manyen 674 00:29:27,480 --> 00:29:29,770 memwa ki pa fè pati ak nou, sa ki te rive? 675 00:29:29,770 --> 00:29:31,020 676 00:29:31,020 --> 00:29:32,870 Oswa prèske chak fwa. 677 00:29:32,870 --> 00:29:34,310 Fay segmentation, dwa? 678 00:29:34,310 --> 00:29:37,829 >> Flèch sa a, mwen pa gen okenn lide kote li nan montre. li nan jis kèk valè o aza. 679 00:29:37,829 --> 00:29:40,370 Ak nan kou, si ou entèprete se yon valè o aza kòm yon adrès, 680 00:29:40,370 --> 00:29:42,610 w ap ale nan ale nan kèk destinasyon o aza. 681 00:29:42,610 --> 00:29:46,810 Se konsa, Gabe ta ka tout bon aksidan pwogram m 'nan ka sa a isit la. 682 00:29:46,810 --> 00:29:50,600 >> Se konsa, sa nou kapab fè sa a, se prèske kòm move? 683 00:29:50,600 --> 00:29:52,660 Konsidere sa a twazyèm ak egzanp final la nan skanf. 684 00:29:52,660 --> 00:29:53,890 685 00:29:53,890 --> 00:29:56,870 Sa a vèsyon se pi bon nan sa ki sans? 686 00:29:56,870 --> 00:29:57,990 687 00:29:57,990 --> 00:30:01,400 Si ou yo konfòtab ak nan pwoblèm anvan, sa a se pi bon. 688 00:30:01,400 --> 00:30:02,250 Poukisa? 689 00:30:02,250 --> 00:30:03,250 >> ODYANS: [fèbl]. 690 00:30:03,250 --> 00:30:06,235 691 00:30:06,235 --> 00:30:07,110 DAVID J. Malan: Bon. 692 00:30:07,110 --> 00:30:09,970 Se konsa, ka sa a nan liy 16 se pi bon an, nan sans 693 00:30:09,970 --> 00:30:12,030 ke nou ap klèman allocation kèk memwa. 694 00:30:12,030 --> 00:30:14,190 Nou pa ap lè l sèvi avèk malok, nou ap sèvi ak semèn nan 2 695 00:30:14,190 --> 00:30:16,060 apwòch nan jis deklare yon etalaj. 696 00:30:16,060 --> 00:30:18,130 E nou te di anvan ke yon fisèl se jis yon etalaj de karaktè, 697 00:30:18,130 --> 00:30:19,690 kidonk sa a se totalman lejitim. 698 00:30:19,690 --> 00:30:22,910 Men, li la, nan kou, kòm ou sonje, gwosè fiks, 16. 699 00:30:22,910 --> 00:30:25,440 >> Se konsa, pwogram sa a se totalman ki an sekirite, si mwen tape 700 00:30:25,440 --> 00:30:29,760 nan strings yon karaktè, de karaktè strings, 15 strings karaktè. 701 00:30:29,760 --> 00:30:34,970 Men, le pli vit ke mwen kòmanse sezisman 16, 17, 18, 1,000 strings karaktè, 702 00:30:34,970 --> 00:30:37,390 ki kote ki fisèl ale nan fini? 703 00:30:37,390 --> 00:30:39,570 Li nan ale nan fini an pati isit la. 704 00:30:39,570 --> 00:30:42,820 Men, Lè sa a, ki moun ki konnen ki lòt bagay se pi lwen pase limit yo 705 00:30:42,820 --> 00:30:44,270 nan etalaj sa a an patikilye? 706 00:30:44,270 --> 00:30:48,015 >> Li nan tankou si mwen te deklare 16 bwat isit la. 707 00:30:48,015 --> 00:30:49,300 708 00:30:49,300 --> 00:30:52,690 Se konsa, olye ke trase soti tout 16, nou pral jis pretann ke mwen te trase 16. 709 00:30:52,690 --> 00:30:56,540 Men, si mwen lè sa a eseye li yon fisèl sa a, se pi lontan ankò, tankou 50 karaktè, 710 00:30:56,540 --> 00:31:01,270 Mwen pral kòmanse mete A, B, C, D, x, y, z. 711 00:31:01,270 --> 00:31:04,916 Lè sa a se prezimableman kèk segman memwa lòt 712 00:31:04,916 --> 00:31:06,790 ki, ankò, ka lakòz pwogram mwen an nan aksidan, 713 00:31:06,790 --> 00:31:10,600 paske mwen pa te mande pou anyen plis pase jis 16 bytes. 714 00:31:10,600 --> 00:31:12,260 >> Se konsa, ki moun ki gen sousi? 715 00:31:12,260 --> 00:31:13,880 Oke, isit la nan bibliyotèk la CS50. 716 00:31:13,880 --> 00:31:17,220 Ak pi fò nan sa a se jis tankou enstriksyon moute tèt. 717 00:31:17,220 --> 00:31:21,670 Bibliyotèk la CS50, tout tan sa a, te gen liy sa a nan liy 52. 718 00:31:21,670 --> 00:31:23,680 Nou te wè tipedèf, oswa ou pral wè tipedèf 719 00:31:23,680 --> 00:31:27,930 nan pset 4, ki jis kreye yon synonym ak lese pase 'zetwal Char ka gen plis 720 00:31:27,930 --> 00:31:29,290 tou senpleman refere yo kòm fisèl. 721 00:31:29,290 --> 00:31:31,540 Se konsa, sa a se youn nan la wou fòmasyon kèk 722 00:31:31,540 --> 00:31:34,120 nou te itilize an kachèt anba kapo a. 723 00:31:34,120 --> 00:31:36,490 >> Pandan se tan, isit la nan fonksyon an, getchar. 724 00:31:36,490 --> 00:31:38,190 Koulye a, aparamman, gen nan pa gen kò nan li. 725 00:31:38,190 --> 00:31:40,273 Ak nan reyalite, si mwen kenbe defile, mwen pa fè sa aktyèlman 726 00:31:40,273 --> 00:31:42,080 wè nenpòt ki en nan fonksyon sa yo. 727 00:31:42,080 --> 00:31:43,140 728 00:31:43,140 --> 00:31:45,516 Kòm yon chèk saniti, poukisa se sa? 729 00:31:45,516 --> 00:31:46,795 >> ODYANS: [fèbl]. 730 00:31:46,795 --> 00:31:47,670 DAVID J. Malan: Yeah. 731 00:31:47,670 --> 00:31:48,950 Se konsa, sa a se dosye a header. 732 00:31:48,950 --> 00:31:52,520 Ak dosye header gen prototip, plis kèk lòt bagay, li sanble, 733 00:31:52,520 --> 00:31:53,780 tankou typedefs. 734 00:31:53,780 --> 00:31:56,910 Men, nan CS50.c, ki nou te pa janm ban nou kareman, 735 00:31:56,910 --> 00:32:02,100 men te gen nan aparèy la CS50 tout tan sa a, gwo twou san fon andedan nan dosye li yo, 736 00:32:02,100 --> 00:32:04,990 remake ke gen nan yon antye pakèt moun sou fonksyon nan isit la. 737 00:32:04,990 --> 00:32:06,720 >> An reyalite, se pou yo desann. 738 00:32:06,720 --> 00:32:08,810 Se pou yo inyore pi fò nan yo, pou kounye a. 739 00:32:08,810 --> 00:32:12,670 Men, woulo liv desann nan getInt ak wè kòman getInt travay. 740 00:32:12,670 --> 00:32:13,890 Se konsa, isit la se getInt. 741 00:32:13,890 --> 00:32:17,727 Men, si ou tout tan tout tan reyèlman pran swen ki jan jwenn int ap travay, isit la se dokiman li yo. 742 00:32:17,727 --> 00:32:19,560 , Ak nan mitan bagay sa yo li di se li di ou 743 00:32:19,560 --> 00:32:21,340 sa chenn yo nan valè li kapab retounen. 744 00:32:21,340 --> 00:32:24,400 Li nan esansyèlman negatif 2 milya dola pozitif 2 milya dola, bay oswa pran. 745 00:32:24,400 --> 00:32:26,420 >> Epi li vire soti, tout sa a tan, menm si nou te pa janm 746 00:32:26,420 --> 00:32:28,570 te ou tcheke pou li, si yon bagay ale mal, 747 00:32:28,570 --> 00:32:30,680 li vire soti ke tout tan sa a, getInt gen 748 00:32:30,680 --> 00:32:33,600 te retounen yon espesyal konstan, pa nil, 749 00:32:33,600 --> 00:32:36,760 men pito INT_MAX, ki se konvansyon jis yon pwogramè a. 750 00:32:36,760 --> 00:32:38,846 Sa vle di isit la se yon valè espesyal. 751 00:32:38,846 --> 00:32:41,470 Asire w ke w tcheke pou sa a, jis nan ka yon bagay ale mal. 752 00:32:41,470 --> 00:32:43,261 Men, nou pa janm te anmande ak ke nan dat, 753 00:32:43,261 --> 00:32:45,200 paske ankò, sa a vle di ke yo senplifye. 754 00:32:45,200 --> 00:32:46,950 >> Men, ki jan getInt jwenn aplike? 755 00:32:46,950 --> 00:32:48,450 Oke, yon sèl, li pran pa gen okenn agiman. 756 00:32:48,450 --> 00:32:49,390 Nou konnen ke. 757 00:32:49,390 --> 00:32:50,820 Li retounen yon Int. 758 00:32:50,820 --> 00:32:51,950 Nou konnen ke. 759 00:32:51,950 --> 00:32:54,460 Se konsa, kouman li travay anba kapo a? 760 00:32:54,460 --> 00:32:58,290 >> Se konsa, gen nan aparamman yon enfini riban, omwen aparans nan yon sèl. 761 00:32:58,290 --> 00:33:00,290 Remake ke nou ap itilize getString. 762 00:33:00,290 --> 00:33:04,000 Se konsa, ki nan enteresan. getInt rele fonksyon pwòp nou an, getString. 763 00:33:04,000 --> 00:33:05,645 Epi, koulye a poukisa ta ka sa a dwe ka a? 764 00:33:05,645 --> 00:33:07,400 765 00:33:07,400 --> 00:33:09,842 Poukisa mwen te defansiv isit la nan liy 165? 766 00:33:09,842 --> 00:33:11,390 767 00:33:11,390 --> 00:33:15,639 Ki sa ki te ka rive nan liy 164, jis yo dwe klè? 768 00:33:15,639 --> 00:33:16,930 Li nan repons a menm jan ak anvan. 769 00:33:16,930 --> 00:33:18,660 770 00:33:18,660 --> 00:33:20,089 Ta ka jis pou soti nan memwa. 771 00:33:20,089 --> 00:33:23,130 Yon bagay pase mal ak getString, nou te gen pou kapab okipe sa. 772 00:33:23,130 --> 00:33:27,070 Ak rezon an mwen pa retounen nil se ki, teknikman, nil se yon konsèy. 773 00:33:27,070 --> 00:33:29,120 getInt gen retounen yon Int. 774 00:33:29,120 --> 00:33:31,060 Se konsa, mwen te abitrèman deside, esansyèlman, 775 00:33:31,060 --> 00:33:34,600 ki 2 milya dola, bay oswa pran, ki pral yo dwe yon valè espesyal ke mwen kapab pa janm 776 00:33:34,600 --> 00:33:35,970 aktyèlman jwenn soti nan itilizatè a. 777 00:33:35,970 --> 00:33:39,930 Se jis nan valè a yon sèl mwen pral nan fatra ki reprezante yon kòd erè. 778 00:33:39,930 --> 00:33:41,540 >> Se konsa, kounye a, bagay sa yo jwenn yon ti kras anpenpan. 779 00:33:41,540 --> 00:33:44,670 Epi li pa byen fonksyon nan menm tankou anvan, men li la trè sanblab. 780 00:33:44,670 --> 00:33:50,120 Se konsa, remake, mwen deklare isit la, nan liy 172, tou de yon n Int ak yon Char c. 781 00:33:50,120 --> 00:33:53,600 Lè sa a, mwen sèvi ak liy funky sa a, sskanf, ki li vire soti 782 00:33:53,600 --> 00:33:55,990 pa analysis yon fisèl soti nan klavye a. 783 00:33:55,990 --> 00:33:59,226 Li kanpe yon fisèl ki deja egziste ki te itilizatè a deja tape nan. 784 00:33:59,226 --> 00:34:02,100 Se konsa, mwen deja rele getString, ki vle di mwen gen yon fisèl nan memwa. 785 00:34:02,100 --> 00:34:05,020 sskanf se ki sa ou ta rele yon fonksyon analyzes. 786 00:34:05,020 --> 00:34:07,760 Li sanble nan fisèl la Mwen te tape nan, pèsonaj pa karaktè, 787 00:34:07,760 --> 00:34:09,250 ak fè yon bagay itil. 788 00:34:09,250 --> 00:34:10,969 Se ki fisèl ki estoke nan liy. 789 00:34:10,969 --> 00:34:13,560 Apre sa, mwen konnen ke se sèlman pa ale do moute isit la epi li di, o, OK, 790 00:34:13,560 --> 00:34:15,143 Mwen te rele li pa nan tan sa a, men liy. 791 00:34:15,143 --> 00:34:15,989 792 00:34:15,989 --> 00:34:18,080 >> Epi, koulye a sa a se yon ti kras diferan. 793 00:34:18,080 --> 00:34:22,480 Men, sa a efektivman vle di, pou rezon nou pral yon ti jan balanse men nou an nan jounen jodi a, 794 00:34:22,480 --> 00:34:26,070 ke nou ap tcheke yo wè si itilizatè a tape nan 795 00:34:26,070 --> 00:34:29,909 ak Int e petèt yon lòt karaktè. 796 00:34:29,909 --> 00:34:33,610 Si itilizatè a tape nan yon int, li nan ale nan dwe estoke nan n, paske mwen 797 00:34:33,610 --> 00:34:36,739 pase sa a pa adrès, nan Trick nouvo nou te wè jodi a. 798 00:34:36,739 --> 00:34:41,570 Si itilizatè a tou tape nan tankou 123x, ki x 799 00:34:41,570 --> 00:34:45,060 ki pral fini yon lèt nan karaktè c. 800 00:34:45,060 --> 00:34:48,739 >> Koulye a, li vire soti ke sskanf pral di m ', intelijans, 801 00:34:48,739 --> 00:34:54,750 konbyen varyab te sskanf avèk siksè kapab ranpli. 802 00:34:54,750 --> 00:34:58,770 Se konsa, pa lojik sa a, si fonksyon an Mwen mete ann aplikasyon se getInt, 803 00:34:58,770 --> 00:35:00,900 men mwen m 'kont kouran, ki kapab, pou itilizatè a 804 00:35:00,900 --> 00:35:04,190 yo te tape nan yon int ki te swiv pa yon lòt bagay, 805 00:35:04,190 --> 00:35:08,580 sa m 'vle sskanf a valè retounen se vre wi: yo dwe? 806 00:35:08,580 --> 00:35:10,950 Si objektif la se yo ka resevwa jis yon Int soti nan itilizatè a? 807 00:35:10,950 --> 00:35:13,980 808 00:35:13,980 --> 00:35:19,300 >> Se konsa, si retounen sskanf 2, ki sa sa vle di? 809 00:35:19,300 --> 00:35:21,660 Itilizatè a tape nan yon bagay tankou, literalman, 810 00:35:21,660 --> 00:35:24,770 123x, ki se jis istwa san sans. 811 00:35:24,770 --> 00:35:27,490 Se yon kondisyon erè, ak Mwen vle tcheke pou sa. 812 00:35:27,490 --> 00:35:32,960 >> Se konsa, si itilizatè a kalite sa a nan, pa sa a lojik, ki sa ki sskanf retounen, 813 00:35:32,960 --> 00:35:33,740 ou ta di? 814 00:35:33,740 --> 00:35:35,070 815 00:35:35,070 --> 00:35:39,130 Se konsa, li ale nan retounen 2, paske 123 nan ki pral ale nan isit la, 816 00:35:39,130 --> 00:35:41,580 ak x la ki pral fini nan isit la. 817 00:35:41,580 --> 00:35:43,970 Men, mwen pa vle x la jwenn ranpli. 818 00:35:43,970 --> 00:35:48,580 Mwen vle sskanf sèlman reyisi nan ranpli premye a nan varyab li yo. 819 00:35:48,580 --> 00:35:52,490 Se konsa, Se poutèt sa mwen vle sskanf retounen 1. 820 00:35:52,490 --> 00:35:55,750 >> Men, si sa a se yon ti jan sou tèt la pou moman sa a, sa se totalman amann. 821 00:35:55,750 --> 00:36:00,030 Reyalize menm si, ke youn nan la valè nan GetInt ak GetString 822 00:36:00,030 --> 00:36:03,630 se ke n ap fè yon èk nan yon anpil nan erè tcheke tankou sa a pou 823 00:36:03,630 --> 00:36:07,130 ki, nan dat, ou kapab bèl anpil tape anyen nan klavye ou, 824 00:36:07,130 --> 00:36:08,490 epi nou pral trape li. 825 00:36:08,490 --> 00:36:10,592 E nou sètènman, nan anplwaye yo, pral definitivman pa 826 00:36:10,592 --> 00:36:13,300 gen sous la nan yon ensèk nan ou pwogram nan, paske nou pridans 827 00:36:13,300 --> 00:36:16,270 tcheke pou tout moun nan estipid la bagay sa yo ke yon itilizatè ta ka fè, 828 00:36:16,270 --> 00:36:18,900 tankou tape yon fisèl, lè ou reyèlman te vle Int. 829 00:36:18,900 --> 00:36:21,350 Se konsa, pou now-- nou pral vini tounen nan sa a anvan long-- 830 00:36:21,350 --> 00:36:23,710 men tout tan sa a, GetString ak GetInt gen 831 00:36:23,710 --> 00:36:29,950 te anba kapo a lè l sèvi avèk sa a lide debaz yo nan adrès nan memwa. 832 00:36:29,950 --> 00:36:32,580 >> Se konsa, kounye a, kite a fè bagay sa yo yon ti kras pi plis user-zanmitay. 833 00:36:32,580 --> 00:36:38,740 Kòm ou ka sonje, ki soti nan Binky dènye time-- si sourit m 'pral cooperate-- konsa 834 00:36:38,740 --> 00:36:42,560 nou te gen Kòd sa a, ki franchman, se jistis absurde. 835 00:36:42,560 --> 00:36:45,330 Kòd sa a reyalize pa gen anyen itil, men li te egzanp nan 836 00:36:45,330 --> 00:36:48,330 ki pwofesè Parlante itilize yo nan lòd yo reprezante 837 00:36:48,330 --> 00:36:51,840 sa ki te ale sou nan yon pwogram ki enplike memwa. 838 00:36:51,840 --> 00:36:54,850 >> Se konsa, kite la rakonte sa a istwa super yon ti tan. 839 00:36:54,850 --> 00:36:58,720 Sa yo de premye liy, nan Lang angle, sa ki, ou ta di? 840 00:36:58,720 --> 00:37:01,230 841 00:37:01,230 --> 00:37:05,430 Jis nan rezonab moun, men tèm teknik yon ti kras, pran yon koud. 842 00:37:05,430 --> 00:37:06,346 ODYANS: [fèbl]. 843 00:37:06,346 --> 00:37:07,705 844 00:37:07,705 --> 00:37:11,080 >> DAVID J. Malan: OK, w ap etabli adrès pou x ou ak y varyab. 845 00:37:11,080 --> 00:37:15,520 Pa byen, paske x ak y yo pa varyab nan sans tradisyonèl. 846 00:37:15,520 --> 00:37:18,054 x ak y yo se adrès oswa pral estoke adrès. 847 00:37:18,054 --> 00:37:19,220 Se konsa, kite a eseye sa a yon fwa plis. 848 00:37:19,220 --> 00:37:21,010 Pa yon kòmanse move, menm si. 849 00:37:21,010 --> 00:37:21,510 Yeah? 850 00:37:21,510 --> 00:37:22,426 >> ODYANS: [fèbl]. 851 00:37:22,426 --> 00:37:23,966 852 00:37:23,966 --> 00:37:24,840 DAVID J. Malan: Bon. 853 00:37:24,840 --> 00:37:26,173 Mwen panse ke se yon ti kras cleaner. 854 00:37:26,173 --> 00:37:28,630 Deklare de pwent, de nonm antye relatif. 855 00:37:28,630 --> 00:37:30,150 Epi nou ap rele yo x ak y. 856 00:37:30,150 --> 00:37:32,790 Oswa si nou te trase sa a kòm yon foto, ankò, 857 00:37:32,790 --> 00:37:36,410 sonje byen tou senpleman ke tout n ap fè ak ki liy premye 858 00:37:36,410 --> 00:37:39,690 ap fè desen yon bwat tankou sa a, ak kèk valè fatra nan li, 859 00:37:39,690 --> 00:37:41,920 ak rele li x, ak Lè sa a, yon lòt bwat tankou sa a, 860 00:37:41,920 --> 00:37:43,880 ak kèk valè fatra nan li, rele li y. 861 00:37:43,880 --> 00:37:45,810 Nou te deklare de endikasyon ki finalman 862 00:37:45,810 --> 00:37:47,860 pral estoke adrès ki nan yon Int. 863 00:37:47,860 --> 00:37:49,170 Se konsa, ki nan tout gen. 864 00:37:49,170 --> 00:37:53,290 >> Se konsa, lè Binky te fè sa a, nan ajil jis gade tankou sa a. 865 00:37:53,290 --> 00:37:55,350 Ak Nick jis kalite vlope moute flèch yo, 866 00:37:55,350 --> 00:37:57,590 tankou si yo pa ap lonje dwèt nenpòt kote an patikilye, paske yo ap jis 867 00:37:57,590 --> 00:37:58,250 Valè fatra. 868 00:37:58,250 --> 00:38:01,670 Yo pa ap klèman initialisé nenpòt kote an patikilye. 869 00:38:01,670 --> 00:38:03,980 >> Koulye a, liy nan pwochen nan Kòd, sonje, te sa a. 870 00:38:03,980 --> 00:38:07,510 Se konsa, nan rezonab user-zanmitay, men yon ti jan teknik lang angle, 871 00:38:07,510 --> 00:38:09,790 ki sa ki sa a liy nan kòd ap fè? 872 00:38:09,790 --> 00:38:10,391 Yeah? 873 00:38:10,391 --> 00:38:11,333 >> ODYANS: [fèbl]. 874 00:38:11,333 --> 00:38:12,746 875 00:38:12,746 --> 00:38:13,950 >> DAVID J. Malan: pafè. 876 00:38:13,950 --> 00:38:17,016 Li nan allocation moso nan nan memwa sa a, se gwosè a nan yon Int. 877 00:38:17,016 --> 00:38:18,140 Epi sa a, mwatye repons lan. 878 00:38:18,140 --> 00:38:20,056 Ou byen reponn a mwatye nan ekspresyon an. 879 00:38:20,056 --> 00:38:22,473 Sa k ap pase sou nan bò gòch-men nan siy ki egal? 880 00:38:22,473 --> 00:38:22,972 Yeah? 881 00:38:22,972 --> 00:38:24,814 ODYANS: Lè mandatè li nan x nan varyab? 882 00:38:24,814 --> 00:38:27,690 >> DAVID J. Malan: Lè mandatè li nan x la varyab. 883 00:38:27,690 --> 00:38:31,650 Se konsa, yo Rekapitilasyon, men dwat-ou rezèvè bò ase memwa nan magazen yon Int. 884 00:38:31,650 --> 00:38:34,150 Men, malok espesyalman retounen adrès la 885 00:38:34,150 --> 00:38:37,270 nan ki ti moso nan memwa, ki ou te jis pwopoze vin estoke nan x. 886 00:38:37,270 --> 00:38:42,560 >> Se konsa, sa Nick te fè dènye fwa ak Binky se li trennen ki konsèy soti, tè krich la, 887 00:38:42,560 --> 00:38:46,820 nan pwen kounye a nan yon ti moso blan nan memwa ki se egal a gwosè a nan yon Int. 888 00:38:46,820 --> 00:38:49,360 Ak tout bon, ki nan te vle di yo reprezante kat bytes. 889 00:38:49,360 --> 00:38:55,310 >> Koulye a, liy nan pwochen nan Kòd te fè sa a, zetwal x vin 42. 890 00:38:55,310 --> 00:38:58,530 Se konsa, 42 se senp sou la bò men dwat-ou, sa vle di nan lavi yo. 891 00:38:58,530 --> 00:39:00,500 Bò gòch-men, zetwal x vle di ki sa? 892 00:39:00,500 --> 00:39:01,600 893 00:39:01,600 --> 00:39:03,280 Sa twò ta ka gen gone-- ke se ok. 894 00:39:03,280 --> 00:39:04,220 OK. 895 00:39:04,220 --> 00:39:06,875 >> ODYANS: Fondamantalman, ale nan [fèbl la] 896 00:39:06,875 --> 00:39:07,750 DAVID J. Malan: Bon. 897 00:39:07,750 --> 00:39:08,760 ODYANS: [fèbl]. 898 00:39:08,760 --> 00:39:09,760 DAVID J. Malan: Egzakteman. 899 00:39:09,760 --> 00:39:11,979 Bò gòch-men vle di ale nan x. 900 00:39:11,979 --> 00:39:12,520 x se adrès. 901 00:39:12,520 --> 00:39:15,520 Se tankou 33 Oxford Street, oswa OX1. 902 00:39:15,520 --> 00:39:18,690 Ak zetwal x vle di ale nan ki adrese epi li mete sa a? 903 00:39:18,690 --> 00:39:19,520 42. 904 00:39:19,520 --> 00:39:21,290 >> Se konsa, tout bon, sa a, se egzakteman sa Nick te fè sa. 905 00:39:21,290 --> 00:39:23,740 Li te kòmanse avèk pa, esansyèlman, mantalman 906 00:39:23,740 --> 00:39:26,270 montre yon dwèt nan x, swiv flèch la 907 00:39:26,270 --> 00:39:30,670 nan bwat la blan sou-bò dwat bò, epi mete nimewo a 42 la. 908 00:39:30,670 --> 00:39:34,120 Men, Lè sa a, bagay sa yo te resevwa yon ti kras danjere, dwa? 909 00:39:34,120 --> 00:39:35,860 Binky a sou a pèdi tèt li. 910 00:39:35,860 --> 00:39:39,465 >> Star y egal 13, move chans, vle di ki sa? 911 00:39:39,465 --> 00:39:43,620 Se konsa, zetwal y vle di ale nan adrès la nan y. 912 00:39:43,620 --> 00:39:45,630 Men, sa ki adrès la nan y? 913 00:39:45,630 --> 00:39:47,899 914 00:39:47,899 --> 00:39:49,440 Tout dwa, li nan valè fatra, dwa? 915 00:39:49,440 --> 00:39:50,800 Mwen te trase li kòm yon mak kesyon. 916 00:39:50,800 --> 00:39:54,850 Nick te trase li kòm yon flèch rkrokviye moute. 917 00:39:54,850 --> 00:39:59,600 Ak le pli vit menm jan ou eseye fè zetwal y, li di ale a, 918 00:39:59,600 --> 00:40:03,872 men gen se pa yon lejitim adrès, li nan kèk kote fos, 919 00:40:03,872 --> 00:40:05,080 pwogram lan k ap pase yo aksidan. 920 00:40:05,080 --> 00:40:08,580 Ak tèt Binky a ki pral vole nan isit la, jan li te fè. 921 00:40:08,580 --> 00:40:12,130 >> Se konsa, nan fen a, pwogram sa a te jis plat defo deyò. 922 00:40:12,130 --> 00:40:13,540 Se te yon pwogram buggy. 923 00:40:13,540 --> 00:40:14,760 Epi li nesesè yo dwe fiks yo. 924 00:40:14,760 --> 00:40:18,260 Ak wout la sèlman, reyèlman, fikse li ta dwe, pou egzanp, liy sa a, 925 00:40:18,260 --> 00:40:21,010 ki nou pa t 'menm li ale nan, paske pwogram nan te fè aksidan twò bonè. 926 00:40:21,010 --> 00:40:26,170 Men, si nou te nan ranje sa a, ki efè fè fè y x egal genyen? 927 00:40:26,170 --> 00:40:30,010 Oke, li esansyèlman pwen y nan tou sa valè x ap lonje dwèt nan. 928 00:40:30,010 --> 00:40:32,430 >> Se konsa, nan istwa Nick a, oswa istwa Binky a, tou de 929 00:40:32,430 --> 00:40:34,640 x ak y yo te montre nan moso nan blan nan memwa, 930 00:40:34,640 --> 00:40:38,300 se konsa ke, finalman, lè ou zetwal y egal 13 ankò, 931 00:40:38,300 --> 00:40:43,080 ou fini mete 13 nan kote ki apwopriye a. 932 00:40:43,080 --> 00:40:47,640 Se konsa, tout nan liy sa yo se parfe lejitim yo, eksepte pou yon sèl sa a, 933 00:40:47,640 --> 00:40:51,730 lè li te rive anvan ou aktyèlman asiyen y kèk valè. 934 00:40:51,730 --> 00:40:54,290 >> Koulye a, Erezman, ou pa fè sa gen yo rezone nan tout 935 00:40:54,290 --> 00:40:56,560 nan sa yo kalite pwoblèm sou pwòp ou yo. 936 00:40:56,560 --> 00:40:59,310 Kite m 'ale pi devan epi louvri moute yon fenèt tèminal isit la 937 00:40:59,310 --> 00:41:03,050 epi louvri moute, pou jis yon ti moman, yon pwogram super kout ki 938 00:41:03,050 --> 00:41:04,360 tou se sòt de gratui. 939 00:41:04,360 --> 00:41:05,152 Li nan lèd. 940 00:41:05,152 --> 00:41:06,610 Li pa reyalize anyen itil. 941 00:41:06,610 --> 00:41:10,180 Men, li demontre pwoblèm nan memwa, se konsa, kite a pran yon gade. 942 00:41:10,180 --> 00:41:11,830 >> Main, super senp. 943 00:41:11,830 --> 00:41:14,830 Li aparamman rele yon fonksyon, f, ak Lè sa a retounen 0. 944 00:41:14,830 --> 00:41:16,310 Li nan kalite difisil yo dezòd sa a leve. 945 00:41:16,310 --> 00:41:18,540 Se konsa, Main se trè bon, byen lwen tèlman. 946 00:41:18,540 --> 00:41:20,100 >> Se konsa, f se yon pwoblèm. 947 00:41:20,100 --> 00:41:22,120 Ak jis pa t 'mete anpil efò nan nonmen li 948 00:41:22,120 --> 00:41:23,990 isit la, nan kenbe konsantre sou kòd la. 949 00:41:23,990 --> 00:41:25,740 f gen de liy yo. 950 00:41:25,740 --> 00:41:27,610 Li kite yo wè sa k kounye a pral sou. 951 00:41:27,610 --> 00:41:29,840 Se konsa, sou men nan yon sèl here-- ak kite m 'fè 952 00:41:29,840 --> 00:41:32,680 sa a annakò ak anvan an example-- sou men nan yon sèl, 953 00:41:32,680 --> 00:41:35,830 bò gòch-men se fè sa, nan lang angle? 954 00:41:35,830 --> 00:41:36,493 Li is-- 955 00:41:36,493 --> 00:41:37,701 ODYANS: Kreye yon konsèy. 956 00:41:37,701 --> 00:41:40,830 DAVID J. Malan: Kreye yon konsèy nan yon int ak rele li x. 957 00:41:40,830 --> 00:41:43,789 Se konsa, li kreye youn nan moun ki bwat Mwen kenbe desen sou ekran an touche. 958 00:41:43,789 --> 00:41:45,913 Epi, koulye a, sou-sou bò dwat bò, malok, nan kou, 959 00:41:45,913 --> 00:41:47,420 se allocation yon ti moso nan memwa. 960 00:41:47,420 --> 00:41:49,989 Ak jis yo dwe klè, ki jan memwa anpil se li aparamman 961 00:41:49,989 --> 00:41:52,030 allocation, si ou jis kalite fè matematik la isit la? 962 00:41:52,030 --> 00:41:53,200 963 00:41:53,200 --> 00:41:54,040 >> Se konsa, li 40 bytes. 964 00:41:54,040 --> 00:41:57,400 Apre sa, mwen konnen ke se sèlman paske mwen konnen yon int, sou aparèy la CS50, omwen, 965 00:41:57,400 --> 00:41:58,060 se kat bytes. 966 00:41:58,060 --> 00:41:59,610 Se konsa, 10 fwa 4 se 40. 967 00:41:59,610 --> 00:42:04,924 Se konsa, sa se estoke yon x, adrès la nan soti nan premye nan 40 antye ki 968 00:42:04,924 --> 00:42:07,340 yo te resevwa lajan espas tounen, nan do, nan do, nan do. 969 00:42:07,340 --> 00:42:08,470 >> Epi sa a, sa ki nan kle sou malok. 970 00:42:08,470 --> 00:42:11,261 Li pa pran yon ti kras memwa isit la, yon ti kras isit la, yon ti kras isit la. 971 00:42:11,261 --> 00:42:14,220 Li ba ou yon ti moso nan memwa, kontigu, ki soti nan opere nan 972 00:42:14,220 --> 00:42:15,240 sistèm. 973 00:42:15,240 --> 00:42:18,500 >> Koulye a, sa ki sou sa a, x bracket 10 egal 0? 974 00:42:18,500 --> 00:42:19,470 Abitrè liy nan kòd. 975 00:42:19,470 --> 00:42:21,100 Li pa reyalize anyen itil. 976 00:42:21,100 --> 00:42:26,128 Men, li se enteresan, paske x bracket 10--? 977 00:42:26,128 --> 00:42:26,628 Yeah? 978 00:42:26,628 --> 00:42:27,912 >> ODYANS: [fèbl]? 979 00:42:27,912 --> 00:42:30,500 >> DAVID J. Malan: x bracket 10 pa gen yo dwe nil. 980 00:42:30,500 --> 00:42:35,070 Detay nan nil sèlman vin antre nan jwe ak strings, nan fen yon fisèl. 981 00:42:35,070 --> 00:42:36,700 Men, yon bon te panse. 982 00:42:36,700 --> 00:42:39,615 >> Kòman gwo se etalaj sa a, menm menm si mwen te resevwa lajan 40 bytes? 983 00:42:39,615 --> 00:42:42,560 984 00:42:42,560 --> 00:42:43,690 Li nan 0 atravè nèf, dwa? 985 00:42:43,690 --> 00:42:45,120 Li nan 10 antye, manm. 986 00:42:45,120 --> 00:42:48,790 40 bytes, men 10 antye, Catalogue 0 a 0. 987 00:42:48,790 --> 00:42:50,930 >> Se konsa, sa se ke x bracket 10? 988 00:42:50,930 --> 00:42:53,090 Li la aktyèlman kèk valè fatra sèks. 989 00:42:53,090 --> 00:42:54,780 Li nan memwa ki pa fè pati nan mwen. 990 00:42:54,780 --> 00:42:59,650 Mwen pa ta dwe manyen ke multiple nimewo 41, 42, 43, 44. 991 00:42:59,650 --> 00:43:01,420 Mwen pral yon ti kras twò lwen. 992 00:43:01,420 --> 00:43:04,490 >> Ak tout bon, si mwen kouri sa a pwogram nan, li ta ka trè byen aksidan. 993 00:43:04,490 --> 00:43:05,790 Men, pafwa, nou pral jwenn chans. 994 00:43:05,790 --> 00:43:07,706 Se konsa, jis yo demontre this-- ak franchman, 995 00:43:07,706 --> 00:43:11,000 ou pa janm konnen anvan ou it-- kite a kouri sa a. 996 00:43:11,000 --> 00:43:12,480 Li pa t 'aktyèlman aksidan. 997 00:43:12,480 --> 00:43:15,032 >> Men, si mwen chanje sa a, pou egzanp, yo dwe tankou 1,000, 998 00:43:15,032 --> 00:43:16,740 fè sa-a vrèman ekspre, kite a wè 999 00:43:16,740 --> 00:43:18,710 si nou ka jwenn li nan aksidan moman sa a. 1000 00:43:18,710 --> 00:43:20,070 OK, li pa t 'aksidan. 1001 00:43:20,070 --> 00:43:22,600 Kouman sou 100,000? 1002 00:43:22,600 --> 00:43:25,000 Se pou yo renouvèlman li, epi kounye a relance li. 1003 00:43:25,000 --> 00:43:25,500 OK. 1004 00:43:25,500 --> 00:43:25,960 Phew. 1005 00:43:25,960 --> 00:43:26,460 Tout dwa. 1006 00:43:26,460 --> 00:43:29,090 Se konsa, aparamman, ankò, sa yo segments nan memwa, se konsa pale, 1007 00:43:29,090 --> 00:43:32,660 yo se rezonab gwo, se konsa nou kapab jwenn chans ankò e ankò. 1008 00:43:32,660 --> 00:43:36,510 Men, evantyèlman, yon fwa ou jwenn ridikil ak reyèlman ale lwen soti sou ekran an, 1009 00:43:36,510 --> 00:43:39,120 ou manyen memwa ki reyèlman, reyèlman pa fè pati nan nou. 1010 00:43:39,120 --> 00:43:40,870 >> Men, franchman, sa yo kalite pinèz yo ale 1011 00:43:40,870 --> 00:43:43,020 yo dwe rèd ak pi rèd eseye figi konnen sou pwòp ou yo. 1012 00:43:43,020 --> 00:43:47,880 Men, Erezman, menm jan pwogramasyon, nou gen zouti ki pèmèt nou fè sa pou nou. 1013 00:43:47,880 --> 00:43:50,140 Se konsa, sa a se, petèt, yon sèl nan pwogram yo ugliest, 1014 00:43:50,140 --> 00:43:52,060 menm uglier pase pwodiksyon gdb la. 1015 00:43:52,060 --> 00:43:55,670 Men, li toujou gen yon liy oswa de ki se super itil. 1016 00:43:55,670 --> 00:44:00,310 >> Valgrind se yon pwogram ki ede ou pa debug yon pwogram, se pou chak, 1017 00:44:00,310 --> 00:44:03,500 men jwenn ki gen rapò ak memwa- pwoblèm, espesyalman. 1018 00:44:03,500 --> 00:44:07,590 Li pral otomatikman kouri kòd ou a pou ou epi gade pou omwen de bagay sa yo. 1019 00:44:07,590 --> 00:44:10,680 Youn, ou te fè yon bagay aksidan tankou manyen memwa 1020 00:44:10,680 --> 00:44:11,980 ki pa t 'fè pati nan nou? 1021 00:44:11,980 --> 00:44:13,590 Li pral ede w jwenn ka sa yo. 1022 00:44:13,590 --> 00:44:15,710 >> Ak de, li pral ede ou jwenn yon bagay yo rele 1023 00:44:15,710 --> 00:44:19,270 fwit memwa, ki nou gen konplètman inyore, naivman, 1024 00:44:19,270 --> 00:44:21,380 pou kèk tan ak blissfully. 1025 00:44:21,380 --> 00:44:23,140 Men, li vire soti, tout tan sa a, chak fwa 1026 00:44:23,140 --> 00:44:26,620 ou te rele getString nan se konsa anpil nan pwogram nou yo, 1027 00:44:26,620 --> 00:44:28,930 w ap mande opere nan sistèm pou memwa, 1028 00:44:28,930 --> 00:44:32,070 men ou gen nenpòt rekoleksyon nan tout tan tout tan bay li 1029 00:44:32,070 --> 00:44:36,169 tounen, fè unalloc, oswa gratis, menm jan sa yo rele. 1030 00:44:36,169 --> 00:44:37,960 Non, paske nou te pa janm mande w yo fè sa. 1031 00:44:37,960 --> 00:44:41,250 >> Men, tout tan sa a, pwogram yo ou ve yo te ekri nan C 1032 00:44:41,250 --> 00:44:43,800 yo te koule memwa, mande opere nan 1033 00:44:43,800 --> 00:44:46,190 sistèm pou pi plis ak plis memwa pou strings ak etajèr, 1034 00:44:46,190 --> 00:44:47,870 men pa janm Distribiye l 'tounen. 1035 00:44:47,870 --> 00:44:50,080 Epi, koulye a sa a se yon ti jan nan yon Senplifikasyon, 1036 00:44:50,080 --> 00:44:53,550 men si ou te janm kouri Mac ou a oswa PC ou pou kèk tan, ouvèti 1037 00:44:53,550 --> 00:44:55,790 anpil nan pwogram yo, petèt fèmen pwogram, 1038 00:44:55,790 --> 00:44:57,795 e menm si ou òdinatè pa te te fè aksidan, 1039 00:44:57,795 --> 00:45:01,690 li a ap resevwa anpil pi dousman, tankou si li vrèman 1040 00:45:01,690 --> 00:45:04,290 lè l sèvi avèk yon anpil nan memwa oswa resous, menm si, 1041 00:45:04,290 --> 00:45:06,070 si ou pa ap menm manyen klavye a, 1042 00:45:06,070 --> 00:45:10,430 ki ta ka be-- men se pa always-- te kapab gen ke pwogram yo w ap kouri 1043 00:45:10,430 --> 00:45:11,920 gen tèt yo fwit memwa. 1044 00:45:11,920 --> 00:45:15,645 Apre sa, yo kontinye mande eksplwatasyon an pou pi plis ak plis memwa, men bliye sou li, 1045 00:45:15,645 --> 00:45:18,470 pa aktyèlman lè l sèvi avèk li, men li Se poutèt sa pran memwa lwen 1046 00:45:18,470 --> 00:45:20,500 soti nan lòt pwogram ki ta ka vle li. 1047 00:45:20,500 --> 00:45:23,940 Se konsa, se yon eksplikasyon komen. 1048 00:45:23,940 --> 00:45:25,940 Koulye a, isit la nan kote Valgrind a pwodiksyon se konplètman 1049 00:45:25,940 --> 00:45:29,290 atròs bay moun mwens ak plis konfòtab sanble. 1050 00:45:29,290 --> 00:45:32,690 Men, enteresan an bagay ki dwat moute isit la. 1051 00:45:32,690 --> 00:45:37,060 Li se di m 'yon ekri envalid nan gwosè kat k ap pase nan pwogram sa a, 1052 00:45:37,060 --> 00:45:40,640 an patikilye, nan liy 21 nan memory.c. 1053 00:45:40,640 --> 00:45:45,450 >> Si m 'ale nan liy 21, hm, gen tout bon se yon ekri valab nan gwosè kat. 1054 00:45:45,450 --> 00:45:46,250 Poukisa gwosè kat? 1055 00:45:46,250 --> 00:45:49,500 Oke, sa a number-- epi li ta ka anything-- se yon Int. 1056 00:45:49,500 --> 00:45:50,450 Se konsa, li kat bytes. 1057 00:45:50,450 --> 00:45:52,550 Se konsa, mwen mete kat bytes kote yo pa sipoze ye. 1058 00:45:52,550 --> 00:45:55,080 Sa a ki sa Valgrind se aktyèlman di m '. 1059 00:45:55,080 --> 00:45:57,600 Anplis, li pral tou di m ', jan nou pral wè, 1060 00:45:57,600 --> 00:46:01,490 jan ou kouri sa a nan yon pset nan lavni, si ak lè ou te fwit memwa, ki tout bon 1061 00:46:01,490 --> 00:46:05,300 Mwen gen, paske mwen te rele malok, men mwen gen pa aktyèlman 1062 00:46:05,300 --> 00:46:08,010 rele, nan ka sa a, gratis, ki nou pral evantyèlman wè 1063 00:46:08,010 --> 00:46:09,830 se opoze a nan malok. 1064 00:46:09,830 --> 00:46:10,860 1065 00:46:10,860 --> 00:46:12,930 >> Se konsa, kounye a, mwen panse, yon egzanp final la. 1066 00:46:12,930 --> 00:46:14,050 1067 00:46:14,050 --> 00:46:16,690 Se konsa, yon sèl sa a nan yon ti kras pi plis Esoteric, men li la petèt 1068 00:46:16,690 --> 00:46:19,180 rezon ki fè yo pi gwo nan dwe fè atansyon ak memwa, 1069 00:46:19,180 --> 00:46:24,490 ak pwogram rezon ki fè yo ke anpil ak / oswa serveurs entènèt, menm nan jou sa a, 1070 00:46:24,490 --> 00:46:28,200 yo te pran sou pa nèg move yon kote sou entènèt la ki moun ki se yon jan kanmenm 1071 00:46:28,200 --> 00:46:33,390 voye pakè fos nan sèvè ou ap eseye konpwomi kont ou, 1072 00:46:33,390 --> 00:46:36,420 oswa pran done ou a, oswa jis jeneralman pran sou yon machin. 1073 00:46:36,420 --> 00:46:38,910 Debòde tanpon, menm jan an Non sijere, mwayen 1074 00:46:38,910 --> 00:46:40,740 debòde pa yon int, men yon tanpon. 1075 00:46:40,740 --> 00:46:43,490 Ak yon zòn de defans se jis yon fason anpenpan pou li di li nan yon pakèt moun sou memwa. 1076 00:46:43,490 --> 00:46:46,710 >> Ak tout bon, mwen te rele yon afè anvan tanpon, olye pou yo a. 1077 00:46:46,710 --> 00:46:49,234 Paske si li nan yon zòn de defans, tankou nan sans nan YouTube, 1078 00:46:49,234 --> 00:46:52,400 oswa nenpòt ki lè w ap gade yon videyo, ou ta ka gen pou wè mo tampon a, 1079 00:46:52,400 --> 00:46:53,040 dot, dot, dot. 1080 00:46:53,040 --> 00:46:54,240 Li nan èkstrèmeman anmèdan. 1081 00:46:54,240 --> 00:46:55,990 Ak ki jis vle di ke jwè videyo ou 1082 00:46:55,990 --> 00:46:58,710 ap eseye telechaje anpil nan bytes, anpil nan bytes 1083 00:46:58,710 --> 00:47:00,170 ki sòti nan yon videyo soti nan entènèt la. 1084 00:47:00,170 --> 00:47:02,920 Men, li la dousman, se konsa li a ap eseye nan download yon pakèt nan yo 1085 00:47:02,920 --> 00:47:06,430 yo ranpli yon zòn de defans, yon veso, se konsa ke ou gen ase bytes ke li kapab Lè sa a, 1086 00:47:06,430 --> 00:47:09,174 montre w videyo a, san yo pa s'arrête toujou ap. 1087 00:47:09,174 --> 00:47:11,340 Men, li vire soti, ou kapab gen yon zòn de defans nan sa a gwo. 1088 00:47:11,340 --> 00:47:15,710 Men, eseye mete sa a done anpil nan li, epi trè move bagay ka rive. 1089 00:47:15,710 --> 00:47:22,780 Se konsa, pou egzanp, kite pou yo gade nan sa a kol final la nan yon egzanp. 1090 00:47:22,780 --> 00:47:24,720 Sa a se yon lòt pwogram ke, nan premye gade, 1091 00:47:24,720 --> 00:47:26,540 pa fè anyen super itil. 1092 00:47:26,540 --> 00:47:29,590 Li nan te resevwa yon fonksyon Main ki mande ki fonksyon, f. 1093 00:47:29,590 --> 00:47:36,640 Epi ki fonksyon, f, moute isit la, gen yon etalaj Char, rele c, nan gwosè 12. 1094 00:47:36,640 --> 00:47:39,340 Lè sa a, li nan lè l sèvi avèk sa a nouvo fonksyon rele strki. 1095 00:47:39,340 --> 00:47:40,430 1096 00:47:40,430 --> 00:47:45,190 >> Li sanble ke, ak sa a ki senp, senp liy nan kòd, jis de liy, 1097 00:47:45,190 --> 00:47:49,130 nou te fè pwogram tout antye mwen, ak Se poutèt sa, tout òdinatè mwen an, 1098 00:47:49,130 --> 00:47:54,000 ak kont itilizatè mwen an, epi difisil mwen kondwi potansyèlman vilnerab a nenpòt moun ki 1099 00:47:54,000 --> 00:47:58,170 ki moun ki konnen ak se yon bon bagay ase yo kouri pwogram sa a avèk yon liy lòd sèten 1100 00:47:58,170 --> 00:47:58,900 diskisyon. 1101 00:47:58,900 --> 00:48:03,400 Nan lòt mo, si nèg sa a move mete andedan nan argvargv [1] lè ou tape 1102 00:48:03,400 --> 00:48:08,750 nan klavye a yon trè espesyalman fabrike fisèl, pa abc, 123, men esansyèlman, 1103 00:48:08,750 --> 00:48:15,180 senbòl binè ki reprezante ègzèkutabl Kòd, yon pwogram ke li oswa li te ekri, 1104 00:48:15,180 --> 00:48:19,190 ak pwogram senp sa a, ki se reprezantan nan dè milye de pwogram 1105 00:48:19,190 --> 00:48:23,610 ki Menm jan an tou vilnerab, daresay, li ka finalman efase tout 1106 00:48:23,610 --> 00:48:26,680 dosye yo sou kondwi difisil mwen, jwenn yon kliyote èd memwa pou ke li oswa li te kapab 1107 00:48:26,680 --> 00:48:30,170 tape kòmandman sou pwòp yo, imèl tout dosye vin jwenn mwen. 1108 00:48:30,170 --> 00:48:34,660 Nenpòt bagay ki mwen kapab fè, li oswa li te kapab fè avèk Kòd sa a. 1109 00:48:34,660 --> 00:48:36,575 >> Nou pa pral byen rezoud sa a ankò. 1110 00:48:36,575 --> 00:48:38,700 Ak nan reyalite, li k ap pase yo enplike yon ti kras foto 1111 00:48:38,700 --> 00:48:41,470 tankou sa a, ki nou pral byento vini yo konprann tout pi bon an. 1112 00:48:41,470 --> 00:48:44,480 Men, pou jodi a, se pou yo fini sou sa ki nan, èspere ke, yon ti kras plis 1113 00:48:44,480 --> 00:48:48,360 konprann XKCD, blag, jiskaske nou rezime pwochen fwa. 1114 00:48:48,360 --> 00:48:51,100 1115 00:48:51,100 --> 00:48:51,600 Tout dwa. 1116 00:48:51,600 --> 00:48:53,446 Wè ou nan Mèkredi. 1117 00:48:53,446 --> 00:48:54,754 >> [Jwe mizik] 1118 00:48:54,754 --> 00:48:57,790 >> Oratè: Epi, koulye a, gwo twou san fon panse, pa Daven Farnham. 1119 00:48:57,790 --> 00:49:00,890 1120 00:49:00,890 --> 00:49:04,770 Memwa, se tankou sote nan yon pil nan fèy lò sou yon apremidi dimanch. 1121 00:49:04,770 --> 00:49:09,000 Mouche van, yo tap voye ou hair-- oh, mwen manke jou yo when-- 1122 00:49:09,000 --> 00:49:11,100 1123 00:49:11,100 --> 00:49:12,650 >> [Ri] 1124 00:49:12,650 --> 00:49:13,750