1 00:00:00,000 --> 00:00:01,110 >> [Jwe mizik] 2 00:00:01,110 --> 00:00:10,567 3 00:00:10,567 --> 00:00:11,650 DAVID J. Malan: Tout dwa. 4 00:00:11,650 --> 00:00:15,610 Sa a se CS50, ak sa a se nan fen Semèn Kat. 5 00:00:15,610 --> 00:00:19,420 Ak youn nan sijè yo jodi a se ke nan forensics dijital, 6 00:00:19,420 --> 00:00:20,989 atizay la nan rekipere enfòmasyon. 7 00:00:20,989 --> 00:00:22,780 Ak tout bon, menm si w ap nan mitan an 8 00:00:22,780 --> 00:00:25,070 kounye a pou lapè nan Three ak pti, semèn pwochen, 9 00:00:25,070 --> 00:00:27,880 konsantre la ap sou jisteman domèn sa a. 10 00:00:27,880 --> 00:00:30,686 >> Se konsa, youn nan travay yo koul mwen janm te gen te tounen nan lekòl gradye, 11 00:00:30,686 --> 00:00:33,560 lè mwen te ap travay pou lokal la Middlesex County District Attorney a 12 00:00:33,560 --> 00:00:34,950 nan biwo a, fè forensics travay. 13 00:00:34,950 --> 00:00:37,450 Se konsa, esansyèlman, Massachusetts la Lapolis Eta a, sou okazyon, 14 00:00:37,450 --> 00:00:40,100 lè w ap travay sou ka ta pote nan bagay sa yo tankou kondui difisil 15 00:00:40,100 --> 00:00:42,185 ak disk lèkter ak kat memwa ak renmen an. 16 00:00:42,185 --> 00:00:44,060 Apre sa, yo ta lage yo m 'ak konseye m' yo, 17 00:00:44,060 --> 00:00:48,070 ak objektif nou te jwenn prèv, si te gen nenpòt, sou medya sa yo. 18 00:00:48,070 --> 00:00:50,700 Koulye a, ou ta ka gen pou wè m'apèrsu nan mond sa a nan forensics 19 00:00:50,700 --> 00:00:53,000 nan medya, televizyon an ak sinema. 20 00:00:53,000 --> 00:00:55,730 Men, travay la mwen te gen, ak daresay ke mond, 21 00:00:55,730 --> 00:00:57,550 se pa byen tankou ou ta wè li. 22 00:00:57,550 --> 00:01:00,794 Ann pran yon gade nan ki sa ou te pwobableman wè. 23 00:01:00,794 --> 00:01:01,460 [Lèktur VIDEO] 24 00:01:01,460 --> 00:01:02,930 -OK. 25 00:01:02,930 --> 00:01:05,380 Koulye a, kite a jwenn yon gade bon nan ou. 26 00:01:05,380 --> 00:01:06,850 >> [Jwe mizik] 27 00:01:06,850 --> 00:01:12,260 28 00:01:12,260 --> 00:01:12,932 >> -Hold Li. 29 00:01:12,932 --> 00:01:13,657 Kouri ki tounen. 30 00:01:13,657 --> 00:01:14,733 >> -Wait Yon minit. 31 00:01:14,733 --> 00:01:15,233 Ale dwat. 32 00:01:15,233 --> 00:01:16,371 33 00:01:16,371 --> 00:01:16,870 -Gen. 34 00:01:16,870 --> 00:01:17,369 Glase sa. 35 00:01:17,369 --> 00:01:17,930 -Tout-Ekran. 36 00:01:17,930 --> 00:01:18,376 >> -OK. 37 00:01:18,376 --> 00:01:18,875 Glase sa. 38 00:01:18,875 --> 00:01:20,160 -Tighten Moute sou sa a, èske ou? 39 00:01:20,160 --> 00:01:22,126 >> -Vector Nan sou ki nèg pa volan an tounen. 40 00:01:22,126 --> 00:01:24,435 >> -Zoom Nan dwa isit la sou plas sa a. 41 00:01:24,435 --> 00:01:28,580 >> -Avèk Ekipman nan dwa, nan ka imaj ap elaji, egwize. 42 00:01:28,580 --> 00:01:29,330 >> -Ki Nan sa? 43 00:01:29,330 --> 00:01:30,780 >> -Li Nan yon pwogram amelyorasyon. 44 00:01:30,780 --> 00:01:32,170 >> -Ka Ou klè ke moute nenpòt? 45 00:01:32,170 --> 00:01:33,070 >> -Mwen Pa konnen. 46 00:01:33,070 --> 00:01:34,150 Se pou yo amelyore li. 47 00:01:34,150 --> 00:01:35,440 >> -Enhance Seksyon A6. 48 00:01:35,440 --> 00:01:36,570 49 00:01:36,570 --> 00:01:38,562 Mwen ranfòse detay a, and-- 50 00:01:38,562 --> 00:01:40,020 -Mwen Panse ke gen nan ase yo amelyore. 51 00:01:40,020 --> 00:01:40,976 Lage li nan ekran mwen. 52 00:01:40,976 --> 00:01:42,559 >> -Mwen Ranfòse refleksyon an nan je l '. 53 00:01:42,559 --> 00:01:44,322 -Ann Kouri sa a nan videyo amelyorasyon. 54 00:01:44,322 --> 00:01:45,210 >> -Edgar, Ou ka amelyore sa a? 55 00:01:45,210 --> 00:01:45,710 >> -Hang Sou. 56 00:01:45,710 --> 00:01:47,570 57 00:01:47,570 --> 00:01:49,458 >> -I've Te ap travay sou refleksyon sa a. 58 00:01:49,458 --> 00:01:50,402 >> Refleksyon yon moun -Gen a la. 59 00:01:50,402 --> 00:01:50,902 >> -Reflection. 60 00:01:50,902 --> 00:01:52,870 -Gen Nan yon refleksyon nan figi nonm lan. 61 00:01:52,870 --> 00:01:53,694 >> Anpalan de refleksyon! 62 00:01:53,694 --> 00:01:54,610 -Gen Nan yon refleksyon. 63 00:01:54,610 --> 00:01:55,880 -Zoom Nan sou glas la. 64 00:01:55,880 --> 00:01:57,860 Ou ka wè yon refleksyon. 65 00:01:57,860 --> 00:01:59,630 >> -Ka Ou amelyore imaj la soti isit la? 66 00:01:59,630 --> 00:02:00,377 67 00:02:00,377 --> 00:02:01,210 -Ka Ou amelyore li? 68 00:02:01,210 --> 00:02:02,190 -Ka Ou amelyore li? 69 00:02:02,190 --> 00:02:03,066 -Ka Nou amelyore sa a? 70 00:02:03,066 --> 00:02:03,898 -Ka Ou amelyore li? 71 00:02:03,898 --> 00:02:04,740 -Hold Sou yon dezyèm fwa. 72 00:02:04,740 --> 00:02:05,281 Mwen pral amelyore. 73 00:02:05,281 --> 00:02:06,470 -Zoom Nan sou pòt la. 74 00:02:06,470 --> 00:02:06,970 -Times 10. 75 00:02:06,970 --> 00:02:08,009 -Zoom. 76 00:02:08,009 --> 00:02:08,509 -Move Nan. 77 00:02:08,509 --> 00:02:09,340 -More. 78 00:02:09,340 --> 00:02:10,094 -Wait, Sispann. 79 00:02:10,094 --> 00:02:10,750 -Stop. 80 00:02:10,750 --> 00:02:11,250 -Pause Li. 81 00:02:11,250 --> 00:02:13,542 -Rotate Nou 75 degre alantou vètikal la, tanpri. 82 00:02:13,542 --> 00:02:14,750 83 00:02:14,750 --> 00:02:16,127 >> -Stop. 84 00:02:16,127 --> 00:02:19,330 Tounen nan pati a sou pòt la ankò. 85 00:02:19,330 --> 00:02:21,420 >> -Got Yon aktivateur imaj ki ka Bitmap? 86 00:02:21,420 --> 00:02:24,420 >> -Maybe Nou ka sèvi ak Pradeep Singh a metòd yo wè nan fenèt la. 87 00:02:24,420 --> 00:02:25,902 >> Lojisyèl -La se leta nan atizay la. 88 00:02:25,902 --> 00:02:26,866 >> Anpalan de eigenvalue se koupe. 89 00:02:26,866 --> 00:02:29,758 >> -Avèk Dwa pou konbinezon de algoritm 90 00:02:29,758 --> 00:02:32,168 >> Pran lumières -Li a algoritm nan yon nivo pwochen, 91 00:02:32,168 --> 00:02:34,110 e mwen ka sèvi ak yo nan amelyore foto sa a. 92 00:02:34,110 --> 00:02:36,840 >> -Lock Sou yo ak sou elaji aks-z. 93 00:02:36,840 --> 00:02:37,351 >> -Enhance. 94 00:02:37,351 --> 00:02:37,850 Amelyore. 95 00:02:37,850 --> 00:02:38,720 -Enhance. 96 00:02:38,720 --> 00:02:40,070 -Freeze Ak amelyore. 97 00:02:40,070 --> 00:02:43,420 [Lèktur videyo END] 98 00:02:43,420 --> 00:02:45,830 DAVID J. Malan: Se konsa, sa yo se tout mo yo, men yo pa t ' 99 00:02:45,830 --> 00:02:47,870 yo itilize nan fraz kòrèkteman. 100 00:02:47,870 --> 00:02:52,370 Ak tout bon nan tan kap vini an, nenpòt ki lè, tanpri, ou tande yon moun di yon mo, 101 00:02:52,370 --> 00:02:54,250 "Amelyore," glousman jis yon ti jan ti kras. 102 00:02:54,250 --> 00:02:57,190 Paske lè w ap eseye amelyore, pou egzanp, sa a se sa ki rive. 103 00:02:57,190 --> 00:02:58,580 >> Se konsa, isit la nan yon foto supèrb. 104 00:02:58,580 --> 00:02:59,720 Sa a se pwòp Daven CS50 la. 105 00:02:59,720 --> 00:03:03,740 Ak ta kwè ke nou te vle konsantre nan sou Twinkle ki nan je l 'yo, 106 00:03:03,740 --> 00:03:05,870 oswa refleksyon an nan la move nèg ki te klèman 107 00:03:05,870 --> 00:03:07,820 kaptire pa kamera a sekirite. 108 00:03:07,820 --> 00:03:10,330 Sa a se sa ki pase lè ou rale nan sou yon imaj ki 109 00:03:10,330 --> 00:03:14,060 la gen sèlman yon kantite limite nan Bits asosye ak li. 110 00:03:14,060 --> 00:03:15,420 >> Se pou sa ke ou ta jwenn. 111 00:03:15,420 --> 00:03:19,190 Ak tout bon, nan je Daven a se men kat, petèt sis piksèl 112 00:03:19,190 --> 00:03:22,110 ki konpoze ekzakteman ki sa te ekla la. 113 00:03:22,110 --> 00:03:25,890 Se konsa, Set Pwoblèm Kat pral finalman gen ou eksplore mond sa a, patikilyèman 114 00:03:25,890 --> 00:03:28,090 pa nati nan yon bagay nou rele dosye mwen / O, kote 115 00:03:28,090 --> 00:03:31,000 mwen / O se jis yon fason anpenpan nan li di opinyon ak pwodiksyon. 116 00:03:31,000 --> 00:03:34,280 >> Se konsa, konsa byen lwen, nan tout entèraksyon yo nou te gen ak yon òdinatè 117 00:03:34,280 --> 00:03:36,770 yo te lajman ak ou klavye ak ekran an, 118 00:03:36,770 --> 00:03:40,770 men pa tèlman ak ki gen kapasite a difisil, oswa ekonomize nan dosye pi lwen pase sa yo ou 119 00:03:40,770 --> 00:03:41,620 tèt ou ekri. 120 00:03:41,620 --> 00:03:44,570 Pwogram ou konsa byen lwen gen pa te kreye, ak ekonomize, 121 00:03:44,570 --> 00:03:46,270 ak jour dosye pwòp yo. 122 00:03:46,270 --> 00:03:47,150 >> Oke, sa ki nan yon dosye? 123 00:03:47,150 --> 00:03:48,105 Oke, yon bagay tankou yon JPEG. 124 00:03:48,105 --> 00:03:50,520 Sa a se yon imaj ou ta ka gen oswa Upload Facebook, 125 00:03:50,520 --> 00:03:51,690 oswa wè nenpòt kote sou entènèt la. 126 00:03:51,690 --> 00:03:54,460 Vreman vre, ki foto nou jis te wè nan Daven te yon JPEG. 127 00:03:54,460 --> 00:03:57,570 Ak sa ki nan enteresan sou dosye tankou JPEGs 128 00:03:57,570 --> 00:04:02,170 se yo ke yo kapab idantifye, tipikman, pa sèten modèl nan miyèt moso. 129 00:04:02,170 --> 00:04:05,200 >> Nan lòt mo, ki sa ki li ki fè distenksyon yon JPEG ki sòti nan yon GIF 130 00:04:05,200 --> 00:04:08,109 ki sòti nan yon PING ki sòti nan yon mo dokiman ki soti nan yon dosye Excel? 131 00:04:08,109 --> 00:04:09,900 Oke, li nan jis diferan modèl nan miyèt moso. 132 00:04:09,900 --> 00:04:12,820 Ak moun ki modèl diferan yo anjeneral nan kòmansman an nan sa yo dosye. 133 00:04:12,820 --> 00:04:18,200 >> Se konsa, ki lè òdinatè w lan ouvè yon Pawòl doc, oswa lè yon òdinatè ouvè yon JPEG, 134 00:04:18,200 --> 00:04:20,940 li sanble tipikman nan la premye Bits plizyè nan dosye a. 135 00:04:20,940 --> 00:04:24,059 Men, si li rekonèt yon modèl, li di, oh, sa a se yon imaj. 136 00:04:24,059 --> 00:04:25,850 Kite m 'montre li nan itilizatè a kòm yon grafik. 137 00:04:25,850 --> 00:04:27,870 Oswa, oh, sa a sanble yon doc Pawòl. 138 00:04:27,870 --> 00:04:30,480 Kite m 'montre li nan itilizatè a kòm yon redaksyon. 139 00:04:30,480 --> 00:04:33,020 >> Se konsa, pou egzanp, JPEGs, li vire soti, yo se 140 00:04:33,020 --> 00:04:35,460 san patipri sofistike anba kapo a. 141 00:04:35,460 --> 00:04:40,140 Men, anvan twa bytes yo nan pi fò chak JPEG kòmanse ak twa nimewo sa yo. 142 00:04:40,140 --> 00:04:44,680 Se konsa, multiple zewo, yon sèl, ak de yo se, nan pi chak JPEG, 255, Lè sa a, nimewo a 143 00:04:44,680 --> 00:04:46,675 216, Lè sa a, nimewo a 255. 144 00:04:46,675 --> 00:04:48,990 >> Ak sa ki ou pral kapab kòmanse fè semèn pwochèn 145 00:04:48,990 --> 00:04:52,920 se aktyèlman poking anba kapo a nan dosye tankou JPEGs 146 00:04:52,920 --> 00:04:57,210 ak renmen dosye bitmap, li wè sa k te toujou gen pou osi lontan 147 00:04:57,210 --> 00:04:58,650 jan ou ve yo te lè l sèvi avèk yon òdinatè. 148 00:04:58,650 --> 00:05:01,860 >> Men, sa ki nan pa gen tipikman ekri tankou nimewo desimal tankou sa a. 149 00:05:01,860 --> 00:05:04,620 Syantis konpitè pa fè sa yo gen tandans pale nan desimal. 150 00:05:04,620 --> 00:05:06,139 Yo pa reyèlman pale nan binè. 151 00:05:06,139 --> 00:05:07,930 Tipikman, lè nou vle yo eksprime nimewo, 152 00:05:07,930 --> 00:05:10,710 nou aktyèlman itilize ekzadesimal, ki ou ka sonje 153 00:05:10,710 --> 00:05:13,027 soti nan, di, Set Pwoblèm Yon sèl, ki defye 154 00:05:13,027 --> 00:05:14,610 ou bezwen panse osijè de yon sistèm diferan. 155 00:05:14,610 --> 00:05:17,170 >> Nou, nan kou, yo abitye ak desimal, zewo atravè nèf. 156 00:05:17,170 --> 00:05:18,215 Nou te pale de binè. 157 00:05:18,215 --> 00:05:20,710 Epi nou pa vrèman gen yo sèvi ak ke anpil isit la 158 00:05:20,710 --> 00:05:22,470 sou deyò, paske òdinatè ap sèvi ak sa. 159 00:05:22,470 --> 00:05:24,900 Men, pwogramasyon pral trè souvan, men se pa toujou, 160 00:05:24,900 --> 00:05:29,360 itilize ekzadesimal, ki jis vle di ou gen 16 lèt nan alfabè ou, 161 00:05:29,360 --> 00:05:31,330 kòm opoze a de oswa 10. 162 00:05:31,330 --> 00:05:34,530 >> Se konsa, kouman ou konte nan pi wo pase nèf nan ekzadesimal? 163 00:05:34,530 --> 00:05:41,120 Ou ale 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, jis pa konvansyon. 164 00:05:41,120 --> 00:05:43,540 Men, sa ki nan kle a se ke chak nan sa yo se yon senbòl sèl. 165 00:05:43,540 --> 00:05:44,340 Pa gen okenn 10. 166 00:05:44,340 --> 00:05:48,400 Pa gen okenn 11, se pou chak, paske chak nan chif ou a, jis tankou nan desimal 167 00:05:48,400 --> 00:05:51,940 ak jis tankou nan binè, yo ta dwe jis gen yon karaktè sèl, pa konvansyon. 168 00:05:51,940 --> 00:05:55,280 >> Se konsa, ki lè sa a se alfabè a nou gen a jete nou an pou ekzadesimal. 169 00:05:55,280 --> 00:05:58,600 Se konsa, sa yon JPEG gade tankou si ou yo te ekri soti moun premye twa 170 00:05:58,600 --> 00:06:01,980 bytes pa tankou desimal men, pou egzanp, kòm ekzadesimal? 171 00:06:01,980 --> 00:06:03,640 Epi poukisa se Egzagòn menm tout sa ki itil? 172 00:06:03,640 --> 00:06:05,290 >> Oke, yon gade rapid nan yon egzanp. 173 00:06:05,290 --> 00:06:09,030 Se konsa, si mwen ekri soti Bits yo ki reprezante sa yo numéros desimal 174 00:06:09,030 --> 00:06:12,450 sa a ta kapab yon ti kras wouye kounye a soti nan yon kèk semèn tounen, 175 00:06:12,450 --> 00:06:14,820 men se yon sèl la a gòch ak yon sèl dwa yo se trè fasil. 176 00:06:14,820 --> 00:06:17,990 255 te pi gwo nou nan nimewo ka reprezante ak wit miyèt moso. 177 00:06:17,990 --> 00:06:18,820 Li te tout moun. 178 00:06:18,820 --> 00:06:21,320 Se konsa, yon sèl la sèlman sa a, se léjèrman enteresan an se yon sèl la presegondè. 179 00:06:21,320 --> 00:06:24,700 Men, si ou kalite fè soti nan matematik, ou pral enferyè ke, tout bon, 180 00:06:24,700 --> 00:06:27,949 ki modèl nan yon sèl ak zewo reprezante 216. 181 00:06:27,949 --> 00:06:30,240 Se konsa, kite yo jis ladann pou kounye a ke sa yo, se kòrèk. 182 00:06:30,240 --> 00:06:31,730 Men, poukisa se sa a enteresan? 183 00:06:31,730 --> 00:06:33,970 >> Oke, yon multiple, nan kou, se uit miyèt moso. 184 00:06:33,970 --> 00:06:38,980 Epi li vire soti ke si ou panse ke nan yon multiple menm jan de fragman nan kat Bits, 185 00:06:38,980 --> 00:06:39,500 tankou sa a. 186 00:06:39,500 --> 00:06:41,000 Kite m 'jis ajoute kèk espas. 187 00:06:41,000 --> 00:06:42,550 Se konsa, anvan, apre yo fin. 188 00:06:42,550 --> 00:06:46,520 Mwen te jis te ajoute kèk espas blan pou dedomajman pou vizyalizasyon a isit la. 189 00:06:46,520 --> 00:06:51,840 Ki jan nou ta ka kounye a reprezante a, di, ekzadesimal chak kwadwilatè nan Bits, 190 00:06:51,840 --> 00:06:52,880 chak mete nan kat Bits? 191 00:06:52,880 --> 00:06:56,420 >> Se konsa, pou egzanp, sou bò gòch la kounye a, nou gen 1111 nan binè. 192 00:06:56,420 --> 00:07:00,420 Ki sa ki se ke nimewo nan desimal, si ou fè soti matematik la? 193 00:07:00,420 --> 00:07:03,780 Ou gen plas inite yo, plas la Dezan, plas la four, ak kote a eights. 194 00:07:03,780 --> 00:07:04,341 >> ODYANS: 15. 195 00:07:04,341 --> 00:07:05,340 DAVID J. Malan: Li nan 15. 196 00:07:05,340 --> 00:07:08,340 Se konsa, si nou fè uit plis kat plis de plis yon, nou jwenn 15. 197 00:07:08,340 --> 00:07:11,790 Se konsa, mwen ta ka ekri desann 15 anba a 1111, men pwen an antye isit la 198 00:07:11,790 --> 00:07:13,190 se ekzadesimal, pa desimal. 199 00:07:13,190 --> 00:07:17,310 Se konsa, olye pou yo ekri desann 15, 1-5, Mwen pral ekri ke nan Egzagòn, 200 00:07:17,310 --> 00:07:22,311 ki si ou panse tounen, si ou gen zewo nan f, ki sa ki 15 pral fè? 201 00:07:22,311 --> 00:07:22,810 ODYANS: f. 202 00:07:22,810 --> 00:07:24,434 DAVID J. Malan: Se konsa, li vire soti li nan f. 203 00:07:24,434 --> 00:07:29,140 Epi ou ka travay ki soti lè li di, byen, si yon se 10, Lè sa a, OK, f se 15. 204 00:07:29,140 --> 00:07:33,250 Se konsa, tout bon, nou te ka reyekri seri sa a menm nan nimewo kòm f f. 205 00:07:33,250 --> 00:07:35,750 Lè sa a, si nou fè yon ti jan nan matematik, nou pral enferyè ki sa a, se d. 206 00:07:35,750 --> 00:07:38,650 Uit se trè fasil, paske nou gen yon sèl nan plas la eights. 207 00:07:38,650 --> 00:07:40,620 Lè sa a,, nou gen yon koup plis f f a. 208 00:07:40,620 --> 00:07:44,669 >> Se konsa, sa moun yo gen tandans fè pa konvansyon lè yo sèvi ak ekzadesimal se yo jis 209 00:07:44,669 --> 00:07:47,710 ekri sa a yon ti kras plis suksen, debarase m de pi fò nan ki espas blan. 210 00:07:47,710 --> 00:07:50,890 Ak jis yo dwe Super klè nan lektè ke sa a se ekzadesimal, 211 00:07:50,890 --> 00:07:54,670 konvansyon an senp nan mitan moun ki ou ekri zewo 212 00:07:54,670 --> 00:07:58,000 x, ki pa gen okenn siyifikasyon lòt pase yon idantifyan vizyèl nan, 213 00:07:58,000 --> 00:07:59,590 isit la vini yon nimewo Egzagòn. 214 00:07:59,590 --> 00:08:04,210 >> Lè sa a,, ou mete de chif yo, f f nan ka sa a, lè sa a d yon, lè sa a f f. 215 00:08:04,210 --> 00:08:06,700 Se konsa, istwa long kout, ekzadesimal jis gen tandans 216 00:08:06,700 --> 00:08:11,990 a ap itil paske chak nan li yo chif, zewo nan f, parfe liy 217 00:08:11,990 --> 00:08:13,880 moute ak yon modèl nan kat miyèt moso. 218 00:08:13,880 --> 00:08:18,080 >> Se konsa, si ou gen de chif ekzadesimal, zewo jiska F, ankò e ankò, 219 00:08:18,080 --> 00:08:20,256 ki ba ou parfe uit Bits oswa yon sèl multiple. 220 00:08:20,256 --> 00:08:22,380 Se konsa, Se poutèt sa li gen tandans gen konvansyonèl itil. 221 00:08:22,380 --> 00:08:24,990 Gen nan pa gen entelektyèl kontni reyèlman pi lwen pase sa, 222 00:08:24,990 --> 00:08:27,010 lòt pase sèvis piblik aktyèl li yo. 223 00:08:27,010 --> 00:08:29,310 >> Koulye a, JPEGs se pa sèlman nan ranpli fòma pou grafik. 224 00:08:29,310 --> 00:08:33,230 Ou ta ka sonje ke gen dosye tankou sa a nan mond lan, 225 00:08:33,230 --> 00:08:34,830 omwen ki sòti nan yon kèk ane tounen. 226 00:08:34,830 --> 00:08:37,580 >> Se konsa, sa a te aktyèlman enstale nan Windows XP 227 00:08:37,580 --> 00:08:39,960 sou dè milyon de PC yo atravè mond lan. 228 00:08:39,960 --> 00:08:43,000 Lè sa a te yon dosye bitmap, BMP. 229 00:08:43,000 --> 00:08:47,690 Ak yon dosye bitmap, menm jan ou pral wè pwochen semèn, jis vle di yon modèl nan pwen, 230 00:08:47,690 --> 00:08:51,710 piksèl menm jan yo ap rele, yon kat jeyografik sou Bits, vrèman. 231 00:08:51,710 --> 00:08:55,160 >> Se konsa, sa ki nan enteresan, menm si, sou fòma dosye sa a, BMP, se 232 00:08:55,160 --> 00:08:58,590 ki anba kapo a, li gen plis pase jis twa bytes 233 00:08:58,590 --> 00:09:01,020 ki konpoze header li, se konsa yo pale, premye mòde yo kèk. 234 00:09:01,020 --> 00:09:03,330 Li aktyèlman sanble yon ti kras konplike nan premye gade. 235 00:09:03,330 --> 00:09:04,704 Epi ou pral wè sa a nan P ansanm lan. 236 00:09:04,704 --> 00:09:06,810 Yo ak pou jwenn yon bagay soti patikilye nan sa a kounye a 237 00:09:06,810 --> 00:09:10,720 se pa tèlman enpòtan, kòm jis lefèt ke nan kòmansman an nan chak bitmap 238 00:09:10,720 --> 00:09:13,823 dosye, yon fòma grafik, gen nan yon pakèt antye nan nimewo. 239 00:09:13,823 --> 00:09:14,980 240 00:09:14,980 --> 00:09:16,720 >> Koulye a, Microsoft, nan otè a fòma sa a, 241 00:09:16,720 --> 00:09:18,820 gen tandans fè rele moun bagay sa yo pa antye ak charaktèr 242 00:09:18,820 --> 00:09:22,259 ak cha men pawòl ak d mo yo ak lon ak bytes. 243 00:09:22,259 --> 00:09:23,800 Se konsa, yo ap jis kalite done diferan. 244 00:09:23,800 --> 00:09:25,170 Yo ap non diferan pou menm bagay la. 245 00:09:25,170 --> 00:09:26,740 Men, ou pral wè ke nan P Set Kat. 246 00:09:26,740 --> 00:09:31,450 >> Men, sa a se sèlman yo di ke si yon moun doub-klik kèk dosye BMP sou l ' 247 00:09:31,450 --> 00:09:35,015 oswa kondwi difisil l ', ak yon fenèt ouvè moute ki montre l 'oswa li ki imaj, 248 00:09:35,015 --> 00:09:38,500 sa ki te rive paske opere nan sistèm prezimableman remake pa sèlman 249 00:09:38,500 --> 00:09:41,460 ekstansyon nan dosye BMP nan non an ranpli, 250 00:09:41,460 --> 00:09:45,010 men tou, lefèt ke gen nan kèk konvansyon modèl la nan Bits 251 00:09:45,010 --> 00:09:47,490 nan kòmansman la anpil nan ki dosye bitmap. 252 00:09:47,490 --> 00:09:50,270 >> Men, kite a kounye a konsantre sou tankou yon dosye konplike, 253 00:09:50,270 --> 00:09:52,120 men olye sou yon bagay tankou sa a. 254 00:09:52,120 --> 00:09:55,190 Sipoze isit la nan jdi, mwen jis gen kòmanse yo 255 00:09:55,190 --> 00:09:57,070 nan yon pwogram sa a, se trè senp. 256 00:09:57,070 --> 00:09:58,860 Mwen te gen kèk gen ladan moute tèt. 257 00:09:58,860 --> 00:10:02,120 Koulye a, mwen te gen # enkli "structs.h" men Mwen pral tounen vin jwenn ke nan yon moman. 258 00:10:02,120 --> 00:10:03,974 Men, sa a se itil pou kounye a. 259 00:10:03,974 --> 00:10:05,890 Se konsa, sa a se yon pwogram ki nan ale nan aplike 260 00:10:05,890 --> 00:10:07,335 tankou baz done rejistrè a. 261 00:10:07,335 --> 00:10:09,710 Se konsa, yon baz done nan elèv yo, ak chak elèv nan mond lan 262 00:10:09,710 --> 00:10:13,190 gen yon non ak yon kay ak pwobableman kèk lòt bagay, men nou pral kenbe li senp. 263 00:10:13,190 --> 00:10:15,140 Chak elèv gen yon non ak yon kay. 264 00:10:15,140 --> 00:10:17,700 >> Se konsa, si mwen te vle ekri yon pwogram ki gen objektif nan lavi 265 00:10:17,700 --> 00:10:19,860 te jis repekte soti nan zewo sou jiska twa, 266 00:10:19,860 --> 00:10:22,070 si gen nan twa elèv nan Inivèsite Harvard. 267 00:10:22,070 --> 00:10:25,350 Apre sa, mwen jis vle jwenn, lè l sèvi avèk GetString, Non chak elèv an ak kay, 268 00:10:25,350 --> 00:10:26,600 ak Lè sa a jis enprime moun soti. 269 00:10:26,600 --> 00:10:28,630 >> Sa a se sòt de tankou Semèn Youn, Semèn De bagay kounye a, 270 00:10:28,630 --> 00:10:30,810 kote mwen jis vle yon pou riban oswa yon bagay tankou sa. 271 00:10:30,810 --> 00:10:34,500 Apre sa, mwen vle rele GetString yon kèk fwa, ak Lè sa a, ekri ak lèt ​​detache f yon fwa kèk. 272 00:10:34,500 --> 00:10:37,340 Se konsa, kouman ka mwen fè sa, menm si, lè tou de yon non ak yon kay 273 00:10:37,340 --> 00:10:39,070 ap patisipe pou chak elèv? 274 00:10:39,070 --> 00:10:42,830 >> Se konsa, premye ensten mwen ta ka gen fè yon bagay tankou sa a. 275 00:10:42,830 --> 00:10:49,620 Mwen ta ka premye di, byen, ban m ', di, yon etalaj de strings rele non. 276 00:10:49,620 --> 00:10:51,530 Apre sa, mwen pa vle yon hardcode twa isit la. 277 00:10:51,530 --> 00:10:53,064 Ki sa mwen vle mete ladan l '? 278 00:10:53,064 --> 00:10:55,730 Se konsa, ELÈV, paske sa se sèlman yon konstan te deklare nan tèt la, 279 00:10:55,730 --> 00:10:57,860 jis pou mwen pa oblije hardcode twa nan plizyè kote. 280 00:10:57,860 --> 00:11:00,859 Fason sa a, mwen ka chanje li yon sèl kote, epi li afekte yon chanjman toupatou. 281 00:11:00,859 --> 00:11:04,470 Lè sa a,, mwen ta ka fè fisèl kay ELÈV. 282 00:11:04,470 --> 00:11:10,250 >> Epi, koulye a, mwen ta ka fè yon bagay tankou pou (Int mwen = 0; mwen 00:11:14,390 Se konsa, mwen sezisman vit, men sa a se pwobableman abitye sentaks kounye a. 284 00:11:14,390 --> 00:11:17,030 >> Epi, koulye a, sa a te pi resan. 285 00:11:17,030 --> 00:11:22,890 Si m 'vle mete nan-th a mwen non elèv yo, mwen panse ke mwen fè sa. 286 00:11:22,890 --> 00:11:26,480 Lè sa a,, pa non men kay bracket mwen. 287 00:11:26,480 --> 00:11:29,930 Mwen fè sa, GetString, epi kite m 'ale tounen ak ranje liy sa a. 288 00:11:29,930 --> 00:11:30,430 Dakò? 289 00:11:30,430 --> 00:11:31,200 Dakò? 290 00:11:31,200 --> 00:11:32,366 Li pa anpil user-zanmitay. 291 00:11:32,366 --> 00:11:33,890 Mwen pa menm di itilizatè a sa yo dwe fè. 292 00:11:33,890 --> 00:11:36,520 >> Men koulye a,, si mwen tou te vle pita, se pou yo 293 00:11:36,520 --> 00:11:40,060 di, enprime bagay sa yo out-- konsa TODO pita. 294 00:11:40,060 --> 00:11:42,330 Mwen pral fè plis ak this-- sa a joui se 295 00:11:42,330 --> 00:11:45,970 yon aplikasyon kòrèk la nan ap resevwa non ak kay, twa 296 00:11:45,970 --> 00:11:48,870 nan yo manm nan chak, ki soti nan yon itilizatè. 297 00:11:48,870 --> 00:11:51,280 >> Men, sa a se pa trè bon konsepsyon, dwa? 298 00:11:51,280 --> 00:11:55,220 E si yon elèv gen pa jis yon non ak yon kay, men tou, yon nimewo ID, 299 00:11:55,220 --> 00:11:57,770 ak yon nimewo telefòn, ak yon adrès imel, 300 00:11:57,770 --> 00:12:00,280 e petèt yon paj lakay, ak petèt yon manch Twitter, 301 00:12:00,280 --> 00:12:03,730 ak nenpòt ki kantite lòt detay ki asosye avèk yon elèv oswa yon moun, 302 00:12:03,730 --> 00:12:04,610 plis jeneralman. 303 00:12:04,610 --> 00:12:07,720 Ki jan nou ta kòmanse yo ajoute fonctionnalités nan pwogram sa a? 304 00:12:07,720 --> 00:12:14,080 >> Oke, mwen santi mwen tankou wout la ki pi senp ta ka gen fè yon bagay tankou, kite la di, 305 00:12:14,080 --> 00:12:16,490 Int idantifikasyon ELÈV. 306 00:12:16,490 --> 00:12:18,380 Se konsa, mwen ka mete tout idantite yo nan la. 307 00:12:18,380 --> 00:12:22,240 Lè sa a,, pou yon bagay tankou nimewo telefòn, 308 00:12:22,240 --> 00:12:24,400 Mwen pa si ki jan yo reprezante ki jis ankò. 309 00:12:24,400 --> 00:12:30,280 Se konsa, kite a ale pi devan ak jis rele sa a Twitters ELÈV, ki 310 00:12:30,280 --> 00:12:33,550 se yon ti kras etranj, but-- ak yon pakèt plis jaden. 311 00:12:33,550 --> 00:12:36,360 >> Mwen te kòmanse nan efektivman kopye epi kole isit la. 312 00:12:36,360 --> 00:12:39,416 Ak sa a se pral yo grandi trè maladwa trè byen vit, dwa? 313 00:12:39,416 --> 00:12:42,290 Pa li ta dwe nice si te gen nan mond lan yon estrikti done li te ye 314 00:12:42,290 --> 00:12:45,600 pa tankou yon int oswa yon fisèl, men yon bagay pi wo nivo, yon distraksyon, se konsa 315 00:12:45,600 --> 00:12:47,570 yo pale, yo konnen kòm yon elèv? 316 00:12:47,570 --> 00:12:50,220 C pa t 'vini ak bati-an fonctionnalités pou elèv yo, 317 00:12:50,220 --> 00:12:52,260 men ki sa si mwen te vle ba li sa yo? 318 00:12:52,260 --> 00:12:55,640 >> Oke, li vire soti, mwen pral louvri yon dosye rele structs.h isit la, 319 00:12:55,640 --> 00:12:57,090 epi ou ka fè egzakteman sa. 320 00:12:57,090 --> 00:12:58,290 Apre sa, nou pwal kòmanse fè sa kounye a. 321 00:12:58,290 --> 00:13:01,490 Ak anba kapo a nan P Set Twa, ou te deja te fè sa kounye a. 322 00:13:01,490 --> 00:13:05,920 Pa gen okenn bagay tankou yon dirèk g oswa yon oval g nan C. nan lang programmation 323 00:13:05,920 --> 00:13:10,570 >> Folks nan Stanford aplike sa yo kalite done lè l sèvi avèk apwòch sa a isit la, 324 00:13:10,570 --> 00:13:13,900 deklare pwòp done nouvo yo kalite lè l sèvi avèk yon nouvo mo kle 325 00:13:13,900 --> 00:13:16,744 rele konstri ak yon lòt yon sèl rele tipedèf. 326 00:13:16,744 --> 00:13:19,660 Ak tout bon, menm si sentaks la sanble yon ti kras diferan de bagay 327 00:13:19,660 --> 00:13:23,550 nou te wè anvan, nan prensip, li la super senp. 328 00:13:23,550 --> 00:13:25,297 >> Sa a jis vle di "defini yon kalite." 329 00:13:25,297 --> 00:13:27,255 Sa k ap pase yo dwe yon estrikti, ak yon estrikti 330 00:13:27,255 --> 00:13:29,400 se jis tankou yon veso ki pou plizyè bagay sa yo. 331 00:13:29,400 --> 00:13:31,780 Epi sa estrikti ki pral yo gen yon kòd yo rele non, 332 00:13:31,780 --> 00:13:33,210 ak yon kòd yo rele kay. 333 00:13:33,210 --> 00:13:37,520 Li kite yo rele, jis pou konvenyans, sa a tout antye estrikti done elèv yo. 334 00:13:37,520 --> 00:13:40,320 >> Se konsa, moman sa a ou jwenn yo virgules a, ou gen kounye a 335 00:13:40,320 --> 00:13:43,280 kreye done pwòp ou a kalite rele elèv 336 00:13:43,280 --> 00:13:46,420 ki kounye a kanpe ansanm ak Int, ak flote, ak Char, ak fisèl, 337 00:13:46,420 --> 00:13:50,270 ak g dirèk, ak g oval, ak nenpòt ki kantite nan lòt bagay moun te envante yo. 338 00:13:50,270 --> 00:13:53,340 >> Se konsa, sa ki nan itil sou sa a kounye a se ke si mwen ale tounen 339 00:13:53,340 --> 00:13:57,430 konstri 0 epi fini sa a aplikasyon, ki mwen te ekri 340 00:13:57,430 --> 00:14:02,080 nan avanse isit la, remake ke tout nan messiness la inevitab ke 341 00:14:02,080 --> 00:14:05,490 te sou yo kòmanse ap pase jan mwen te ajoute nimewo telefòn ak Twitters ak tout 342 00:14:05,490 --> 00:14:07,370 sa yo lòt bagay yo definisyon yon elèv, 343 00:14:07,370 --> 00:14:11,810 kounye a li nan suksen vlope moute kòm sèlman yon sèl etalaj de elèv yo. 344 00:14:11,810 --> 00:14:15,500 >> Epitou, chak nan elèv sa yo kounye a gen plizyè bagay andedan nan li. 345 00:14:15,500 --> 00:14:16,930 Se konsa, ki jis kite yon sèl kesyon. 346 00:14:16,930 --> 00:14:19,700 Kouman nou ka jwenn nan non yo, ak kay la, epi ID an, 347 00:14:19,700 --> 00:14:21,640 ak tou sa lòt bagay se andedan nan elèv la? 348 00:14:21,640 --> 00:14:22,930 Super senp, tankou byen. 349 00:14:22,930 --> 00:14:25,730 New sentaks, men yon lide ki senp. 350 00:14:25,730 --> 00:14:29,239 >> Ou tou senpleman endèks nan etalaj la, jan nou te fè semèn pase a ak sa a. 351 00:14:29,239 --> 00:14:31,030 Ak sa ki nan klèman nan nouvo moso nan sentaks? 352 00:14:31,030 --> 00:14:32,590 353 00:14:32,590 --> 00:14:35,880 Jis., Ki vle di "ale andedan nan estrikti epi pou yo jwenn jaden an rele 354 00:14:35,880 --> 00:14:39,030 Non, jwenn jaden an rele kay, jwenn jaden an rele elèv yo. " 355 00:14:39,030 --> 00:14:41,940 >> Se konsa, nan P Set Twa, si w ap toujou ap travay sou sa, 356 00:14:41,940 --> 00:14:44,020 ak pi folks toujou yo, reyalize ke jan ou 357 00:14:44,020 --> 00:14:46,130 kòmanse lè l sèvi avèk bagay sa yo tankou g rects ak g oval 358 00:14:46,130 --> 00:14:50,201 ak lòt bagay ki pa sanble yo soti nan Semèn Zero, Youn, oswa de, 359 00:14:50,201 --> 00:14:52,950 reyalize ke sa a, se paske Stanford te deklare kèk kalite done nouvo. 360 00:14:52,950 --> 00:14:56,160 >> Ak tout bon, sa a, se egzakteman sa nou pral fè, kòm byen, nan P Set Kat, lè 361 00:14:56,160 --> 00:14:59,880 nou kòmanse fè fas ak bagay sa yo tankou imaj, Bitmap, ak plis ankò. 362 00:14:59,880 --> 00:15:02,882 Se konsa, sa se sèlman yon kol ak yon modèl mantal pou ki sa ki ap vini yo. 363 00:15:02,882 --> 00:15:04,590 Koulye a, mwen ranvwaye yon ti jan maten sa a. 364 00:15:04,590 --> 00:15:09,560 Mwen te kalite kirye yo wè sa ki Microsoft photo a aktyèlman 365 00:15:09,560 --> 00:15:10,310 sanble jodi a. 366 00:15:10,310 --> 00:15:15,200 Epi li vire soti yon moun nan ane 2006, aktyèlman te ale nan prèske jisteman 367 00:15:15,200 --> 00:15:19,210 plas la menm pran foto nan reyalite sa ki sanble ki jou sa yo. 368 00:15:19,210 --> 00:15:21,380 Jaden an se kounye a yon ti kras kantite ti vilaj. 369 00:15:21,380 --> 00:15:24,850 >> Se konsa, pale kounye a nan imaj, kite a fè m 'tounen isit la Daven 370 00:15:24,850 --> 00:15:26,890 sou ekran an ak Nicholas, ak jis fè ou sonje 371 00:15:26,890 --> 00:15:30,540 ke si ou ta renmen rantre nan nou pou manje midi sa a Vandredi, tèt a URL nòmal nou an 372 00:15:30,540 --> 00:15:31,440 isit la. 373 00:15:31,440 --> 00:15:33,530 >> Se konsa, kote nou te kite nan jou lendi a? 374 00:15:33,530 --> 00:15:35,140 Nou prezante pwoblèm sa a, dwa? 375 00:15:35,140 --> 00:15:37,610 Sa a te w pèdi yon kòrèk aplikasyon nan swap, 376 00:15:37,610 --> 00:15:40,460 annakò ou pran de antye, yon sèl rele yon, yon sèl rele b, 377 00:15:40,460 --> 00:15:44,130 swap yo, jis tankou Laura te fè isit la sou sèn ak lèt ​​la ak dlo a, 378 00:15:44,130 --> 00:15:46,820 lè l sèvi avèk yon tanporè varyab, oswa yon tas vid, 379 00:15:46,820 --> 00:15:50,540 pou nou te kapab mete b nan yon ak yon nan b san yo pa fè yon dezòd nan bagay sa yo. 380 00:15:50,540 --> 00:15:51,560 Nou itilize yon varyab. 381 00:15:51,560 --> 00:15:52,870 Yo rele li temp. 382 00:15:52,870 --> 00:15:55,520 >> Men, sa ki te fondamantal la pwoblèm ak Kòd sa a nan Lendi? 383 00:15:55,520 --> 00:15:57,700 384 00:15:57,700 --> 00:15:58,870 Ki sa ki te pwoblèm nan isit la? 385 00:15:58,870 --> 00:16:00,106 386 00:16:00,106 --> 00:16:00,605 Yeah. 387 00:16:00,605 --> 00:16:01,970 >> ODYANS: Li pran moute plis espas. 388 00:16:01,970 --> 00:16:04,719 >> DAVID J. Malan: pran moute plis espas, paske mwen m 'lè l sèvi avèk yon varyab, 389 00:16:04,719 --> 00:16:05,400 e ke sa a OK. 390 00:16:05,400 --> 00:16:07,300 Sa se vre, men mwen pral di ke se ok. 391 00:16:07,300 --> 00:16:10,030 Li nan sèlman 32 Bits nan Grand a konplo de bagay sa yo, se konsa pa yon kontra gwo. 392 00:16:10,030 --> 00:16:10,655 Lòt panse? 393 00:16:10,655 --> 00:16:12,572 ODYANS: Li sèlman swaps varyab yo lokalman. 394 00:16:12,572 --> 00:16:13,571 DAVID J. Malan: Egzakteman. 395 00:16:13,571 --> 00:16:15,090 Li sèlman swaps varyab yo lokalman. 396 00:16:15,090 --> 00:16:18,173 Paske nenpòt ki lè ou rele yon function-- lè mwen te gen plato yo soti nan Annenberg 397 00:16:18,173 --> 00:16:19,840 dènye fwa, ou gen prensipal sou anba a. 398 00:16:19,840 --> 00:16:23,560 Le pli vit ke ou rele yon fonksyon rele swap, swap pa jwenn x ak y, 399 00:16:23,560 --> 00:16:24,400 valè yo orijinal yo. 400 00:16:24,400 --> 00:16:26,392 Ki sa swap jwenn, èske nou reklame? 401 00:16:26,392 --> 00:16:27,100 ODYANS: Kopi. 402 00:16:27,100 --> 00:16:28,090 DAVID J. Malan: Se konsa, kopi yo. 403 00:16:28,090 --> 00:16:31,120 Se konsa, li vin youn ak de, si ou sonje egzanp lan ki soti nan dènye tan, 404 00:16:31,120 --> 00:16:34,730 men yon kopi youn ak de ki yo avèk siksè échanges. 405 00:16:34,730 --> 00:16:38,550 Men, malerezman nan fen a, valè sa yo yo toujou menm bagay la. 406 00:16:38,550 --> 00:16:41,880 Se konsa, nou ka wè sa a ak nou an nouvo zanmi, èspere ke gdb, 407 00:16:41,880 --> 00:16:45,180 ke ou oswa TFs yo ak Ca an gen te k ap gide ou nan direksyon jan sa a. 408 00:16:45,180 --> 00:16:51,210 >> Se konsa, pa gen okenn rapèl swap sanble like-- kite nan louvri moute sanble this-- tankou sa a. 409 00:16:51,210 --> 00:16:54,160 Nou initialisé x nan yon sèl, y a de. 410 00:16:54,160 --> 00:16:55,620 Te gen yon pakèt moun sou ekri an lèt detache f a. 411 00:16:55,620 --> 00:16:58,080 Men, lè sa a, rele nan kle isit la se te swap, ki 412 00:16:58,080 --> 00:17:00,260 se egzakteman nou an Kòd jis te wè yon ti moman de sa. 413 00:17:00,260 --> 00:17:03,180 Ki se kòrèk nan premye gade, men fonksyonèl, 414 00:17:03,180 --> 00:17:06,800 pwogram sa a pa travay, paske li pa pou tout tan swap x ak y. 415 00:17:06,800 --> 00:17:10,190 >> Se konsa, kite a wè sa a, yon cho rapid moute isit la ak gdb, yon ./noswap. 416 00:17:10,190 --> 00:17:11,867 417 00:17:11,867 --> 00:17:15,200 Yon pakèt moun enfòmasyon akablan ke Mwen pral debarase m de ak kontwòl L pou kounye a. 418 00:17:15,200 --> 00:17:17,516 Epi, koulye a, mwen pral ale pi devan epi kouri li. 419 00:17:17,516 --> 00:17:19,349 Ak malerezman, ki pa t 'ki itil. 420 00:17:19,349 --> 00:17:22,355 Li kouri pwogram nan andedan nan sa a pwogram yo rele gdb, yon debugjeur, 421 00:17:22,355 --> 00:17:23,730 men li pa t 'kite m' pike alantou. 422 00:17:23,730 --> 00:17:26,229 >> Se konsa, kouman ka mwen aktyèlman pran yon poz ekzekisyon andedan pwogram sa a? 423 00:17:26,229 --> 00:17:27,410 424 00:17:27,410 --> 00:17:28,329 Se konsa, kraze. 425 00:17:28,329 --> 00:17:32,340 Apre sa, mwen te ka kraze sou nenpòt ki liy nimewo, yon sèl, 10, 15. 426 00:17:32,340 --> 00:17:35,530 Men, mwen kapab tou kraze senbolik lè li di ti repo prensipal la. 427 00:17:35,530 --> 00:17:38,980 Epi sa a pral mete yon ti repo pwen, aparamman nan liy 16 nan prensipal. 428 00:17:38,980 --> 00:17:40,050 Ak ki kote se liy 16? 429 00:17:40,050 --> 00:17:42,960 Ann moute al kòd la epi ale jiska noswap. 430 00:17:42,960 --> 00:17:46,930 Ak tout bon, liy 16 se nan trè premye nan pwogram lan. 431 00:17:46,930 --> 00:17:52,130 >> Se konsa, kounye a, si mwen ale pi devan ak kalite kouri tan sa a, Antre, li Sarepta. 432 00:17:52,130 --> 00:17:53,080 Se konsa, kite a pike alantou. 433 00:17:53,080 --> 00:17:55,716 Enprime x-- poukisa se x zewo? 434 00:17:55,716 --> 00:17:56,705 435 00:17:56,705 --> 00:17:57,830 Ak inyore siyen an dola. 436 00:17:57,830 --> 00:17:59,725 Se jis pou amateur l 'a pwogram lan. 437 00:17:59,725 --> 00:18:00,780 438 00:18:00,780 --> 00:18:03,140 Poukisa se x zewo nan moman sa a? 439 00:18:03,140 --> 00:18:03,640 Yeah. 440 00:18:03,640 --> 00:18:07,061 >> ODYANS: Li Sarepta dwat devan liy 16, pa aktyèlman sou liy 16. 441 00:18:07,061 --> 00:18:08,060 DAVID J. Malan: Egzakteman. 442 00:18:08,060 --> 00:18:11,630 Gdb, pa default, te Sarepta ekzekisyon jis anvan liy 16. 443 00:18:11,630 --> 00:18:14,820 Se konsa, li pa te egzekite, ki vle di x se nan kèk valè sèks. 444 00:18:14,820 --> 00:18:17,150 Apre sa, nou gen chans ke li nan yon bagay ki pwòp tankou zewo. 445 00:18:17,150 --> 00:18:20,310 Se konsa, kounye a, si mwen tape vini an, kounye a li egzekite 16. 446 00:18:20,310 --> 00:18:22,000 Li nan ap tann pou m 'al touye 17. 447 00:18:22,000 --> 00:18:23,400 Kite m 'ale pi devan epi ekri ak lèt ​​detache x. 448 00:18:23,400 --> 00:18:24,094 Li nan yon sèl. 449 00:18:24,094 --> 00:18:25,260 Kite m 'ale pi devan epi ekri ak lèt ​​detache y. 450 00:18:25,260 --> 00:18:26,176 Kisa mwen ta dwe wè koulye a? 451 00:18:26,176 --> 00:18:27,660 452 00:18:27,660 --> 00:18:28,560 >> ODYANS: [fèbl] 453 00:18:28,560 --> 00:18:29,165 >> DAVID J. Malan: Yon pi fò ti kras. 454 00:18:29,165 --> 00:18:30,040 >> ODYANS: [fèbl] 455 00:18:30,040 --> 00:18:30,537 456 00:18:30,537 --> 00:18:32,120 DAVID J. Malan: Pa byen yon konsansis. 457 00:18:32,120 --> 00:18:34,760 Se konsa, repons lan se wi, nou wè kèk valè fatra. 458 00:18:34,760 --> 00:18:37,862 Koulye a, y se 134514064 la. 459 00:18:37,862 --> 00:18:39,320 Oke, li nan jis kèk valè fatra. 460 00:18:39,320 --> 00:18:41,350 Pwogram m 'sèvi ak RAM pou rezon diferan. 461 00:18:41,350 --> 00:18:42,350 Genyen lòt fonksyon ou. 462 00:18:42,350 --> 00:18:44,040 Lòt moun te ekri anndan òdinatè mwen an. 463 00:18:44,040 --> 00:18:46,789 Se konsa, sa yo Bits yo te itilize pou lòt valè, ak sa m ap wè 464 00:18:46,789 --> 00:18:49,470 se sold yo nan kèk itilize anvan nan ki memwa. 465 00:18:49,470 --> 00:18:53,350 >> Se konsa, pa gen okenn kontra gwo, paske le pli vit jan mwen tape pwochen ak Lè sa a enprime y, 466 00:18:53,350 --> 00:18:55,640 li nan initialisé valè a ke mwen vle. 467 00:18:55,640 --> 00:18:57,400 Se konsa, kounye a, kite yo ale pi devan yon ti kras pi vit. 468 00:18:57,400 --> 00:18:58,540 N pou vini an. 469 00:18:58,540 --> 00:18:59,570 Se pou yo fè l 'ankò. 470 00:18:59,570 --> 00:19:00,530 Se pou yo fè l 'ankò. 471 00:19:00,530 --> 00:19:02,404 Men, mwen pa vle frape li isit la, paske si mwen 472 00:19:02,404 --> 00:19:05,110 vle wè sa k ap pase sou andedan nan swap, sa ki nan lòd la? 473 00:19:05,110 --> 00:19:05,520 >> ODYANS: etap. 474 00:19:05,520 --> 00:19:06,436 >> DAVID J. Malan: etap. 475 00:19:06,436 --> 00:19:09,800 Se konsa, sa etap m 'nan yon fonksyon, olye ke sou li. 476 00:19:09,800 --> 00:19:12,270 Epi, koulye a, li nan yon ti kras skre onètman, men sa a se jis 477 00:19:12,270 --> 00:19:14,581 di m 'mwen se nan liy 33 kounye a. 478 00:19:14,581 --> 00:19:15,580 Li kite yo fè sa ankò. 479 00:19:15,580 --> 00:19:16,080 Ekri an lèt detache temp. 480 00:19:16,080 --> 00:19:17,129 481 00:19:17,129 --> 00:19:20,170 Valè fatra, negatif tan sa a, men sa a jis toujou yon valè fatra. 482 00:19:20,170 --> 00:19:22,810 Se konsa, kite a fè pwochen, ekri ak lèt ​​detache temp. 483 00:19:22,810 --> 00:19:27,130 Li nan initialisé nan 1, ki te valè a nan x, aka yon. 484 00:19:27,130 --> 00:19:29,110 >> Koulye a, kote se yon nou yo ak x vini soti nan? 485 00:19:29,110 --> 00:19:32,510 Oke, remake nan prensipal yo, nou rele sa yo valè x ak y. 486 00:19:32,510 --> 00:19:34,740 Nou lè sa a pase yo swap jan sa a. 487 00:19:34,740 --> 00:19:37,010 X vini an premye, vigil y. 488 00:19:37,010 --> 00:19:40,020 Lè sa a,, swap te kapab rele yo x ak y. 489 00:19:40,020 --> 00:19:42,630 Men, pou klè, li nan rele yo a ak b. 490 00:19:42,630 --> 00:19:45,970 Men, A ak B se kounye a pral fè kopi x ak y, respektivman. 491 00:19:45,970 --> 00:19:50,660 >> Se konsa, si mwen tounen al jwenn gdb, temp se kounye a yon sèl ak yon se kounye a youn. 492 00:19:50,660 --> 00:19:56,130 Men, si mwen fè pwochen e kounye a, fè ekri ak lèt ​​detache yon, yon te deja deplase sou. 493 00:19:56,130 --> 00:20:00,030 Te lèt la te vide nan ansyen an vè ji zoranj nan, oswa vis vèrsa. 494 00:20:00,030 --> 00:20:04,750 >> Men, si mwen fè pwochen ankò, e kounye a, si mwen enprime soti kòm yon chèk saniti, 495 00:20:04,750 --> 00:20:07,687 yon se toujou de, men b se kounye a youn. 496 00:20:07,687 --> 00:20:08,770 Franchman, li la toujou la. 497 00:20:08,770 --> 00:20:10,670 Mwen pa pran swen sa temp se. 498 00:20:10,670 --> 00:20:16,850 Men, le pli vit ke mwen kounye a tape, kite la di, kontinye ale tounen, kounye a mwen se nan fen an 499 00:20:16,850 --> 00:20:17,480 pwogram nan. 500 00:20:17,480 --> 00:20:20,730 Ak malerezman, x se toujou youn ak y se toujou de. 501 00:20:20,730 --> 00:20:22,272 >> Se konsa, sa ki te sèvis piblik la nan gdb a? 502 00:20:22,272 --> 00:20:23,980 Li pa t 'ede m' repare pwoblèm nan se pou chak, 503 00:20:23,980 --> 00:20:26,265 men li èspere ke ede m ' konprann li pa ka akonpli 504 00:20:26,265 --> 00:20:30,000 ki se wi, lojik mwen an se dwa, men kòd m 'se pa finalman gen 505 00:20:30,000 --> 00:20:31,450 yon enpak pèmanan. 506 00:20:31,450 --> 00:20:34,570 Se konsa, se yon pwoblèm nou ap ale nan kounye a rezoud jodi an. 507 00:20:34,570 --> 00:20:37,870 >> Men, kite a jwenn gen pa fason pou sa a. 508 00:20:37,870 --> 00:20:39,230 Fisèl se yon manti. 509 00:20:39,230 --> 00:20:41,860 Li, tou, pa yon kalite done ki egziste nan C. Li nan 510 00:20:41,860 --> 00:20:44,750 te yon synonym pou kèk tan pou yon lòt bagay, 511 00:20:44,750 --> 00:20:47,300 epi nou ka fè ou konnen ki jan sa a. 512 00:20:47,300 --> 00:20:53,282 >> Kite m 'ale pi devan epi louvri moute yon pwogram ki rele konpare-0. 513 00:20:53,282 --> 00:20:56,240 Ak olye ke tape yon sèl sa a soti, nou pral kòmanse nan mache nan kòd la 514 00:20:56,240 --> 00:20:58,040 Mwen deja te ekri, men li a sèlman yon liy kèk. 515 00:20:58,040 --> 00:20:59,570 Se konsa, sa a se konpare-0. 516 00:20:59,570 --> 00:21:02,380 Ak nan premye bagay m ap fè a ap vin yon liy nan tèks. 517 00:21:02,380 --> 00:21:05,610 >> Men, remake ki sa mwen se fè pou premye fwa. 518 00:21:05,610 --> 00:21:07,910 Ki sa ki diferan klèman sou liy 21? 519 00:21:07,910 --> 00:21:10,020 520 00:21:10,020 --> 00:21:11,402 Aktyèlman, rete tann yon minit. 521 00:21:11,402 --> 00:21:12,110 Sa a se kopi de. 522 00:21:12,110 --> 00:21:13,568 Sa se pa menm pwogram la dwat. 523 00:21:13,568 --> 00:21:14,780 Tout dwa, beke alèt yo. 524 00:21:14,780 --> 00:21:16,890 Tout dwa, kidonk pa janm lide sa. 525 00:21:16,890 --> 00:21:18,520 Sa a repons lan nan yon kesyon nan lavni. 526 00:21:18,520 --> 00:21:21,450 >> Isit la se konpare-0, ak mwen se sou yo ka resevwa yon liy nan tèks. 527 00:21:21,450 --> 00:21:22,435 Pwogram nan pi senpl. 528 00:21:22,435 --> 00:21:23,560 Se konsa, sa a se senp. 529 00:21:23,560 --> 00:21:28,070 Sa a se tankou Semèn One, Semèn De bagay nan moman an. fisèl la = GetString. 530 00:21:28,070 --> 00:21:29,700 Koulye a, mwen di l 'ankò desann isit la. 531 00:21:29,700 --> 00:21:31,830 fisèl t = GetString. 532 00:21:31,830 --> 00:21:35,300 Lè sa a,, bagay la pase nan sa a pwogram nan, kòm non li sijere, 533 00:21:35,300 --> 00:21:37,090 se mwen pral pou yo eseye konpare yo. 534 00:21:37,090 --> 00:21:40,709 >> Se konsa, si a, fisèl la an premye, egal = t, Lè sa a, mwen se 535 00:21:40,709 --> 00:21:42,250 pral di ou tape menm bagay la. 536 00:21:42,250 --> 00:21:44,291 Lòt moun, mwen pral di ou tape bagay diferan. 537 00:21:44,291 --> 00:21:45,880 Se konsa, kite a konpile epi kouri pwogram sa a. 538 00:21:45,880 --> 00:21:48,481 Se konsa, fè konpare zewo. 539 00:21:48,481 --> 00:21:48,980 Sanble bon. 540 00:21:48,980 --> 00:21:50,490 Pa gen okenn erè konpilasyon. 541 00:21:50,490 --> 00:21:52,386 >> Kite m 'ale pi devan koulye a ak kalite ./compare-0. 542 00:21:52,386 --> 00:21:55,230 543 00:21:55,230 --> 00:21:59,220 Kite m 'ale pi devan epi di yon bagay : Daven ak yon bagay: Rob. 544 00:21:59,220 --> 00:22:00,450 Apre sa, mwen tape bagay diferan. 545 00:22:00,450 --> 00:22:01,250 Se konsa, lwen, se konsa bon. 546 00:22:01,250 --> 00:22:02,680 Pwogram sanble ap kòrèk. 547 00:22:02,680 --> 00:22:03,880 >> Men, kite a kouri l 'ankò. 548 00:22:03,880 --> 00:22:05,800 Di yon bagay: Gabe. 549 00:22:05,800 --> 00:22:07,140 Di yon bagay: Gabe. 550 00:22:07,140 --> 00:22:08,520 551 00:22:08,520 --> 00:22:09,020 Tout dwa. 552 00:22:09,020 --> 00:22:10,851 Petèt mwen frape bar espas oswa yon bagay Funky. 553 00:22:10,851 --> 00:22:11,600 Se pou yo fè l 'ankò. 554 00:22:11,600 --> 00:22:13,020 Se konsa, Zamyla. 555 00:22:13,020 --> 00:22:13,970 556 00:22:13,970 --> 00:22:14,470 Zamyla. 557 00:22:14,470 --> 00:22:15,740 558 00:22:15,740 --> 00:22:17,330 Diferan bagay sa yo. 559 00:22:17,330 --> 00:22:19,430 Se konsa, ki sa ki pwal sou? 560 00:22:19,430 --> 00:22:23,200 >> Se konsa, nou gen de liy sa yo nan kòd, GetString yo te rele de fwa. 561 00:22:23,200 --> 00:22:25,760 Lè sa a,, mwen tou senpleman eseye konpare la ak t. 562 00:22:25,760 --> 00:22:28,370 Men, sa ki vrèman Lè sa a, ki pwal sou? 563 00:22:28,370 --> 00:22:31,180 Oke, sou ekriti mwen an bouche egzanp sa a yon ti jan. 564 00:22:31,180 --> 00:22:34,630 Li kite yo aktyèlman voye jete sa a moute sou isit la, kòm byen. 565 00:22:34,630 --> 00:22:37,390 566 00:22:37,390 --> 00:22:45,712 >> Se konsa, nou gen yon liy tankou fisèl la = GetString. 567 00:22:45,712 --> 00:22:48,295 Se konsa, ki la tou senpleman premye a enteresan liy ki soti nan pwogram sa a. 568 00:22:48,295 --> 00:22:49,920 569 00:22:49,920 --> 00:22:52,974 Men, sa ki te tout tan tout tan sa a te ale sou anba kapo a? 570 00:22:52,974 --> 00:22:55,890 Oke, sou-bò gòch bò se fisèl, ki se kèk kalite varyab, 571 00:22:55,890 --> 00:22:56,785 ak sa yo rele an. 572 00:22:56,785 --> 00:23:00,019 Se konsa, mwen konnen ke sa a se lè l sèvi avèk memwa, oswa RAM, nan òdinatè mwen an yon jan kanmenm. 573 00:23:00,019 --> 00:23:02,060 Se konsa, mwen pral abstrè trase ke kòm yon kare. 574 00:23:02,060 --> 00:23:04,820 32 Bits, li vire soti, men plis sou sa nan tan kap vini an. 575 00:23:04,820 --> 00:23:06,410 Lè sa a,, ki sa ki k ap pase sou sou isit la? 576 00:23:06,410 --> 00:23:08,700 >> Oke, GetString evidamman vin yon fisèl soti nan itilizatè lan. 577 00:23:08,700 --> 00:23:11,360 Epi GetString te resevwa Zamyla oswa Gabe oswa Daven. 578 00:23:11,360 --> 00:23:14,640 Se konsa, kite a chwazi premye a nan tout sa yo, ki te Daven. 579 00:23:14,640 --> 00:23:19,174 Se konsa, efektivman, sa GetString te resevwa m 'nan ka sa a premye te D-yon-v-e-n. 580 00:23:19,174 --> 00:23:22,690 581 00:23:22,690 --> 00:23:25,045 Lè sa a,, ki lòt bagay te fè li ban m 'an kachèt? 582 00:23:25,045 --> 00:23:25,920 ODYANS: [fèbl] 583 00:23:25,920 --> 00:23:28,720 DAVID J. Malan: Yeah, / 0 oswa nil karaktè la. 584 00:23:28,720 --> 00:23:30,550 Se konsa, li efektivman te ban m 'yon fisèl. 585 00:23:30,550 --> 00:23:34,550 Men, nou deja konnen from previous sanble ke yon fil se jis yon etalaj 586 00:23:34,550 --> 00:23:37,895 nan karaktè, ak li a sispann pa sa a karaktè Sentinel espesyal, / 0. 587 00:23:37,895 --> 00:23:39,220 588 00:23:39,220 --> 00:23:42,310 >> Men, si sa a se vre e sa se yon kare, 589 00:23:42,310 --> 00:23:44,160 sa a se byen klè yon rektang pi gwo anpil. 590 00:23:44,160 --> 00:23:46,830 Ak tout bon, sa a se, Mwen reklame, se sèlman 32 miyèt moso. 591 00:23:46,830 --> 00:23:49,500 Lè sa a se byen klè pi plis pase 32 Bits, paske sa a se pwobableman 592 00:23:49,500 --> 00:23:51,583 uit plis uit plis uit plis uit plis uit, 593 00:23:51,583 --> 00:23:53,320 jis paske nan bytes nan ASCII. 594 00:23:53,320 --> 00:23:57,030 Kouman yo èk an nou pral nan anfòm Daven nan sa a ti kras ti bwat isit la? 595 00:23:57,030 --> 00:23:59,880 >> Oke, ki sa ki GetString aktyèlman fè? 596 00:23:59,880 --> 00:24:03,680 Oke, gri sa a isit la reprezante memwa òdinatè mwen an oswa RAM. 597 00:24:03,680 --> 00:24:07,564 Se konsa, kite a abitrèman di ke si chak nan sa yo reprezante yon multiple, 598 00:24:07,564 --> 00:24:09,730 Lè sa a, nou ka panse a chak multiple tankou ke li gen yon adrès, 599 00:24:09,730 --> 00:24:13,830 tankou 33 Oxford Street, oswa 34 Oxford Street, oswa 35 Oxford Street. 600 00:24:13,830 --> 00:24:16,700 >> Se konsa, jis tankou kay gen adrès ak nan bilding gen adrès, 601 00:24:16,700 --> 00:24:19,810 pou fè bytes endividyèl yo nan memwa gen adrès oswa nimewo 602 00:24:19,810 --> 00:24:21,042 ki inikman idantifye yo. 603 00:24:21,042 --> 00:24:22,000 Koulye a, sa a se abitrè. 604 00:24:22,000 --> 00:24:25,370 Men, yo kenbe li senp, mwen pral itilize ekzadesimal jis pa konvansyon, 605 00:24:25,370 --> 00:24:28,200 men 0x a vle di pa gen anyen lòt pase "sa a se ekzadesimal." 606 00:24:28,200 --> 00:24:31,030 ak mwen pral fè reklamasyon ki nan "D" fini moute nan okte Youn nan memwa. 607 00:24:31,030 --> 00:24:34,210 >> Mwen te resevwa pa gen anyen lòt ap pase nan memwa, se konsa Daven te resevwa plas an premye 608 00:24:34,210 --> 00:24:35,509 nan multiple Youn. 609 00:24:35,509 --> 00:24:36,800 Sa a, lè sa a, se pral fè 0x2. 610 00:24:36,800 --> 00:24:37,831 611 00:24:37,831 --> 00:24:38,705 Sa a se pral 0x3. 612 00:24:38,705 --> 00:24:39,840 613 00:24:39,840 --> 00:24:41,800 Sa a se pral yo dwe 0x4. 614 00:24:41,800 --> 00:24:43,025 Sa a se pral 0x5. 615 00:24:43,025 --> 00:24:44,025 Sa a se pral yo dwe 0x6. 616 00:24:44,025 --> 00:24:45,560 617 00:24:45,560 --> 00:24:48,290 >> Men, yon fwa ou kòmanse panse sou Ki sa fè òdinatè a nan 618 00:24:48,290 --> 00:24:50,710 anba kapo a, ou ka kòmanse yo dégager 619 00:24:50,710 --> 00:24:54,960 ki jan ou, gen kèk ane de sa, ta te aplike C tèt li. 620 00:24:54,960 --> 00:24:58,360 Ki sa ki se GetString pwobableman returning-- paske li 621 00:24:58,360 --> 00:25:00,946 santi l tankou li pa retounen Daven, se pou chak, 622 00:25:00,946 --> 00:25:03,320 paske li te siman pa pral nan anfòm nan box-- sa a ti kras 623 00:25:03,320 --> 00:25:05,090 Se konsa, sa se GetString pwobableman retounen? 624 00:25:05,090 --> 00:25:07,958 625 00:25:07,958 --> 00:25:08,920 >> ODYANS: [fèbl] 626 00:25:08,920 --> 00:25:10,540 >> DAVID J. Malan: kote a nan Daven. 627 00:25:10,540 --> 00:25:12,770 Ak li a te fè sa a depi tout tan Semèn One. 628 00:25:12,770 --> 00:25:16,150 Ki sa ki GetString se reyèlman retounen se pa yon fisèl, se pou chak. 629 00:25:16,150 --> 00:25:17,780 Sa a yon sèl nan ti kras manti blan yo. 630 00:25:17,780 --> 00:25:22,520 Li nan retounen adrès la nan la fisèl nan memwa, adrès la inik. 631 00:25:22,520 --> 00:25:24,820 Daven ap viv nan 33 Oxford Street. 632 00:25:24,820 --> 00:25:29,310 Men, plis suksen, Gavin ap viv nan 0x1, Adrès Nimewo Youn. 633 00:25:29,310 --> 00:25:32,280 >> Se konsa, sa vin mete nan sa a bwat ti kras lè sa a, yo dwe klè, 634 00:25:32,280 --> 00:25:35,930 se jis adrès la nan ki fisèl. 635 00:25:35,930 --> 00:25:38,110 Se konsa, tout tan sa a, sa a ki te ale sou. 636 00:25:38,110 --> 00:25:41,650 Men, sa ki sa a sijesyon nan kounye a se ke si tout nan gen 637 00:25:41,650 --> 00:25:44,710 se yon nimewo andedan nan li, ki moun ki nan yo sispann ou, pwogramè a, 638 00:25:44,710 --> 00:25:47,970 soti nan mete nenpòt ki nimewo nan nenpòt varyab ak jis sote 639 00:25:47,970 --> 00:25:49,080 ak sa yo ki ti moso nan memwa? 640 00:25:49,080 --> 00:25:51,320 Ak tout bon, nou pral wè sa a, se yon menas pwochen fwa. 641 00:25:51,320 --> 00:25:53,500 >> Men, pou kounye a, sa a santi l ensifizan. 642 00:25:53,500 --> 00:25:55,630 Si mwen di, jwenn m 'yon fisèl, ou ban m 'Daven. 643 00:25:55,630 --> 00:25:57,230 Men, ou pa reyèlman ban m 'Daven. 644 00:25:57,230 --> 00:25:59,310 Tout sa ou ban m 'se adrès Daven la. 645 00:25:59,310 --> 00:26:04,310 Kouman pou mwen lè sa a konnen pou asire w ki kote Daven kòmanse ak ends-- 646 00:26:04,310 --> 00:26:07,140 a nan istwa ap resevwa weird-- ki kote Daven kòmanse ak fini, 647 00:26:07,140 --> 00:26:10,435 ak Lè sa a, pwochen an fisèl nan memwa kòmanse? 648 00:26:10,435 --> 00:26:11,520 649 00:26:11,520 --> 00:26:13,620 >> Oke, si w ap Distribiye m 'nan konmansman an nan Daven, 650 00:26:13,620 --> 00:26:17,230 esansyèlman, ki jan pou mwen konnen ki kote nan fen non l 'se? 651 00:26:17,230 --> 00:26:20,550 Sa karaktè espesyal nil, ki se tout plis nan enpòtan kounye a 652 00:26:20,550 --> 00:26:23,040 si strings anba a kapo yo se tou senpleman idantifye 653 00:26:23,040 --> 00:26:25,820 inikman pa kote yo nan memwa. 654 00:26:25,820 --> 00:26:28,130 Se konsa, tout tan sa a, sa a, se sa ki te pral sou. 655 00:26:28,130 --> 00:26:32,470 >> Se konsa, lè nou gade kounye a nan Kòd la isit la, eksplike 656 00:26:32,470 --> 00:26:35,790 si ou ta pinèz la nan liy 26. 657 00:26:35,790 --> 00:26:39,560 Poukisa se Zamyla ak Zamyla diferan? 658 00:26:39,560 --> 00:26:41,330 Poukisa se Gabe ak Gabe diferan? 659 00:26:41,330 --> 00:26:42,154 Yeah, nan do. 660 00:26:42,154 --> 00:26:43,390 >> ODYANS: Yo gen adrès diferan. 661 00:26:43,390 --> 00:26:45,931 >> DAVID J. Malan: Tou senpleman paske yo gen adrès diferan. 662 00:26:45,931 --> 00:26:48,820 Paske lè ou rele GetString ankò, ki mwen pral fè byen vit isit la, 663 00:26:48,820 --> 00:26:52,870 si sa a se dezyèm liy, fisèl la t, jan mwen te fè nan pwogram sa a, 664 00:26:52,870 --> 00:26:55,030 egal yon lòt apèl nan GetString. 665 00:26:55,030 --> 00:26:56,370 666 00:26:56,370 --> 00:26:58,670 Tan nan pwochen mwen rele GetString, mwen pral 667 00:26:58,670 --> 00:27:00,190 yo ka resevwa yon ti moso diferan nan memwa. 668 00:27:00,190 --> 00:27:02,220 >> GetString se pèmèt mande opere nan 669 00:27:02,220 --> 00:27:03,800 sistèm pou pi plis ak plis memwa. 670 00:27:03,800 --> 00:27:07,894 Li pa nan ale nan jam itilize menm bagay la tou sis bytes chak fwa sèl. 671 00:27:07,894 --> 00:27:09,810 Li nan ale nan jwenn yon nouvo ti moso nan memwa, ki 672 00:27:09,810 --> 00:27:12,780 vle di t ki pral jwenn kèk lòt valè sou isit la. 673 00:27:12,780 --> 00:27:15,380 >> Se konsa, lè m 'fè a egal = t, ou pa ap konpare 674 00:27:15,380 --> 00:27:17,880 D kont sa a ak A kont sa a ak V kont sa a. 675 00:27:17,880 --> 00:27:19,588 W ap konpare sa a kont sa a, ki 676 00:27:19,588 --> 00:27:24,020 franchman se trè useful-- useless-- se bèl initil, paske ki vrèman 677 00:27:24,020 --> 00:27:25,830 traka kote strings yo se nan memwa? 678 00:27:25,830 --> 00:27:26,850 >> Ak tout bon, nou pa gen. 679 00:27:26,850 --> 00:27:28,980 Epi nou pa ap ale nan kòmanse patikilyèman pran swen. 680 00:27:28,980 --> 00:27:34,180 Se sèlman nan limit ki ke pinèz ka leve ak menas sekirite ka leve volonte 681 00:27:34,180 --> 00:27:36,100 nou aktyèlman kòmanse pran swen sou sa a. 682 00:27:36,100 --> 00:27:37,230 Se konsa, kite a ranje pwoblèm sa a. 683 00:27:37,230 --> 00:27:39,650 Li vire soti, ou fikse li super tou senpleman. 684 00:27:39,650 --> 00:27:42,600 >> Li kite yo aktyèlman, mwen anvan m ' revele ke ankò, sa ki ta 685 00:27:42,600 --> 00:27:47,170 ou fè si nan yon klas CS50, epi ou te aplike 686 00:27:47,170 --> 00:27:48,600 yon konparezon kont de strings. 687 00:27:48,600 --> 00:27:51,440 Ou klèman pa ka jis sèvi ak s egal = t. 688 00:27:51,440 --> 00:27:54,090 Men, jis lojikman, ki jan ta ou konpare sa a fisèl 689 00:27:54,090 --> 00:27:56,370 kont sa a fisèl lè l sèvi avèk C kòd? 690 00:27:56,370 --> 00:27:56,880 Yeah. 691 00:27:56,880 --> 00:27:58,780 >> ODYANS: Ou menm, fè nan riban pou [fèbl] 692 00:27:58,780 --> 00:28:00,670 693 00:28:00,670 --> 00:28:01,670 DAVID J. Malan: pafè. 694 00:28:01,670 --> 00:28:02,900 ODYANS: [fèbl] 695 00:28:02,900 --> 00:28:03,310 DAVID J. Malan: Yeah. 696 00:28:03,310 --> 00:28:05,390 Jis itilize yon riban pou oswa yon pandan y ap riban oswa kèlkeswa sa. 697 00:28:05,390 --> 00:28:08,710 Men, jis aplike lide nan debaz ke si sa a se yon ti moso nan memwa oswa yon etalaj 698 00:28:08,710 --> 00:28:11,590 ak sa a se, repekte sou tou de an menm tan an. 699 00:28:11,590 --> 00:28:12,960 Ak jis konpare lèt yo. 700 00:28:12,960 --> 00:28:14,260 >> Ak ou te gen yo dwe yon ti kras atansyon, paske ou 701 00:28:14,260 --> 00:28:16,247 pa vle yon dwèt yo ale sot pase lòt la 702 00:28:16,247 --> 00:28:18,080 paske yon sèl fisèl se pi long pase lòt la. 703 00:28:18,080 --> 00:28:21,380 Se konsa, w ap ale nan vle tcheke pou valè espesyal sa a nan fen a, nil. 704 00:28:21,380 --> 00:28:24,017 Men, li vrèman se, an nan fen, kòm senp tankou sa. 705 00:28:24,017 --> 00:28:26,100 Ak franchman, nou pa bezwen reenvante ki wou yo. 706 00:28:26,100 --> 00:28:27,960 Isit la se Version De. 707 00:28:27,960 --> 00:28:32,910 Ak sa ki, mwen pral di isit la se ke olye pou yo konpare a egal = t, 708 00:28:32,910 --> 00:28:38,964 Mwen olye pou ale nan di, si fisèl konparezon nan s vigil t egal = 0. 709 00:28:38,964 --> 00:28:40,130 Koulye a, ki sa ki fisèl konpare? 710 00:28:40,130 --> 00:28:43,046 >> Li vire soti, li nan yon fonksyon ki vini ak C, ki gen objektif nan lavi 711 00:28:43,046 --> 00:28:44,650 se yo konpare de strings. 712 00:28:44,650 --> 00:28:48,300 Ak brase konpare, si nou li li yo paj oswa lòt dokiman oswa CS50 nonm 713 00:28:48,300 --> 00:28:50,630 referans, li pral tou senpleman di ou ke brase 714 00:28:50,630 --> 00:28:55,730 konpare retounen swa yon negatif nimewo oswa yon chif pozitif oswa zewo, 715 00:28:55,730 --> 00:28:57,660 ki kote zewo vle di yo ap egal-ego. 716 00:28:57,660 --> 00:28:58,570 >> Se konsa, jis konjekti. 717 00:28:58,570 --> 00:29:00,390 Ki sa ki ta sa vle di si brase konpare retounen 718 00:29:00,390 --> 00:29:02,110 valè negatif oswa valè pozitif? 719 00:29:02,110 --> 00:29:02,785 720 00:29:02,785 --> 00:29:04,285 ODYANS: Pi gran pase oswa mwens pase. 721 00:29:04,285 --> 00:29:05,570 DAVID J. Malan: Yeah, pi gran pase oswa mwens pase. 722 00:29:05,570 --> 00:29:08,640 Se konsa, si ou te vle sòt yon antye pakèt moun sou strings nan yon dictionary-- 723 00:29:08,640 --> 00:29:12,975 jan nou pral evantyèlman desann road-- la fonksyon pafè yo sèvi ak ki kapab, 724 00:29:12,975 --> 00:29:15,850 paske li k ap pase yo fè sa konparezon nan strings pou ou, epi di 725 00:29:15,850 --> 00:29:20,060 ou fè yon vini anvan b, oswa fè b vini anvan yon lòd avèk lèt ​​alfabè. 726 00:29:20,060 --> 00:29:21,490 Nou ka fè egzakteman sa. 727 00:29:21,490 --> 00:29:23,620 >> Ak avi m 'te fè yon lòt bagay nan egzanp sa a. 728 00:29:23,620 --> 00:29:26,870 Ki lòt bagay te chanje pi wo moute nan fonksyon prensipal sa a? 729 00:29:26,870 --> 00:29:28,500 730 00:29:28,500 --> 00:29:29,350 * Char. 731 00:29:29,350 --> 00:29:31,150 Lè sa a se ke lòt manti blan. 732 00:29:31,150 --> 00:29:33,750 Tout tan sa a, lè ou te te ekri fisèl, 733 00:29:33,750 --> 00:29:38,350 nou te an kachèt reekri fisèl kòm Char * pou ke rezone aktyèlman 734 00:29:38,350 --> 00:29:39,270 konprann ou. 735 00:29:39,270 --> 00:29:42,450 >> Nan lòt mo, nan CS50.h ak jan nou pral evantyèlman wè, 736 00:29:42,450 --> 00:29:45,950 nou te fè yon synonym rele fisèl sa a, se menm bagay la kòm * Char. 737 00:29:45,950 --> 00:29:49,910 Se pou koulye a, konnen sèlman a ki *, Nan kontèks sa a, omwen, 738 00:29:49,910 --> 00:29:51,286 vle di adrès la. 739 00:29:51,286 --> 00:29:52,210 >> Adrès postal la nan ki sa? 740 00:29:52,210 --> 00:29:56,390 Oke, reyalite a ke mwen te di Char *, epi yo pa Int * oswa flote *, 741 00:29:56,390 --> 00:30:00,820 vle di ke * Char se adrès ki nan yon Char. 742 00:30:00,820 --> 00:30:06,770 Se konsa, sa a ti kras ti bwat isit la, aka fisèl, se reyèlman nan kalite * Char, 743 00:30:06,770 --> 00:30:10,490 ki se tou senpleman yon fason anpenpan nan di, nan bwat sa a pral ale yon adrès. 744 00:30:10,490 --> 00:30:12,430 Ak sa ki adrès ki al gade nan? 745 00:30:12,430 --> 00:30:13,780 Aparamman, yon Char. 746 00:30:13,780 --> 00:30:16,410 >> Men, nou te kapab absoliman gen int * ak lòt bagay. 747 00:30:16,410 --> 00:30:20,790 Men, pou kounye a, Char * se reyèlman pi plis nan senp ak yon sèl nan enterè yo. 748 00:30:20,790 --> 00:30:23,310 Se konsa, pwoblèm sa a ki pral ap monte, menm si, ankò. 749 00:30:23,310 --> 00:30:24,830 >> Sipoze mwen louvri moute pwogram sa a. 750 00:30:24,830 --> 00:30:27,670 Ann wè si kounye a nou ka predi sa ki nan mal ak sa a kòd. 751 00:30:27,670 --> 00:30:31,140 Se konsa, nan pwogram sa a, kopi-0, mwen pral ale pi devan epi ankò rele 752 00:30:31,140 --> 00:30:34,190 GetString ak magazen valè a nan s. 753 00:30:34,190 --> 00:30:38,800 >> Lè sa a,, poukisa mwen fè sa a, jis kòm yon rapèl soti nan semèn sot pase yo? 754 00:30:38,800 --> 00:30:40,960 Nou te fè di ke GetString pafwa retounen nil. 755 00:30:40,960 --> 00:30:42,793 Kisa sa vle di si GetString retounen nil? 756 00:30:42,793 --> 00:30:45,040 757 00:30:45,040 --> 00:30:46,034 Yon bagay ale mal. 758 00:30:46,034 --> 00:30:48,950 Li pwobableman vle di fisèl la twò gwo, soti òdinatè a nan memwa. 759 00:30:48,950 --> 00:30:51,724 Li k ap pase super, super, super raman, men li te kapab rive. 760 00:30:51,724 --> 00:30:53,890 Nou vle tcheke pou li, e ke sa a tout sa nou ap fè. 761 00:30:53,890 --> 00:30:57,910 >> Paske nou pral wè koulye a, si ou pa fè sa kòmanse tcheke abitye pou bagay sa yo 762 00:30:57,910 --> 00:31:00,870 tankou nil, ou ta ka aktyèlman kòmanse ale 763 00:31:00,870 --> 00:31:03,106 nan adrès nan memwa ki valab. 764 00:31:03,106 --> 00:31:05,980 Epi w ap ale nan kòmanse pwovoke pi plis ak plis segmentation fot. 765 00:31:05,980 --> 00:31:08,360 Oswa nan yon Mac oswa yon PC, jis sa ki lakòz yon òdinatè pann 766 00:31:08,360 --> 00:31:10,340 oswa nan yon pwogram yo friz, ki kapab. 767 00:31:10,340 --> 00:31:14,930 >> Se konsa, koulye a, mwen fè reklamasyon nan kopi-0.c, pou m ' mwen pral jwenn kopi sa yo strings pa fason 768 00:31:14,930 --> 00:31:15,685 nan liy 28. 769 00:31:15,685 --> 00:31:16,850 770 00:31:16,850 --> 00:31:18,750 Lè sa a,, mwen pral nan reklamasyon nan pati anba a 771 00:31:18,750 --> 00:31:21,430 isit la ke mwen pral chanje youn nan yo. 772 00:31:21,430 --> 00:31:22,330 >> Se konsa, remake sa a. 773 00:31:22,330 --> 00:31:24,370 M ap rele zanmi strlèn fin vye granmoun nou yo. 774 00:31:24,370 --> 00:31:28,960 Ak jis eksplike nan lang angle ki sa sa a liy 34 ap travay? 775 00:31:28,960 --> 00:31:32,480 Ki sa t bracket 0 reprezante sou bò gòch la. 776 00:31:32,480 --> 00:31:32,980 Yeah. 777 00:31:32,980 --> 00:31:34,339 >> ODYANS: Premye karaktè nan t? 778 00:31:34,339 --> 00:31:35,880 DAVID J. Malan: Premye karaktè nan t. 779 00:31:35,880 --> 00:31:36,379 Sa a li. 780 00:31:36,379 --> 00:31:40,024 Premye karaktè nan t, mwen vle yo asiyen vèsyon an majuskul 781 00:31:40,024 --> 00:31:41,190 nan karaktè an premye nan t. 782 00:31:41,190 --> 00:31:43,200 Se konsa, sa a se valorizasyon lèt la an premye. 783 00:31:43,200 --> 00:31:46,340 Lè sa a,, bagay la trè dènye mwen fè nan pwogram sa a se mwen reklame isit la nan 784 00:31:46,340 --> 00:31:50,340 orijinal la, nan, ak isit la nan kopi, t la. 785 00:31:50,340 --> 00:31:54,610 >> Men, baze sou istwa a nou jis te di sou sa strings reyèlman yo, 786 00:31:54,610 --> 00:31:57,520 ki sa ki liy 28 vrèman fè, ak sa ki 787 00:31:57,520 --> 00:31:59,405 pinèz la ki kapab lakòz pral yo dwe sou ekran an? 788 00:31:59,405 --> 00:32:01,300 789 00:32:01,300 --> 00:32:03,500 >> Se konsa, premye, kesyon an premye, 28. 790 00:32:03,500 --> 00:32:09,040 Ki sa ki fisèl t = s reyèlman fè la a? 791 00:32:09,040 --> 00:32:16,430 Si nou gen sou-bò gòch bò isit la fisèl t = s; 792 00:32:16,430 --> 00:32:19,400 ki ban m 'yon bwat isit la ak yon bwat isit la. 793 00:32:19,400 --> 00:32:25,530 Ak ta kwè adrès sa a se 0x, kite la di, 50 tan sa a, abitrèman. 794 00:32:25,530 --> 00:32:28,847 Ki sa fisèl t = a fè anba kapo a? 795 00:32:28,847 --> 00:32:30,340 >> ODYANS: [fèbl] 796 00:32:30,340 --> 00:32:34,100 >> DAVID J. Malan: Li estoke memwa a adrese a, se konsa 0x50 ale la. 797 00:32:34,100 --> 00:32:37,980 Se konsa, si kounye a, m 'ale nan premye nan karaktè nan t ak majuskul li, 798 00:32:37,980 --> 00:32:39,535 ki sa mwen efektivman fè a? 799 00:32:39,535 --> 00:32:41,300 800 00:32:41,300 --> 00:32:43,450 Mwen vrèman fè menm bagay la, dwa? 801 00:32:43,450 --> 00:32:47,680 Paske si Adrès 0x50-- ak jis, mwen pa gen anpil chanm sou tablo a isit la, 802 00:32:47,680 --> 00:32:51,750 men asime ke sa a se 0x50 desann isit la, yon kote nan memwa òdinatè mwen an. 803 00:32:51,750 --> 00:32:55,825 >> Apre sa, mwen te, pou egzanp, Gabe nan miniskil isit la, tankou sa a. 804 00:32:55,825 --> 00:32:57,120 805 00:32:57,120 --> 00:33:01,980 Apre sa, mwen te di t bracket 0 vin pwofite kapitalize. 806 00:33:01,980 --> 00:33:04,860 Oke, t bracket 0 se lèt nan premye nan t. 807 00:33:04,860 --> 00:33:07,840 Se konsa, ti kras g ki pral vin gwo G. Men, pwoblèm nan 808 00:33:07,840 --> 00:33:09,410 se, ki sa ki la tou lonje dwèt sou? 809 00:33:09,410 --> 00:33:10,300 >> ODYANS: Menm bagay la tou. 810 00:33:10,300 --> 00:33:11,841 >> DAVID J. Malan: Menm bagay la ki egzak. 811 00:33:11,841 --> 00:33:16,342 Se konsa, yon eksplikasyon senp petèt, menm si sentaks la se yon ti kras etranj. 812 00:33:16,342 --> 00:33:17,050 Se konsa, kite a fè sa. 813 00:33:17,050 --> 00:33:20,210 Fè kopi-0 ak Lè sa a, ./copy-0. 814 00:33:20,210 --> 00:33:21,820 815 00:33:21,820 --> 00:33:24,110 Di yon bagay: Gabe. 816 00:33:24,110 --> 00:33:26,760 Ak malerezman, tou de nan yo gen kounye a te pwofite kapitalize, 817 00:33:26,760 --> 00:33:29,500 men pou ki kache rezon ki fè ke nou ap tou senpleman 818 00:33:29,500 --> 00:33:32,350 kounye a fè fas ak adrès. 819 00:33:32,350 --> 00:33:36,470 >> Se konsa, kouman nou kòmanse address-- pa gen Pun intended-- 820 00:33:36,470 --> 00:33:39,270 ki jan nou kòmanse adrese pwoblèm sa a an patikilye? 821 00:33:39,270 --> 00:33:44,400 Oke, nan copy1.c, bagay yo ap mache yo ka resevwa yon ti kras pi plis konplike. 822 00:33:44,400 --> 00:33:49,310 Men, mwen ta reklame yon concept senp solisyon. 823 00:33:49,310 --> 00:33:50,852 >> Se konsa, difisil jwenn nan premye gade. 824 00:33:50,852 --> 00:33:53,560 Pa ale nan dwe fasil pou premye a tan ou tape li soti, petèt, 825 00:33:53,560 --> 00:33:57,440 men si pwoblèm nan se ke tou senpleman fè t = jis 826 00:33:57,440 --> 00:33:59,694 kopi adrès la, ki sa, ankò si mwen ka chwazi sou ou, 827 00:33:59,694 --> 00:34:02,110 a pwal solisyon an pou aktyèlman kopye yon fisèl? 828 00:34:02,110 --> 00:34:04,906 829 00:34:04,906 --> 00:34:06,770 >> ODYANS: nou ap pwobableman sèvi ak yon riban ankò. 830 00:34:06,770 --> 00:34:06,890 >> DAVID J. Malan: Yeah. 831 00:34:06,890 --> 00:34:08,390 Se konsa, nou ap ale nan bezwen yon bouk ankò. 832 00:34:08,390 --> 00:34:11,800 Epi paske si nou vle kopi yon s fisèl nan yon lòt fisèl, 833 00:34:11,800 --> 00:34:14,120 nou pwobableman vle fè l ' karaktè pa karaktè. 834 00:34:14,120 --> 00:34:17,199 Men, pwoblèm nan se, si sa a se orijinal la, 835 00:34:17,199 --> 00:34:22,159 kounye a nou bezwen kòmanse klèman allocation memwa pou t. 836 00:34:22,159 --> 00:34:24,320 >> Nan lòt mo, se pou yo rdesine sa a yon dènye fwa. 837 00:34:24,320 --> 00:34:28,659 Si sa a se fisèl la = GetString. 838 00:34:28,659 --> 00:34:30,956 839 00:34:30,956 --> 00:34:32,455 Li kite yo mete sa a moute isit la, kòm byen. 840 00:34:32,455 --> 00:34:36,639 841 00:34:36,639 --> 00:34:37,420 Sa a se GetString. 842 00:34:37,420 --> 00:34:39,070 843 00:34:39,070 --> 00:34:43,860 Lè sa a,, foto a pou yon bagay tankou sa a pwal tankou anvan, 844 00:34:43,860 --> 00:34:44,360 g-yon-b-e- / 0. 845 00:34:44,360 --> 00:34:47,294 846 00:34:47,294 --> 00:34:48,960 Sa sanble yon ti kras yon bagay tankou sa a. 847 00:34:48,960 --> 00:34:53,650 Ak s Se poutèt sa, nou rele sa a 0x50, ak ki k ap pase yo dwe 51, 52. 848 00:34:53,650 --> 00:34:54,409 >> Se konsa, sa a se 0x50. 849 00:34:54,409 --> 00:34:55,679 850 00:34:55,679 --> 00:34:59,690 Lè sa a,, mwen fè fisèl t. 851 00:34:59,690 --> 00:35:02,450 Nan memwa, ki nan jis ale nan ban m 'ti kare tankou sa a. 852 00:35:02,450 --> 00:35:04,080 Se konsa, sa ki nan etap nan kle kounye a? 853 00:35:04,080 --> 00:35:09,870 Si m 'vle kopi nan nan t, sa ki vid nou bezwen ranpli nan isit la? 854 00:35:09,870 --> 00:35:12,050 Oswa sa ki nou bezwen fè nan yon nivo segondè? 855 00:35:12,050 --> 00:35:14,101 856 00:35:14,101 --> 00:35:14,600 Yeah? 857 00:35:14,600 --> 00:35:16,200 858 00:35:16,200 --> 00:35:17,020 Yon moun? 859 00:35:17,020 --> 00:35:17,690 Yeah. 860 00:35:17,690 --> 00:35:19,214 >> ODYANS: Nou bezwen [fèbl]. 861 00:35:19,214 --> 00:35:21,380 DAVID J. Malan: Yeah, nou bezwen ranpli nan vid sa a. 862 00:35:21,380 --> 00:35:24,340 Mwen pa ka kopi ak Lè sa a, tirer Non Gabe a 863 00:35:24,340 --> 00:35:28,120 jouk tan mwen mande sistèm nan fonksyone pou yon lòt ti moso nan memwa 864 00:35:28,120 --> 00:35:30,640 sa a, se omwen kòm yo gwo orijinal la. 865 00:35:30,640 --> 00:35:32,130 Se konsa, ki kite nou ak yon kesyon. 866 00:35:32,130 --> 00:35:36,080 >> Kouman pou mwen mande sistèm nan fonksyone pa jis pou yon senp pointer-- ti kras 867 00:35:36,080 --> 00:35:38,530 tankou sa a se rele, yon adrès, yon konsèy pa 868 00:35:38,530 --> 00:35:40,980 pou yon bwat ki senp ti kras tankou sa a yo te rele yon fisèl? 869 00:35:40,980 --> 00:35:44,200 Kouman pou mwen mande opere nan sistèm pou yon gwo moso nan memwa? 870 00:35:44,200 --> 00:35:48,430 Se konsa, lwen, mwen te sèlman vinn ki tounen endirèkteman lè w rele GetString. 871 00:35:48,430 --> 00:35:50,740 Se konsa, kouman se GetString menm jwenn memwa li yo? 872 00:35:50,740 --> 00:35:53,430 >> Oke, li sanble ke gen nan lòt fonksyon sa a isit la 873 00:35:53,430 --> 00:35:55,160 ke nou pral kounye a kòmanse yo sèvi ak. 874 00:35:55,160 --> 00:35:59,780 Koulye a, sa a sanble fason pi plis skre than-- ak Mwen se youn nan sèlman ki kapab wè it-- 875 00:35:59,780 --> 00:36:03,150 liy sa a sanble fason pi plis skre Lè sa a, li ta dwe nan premye gade. 876 00:36:03,150 --> 00:36:04,650 Men, kite a toumante l 'apa. 877 00:36:04,650 --> 00:36:07,950 >> Ki sou bò gòch-men, mwen gen Char * t. 878 00:36:07,950 --> 00:36:13,280 Se konsa, nan lang angle, kite la kòmanse fòmile fraz apwopriye nan jagon teknik. 879 00:36:13,280 --> 00:36:19,757 Se konsa, sa a se allocation yon varyab nan kalite Char * rele t. 880 00:36:19,757 --> 00:36:21,090 Koulye a, sa ki vrèman vle di? 881 00:36:21,090 --> 00:36:23,881 >> Oke, sa vle di, ki sa mwen pral yo mete nan varyab sa a yo rele t? 882 00:36:23,881 --> 00:36:24,780 883 00:36:24,780 --> 00:36:26,402 Yon adrès nan yon Char. 884 00:36:26,402 --> 00:36:28,360 Se konsa, sa se sèlman ki pi senp la, plis fason rezonab 885 00:36:28,360 --> 00:36:29,930 nan ki dekri bò gòch-men yo. 886 00:36:29,930 --> 00:36:32,890 Se konsa, ki ka kreye bwat sa a isit la sèlman. 887 00:36:32,890 --> 00:36:34,760 Se konsa, bò a men dwat-ou, prezimableman, ki pral 888 00:36:34,760 --> 00:36:37,170 asiyen ki pi gwo ti moso nan memwa ki jan? 889 00:36:37,170 --> 00:36:38,340 Se konsa, kite a toumante sa a apa. 890 00:36:38,340 --> 00:36:41,131 >> Li nan boulvèse nan premye gade, men sa k ap pase sou andedan isit la? 891 00:36:41,131 --> 00:36:43,740 Premye, gen nan malok, ki se aparamman nouvo zanmi nou an, 892 00:36:43,740 --> 00:36:45,450 "Memwa asiyen." 893 00:36:45,450 --> 00:36:49,560 Se konsa, sa a se agiman an ke yo te pase nan li, se konsa li nan yon trè gwo diskisyon. 894 00:36:49,560 --> 00:36:50,970 Se konsa, kite a toumante sa a apa. 895 00:36:50,970 --> 00:36:53,410 >> strlèn nan s, nan kou, reprezante the-- 896 00:36:53,410 --> 00:36:54,142 897 00:36:54,142 --> 00:36:55,600 ODYANS: Nimewo a nan karaktè. 898 00:36:55,600 --> 00:36:56,710 DAVID J. Malan: Jis nan kantite karaktè nan s. 899 00:36:56,710 --> 00:36:59,040 Se konsa, longè a nan la, fisèl orijinal la. 900 00:36:59,040 --> 00:37:00,350 Se konsa, G-yon-b-e. 901 00:37:00,350 --> 00:37:02,320 Se konsa, li la pwobableman kat nan ka sa a. 902 00:37:02,320 --> 00:37:05,485 Poukisa mwen fè +1 apre rele strlèn nan s? 903 00:37:05,485 --> 00:37:06,360 ODYANS: [fèbl] 904 00:37:06,360 --> 00:37:07,590 DAVID J. Malan: Pou ki karaktè nil espesyal. 905 00:37:07,590 --> 00:37:11,260 Si ou mande m 'sa ki nan longè a nan Non Gabe a, mwen pral yo di kat. 906 00:37:11,260 --> 00:37:14,480 Anba kapo a, menm si, mwen bezwen ki senkyèm multiple pou pèsonaj la nil. 907 00:37:14,480 --> 00:37:16,100 Se konsa, Se poutèt sa m ap fè +1 la. 908 00:37:16,100 --> 00:37:21,730 >> Koulye a, jis nan ka ou se kouri sa a pwogram sou yon òdinatè lòt pase, di, 909 00:37:21,730 --> 00:37:24,610 aparèy la CS50, ki kote gwosè a nan yon Char 910 00:37:24,610 --> 00:37:26,350 ta ka diferan soti nan computer-- pwòp mwen 911 00:37:26,350 --> 00:37:30,590 sanble ke mwen kapab rele sa a operatè sizof, jis mande òdinatè a, 912 00:37:30,590 --> 00:37:32,870 ki sa ki gwosè a nan yon Char sou òdinatè sa a? 913 00:37:32,870 --> 00:37:37,400 >> Epi pa miltipliye senk nan sa a egzanp pa gwosè a nan yon Char, ki 914 00:37:37,400 --> 00:37:40,440 sou pi fò nan òdinatè pral jis pou yon sèl, malok 915 00:37:40,440 --> 00:37:44,830 ki pral asiyen pou m 'sa a gwo ti moso nan memwa sou isit la sou bò dwat la. 916 00:37:44,830 --> 00:37:47,140 Epi li k ap pase yo return-- li se yon function-- se konsa li a 917 00:37:47,140 --> 00:37:48,265 ale nan tounen vin jwenn mwen ki sa? 918 00:37:48,265 --> 00:37:50,914 919 00:37:50,914 --> 00:37:51,830 ODYANS: postal lan? 920 00:37:51,830 --> 00:37:53,709 DAVID J. Malan: postal lan nan ki sa? 921 00:37:53,709 --> 00:37:55,250 ODYANS: nan memwa nan li resevwa lajan? 922 00:37:55,250 --> 00:37:56,450 DAVID J. Malan: Nan la memwa li resevwa lajan. 923 00:37:56,450 --> 00:37:59,189 Se konsa, mwen pa gen okenn lide, franchman, ki kote sa a ki pral fini. 924 00:37:59,189 --> 00:38:01,480 Mwen pral pwopoze ke li a pral fini nan 0x88. 925 00:38:01,480 --> 00:38:02,770 926 00:38:02,770 --> 00:38:06,009 Konplètman abitrè, men yon kote lòt pase 0x50, 927 00:38:06,009 --> 00:38:08,800 paske sistèm nan fonksyone, sa ki Windows ak Mac OS fè pou m ', se 928 00:38:08,800 --> 00:38:11,230 asire w ke li nan bay m 'fragman diferan nan RAM. 929 00:38:11,230 --> 00:38:14,210 >> Se konsa, sa a se valè a ki kote sa a ti moso nan memwa ta ka fini. 930 00:38:14,210 --> 00:38:16,060 Se konsa, sa a se sa fini moute nan isit la, 0x88. 931 00:38:16,060 --> 00:38:17,480 932 00:38:17,480 --> 00:38:21,570 Se konsa, kounye byen klè, mwen ka konprann ke sa a se pa menm bagay la tankou sa a, 933 00:38:21,570 --> 00:38:23,960 paske yo ap lonje dwèt nan fragman diferan nan memwa. 934 00:38:23,960 --> 00:38:29,980 Se konsa, si mwen kounye a aktyèlman vle kopi sa a an, se pou yo fè solisyon pwopoze ou. 935 00:38:29,980 --> 00:38:36,870 >> Se pou nou jis ale, kreye yon pou riban, ak fè t bracket mwen vin la bracket mwen. 936 00:38:36,870 --> 00:38:39,760 Paske kounye a mwen ka itilize sa a notasyon etalaj-tankou, 937 00:38:39,760 --> 00:38:43,390 paske menm si malok trè generic repati m 'memwa, 938 00:38:43,390 --> 00:38:45,290 memwa se bytes jis vwazen. 939 00:38:45,290 --> 00:38:47,240 Multiple, multiple, multiple, tounen nan tounen nan tounen. 940 00:38:47,240 --> 00:38:50,030 >> Mwen kapab siman kòm yon pwogramè trete li kòm yon etalaj, ki 941 00:38:50,030 --> 00:38:55,090 vle di mwen ka itilize sa a finalman abitye notasyon nan sèlman kèk parantèz kare. 942 00:38:55,090 --> 00:38:56,462 943 00:38:56,462 --> 00:39:00,020 >> Se konsa, kite m 'pran yon poz la, paske sa a se yon anpil tout nan yon fwa, menm 944 00:39:00,020 --> 00:39:03,530 menm si lide a debaz nan rapèl se ke fisèl, tout tan tout tan sa a, 945 00:39:03,530 --> 00:39:05,550 se pa yon done nouvo kalite se pou chak. 946 00:39:05,550 --> 00:39:10,150 Se jis yon konsèy sa yo rele, yon adrès nan yon karaktè, 947 00:39:10,150 --> 00:39:12,650 ki jis vle di li nan yon nimewo ki pa konvansyon imen 948 00:39:12,650 --> 00:39:15,350 nou gen tandans yo ekri kòm 0x yon bagay. 949 00:39:15,350 --> 00:39:18,590 >> Men, li la jis yon nimewo, tankou 33 Oxford Street, 950 00:39:18,590 --> 00:39:20,530 ki k ap pase yo dwe nan Adrès CS bilding nan. 951 00:39:20,530 --> 00:39:22,000 952 00:39:22,000 --> 00:39:23,545 Nenpòt kesyon sou detay sa yo? 953 00:39:23,545 --> 00:39:24,790 954 00:39:24,790 --> 00:39:25,289 Yeah? 955 00:39:25,289 --> 00:39:28,530 >> ODYANS: Poukisa nou tcheke pou t egal a nil? 956 00:39:28,530 --> 00:39:30,740 >> DAVID J. Malan: Poukisa nou tcheke pou t egal a nil? 957 00:39:30,740 --> 00:39:33,250 Si nou li documentation-- la gwo question-- pou malok, 958 00:39:33,250 --> 00:39:37,020 li a pral di nan ekri ak lèt ​​detache amann, pafwa malok ta ka retounen nil, 959 00:39:37,020 --> 00:39:38,080 jis tankou GetString. 960 00:39:38,080 --> 00:39:41,820 Ak tout bon, GetString retounen nil si, nan vire, malok retounen nil, 961 00:39:41,820 --> 00:39:43,130 paske GetString sèvi ak malok. 962 00:39:43,130 --> 00:39:46,400 >> Epi ki ta ka rive si eksplwatasyon an, Mac OS, Windows, kèlkeswa sa, se tou senpleman 963 00:39:46,400 --> 00:39:48,130 soti nan memwa pou ou. 964 00:39:48,130 --> 00:39:49,820 Se konsa, se sa ki te pase a. 965 00:39:49,820 --> 00:39:52,910 >> Ak kite m 'revele yon lòt bagay ki ta ka jis kònen tèt ou 966 00:39:52,910 --> 00:39:55,100 oswa konplètman gen twò lwen sou liy lan. 967 00:39:55,100 --> 00:39:59,770 Men, se pou m 'rale moute nan menm pou riban pou kopye, 968 00:39:59,770 --> 00:40:05,480 ki yon ti moman de sa, sonje te sa a. t bracket mwen vin la bracket mwen. 969 00:40:05,480 --> 00:40:06,740 >> Nice ak user-zanmitay. 970 00:40:06,740 --> 00:40:09,330 Santi l tankou Semèn De ankò. 971 00:40:09,330 --> 00:40:14,920 Men, vèsyon sa-a aktyèlman kapab reekri tankou sa a, ki sanble skre. 972 00:40:14,920 --> 00:40:18,280 Li se yon teknik yo rele konsèy aritmetik, adrès aritmetik. 973 00:40:18,280 --> 00:40:19,600 Men, poukisa fè travay sa a? 974 00:40:19,600 --> 00:40:22,220 >> Koulye a, annoyingly, nan otè de C deside sèvi ak 975 00:40:22,220 --> 00:40:25,070 senbòl la * pou rezon diferan. 976 00:40:25,070 --> 00:40:29,020 Nou te wè li itilize yon fwa deja, * Char, ki vle di "ban m 'yon varyab 977 00:40:29,020 --> 00:40:31,210 ki nan ale nan gen adrès ki nan yon Char. " 978 00:40:31,210 --> 00:40:33,990 Se konsa, Char * nan ki kontèks vle di "ban m 'yon varyab." 979 00:40:33,990 --> 00:40:40,050 >> Malerezman, si ou itilize * a san yo pa yon mo nan devan li, tankou Char, 980 00:40:40,050 --> 00:40:41,905 li nan yo rele koulye a nan dèreferans operatè. 981 00:40:41,905 --> 00:40:43,530 Epitou, n ap wè plis nan sa a anvan lontan. 982 00:40:43,530 --> 00:40:44,930 Men, li jis vle di "ale a." 983 00:40:44,930 --> 00:40:49,070 Se tankou li di, si yon moun lage m ' sou yon moso papye "33 Oxford Street," 984 00:40:49,070 --> 00:40:53,830 si m 'fè "* 33 Oxford Street," sa vle di "Ale desann wout la nan bilding lan CS." 985 00:40:53,830 --> 00:40:57,220 >> Se konsa, * jis vle di ale la si gen nan pa gen mo nan devan li. 986 00:40:57,220 --> 00:40:59,100 Se konsa, ki sa ki t, yo dwe klè? 987 00:40:59,100 --> 00:41:03,250 t se adrès ki nan moso nan memwa ki te bay tounen nan m '. 988 00:41:03,250 --> 00:41:06,650 a se adrès ki nan sa ki, yo dwe klè, nan egzanp lan nou ve yo te diskite, 989 00:41:06,650 --> 00:41:07,500 nan miniskil Gabe? 990 00:41:07,500 --> 00:41:08,990 991 00:41:08,990 --> 00:41:10,005 a se adrès la of-- 992 00:41:10,005 --> 00:41:11,585 993 00:41:11,585 --> 00:41:12,460 ODYANS: fisèl la. 994 00:41:12,460 --> 00:41:14,126 DAVID J. Malan: Nan orijinal Non Gabe la. 995 00:41:14,126 --> 00:41:16,660 Se konsa, li adrès ki nan sa a ti moso nan memwa. 996 00:41:16,660 --> 00:41:22,220 Se konsa, si mwen di t + i-- mwen, avi, se jis zanmi fin vye granmoun nou yo. 997 00:41:22,220 --> 00:41:24,770 Se jis nan yon varyab endèks ki nan iteration soti nan zewo sou moute 998 00:41:24,770 --> 00:41:26,960 longè a nan s nan fisèl. 999 00:41:26,960 --> 00:41:30,367 Se konsa, li te pral fè zewo, Lè sa a, yon sèl, Lè sa a, de, Lè sa a, twa, lè sa a kat. 1000 00:41:30,367 --> 00:41:33,200 Se konsa, kite la rasanble sa yo nouvo Moso devinèt grate-tankou, si ou vle, 1001 00:41:33,200 --> 00:41:36,140 menm si, ankò, sentaks la se byen lwen plis Esoteric pase grafonyen moun. 1002 00:41:36,140 --> 00:41:39,522 Se konsa, t se adrès yon + mwen ki pral ban m ' 1003 00:41:39,522 --> 00:41:42,480 yon nimewo, paske sa yo, se tout nimewo ki nou ve yo te fè desen kòm Egzagòn. 1004 00:41:42,480 --> 00:41:43,560 Men, yo ap jis nimewo. 1005 00:41:43,560 --> 00:41:49,960 >> Se konsa, si adrès la nan t nou te di te 0x88, sa ki nan 0x88 plis zewo. 1006 00:41:49,960 --> 00:41:51,564 1007 00:41:51,564 --> 00:41:53,980 Menm si ou pa alèz ak Egzagòn ankò, pran yon devine. 1008 00:41:53,980 --> 00:41:54,410 >> ODYANS: Orijinal la. 1009 00:41:54,410 --> 00:41:55,850 >> DAVID J. Malan: Toujou 0x88. 1010 00:41:55,850 --> 00:41:58,910 Se konsa, sa * 0x88 vle di? 1011 00:41:58,910 --> 00:42:02,670 Sa vle di, "ale la" ki vle di efektivman, "mete dwèt ou isit la." 1012 00:42:02,670 --> 00:42:06,930 Epi, koulye a sou bò nan men dwat-ou nan ekspresyon sa a, * ak Lè sa a nan paran, 1013 00:42:06,930 --> 00:42:11,586 s + mwen vle di a, ki se nan adrese moute isit la nan ti kras g la. 1014 00:42:11,586 --> 00:42:16,220 s + 0 se, nan kou, s, tou sa a se. 1015 00:42:16,220 --> 00:42:21,230 >> Se konsa, kounye a, li nan la *, ki jis tankou * 33 Oxford Street vle di ale nan adrès la 1016 00:42:21,230 --> 00:42:22,010 la. 1017 00:42:22,010 --> 00:42:24,170 Se konsa, isit la nan sa a dwèt, men dwat. 1018 00:42:24,170 --> 00:42:26,050 Se konsa, ki sa mwen pral kapab bay kopi nan ki sa? 1019 00:42:26,050 --> 00:42:30,260 Bagay la sou bò dwat la, ki se Gabe, ti kras g isit la, nan isit la. 1020 00:42:30,260 --> 00:42:32,750 >> Se konsa, efè a nan ki premye iteration nan riban an, 1021 00:42:32,750 --> 00:42:36,200 jan ou pwopoze a, menm si li sanble fou pi konplike pase anyen 1022 00:42:36,200 --> 00:42:42,110 nou te wè anvan, se senpleman di ale isit la ak fè kopi ki karaktè isit la. 1023 00:42:42,110 --> 00:42:44,700 Li nan ban nou yon kat jeyografik nan tou de kote yo ye. 1024 00:42:44,700 --> 00:42:46,130 >> Epi nou pral wè byen lwen plis nan sa a. 1025 00:42:46,130 --> 00:42:50,600 Men, pou kounye a, se espwa a se jis yo prezante kèk nan lide debaz sa yo. 1026 00:42:50,600 --> 00:42:53,550 Ak tout bon, kite pou yo gade nan yon pwogram final isit la, 1027 00:42:53,550 --> 00:42:57,480 ak Lè sa a claymation nan te pwomèt la, ki pral fè tout bagay tout dwa. 1028 00:42:57,480 --> 00:42:57,980 Tout dwa. 1029 00:42:57,980 --> 00:43:01,680 Se konsa, kite m 'louvri up-- gen nou ale. 1030 00:43:01,680 --> 00:43:02,850 1031 00:43:02,850 --> 00:43:05,440 Se konsa, kite me-- nou pral tounen vin foto sa a anvan lontan. 1032 00:43:05,440 --> 00:43:08,360 Se pou m 'louvri moute egzanp sa a final isit la. 1033 00:43:08,360 --> 00:43:09,440 1034 00:43:09,440 --> 00:43:12,710 >> Se konsa, isit la se yon super, super pwogram ki akonpli 1035 00:43:12,710 --> 00:43:15,050 pa gen anyen nan lavi ki fè sa ki annapre yo. 1036 00:43:15,050 --> 00:43:18,740 Li premye deklare de varyab, x ak y, ki pa nimewo tan sa a, 1037 00:43:18,740 --> 00:43:19,240 se pou chak. 1038 00:43:19,240 --> 00:43:20,448 Yo ap pa nonm antye yo, se pou chak. 1039 00:43:20,448 --> 00:43:22,899 Yo se aparamman Int *. 1040 00:43:22,899 --> 00:43:25,690 Se konsa, jis nenpòt moun ki, ki sa li vle di si kalite done ou a, varyab ou a, 1041 00:43:25,690 --> 00:43:26,860 se nan int kalite zetwal *? 1042 00:43:26,860 --> 00:43:30,240 Sa a adrès ki nan yon Int. 1043 00:43:30,240 --> 00:43:31,990 >> Se konsa, mwen te gen okenn lide kote li se ankò. 1044 00:43:31,990 --> 00:43:35,150 Li jis vle di "mete, evantyèlman, adrès ki nan yon int isit la. " 1045 00:43:35,150 --> 00:43:38,340 0x50, 0x88, tout kote li se nan memwa, yon adrès ki pral la. 1046 00:43:38,340 --> 00:43:40,200 Epi sa a, sa ki y se pral fè, tankou byen. 1047 00:43:40,200 --> 00:43:44,920 >> Si m 'kounye a di x = malok (sizof (Int)), sa a se yon fason anpenpan nan di, 1048 00:43:44,920 --> 00:43:49,000 hey sistèm opere, via malok, ban m 'ase memwa pou gwosè a 1049 00:43:49,000 --> 00:43:52,370 nan yon int, ki se pwobableman pral fè 32 Bits oswa kat bytes. 1050 00:43:52,370 --> 00:43:53,680 >> Se konsa, sa malok retounen? 1051 00:43:53,680 --> 00:43:55,250 Malok retounen yon adrès. 1052 00:43:55,250 --> 00:43:57,020 Se konsa, sa ki pwal jwenn ki estoke nan x? 1053 00:43:57,020 --> 00:44:00,600 Adrès postal la nan moso nan memwa, kat bytes yo, ki malok 1054 00:44:00,600 --> 00:44:03,360 jis yo te jwenn pou m 'pa mande sistèm nan fonksyone. 1055 00:44:03,360 --> 00:44:08,240 >> Koulye a, pandan se tan, liy kat isit la, * x = 42 la. 1056 00:44:08,240 --> 00:44:09,990 Jis yo dwe klè, sa k ap pase anba isit la? 1057 00:44:09,990 --> 00:44:11,530 Ki sou bò gòch-men, * x. 1058 00:44:11,530 --> 00:44:13,610 sa a, se tankou * 33 Oxford Street. 1059 00:44:13,610 --> 00:44:15,523 Se konsa, * x vle di ki sa? 1060 00:44:15,523 --> 00:44:16,450 >> ODYANS: Go to. 1061 00:44:16,450 --> 00:44:17,908 >> DAVID J. Malan: Ale nan adrès sa. 1062 00:44:17,908 --> 00:44:20,466 Kèlkeswa kote ki ti moso nan memwa se, ale nan li. 1063 00:44:20,466 --> 00:44:21,979 Epi li mete sa ki gen, evidamman? 1064 00:44:21,979 --> 00:44:22,520 ODYANS: 42. 1065 00:44:22,520 --> 00:44:23,580 DAVID J. Malan: 42. 1066 00:44:23,580 --> 00:44:25,650 Tout dwa, * y, se li menm lide. 1067 00:44:25,650 --> 00:44:26,860 Ale nan adrès la nan y. 1068 00:44:26,860 --> 00:44:31,740 Mete nimewo a 13 la, men ki sa se y nan moman sa a? 1069 00:44:31,740 --> 00:44:33,172 1070 00:44:33,172 --> 00:44:34,630 ODYANS: Pa gen okenn memwa pou y. 1071 00:44:34,630 --> 00:44:35,710 DAVID J. Malan: Gen gen okenn memwa pou y. 1072 00:44:35,710 --> 00:44:38,215 Se konsa, sa ki fè y pwobableman gen ladan, menm jan nou ve yo te di a? 1073 00:44:38,215 --> 00:44:38,520 >> ODYANS: Fatra. 1074 00:44:38,520 --> 00:44:39,480 >> DAVID J. Malan: Gen kèk valè fatra. 1075 00:44:39,480 --> 00:44:41,320 Koulye a, valè fatra se toujou yon nimewo. 1076 00:44:41,320 --> 00:44:43,160 Li ka toujou dwe fè erè pou yon adrès. 1077 00:44:43,160 --> 00:44:45,160 Li nan tankou si yon moun grifone yon bagay desann, 1078 00:44:45,160 --> 00:44:48,002 ak mwen entèrprete li kòm siyifikasyon kèk bilding desann nan lari an. 1079 00:44:48,002 --> 00:44:50,460 Men, si ou jis eseye ale nan kèk bilding ou pa posede, 1080 00:44:50,460 --> 00:44:53,710 oswa kèk ti moso nan memwa ou pa gen te bay yo, move bagay ka rive. 1081 00:44:53,710 --> 00:44:57,740 Odinatè ta ka aksidan, oswa kèk lòt konpòtman endetèmine ka rive. 1082 00:44:57,740 --> 00:45:01,310 >> Se konsa, Intro a, lè sa a, Binky se sa a. 1083 00:45:01,310 --> 00:45:04,290 Mwen toujou sonje, 20 kèk ane enpè pita, 1084 00:45:04,290 --> 00:45:07,200 kote mwen te lè mwen finalman konprann endikasyon. 1085 00:45:07,200 --> 00:45:09,520 >> Sa vle di, si ou kite isit la nan twa minit 1086 00:45:09,520 --> 00:45:12,170 ak panse ke mwen pa fè sa konprann endikasyon, reyalize 1087 00:45:12,170 --> 00:45:14,410 Mwen te vin chonje pou 20 ane pou kèk rezon fou 1088 00:45:14,410 --> 00:45:17,140 lè ak poukisa li finalman koule nan, chita ak ansèyman mwen 1089 00:45:17,140 --> 00:45:19,501 parèy, Nishat Mehta nan la tounen nan Eliot Gastronomie Hall. 1090 00:45:19,501 --> 00:45:21,250 Koulye a, mwen te vin chonje sa a paske sa a te 1091 00:45:21,250 --> 00:45:23,920 youn nan sijè yo mwen, nan patikilye, plede ak. 1092 00:45:23,920 --> 00:45:26,470 Lè sa a,, li finalman klike, tankou mwen bay gabèl di yon anpil nan sijè 1093 00:45:26,470 --> 00:45:27,460 evantyèlman pral. 1094 00:45:27,460 --> 00:45:32,590 Epi, koulye a, fè ki santi nan tout pi kontan ak tout pi plis nan konvenk, 1095 00:45:32,590 --> 00:45:35,360 kite a pran yon gade final nan nou an twa dènye minit isit la nan Binky, 1096 00:45:35,360 --> 00:45:37,675 soti nan zanmi nou an, Nick Parlante soti nan Stanford. 1097 00:45:37,675 --> 00:45:38,910 1098 00:45:38,910 --> 00:45:41,580 >> [Lèktur VIDEO] 1099 00:45:41,580 --> 00:45:42,750 >> -Hey, Binky. 1100 00:45:42,750 --> 00:45:43,500 Reveye! 1101 00:45:43,500 --> 00:45:45,960 Li lè pou plezi konsèy. 1102 00:45:45,960 --> 00:45:47,012 >> -Ki Nan sa? 1103 00:45:47,012 --> 00:45:48,723 Aprann sou pwent? 1104 00:45:48,723 --> 00:45:50,580 Oh, chokola! 1105 00:45:50,580 --> 00:45:53,563 >> -Bon, Yo jwenn te kòmanse, mwen devine nou ap ale nan bezwen yon endikasyon koup. 1106 00:45:53,563 --> 00:45:54,390 >> -OK. 1107 00:45:54,390 --> 00:45:57,930 Kòd sa a repati de pwent, sa ki ka lonje dwèt sou nonm antye relatif. 1108 00:45:57,930 --> 00:45:58,430 -OK. 1109 00:45:58,430 --> 00:46:02,140 Bon, mwen wè de pwent yo, men yo pa sanble yo gen montre anyen. 1110 00:46:02,140 --> 00:46:02,980 >> -Sa A dwat. 1111 00:46:02,980 --> 00:46:05,100 Okòmansman, endikasyon pa lonje dwèt sou anyen. 1112 00:46:05,100 --> 00:46:08,030 Bagay sa yo yo lonje dwèt sou yo rele pointees, ak mete yo moute nan 1113 00:46:08,030 --> 00:46:09,370 yon etap ki apa a. 1114 00:46:09,370 --> 00:46:10,220 >> -Tanpri, Dwa, dwa. 1115 00:46:10,220 --> 00:46:10,950 Mwen te konnen ke. 1116 00:46:10,950 --> 00:46:12,385 Pointees yo se ki apa a. 1117 00:46:12,385 --> 00:46:14,315 Er, Se konsa, kouman ou asiyen yon pointee? 1118 00:46:14,315 --> 00:46:15,340 1119 00:46:15,340 --> 00:46:15,960 >> -OK. 1120 00:46:15,960 --> 00:46:18,970 Oke, sa a kòd repati yon nouvo pointee nonb antye relatif, 1121 00:46:18,970 --> 00:46:20,950 ak sa a ansanm pati x nan pwen li. 1122 00:46:20,950 --> 00:46:22,050 1123 00:46:22,050 --> 00:46:23,230 >> -Hey, Ki sanble pi byen. 1124 00:46:23,230 --> 00:46:25,060 Se konsa, fè li fè yon bagay. 1125 00:46:25,060 --> 00:46:25,990 >> -OK. 1126 00:46:25,990 --> 00:46:30,455 Mwen pral dèreferans x la konsèy nan magazen nimewo a 42 nan pointee li yo. 1127 00:46:30,455 --> 00:46:32,830 Pou sa a jwe fent, mwen pral bezwen m ' Majik ralonj nan dereferencing. 1128 00:46:32,830 --> 00:46:34,130 1129 00:46:34,130 --> 00:46:36,080 >> -Ou Ralonj majik nan Dereferencing? 1130 00:46:36,080 --> 00:46:37,357 1131 00:46:37,357 --> 00:46:38,190 That-- sa a, se gwo. 1132 00:46:38,190 --> 00:46:39,340 1133 00:46:39,340 --> 00:46:41,080 >> -Sa A se sa ki kòd la sanble. 1134 00:46:41,080 --> 00:46:44,110 Mwen pral jis mete kanpe nimewo a, ak [POP] 1135 00:46:44,110 --> 00:46:44,700 >> -Hey, Gade. 1136 00:46:44,700 --> 00:46:46,140 Gen li ale. 1137 00:46:46,140 --> 00:46:50,980 >> -Se Konsa, fè yon dèreferans sou x swiv flèch la jwenn aksè nan pointee li yo. 1138 00:46:50,980 --> 00:46:53,160 Nan ka sa a, yon magazen 42 an la. 1139 00:46:53,160 --> 00:46:57,710 Hey eseye lè l sèvi avèk li nan magazen nimewo a 13 a lòt konsèy la, y. 1140 00:46:57,710 --> 00:46:58,760 >> -OK. 1141 00:46:58,760 --> 00:47:03,270 Mwen pral jis ale sou isit la yo y, epi pou yo jwenn nimewo 13 seri a leve. 1142 00:47:03,270 --> 00:47:07,930 Lè sa a,, pran ralonj la nan Dereferencing ak jis [Desmangle] 1143 00:47:07,930 --> 00:47:08,960 >> -Tanpri! 1144 00:47:08,960 --> 00:47:09,500 >> -Tanpri, Hey! 1145 00:47:09,500 --> 00:47:11,090 Sa pa t 'travay. 1146 00:47:11,090 --> 00:47:15,630 Di, Binky, mwen pa panse dereferencing y se yon bon lide, paske ou konnen, 1147 00:47:15,630 --> 00:47:17,850 mete kanpe pointee la se yon etap ki apa a. 1148 00:47:17,850 --> 00:47:20,450 Apre sa, mwen pa panse ke nou tout tan tout tan te fè li. 1149 00:47:20,450 --> 00:47:21,480 >> -Bon Pwen. 1150 00:47:21,480 --> 00:47:21,980 -Yeah. 1151 00:47:21,980 --> 00:47:25,680 Nou resevwa lajan y la konsèy, men nou pa janm mete l 'nan pwen nan yon pointee. 1152 00:47:25,680 --> 00:47:27,190 1153 00:47:27,190 --> 00:47:28,616 >> -Trè Vijilan. 1154 00:47:28,616 --> 00:47:30,240 -Hey, W ap chèche bon la, Binky. 1155 00:47:30,240 --> 00:47:33,400 Èske ou ka fikse li pou ke y pwen pointee a menm jan ak x? 1156 00:47:33,400 --> 00:47:34,000 >> -Asire W. 1157 00:47:34,000 --> 00:47:36,780 Mwen pral sèvi ak majik ralonj mwen nan Pointer Plasman. 1158 00:47:36,780 --> 00:47:38,740 >> -Eske ki pral fè yon pwoblèm tankou anvan an? 1159 00:47:38,740 --> 00:47:39,240 -Non. 1160 00:47:39,240 --> 00:47:40,660 Sa a pa manyen pointees yo. 1161 00:47:40,660 --> 00:47:44,450 Li jis chanje yon sèl konsèy nan lonje dwèt sou menm bagay la kòm yon lòt. 1162 00:47:44,450 --> 00:47:45,450 >> -Tanpri, Mwen wè. 1163 00:47:45,450 --> 00:47:48,200 Koulye a, y pwen nan plas la menm jan ak x. 1164 00:47:48,200 --> 00:47:48,910 Se konsa, rete tann. 1165 00:47:48,910 --> 00:47:49,950 Koulye a, y se fiks yo. 1166 00:47:49,950 --> 00:47:51,120 Li te gen yon pointee. 1167 00:47:51,120 --> 00:47:54,510 Se konsa, ou ka eseye ralonj la nan Dereferencing ankò yo voye 13 sou la. 1168 00:47:54,510 --> 00:47:56,510 >> -Uh, OK. 1169 00:47:56,510 --> 00:47:58,160 Isit la li ale. [POP] 1170 00:47:58,160 --> 00:47:59,340 >> -Hey, Gade nan sa. 1171 00:47:59,340 --> 00:48:00,750 Koulye a, dereferencing travay sou y. 1172 00:48:00,750 --> 00:48:04,991 Epi paske pwent yo ap pataje ke youn pointee, yo tou de gade 13 an. 1173 00:48:04,991 --> 00:48:05,490 -Yeah. 1174 00:48:05,490 --> 00:48:06,870 Pataje, kèlkeswa sa. 1175 00:48:06,870 --> 00:48:08,820 Se konsa, nou pral chanje kote kounye a? 1176 00:48:08,820 --> 00:48:09,440 >> Oh, gade. 1177 00:48:09,440 --> 00:48:10,830 Nou soti nan tan. 1178 00:48:10,830 --> 00:48:11,570 >> -But-- 1179 00:48:11,570 --> 00:48:13,530 >> -jis Sonje twa règ yo konsèy. 1180 00:48:13,530 --> 00:48:16,560 Nimewo Youn, estrikti nan debaz se ke ou gen yon konsèy, 1181 00:48:16,560 --> 00:48:18,680 epi li lonje dwèt sou nan yon pointee. 1182 00:48:18,680 --> 00:48:20,640 Men, konsèy la ak pointee yo apa a, 1183 00:48:20,640 --> 00:48:22,610 ak erè an komen se yo mete kanpe yon konsèy, 1184 00:48:22,610 --> 00:48:25,000 men yo bliye bay li yon pointee. 1185 00:48:25,000 --> 00:48:28,170 >> Nimewo De, konsèy dereferencing kòmanse nan konsèy la 1186 00:48:28,170 --> 00:48:31,050 epi swiv flèch li yo sou jwenn aksè nan pointee li yo. 1187 00:48:31,050 --> 00:48:33,400 Kòm nou tout konnen, sa a sèlman travay si gen 1188 00:48:33,400 --> 00:48:36,270 yon pointee, ki kalite vin tounen nan Règ Nimewo Youn. 1189 00:48:36,270 --> 00:48:39,000 >> Nimewo Twa, konsèy plasman pran yon sèl konsèy 1190 00:48:39,000 --> 00:48:42,320 ak chanje li nan pwen a menm pointee kòm yon lòt konsèy. 1191 00:48:42,320 --> 00:48:44,160 Se konsa, apre plasman an, de pwent yo 1192 00:48:44,160 --> 00:48:45,910 ap lonje dwèt sou menm pointee la. 1193 00:48:45,910 --> 00:48:47,990 Pafwa, ki yo rele pataje. 1194 00:48:47,990 --> 00:48:49,740 Epi sa a, tout gen nan li, vrèman. 1195 00:48:49,740 --> 00:48:50,277 Babay kounye a. 1196 00:48:50,277 --> 00:48:51,110 [Lèktur videyo END] 1197 00:48:51,110 --> 00:48:52,568 DAVID J. Malan: Sa a li pou CS50. 1198 00:48:52,568 --> 00:48:55,110 Nou pral wè ou an semèn pwochèn. 1199 00:48:55,110 --> 00:48:56,064