1 00:00:00,000 --> 00:00:01,110 >> [Musika jotzen] 2 00:00:01,110 --> 00:00:10,567 3 00:00:10,567 --> 00:00:11,650 DAVID J. MALAN: Ondo da. 4 00:00:11,650 --> 00:00:15,610 Hau CS50 da, eta hau Astea Lau amaiera da. 5 00:00:15,610 --> 00:00:19,420 Gaur gaietako bat eta da Kernet digitalen duten, 6 00:00:19,420 --> 00:00:20,989 informazioa berreskuratzeko artea. 7 00:00:20,989 --> 00:00:22,780 Eta hain zuzen ere, nahiz eta Oraindik Erdi egina duzun 8 00:00:22,780 --> 00:00:25,070 eskuineko Bakearen orain hiru eta Breakout, datorren astean, 9 00:00:25,070 --> 00:00:27,880 foku izango da hain zuzen, domeinu honetan. 10 00:00:27,880 --> 00:00:30,686 >> Beraz, lanpostu coolest bat dut inoiz Izan graduondoko eskola batean itzuli zen, 11 00:00:30,686 --> 00:00:33,560 tokiko egin izan dut lan Middlesex County District Attorney 12 00:00:33,560 --> 00:00:34,950 bulegoan, Kernet egiten dabiltza. 13 00:00:34,950 --> 00:00:37,450 Beraz, funtsean, Massachusetts du Estatuko Polizia, behin, 14 00:00:37,450 --> 00:00:40,100 denean kasu lantzen ari iba disko gogorrak bezalako gauzak ekarri 15 00:00:40,100 --> 00:00:42,185 eta disketeak eta memoria txartelak eta antzekoak. 16 00:00:42,185 --> 00:00:44,060 Eta horien esku lukete ni eta nire Tutore izateko, 17 00:00:44,060 --> 00:00:48,070 eta gure helburua frogak aurkitzea zen, ez zen edozein, hedabide horien inguruan bada. 18 00:00:48,070 --> 00:00:50,700 Orain, ikusi dute agian glimpses Kernet mundu honetan 19 00:00:50,700 --> 00:00:53,000 komunikabideetan, telebista eta filmak. 20 00:00:53,000 --> 00:00:55,730 Baina lana, izan nuen eta daresay mundu horretan, 21 00:00:55,730 --> 00:00:57,550 ez da nahiko atsegin duzu ikusi nahi. 22 00:00:57,550 --> 00:01:00,794 Ikus dezagun begirada bat zer seguruenik ikusi duzun. 23 00:01:00,794 --> 00:01:01,460 [Bideo-erreprodukzioa] 24 00:01:01,460 --> 00:01:02,930 -Ados. 25 00:01:02,930 --> 00:01:05,380 Orain, dezagun begirada bat ona. 26 00:01:05,380 --> 00:01:06,850 >> [Musika jotzen] 27 00:01:06,850 --> 00:01:12,260 28 00:01:12,260 --> 00:01:12,932 >> -Hold Da. 29 00:01:12,932 --> 00:01:13,657 Exekutatu back duten. 30 00:01:13,657 --> 00:01:14,733 >> -Wait Minutu bat. 31 00:01:14,733 --> 00:01:15,233 Joan eskubidea. 32 00:01:15,233 --> 00:01:16,371 33 00:01:16,371 --> 00:01:16,870 Itzulpenak. 34 00:01:16,870 --> 00:01:17,369 Izoztu direla. 35 00:01:17,369 --> 00:01:17,930 -Pantaila -Full. 36 00:01:17,930 --> 00:01:18,376 >> -Ados. 37 00:01:18,376 --> 00:01:18,875 Izoztu direla. 38 00:01:18,875 --> 00:01:20,160 -Tighten Sortu horretan, ahal izango duzu? 39 00:01:20,160 --> 00:01:22,126 >> -Vector Ere horretan atzeko gurpila by guy. 40 00:01:22,126 --> 00:01:24,435 >> Hementxe Leku honetako ere -Zoom. 41 00:01:24,435 --> 00:01:28,580 >> Ekipamendu egokia aldera, irudia handitu egin daiteke, eta zorroztu. 42 00:01:28,580 --> 00:01:29,330 >> -Zer da hori? 43 00:01:29,330 --> 00:01:30,780 >> -It Hobekuntza-programa bat da. 44 00:01:30,780 --> 00:01:32,170 >> -Can Garbituz duen edozein? 45 00:01:32,170 --> 00:01:33,070 >> Ez naiz ez dakit. 46 00:01:33,070 --> 00:01:34,150 Dezagun hobetu da. 47 00:01:34,150 --> 00:01:35,440 >> -Enhance Artikulua A6. 48 00:01:35,440 --> 00:01:36,570 49 00:01:36,570 --> 00:01:38,562 Xehetasun hobetu dut, and-- 50 00:01:38,562 --> 00:01:40,020 Uste dut, ez da nahikoa hobetzeko. 51 00:01:40,020 --> 00:01:40,976 Askatu nire pantailan. 52 00:01:40,976 --> 00:01:42,559 >> -I Bere begi isla indartu. 53 00:01:42,559 --> 00:01:44,322 Ekarri ditzagun exekutatu honen bidez Bideo hobekuntza. 54 00:01:44,322 --> 00:01:45,210 >> -Edgar, Hau ezin hobetu duzu? 55 00:01:45,210 --> 00:01:45,710 >> -Hang On. 56 00:01:45,710 --> 00:01:47,570 57 00:01:47,570 --> 00:01:49,458 >> -I've Dira hausnarketa hori lantzen. 58 00:01:49,458 --> 00:01:50,402 >> Itzulpenak en norbaiten hausnarketa. 59 00:01:50,402 --> 00:01:50,902 >> -Reflection. 60 00:01:50,902 --> 00:01:52,870 Itzulpenak gizonaren aurpegia isla da. 61 00:01:52,870 --> 00:01:53,694 >> Hausnarketa-The! 62 00:01:53,694 --> 00:01:54,610 Itzulpenak hausnarketa bat da. 63 00:01:54,610 --> 00:01:55,880 -Zoom Ispilu gainean. 64 00:01:55,880 --> 00:01:57,860 Hausnarketa bat ikusi ahal izango duzu. 65 00:01:57,860 --> 00:01:59,630 >> -Can Irudian hobetzeko hemendik aurrera? 66 00:01:59,630 --> 00:02:00,377 67 00:02:00,377 --> 00:02:01,210 -Can Sustatuko duzu? 68 00:02:01,210 --> 00:02:02,190 -Can Sustatuko duzu? 69 00:02:02,190 --> 00:02:03,066 -Can Hau indartzea dugu? 70 00:02:03,066 --> 00:02:03,898 -Can Sustatuko duzu? 71 00:02:03,898 --> 00:02:04,740 Bigarren batean -Hold. 72 00:02:04,740 --> 00:02:05,281 Hobetu dut. 73 00:02:05,281 --> 00:02:06,470 -Zoom Batean atean. 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 In -Move. 77 00:02:08,509 --> 00:02:09,340 -Informazio. 78 00:02:09,340 --> 00:02:10,094 -Wait, Gelditu. 79 00:02:10,094 --> 00:02:10,750 Geldialdia. 80 00:02:10,750 --> 00:02:11,250 -Pause Da. 81 00:02:11,250 --> 00:02:13,542 -Rotate Iezaguzu 75 gradu bertikalen inguruan, mesedez. 82 00:02:13,542 --> 00:02:14,750 83 00:02:14,750 --> 00:02:16,127 >> Geldialdia. 84 00:02:16,127 --> 00:02:19,330 Joan atzera zatia atea buruz berriro. 85 00:02:19,330 --> 00:02:21,420 >> Got irudia Enhancer bat bitmap daiteke? 86 00:02:21,420 --> 00:02:24,420 >> -Agian Pradeep Singh erabili ahal izango dugu Metodo leihoak sartzen ikusi. 87 00:02:24,420 --> 00:02:25,902 >> Software-The artearen egoera da. 88 00:02:25,902 --> 00:02:26,866 >> Autobalorearen da laguntasuna off. 89 00:02:26,866 --> 00:02:29,758 >> Eskubidea ditugu ikusgai algoritmoak konbinazio 90 00:02:29,758 --> 00:02:32,168 >> Amorratua en hartu argiztatzea Hurrengo mailara algoritmoak, 91 00:02:32,168 --> 00:02:34,110 eta horiek baliatzen ditut argazki hau hobetzeko. 92 00:02:34,110 --> 00:02:36,840 >> On -Lock eta z ardatzean handitzeko. 93 00:02:36,840 --> 00:02:37,351 >> -Enhance. 94 00:02:37,351 --> 00:02:37,850 Hobetzeko. 95 00:02:37,850 --> 00:02:38,720 -Enhance. 96 00:02:38,720 --> 00:02:40,070 -Freeze Eta hobetzeko. 97 00:02:40,070 --> 00:02:43,420 [END bideo-erreprodukzioa] 98 00:02:43,420 --> 00:02:45,830 DAVID J. MALAN: Beraz, ez dira horiek hitz guztiak, baina ez ziren 99 00:02:45,830 --> 00:02:47,870 Esaldi batean, behar bezala erabili. 100 00:02:47,870 --> 00:02:52,370 Eta, hain zuzen, etorkizunean, edozein unetan, mesedez, norbaitek hitza esaten entzuterakoan, 101 00:02:52,370 --> 00:02:54,250 "Hobetu", algara pixka bat. 102 00:02:54,250 --> 00:02:57,190 Denean hobetzeko saiatu zarelako, esate baterako, hau da, zer gertatzen den. 103 00:02:57,190 --> 00:02:58,580 >> Hortaz, hona hemen bat gorgeous argazki bat. 104 00:02:58,580 --> 00:02:59,720 Hau CS50 Daven egin da. 105 00:02:59,720 --> 00:03:03,740 Eta eman dezagun nahi dugun pilatzen dira bere begi Twinkle oinarrituta, 106 00:03:03,740 --> 00:03:05,870 edo isla zela argi txarra lasaia 107 00:03:05,870 --> 00:03:07,820 segurtasun kamerarekin ateratako argazkia. 108 00:03:07,820 --> 00:03:10,330 Hau da, zer gertatzen da zoom irudi bat duen 109 00:03:10,330 --> 00:03:14,060 kopuru mugatu batean baino ez ditu horri lotutako bit. 110 00:03:14,060 --> 00:03:15,420 >> Hau da, zer lortu nahi duzun. 111 00:03:15,420 --> 00:03:19,190 Eta, hain zuzen, Daven begian da baina lau, agian sei pixel 112 00:03:19,190 --> 00:03:22,110 osatzen duten zehazki zer ez glimmering zen. 113 00:03:22,110 --> 00:03:25,890 Beraz Arazoa Ezarri Lau azken finean dute Mundu honetan arakatzeko duzu, bereziki 114 00:03:25,890 --> 00:03:28,090 Zerbait izaeraren arabera deitzen dugun fitxategia i / o, non 115 00:03:28,090 --> 00:03:31,000 i / o fancy modu bat besterik ez da sarrera eta irteera esanez. 116 00:03:31,000 --> 00:03:34,280 >> Beraz, beraz, orain arte, interakzio guztia ordenagailu bat dugu izan 117 00:03:34,280 --> 00:03:36,770 dute neurri handi batean, zure teklatua eta pantaila, 118 00:03:36,770 --> 00:03:40,770 baina ez da hain disko gogor batera askoz, edo direnak haratago fitxategien aurrezteko 119 00:03:40,770 --> 00:03:41,620 zeuk idatzi. 120 00:03:41,620 --> 00:03:44,570 Zure programei beraz, orain arte izan ez dira sortzen, eta aurrezteko, 121 00:03:44,570 --> 00:03:46,270 eta beren fitxategiak eguneratzeko. 122 00:03:46,270 --> 00:03:47,150 >> Beno, zer da irudi bat? 123 00:03:47,150 --> 00:03:48,105 Beno, JPEG baten antzeko zerbait. 124 00:03:48,105 --> 00:03:50,520 Hau irudi bat agian da dute edo Facebook-era igo, 125 00:03:50,520 --> 00:03:51,690 edo ikusi web buruzko edozein tokitan. 126 00:03:51,690 --> 00:03:54,460 Izan ere, argazki besterik ez dugu Daven of zerra JPEG bat izan zen. 127 00:03:54,460 --> 00:03:57,570 Eta zer da interesgarria JPEGs bezalako fitxategiak buruzko 128 00:03:57,570 --> 00:04:02,170 da dute ezagut daitezkeela, normalean, bit patroi jakin batzuen arabera. 129 00:04:02,170 --> 00:04:05,200 >> Bestela esanda, zer dela JPEG bat bereizten GIF batetik 130 00:04:05,200 --> 00:04:08,109 Word batetik PING batetik Dokumentu Excel fitxategi batetik? 131 00:04:08,109 --> 00:04:09,900 Beno, besterik gabe, desberdina da bit ereduak. 132 00:04:09,900 --> 00:04:12,820 Eta eredu desberdinak direnak dira normalean, fitxategi horiek hasieran. 133 00:04:12,820 --> 00:04:18,200 >> Beraz, zure ordenagailuan Word bat irekitzen dituen doc, edo ordenagailua JPEG bat irekitzen du, 134 00:04:18,200 --> 00:04:20,940 normalean itxura hartan fitxategiko hainbat lehenengo bit. 135 00:04:20,940 --> 00:04:24,059 Eta eredu bat aitortzen bada, dio, oh, hau irudi bat da. 136 00:04:24,059 --> 00:04:25,850 Let it bistaratzeko me erabiltzaileak grafiko gisa. 137 00:04:25,850 --> 00:04:27,870 Edo, oh, hau Word doc itxura. 138 00:04:27,870 --> 00:04:30,480 Let it erakutsi erabiltzaile saiakera bat bezala me. 139 00:04:30,480 --> 00:04:33,020 >> Horrela, esate baterako, JPEGs, bihurtzen da, dira 140 00:04:33,020 --> 00:04:35,460 nahiko sofistikatuak kanpaia azpian. 141 00:04:35,460 --> 00:04:40,140 Baina lehen hiru byte gehien guztietan JPEG hiru zenbaki horiek hasteko. 142 00:04:40,140 --> 00:04:44,680 Beraz byte zero, bat, eta bi dira, in gehien JPEG behin, 255, eta ondoren kopurua 143 00:04:44,680 --> 00:04:46,675 216, ondoren 255 zenbakira. 144 00:04:46,675 --> 00:04:48,990 >> Eta zer gai izango duzu Datorren astean egiten hasteko 145 00:04:48,990 --> 00:04:52,920 benetan azpian poking fitxategiak kanpaia JPEGs bezala 146 00:04:52,920 --> 00:04:57,210 eta bitmap fitxategiak bezala, eta ikusten zer da beti hor egon luze gisa 147 00:04:57,210 --> 00:04:58,650 Ordenagailu bat erabiliz izan ditudan bezala. 148 00:04:58,650 --> 00:05:01,860 >> Baina zer ez da normalean Zenbaki hamartar hau atsegin bezala idatzirik. 149 00:05:01,860 --> 00:05:04,620 Informatikariak ez joera hamartar mintzatzen. 150 00:05:04,620 --> 00:05:06,139 Ez dute benetan binary mintzatzen. 151 00:05:06,139 --> 00:05:07,930 Normalean, nahi dugun Zenbakiak adierazteko, 152 00:05:07,930 --> 00:05:10,710 benetan hamaseitarra erabiltzen dugu, Horrek gogora ekarri ahal izango duzu 153 00:05:10,710 --> 00:05:13,027 , esan, Arazoa Ezarri One, desafioa 154 00:05:13,027 --> 00:05:14,610 den beste sistema bat pentsatzen duzu. 155 00:05:14,610 --> 00:05:17,170 >> Dugu, noski, gai arruntei hamartar, zero bederatzi bidez. 156 00:05:17,170 --> 00:05:18,215 Binary buruz hitz egin dugu. 157 00:05:18,215 --> 00:05:20,710 Eta ez dugu benetan askoz ere, hemen erabiltzeko 158 00:05:20,710 --> 00:05:22,470 kanpo, zeren ordenagailuak erabiliko du. 159 00:05:22,470 --> 00:05:24,900 Baina programatzaile oso will askotan, baina ez beti, 160 00:05:24,900 --> 00:05:29,360 hamaseitarra erabili, besterik gabe esan nahi 16 zure alfabetoaren letrak izan duzu, 161 00:05:29,360 --> 00:05:31,330 Bi edo 10 aurka. 162 00:05:31,330 --> 00:05:34,530 >> Beraz, nola ez zenbatu handiagoa behar duzu hamaseitarrean bederatzi baino? 163 00:05:34,530 --> 00:05:41,120 Duzu joan 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, besterik ez konbentzio. 164 00:05:41,120 --> 00:05:43,540 Baina zer da gakoa, bakoitzak horien sinbolo bakar bat da. 165 00:05:43,540 --> 00:05:44,340 Ez dago 10. 166 00:05:44,340 --> 00:05:48,400 Ez dago 11, per se, bakoitza delako Zure digituen, besterik hamartarrean gustatzen 167 00:05:48,400 --> 00:05:51,940 eta besterik bitar bezala, behar besterik Pertsonaia bakar bat, konbentzio izan. 168 00:05:51,940 --> 00:05:55,280 >> Orduan hori alfabetoaren daukagun gure hamaseitarrean eskura. 169 00:05:55,280 --> 00:05:58,600 Beraz, zer duzu bada itxura JPEG bat ziren idazteko lehen hiru horiek 170 00:05:58,600 --> 00:06:01,980 Ez byte hamartar gisa baina, adibidez, hamaseitar bezala? 171 00:06:01,980 --> 00:06:03,640 Eta zergatik hex da, nahiz eta guztiak baliagarriak? 172 00:06:03,640 --> 00:06:05,290 >> Beno, begirada bat adibide bat. 173 00:06:05,290 --> 00:06:09,030 Beraz, bada bit idatzi dut zenbaki hamartar hauek adierazten 174 00:06:09,030 --> 00:06:12,450 hau apur bat herdoildu izan liteke orain aste batzuk atzera, 175 00:06:12,450 --> 00:06:14,820 baina ezker bat eta Eskuineko bat nahiko erraza. 176 00:06:14,820 --> 00:06:17,990 255 zenbaki ditugu handiena izan zen zortzi bit liteke. 177 00:06:17,990 --> 00:06:18,820 Direnak izan zen. 178 00:06:18,820 --> 00:06:21,320 Beraz, inork hori da mildly bakarrik interesgarri erdikoa da. 179 00:06:21,320 --> 00:06:24,700 Eta zuk mota egin nahi den kanpo matematika, duela ondorioztatu beharko da, hain zuzen ere, 180 00:06:24,700 --> 00:06:27,949 baten eredua dela eta zeroen suposatzen 216. 181 00:06:27,949 --> 00:06:30,240 Hargatik zeintzuk besterik orain, horiek zuzenak dira. 182 00:06:30,240 --> 00:06:31,730 Baina zergatik da hau interesgarria? 183 00:06:31,730 --> 00:06:33,970 >> Beno, byte bat, jakina, zortzi bit. 184 00:06:33,970 --> 00:06:38,980 Eta bihurtzen da hori uste baduzu byte bat, bi, lau bit zatiak bezala, 185 00:06:38,980 --> 00:06:39,500 Hau atsegin. 186 00:06:39,500 --> 00:06:41,000 Let me besterik espazio batzuk gehitu. 187 00:06:41,000 --> 00:06:42,550 Beraz, aurretik, ondoren. 188 00:06:42,550 --> 00:06:46,520 Besterik espazio zuri batzuk ditut gehitutako Bisualizazio mesedetan hemen. 189 00:06:46,520 --> 00:06:51,840 Nola liteke orain adierazten dugu, esan, hamaseitarra bit quad bakoitzean, 190 00:06:51,840 --> 00:06:52,880 lau bit multzo bakoitzean? 191 00:06:52,880 --> 00:06:56,420 >> Beraz, adibidez, ezkerretik orain, 1111 ditugu bitarrean. 192 00:06:56,420 --> 00:07:00,420 Zer zenbaki hori hamartarrean da, kanpo egiten duzun math bada? 193 00:07:00,420 --> 00:07:03,780 Direnak leku daukazu, twos leku, the Fours leku eta eights lekua. 194 00:07:03,780 --> 00:07:04,341 >> IKUSLEEN: 15. 195 00:07:04,341 --> 00:07:05,340 DAVID J. MALAN: Da 15. 196 00:07:05,340 --> 00:07:08,340 Beraz, egiten dugu zortzi gehi lau bada gehi bi gehi bat, 15 lortuko dugu. 197 00:07:08,340 --> 00:07:11,790 Beraz, idatzi izan dut behera 15 azpitik 1111, baina puntu osoa hemen 198 00:07:11,790 --> 00:07:13,190 da hamaseitarra, ez hamartarra izan. 199 00:07:13,190 --> 00:07:17,310 Beraz ordez idazteaz 15, 1-5, Duten idazteko hex noa, 200 00:07:17,310 --> 00:07:22,311 horrek atzera uste baduzu, baduzu zero f bidez, zer dago 15 izango da? 201 00:07:22,311 --> 00:07:22,810 IKUSLEEN: f. 202 00:07:22,810 --> 00:07:24,434 DAVID J. MALAN: Beraz, bere f bihurtzen da. 203 00:07:24,434 --> 00:07:29,140 Eta hori lan dezakezu esanez, bai, bat da 10 bada, ondoren OK, f 15 da. 204 00:07:29,140 --> 00:07:33,250 Beraz, hain zuzen ere, berridatzi ahal izan genuen Zenbaki f f gisa multzo horretan bertan. 205 00:07:33,250 --> 00:07:35,750 Eta gero pixka bat egiten dugu math bada, ondorioztatu beharko dugu hori, eta d. 206 00:07:35,750 --> 00:07:38,650 Zortzi nahiko erraza da, dugulako eights lekuan bat daukate. 207 00:07:38,650 --> 00:07:40,620 Eta gero, pare bat gehiago f f-ren dugu. 208 00:07:40,620 --> 00:07:44,669 >> Beraz, zein gizakiak joera konbentzio egin denean erabiltzen dute hamaseitar dute besterik ez da 209 00:07:44,669 --> 00:07:47,710 idatzi hau apur bat gehiago succinctly, get zuri espazio hori gehiena kentzeko. 210 00:07:47,710 --> 00:07:50,890 Eta besterik gabe, super argi izateko irakurle hori hamaseitarra da, 211 00:07:50,890 --> 00:07:54,670 artean konbentzio simple gizakiak zero idazterakoan 212 00:07:54,670 --> 00:07:58,000 x, horrek ez baitu beste esanahi no identifikatzailea entzunezko bat baino, 213 00:07:58,000 --> 00:07:59,590 Hemen hex zenbaki bat dator. 214 00:07:59,590 --> 00:08:04,210 >> Eta gero, bi digituak jarri duzu, f Kasu honetan, f, orduan d a, orduan f f. 215 00:08:04,210 --> 00:08:06,700 Beraz, ipuin luze, hamaseitar besterik ez ohi 216 00:08:06,700 --> 00:08:11,990 lagungarri izateko bakoitzak bere zenbakiak, zero f bidez, primeran lerroak 217 00:08:11,990 --> 00:08:13,880 lau bit patroi batekin sortu. 218 00:08:13,880 --> 00:08:18,080 >> Beraz, hurrengo hamaseitarra izan beharko duzu, zero F, behin eta berriro eginez, 219 00:08:18,080 --> 00:08:20,256 primeran ematen dizu zortzi bit edo byte. 220 00:08:20,256 --> 00:08:22,380 Beraz, horregatik ohi da conventionally erabilgarria izango. 221 00:08:22,380 --> 00:08:24,990 Ez dago intelektual no Benetan hori baino haratago eduki, 222 00:08:24,990 --> 00:08:27,010 bere benetako utility baino beste. 223 00:08:27,010 --> 00:08:29,310 >> Orain JPEGs ez dira soilik fitxategi formatu grafiko da. 224 00:08:29,310 --> 00:08:33,230 Gogoratzen ez direla fitxategi hau bezalako munduan, 225 00:08:33,230 --> 00:08:34,830 gutxienez, urte batzuk atzera. 226 00:08:34,830 --> 00:08:37,580 >> Beraz, hau izan zen benetan Windows XP instalatuta 227 00:08:37,580 --> 00:08:39,960 Mundu osoko PC milioika on. 228 00:08:39,960 --> 00:08:43,000 Eta honek bitmap fitxategi bat, BMP zen. 229 00:08:43,000 --> 00:08:47,690 Eta bitmap fitxategi bat, ikusiko duzu hurrengo moduan astean, besterik puntu eredu bat esan nahi du, 230 00:08:47,690 --> 00:08:51,710 pixel deitzen ari dira, a bit buruzko mapa, benetan. 231 00:08:51,710 --> 00:08:55,160 >> Beraz, zer da interesgarria, nahiz eta, fitxategi formatu hau, BMP buruz, da 232 00:08:55,160 --> 00:08:58,590 duten kanpaia azpian, hura besterik hiru byte baino gehiago ditu 233 00:08:58,590 --> 00:09:01,020 dela bere goiburua konposatzen, hain esateko, lehen puska batzuk. 234 00:09:01,020 --> 00:09:03,330 Benetan itxura apur bat da Lehen begiratuan zaila. 235 00:09:03,330 --> 00:09:04,704 Eta hau ikusiko duzu P multzoan. 236 00:09:04,704 --> 00:09:06,810 Eta zerbait lortzean honetatik kanpo bereziki orain 237 00:09:06,810 --> 00:09:10,720 ez da hain garrantzitsua, besterik gabe, izan ere, gisa duten bitmap bakoitzaren hasieran 238 00:09:10,720 --> 00:09:13,823 fitxategia, formatu grafiko bat, han zenbakien sorta oso bat da. 239 00:09:13,823 --> 00:09:14,980 240 00:09:14,980 --> 00:09:16,720 >> Orain Microsoft eta, Formatu honen egileak, 241 00:09:16,720 --> 00:09:18,820 horiek deitu ohi Gauzak ez ints eta karakteretan 242 00:09:18,820 --> 00:09:22,259 eta karroza baina hitzak eta d Hitz eta Longs eta byte. 243 00:09:22,259 --> 00:09:23,800 Beraz, besterik gabe, datu-mota ezberdinak daudela. 244 00:09:23,800 --> 00:09:25,170 Izen desberdinak ari dira gauza bera da. 245 00:09:25,170 --> 00:09:26,740 Baina hori ikusiko duzu P Ezarri Lau urtean. 246 00:09:26,740 --> 00:09:31,450 >> Baina hau ez dago esan dugunez, giza bat bada .bmp fitxategia batzuetan klik bikoitza egiten bere 247 00:09:31,450 --> 00:09:35,015 edo bere disko gogorrean, eta leiho bat irekitzen du zion edo bere irudia egin badute sortu, 248 00:09:35,015 --> 00:09:38,500 duen eragilea delako gertatu sistema ustez nabaritu ez bakarrik 249 00:09:38,500 --> 00:09:41,460 .bmp luzapenarekin fitxategia izenean, 250 00:09:41,460 --> 00:09:45,010 baina baita Izan ere, ez da batzuk bit patroi den konbentzio 251 00:09:45,010 --> 00:09:47,490 hasieran oso bitmap fitxategi hori. 252 00:09:47,490 --> 00:09:50,270 >> Baina dezagun orain arreta en adibidez, fitxategi zailean, 253 00:09:50,270 --> 00:09:52,120 baina horren ordez, honen antzeko zerbait. 254 00:09:52,120 --> 00:09:55,190 Demagun hemen gedit, I besterik ez dute hasieratik 255 00:09:55,190 --> 00:09:57,070 hori nahiko sinplea da programa bat. 256 00:09:57,070 --> 00:09:58,860 Nik batzuk sartzen dira sortu top. 257 00:09:58,860 --> 00:10:02,120 Orain lortu dut #include "structs.h" baina Etorriko naiz atzera une batean. 258 00:10:02,120 --> 00:10:03,974 Baina hau oso erabilgarria da, oraingoz. 259 00:10:03,974 --> 00:10:05,890 Beraz, hau programa bat da, hori ezartzea joan 260 00:10:05,890 --> 00:10:07,335 Erregistro datu-base bezala. 261 00:10:07,335 --> 00:10:09,710 Beraz, ikasleek datu-base bat, eta munduko ikasle guztiek 262 00:10:09,710 --> 00:10:13,190 Izen bat eta etxe bat eta, seguruenik batzuk ditu beste gauzak, baina simple mantendu egingo. 263 00:10:13,190 --> 00:10:15,140 Ikasle bakoitzak izen bat eta etxe bat dauka. 264 00:10:15,140 --> 00:10:17,700 >> Beraz bat idatzi nahi badut programa horren helburua bizitzan 265 00:10:17,700 --> 00:10:19,860 besterik tik bestera joateko zen zero hiru gehienez, 266 00:10:19,860 --> 00:10:22,070 hiru ikasle badago Harvard Unibertsitatean. 267 00:10:22,070 --> 00:10:25,350 Eta besterik gabe, lortzeko GetString erabiliz nahi dut, ikasle bakoitzaren izena eta etxea, 268 00:10:25,350 --> 00:10:26,600 eta, ondoren, inprimatu horiek out. 269 00:10:26,600 --> 00:10:28,630 >> Hau Ordena Week bezalakoa da One, Aste Bi gauzak orain, 270 00:10:28,630 --> 00:10:30,810 non nahi dut bat begizta edo horrelako zerbait. 271 00:10:30,810 --> 00:10:34,500 Eta GetString deitu batzuk bat nahi dut aldiz, eta ondoren f hainbat aldiz inprimatu. 272 00:10:34,500 --> 00:10:37,340 Beraz, nola liteke hau egiten dut, nahiz eta, denean bai izena eta etxe bat 273 00:10:37,340 --> 00:10:39,070 dira parte hartzen duten ikasle bakoitzak? 274 00:10:39,070 --> 00:10:42,830 >> Beraz, nire lehen sena agian izan honen antzeko zerbait egin nahi. 275 00:10:42,830 --> 00:10:49,620 Lehenengo agian diot, bai, ematen dit, esateko, izenak izeneko kateak array bat. 276 00:10:49,620 --> 00:10:51,530 Eta ez dut hardcode hiru hemen nahi. 277 00:10:51,530 --> 00:10:53,064 Zer jarri nahi dut? 278 00:10:53,064 --> 00:10:55,730 Beraz STUDENTS, hori delako, besterik gabe, konstante bat goialdean deklaratu, 279 00:10:55,730 --> 00:10:57,860 Ez dut besterik ez beraz, hardcode Leku bat baino gehiago hiru. 280 00:10:57,860 --> 00:11:00,859 Horrela, leku bat aldatu ahal izango dut, eta aldaketaren bat nonahi eragiten die. 281 00:11:00,859 --> 00:11:04,470 Eta gero, agian egin behar dut katea STUDENTS daude. 282 00:11:04,470 --> 00:11:10,250 >> Eta orain, agian antzeko zerbait egin nuen for (int i = 0; i 00:11:14,390 Beraz, azkar ari naiz idazten, baina hau da, ziurrenik ezagutzen sintaxia orain. 284 00:11:14,390 --> 00:11:17,030 >> Eta orain, hau berriagoa zen. 285 00:11:17,030 --> 00:11:22,890 To the i-garren jarri nahi badut ikaslearen izena, uste dut egin behar dut. 286 00:11:22,890 --> 00:11:26,480 Eta gero, ez izenak baina etxe tarte i. 287 00:11:26,480 --> 00:11:29,930 Hau egin dut, GetString, eta utzi atzera me eta lerro hau konpontzeko. 288 00:11:29,930 --> 00:11:30,430 Onartzen dut? 289 00:11:30,430 --> 00:11:31,200 Ados? 290 00:11:31,200 --> 00:11:32,366 Ez da oso lagungarria. 291 00:11:32,366 --> 00:11:33,890 Ez dut erabiltzaileak zer egin esan. 292 00:11:33,890 --> 00:11:36,520 >> Baina orain, badut gainera, nahi geroago, dezagun 293 00:11:36,520 --> 00:11:40,060 esan, inprimatu gauza horiek out-- beraz TODO geroago. 294 00:11:40,060 --> 00:11:42,330 Honekin gehiago egin nahi dut da horrek, dudarik gabe, hau da 295 00:11:42,330 --> 00:11:45,970 ezartzeko zuzena Izenak eta etxeak, hiru lortzean 296 00:11:45,970 --> 00:11:48,870 Horietako bakoitzean, guztira, erabiltzaile batek. 297 00:11:48,870 --> 00:11:51,280 >> Baina hori ez da diseinu oso ona, ezta? 298 00:11:51,280 --> 00:11:55,220 Zer ikasle bat da ez bakarrik izen bat badu eta etxe bat, baina, halaber, identifikazio zenbaki bat, 299 00:11:55,220 --> 00:11:57,770 eta telefono zenbakia, eta helbide elektroniko bat, 300 00:11:57,770 --> 00:12:00,280 eta, agian, hasiera orri bat, eta agian Twitter heldulekua, 301 00:12:00,280 --> 00:12:03,730 eta beste edozein xehetasun kopurua Ikasle bat edo pertsona bat lotutako, 302 00:12:03,730 --> 00:12:04,610 oro har. 303 00:12:04,610 --> 00:12:07,720 Nola gehitu hasiko genuke Programa honen funtzionalitate? 304 00:12:07,720 --> 00:12:14,080 >> Beno, modurik errazena bezala sentitzen dut agian izan antzeko zerbait egin nahi, demagun, 305 00:12:14,080 --> 00:12:16,490 int ids STUDENTS. 306 00:12:16,490 --> 00:12:18,380 Beraz, beren identifikazioak guztiak jarri ahal izango dut hor. 307 00:12:18,380 --> 00:12:22,240 Eta gero, zerbait Telefono zenbakiak bezala, 308 00:12:22,240 --> 00:12:24,400 Ez nago ziur nola besterik gabe adierazten duten. 309 00:12:24,400 --> 00:12:30,280 Beraz, dezagun aurrera eta deia besterik hau Twitters STUDENTS, zein 310 00:12:30,280 --> 00:12:33,550 Apur bat arraroa, but-- da eta mordo bat gehiago eremuak. 311 00:12:33,550 --> 00:12:36,360 >> Nik hasi eraginkortasunez kopiatu eta itsatsi hemen. 312 00:12:36,360 --> 00:12:39,416 Eta hori nahiko hazten joan unwieldy nahiko azkar, ezta? 313 00:12:39,416 --> 00:12:42,290 Ez litzateke polita izango da eta ez ziren munduko datu-egitura bat ezagutzen 314 00:12:42,290 --> 00:12:45,600 Ez int bat edo kate bat, baina zerbait gisa maila handiagoa, abstrakzioa, beraz, 315 00:12:45,600 --> 00:12:47,570 esateko, ikasle gisa ezagutzen? 316 00:12:47,570 --> 00:12:50,220 C ez zuen eraiki-etortzen ikasleentzat funtzionaltasuna, 317 00:12:50,220 --> 00:12:52,260 baina zer da, hala nola eman nahi badut? 318 00:12:52,260 --> 00:12:55,640 >> Beno, bihurtzen da, noa ireki structs.h hemen izeneko fitxategi bat, 319 00:12:55,640 --> 00:12:57,090 eta zehazki hori egin dezakezu. 320 00:12:57,090 --> 00:12:58,290 Eta ari gara hau egiten hasteko behar. 321 00:12:58,290 --> 00:13:01,490 Eta P Ezarri Hiru kanpaia azpian, Nik jadanik hau orain egiten ari. 322 00:13:01,490 --> 00:13:05,920 Badira g Laukiz gisa gauza, hala nola ez da: edo g programazio hizkuntza C. batean obalo bat 323 00:13:05,920 --> 00:13:10,570 >> Stanford at Folks horiek inplementatu Datu mota hurbilketa hau erabiliz hemen arabera, 324 00:13:10,570 --> 00:13:13,900 beren datu berriak egin deklaratzen keyword berri bat erabiliz motak 325 00:13:13,900 --> 00:13:16,744 izeneko egiturari eta beste typedef izeneko bat. 326 00:13:16,744 --> 00:13:19,660 Eta hain zuzen ere, nahiz eta sintaxia itxura apur bat gauzak desberdinak 327 00:13:19,660 --> 00:13:23,550 ikusi dugu aurretik, in Printzipioz, super erraza da. 328 00:13:23,550 --> 00:13:25,297 >> Hori esan nahi du "mota bat definitzeko". 329 00:13:25,297 --> 00:13:27,255 Hori bat izango da joan egitura, eta egitura bat 330 00:13:27,255 --> 00:13:29,400 besterik edukiontzi bat bezalakoa da Gauza bat baino gehiago da. 331 00:13:29,400 --> 00:13:31,780 Eta egitura hori joan Izen izeneko kate bat izatea, 332 00:13:31,780 --> 00:13:33,210 eta etxea izeneko kate bat. 333 00:13:33,210 --> 00:13:37,520 Eta dezagun deitu, besterik gabe, erosotasuna, osoa datu-egitura ikaslea honetan. 334 00:13:37,520 --> 00:13:40,320 >> Beraz, oraingoz lortzeko aukera puntu eta koma, orain duzu 335 00:13:40,320 --> 00:13:43,280 Zure datuak propioa sortu Ikasle izeneko mota 336 00:13:43,280 --> 00:13:46,420 orain dela int ondoan dago, eta karroza, eta char, eta katea, 337 00:13:46,420 --> 00:13:50,270 eta g Laukiz, eta g obalatua, eta edozein zenbaki beste gauza pertsona izan asmatu. 338 00:13:50,270 --> 00:13:53,340 >> Beraz, zein da honi buruz erabilgarria orain dela atzera egin badut 339 00:13:53,340 --> 00:13:57,430 0 struct eta amaitzeko hau ezartzeko, eta bertan idatzi nuen 340 00:13:57,430 --> 00:14:02,080 aldez aurretik, hemen, hori guztia nabarituko saihestezina messiness duten 341 00:14:02,080 --> 00:14:05,490 gehitu dut hala gertatzen hasteko zorian zegoen Telefono zenbaki eta Twitters eta guztiak 342 00:14:05,490 --> 00:14:07,370 gauza horiek beste ikasle baten definizioa, 343 00:14:07,370 --> 00:14:11,810 orain succinctly da bilduta ikasleen array bakar gisa. 344 00:14:11,810 --> 00:14:15,500 >> Eta ikasleak horietako bakoitzean orain anitz gauza horren barruan dago. 345 00:14:15,500 --> 00:14:16,930 Beraz, besterik gabe, galdera bat uzten du. 346 00:14:16,930 --> 00:14:19,700 Nola lortu izenaren at duzu, eta etxea, eta identifikazioa eman, 347 00:14:19,700 --> 00:14:21,640 eta, dena dela ere da Ikasle-barrutik? 348 00:14:21,640 --> 00:14:22,930 Super simple, baita. 349 00:14:22,930 --> 00:14:25,730 Sintaxia, baina, ideia soil bat. 350 00:14:25,730 --> 00:14:29,239 >> You indizea besterik array sartu, azken astean, eta hau egin dugu. 351 00:14:29,239 --> 00:14:31,030 Eta zer da argi eta garbi, sintaxia pieza berria? 352 00:14:31,030 --> 00:14:32,590 353 00:14:32,590 --> 00:14:35,880 Just., Horrek esan nahi du "barruko joan egitura eta get izeneko eremuan 354 00:14:35,880 --> 00:14:39,030 izena, lortu house izeneko eremuan, lortuko ikaslea izeneko eremuan. " 355 00:14:39,030 --> 00:14:41,940 >> Beraz, P ezarri Three, bazaude Oraindik ere horretan lanean, 356 00:14:41,940 --> 00:14:44,020 eta jende gehienak oraindik direnean, konturatzen zara gisa duten 357 00:14:44,020 --> 00:14:46,130 gauzak bezala erabiltzen hasteko g laukizuzenei eta g ovals 358 00:14:46,130 --> 00:14:50,201 eta beste gauza ez direla dirudi Aste zero, bat edo bi etorriko da, 359 00:14:50,201 --> 00:14:52,950 konturatzen hori Stanford delako Datu-mota berri batzuk izendatu. 360 00:14:52,950 --> 00:14:56,160 >> Eta hain zuzen ere, hori da zehazki zer zaitugu egin, bai, P ezarri Lau denean, 361 00:14:56,160 --> 00:14:59,880 gauza aurre hasten gara irudiak, bit-mapak, eta gehiago atsegin. 362 00:14:59,880 --> 00:15:02,882 Beraz, hori besterik teaser bat eta bat zer da etorri eredu mental. 363 00:15:02,882 --> 00:15:04,590 Orain, procrastinated dut Pixka bat gaur goizean. 364 00:15:04,590 --> 00:15:09,560 Motatako bitxi zer ikusi izan dut Microsoft wallpaper benetan 365 00:15:09,560 --> 00:15:10,310 gaur egun duen itxura. 366 00:15:10,310 --> 00:15:15,200 Eta bihurtzen da 2006an norbaitek benetan joan zen ia, hain zuzen 367 00:15:15,200 --> 00:15:19,210 errealitatean argazkiak Leku berean zer itxura egun hauetan. 368 00:15:19,210 --> 00:15:21,380 Eremu apur bat estali egiten da orain. 369 00:15:21,380 --> 00:15:24,850 >> Beraz, gaur egun hitz egiten duten irudiak, horrek ekarri itzuli Daven hemen utzi 370 00:15:24,850 --> 00:15:26,890 pantailan eta Nicholas on, eta besterik gogorarazten 371 00:15:26,890 --> 00:15:30,540 duten gurekin bazkaltzeko nahi izanez gero ostiral honetan, gure ohiko URL burua 372 00:15:30,540 --> 00:15:31,440 hemen. 373 00:15:31,440 --> 00:15:33,530 >> Beraz, non off utzi genuen astelehenean? 374 00:15:33,530 --> 00:15:35,140 Arazo hau aurkeztu dugu, ezta? 375 00:15:35,140 --> 00:15:37,610 Hau izan zen, itxuraz zuzen bat swap ezartzeko, 376 00:15:37,610 --> 00:15:40,460 Horren bidez, bi ints hartzen duzu, baten bat b izeneko izeneko bat,, 377 00:15:40,460 --> 00:15:44,130 swap horiek, Laura egin hemen besterik ez bezalakoa esnea eta ura batera eszenatokian, 378 00:15:44,130 --> 00:15:46,820 Aldi baterako bat erabiliz aldakorra, edo kopa huts bat, 379 00:15:46,820 --> 00:15:50,540 horrela jarri b genezake eta batean ere b gauzak gaizki egin gabe. 380 00:15:50,540 --> 00:15:51,560 Aldagai bat erabiliko dugu. 381 00:15:51,560 --> 00:15:52,870 Honez temp izenekoa. 382 00:15:52,870 --> 00:15:55,520 >> Baina zer funtsezkoa izan zen Kode hau astelehenean duen arazoa? 383 00:15:55,520 --> 00:15:57,700 384 00:15:57,700 --> 00:15:58,870 Zein izan zen arazoa? 385 00:15:58,870 --> 00:16:00,106 386 00:16:00,106 --> 00:16:00,605 Bai. 387 00:16:00,605 --> 00:16:01,970 >> IKUSLEEN: leku gehiago sortu behar izaten ditu. 388 00:16:01,970 --> 00:16:04,719 >> DAVID J. MALAN: Hartzen gehiago espazioa, I aldagai bat erabiltzen ari delako, 389 00:16:04,719 --> 00:16:05,400 eta OK. 390 00:16:05,400 --> 00:16:07,300 Hau da egia, baina nago OK esan du. 391 00:16:07,300 --> 00:16:10,030 Grand bit 32 besterik ez da eskema gauza, beraz, ez da big aurre. 392 00:16:10,030 --> 00:16:10,655 Beste pentsamenduak? 393 00:16:10,655 --> 00:16:12,572 IKUSLEEN: besterik trukeak It aldagai lokalean. 394 00:16:12,572 --> 00:16:13,571 DAVID J. MALAN: Zehazki. 395 00:16:13,571 --> 00:16:15,090 Aldagaiak bakarrik trukeak Lokalean. 396 00:16:15,090 --> 00:16:18,173 Delako edonoiz funtzio bat deitu denean Annenberg erretiluak izan nuen 397 00:16:18,173 --> 00:16:19,840 Azken aldiz, behean nagusiak duzu. 398 00:16:19,840 --> 00:16:23,560 Bezain laster izeneko funtzio bat deitu gisa swap, swap ez du x eta y lortu, 399 00:16:23,560 --> 00:16:24,400 jatorrizko balioak. 400 00:16:24,400 --> 00:16:26,392 Zer swap lortu du, ez zuen aldarrikatzen dugu? 401 00:16:26,392 --> 00:16:27,100 IKUSLEEN: kopiak. 402 00:16:27,100 --> 00:16:28,090 DAVID J. MALAN: Beraz, horien kopia. 403 00:16:28,090 --> 00:16:31,120 Beraz, bat eta bi lortzen da, nahi baduzue Gogoratzen adibidez azken aldian plazaratzen, 404 00:16:31,120 --> 00:16:34,730 baina bat eta bi kopia bat diren ongi trukatu. 405 00:16:34,730 --> 00:16:38,550 Baina, azken batean, tamalez, oraindik balio horiek berdinak dira. 406 00:16:38,550 --> 00:16:41,880 Beraz, hau ikusi ahal izango dugu, gure Lagun berriak, zorionez, GDB, 407 00:16:41,880 --> 00:16:45,180 zuk edo TFS eta Ca-en izan duen Izan gidatzen honela aldera. 408 00:16:45,180 --> 00:16:51,210 >> Beraz, swap abisuaren no itxura antzeko dezagun ireki honen itxura this--. 409 00:16:51,210 --> 00:16:54,160 X hasieratu dugu bat, eta bi egiteko. 410 00:16:54,160 --> 00:16:55,620 Inprimatu f-ren mordo bat izan zuen. 411 00:16:55,620 --> 00:16:58,080 Baina orduan, funtsezko deia Hemen izan zen, trukatu zein 412 00:16:58,080 --> 00:17:00,260 zehazki kodea garen da besterik ez duela une bat ikusi. 413 00:17:00,260 --> 00:17:03,180 Zein da zuzena lehen at begiratuan, baina funtzionalki, 414 00:17:03,180 --> 00:17:06,800 Programa honetan ez du funtzionatzen, zeren ez ez da betirako swap x eta y. 415 00:17:06,800 --> 00:17:10,190 >> Beraz, ikus dezagun hau, bero azkar bat hemen GDB, ./noswap batekin sortu. 416 00:17:10,190 --> 00:17:11,867 417 00:17:11,867 --> 00:17:15,200 Erabatekoa informazio mordo bat duen Lortu dut Kontrol L kentzeko oraingoz. 418 00:17:15,200 --> 00:17:17,516 Eta orain, ez naiz joan Aurretik joan eta exekutatu. 419 00:17:17,516 --> 00:17:19,349 Eta zoritxarrez, hori ez zela baliagarria. 420 00:17:19,349 --> 00:17:22,355 Honen barruan programaren ran GDB, araztailea izeneko programa, 421 00:17:22,355 --> 00:17:23,730 baina ez zuen utzi ikutu zidan. 422 00:17:23,730 --> 00:17:26,229 >> Beraz, nola benetan pausatu ahal dut Programa honen barruan exekuzioa? 423 00:17:26,229 --> 00:17:27,410 424 00:17:27,410 --> 00:17:28,329 Beraz apurtu. 425 00:17:28,329 --> 00:17:32,340 Eta ezin edozein apurtzen dut linea-zenbakia, bata, 10, 15. 426 00:17:32,340 --> 00:17:35,530 Baina nik ere sinbolikoki hautsi ahal break nagusiak esanez. 427 00:17:35,530 --> 00:17:38,980 Eta hori break bat hasteko puntua, itxuraz 16 linea nagusian at. 428 00:17:38,980 --> 00:17:40,050 Eta non line 16 da? 429 00:17:40,050 --> 00:17:42,960 Goazen sortu kodeari eta igo noswap izateko. 430 00:17:42,960 --> 00:17:46,930 Eta hain zuzen ere, 16 linea da programan oso lehen. 431 00:17:46,930 --> 00:17:52,130 >> Beraz, gaur egun, aurretik joan naiz eta idatzi oraingoan exekutatu, Sartu, bertan pausatu. 432 00:17:52,130 --> 00:17:53,080 Hargatik Poke inguruan. 433 00:17:53,080 --> 00:17:55,716 Inprimatu x-- zergatik x zero da? 434 00:17:55,716 --> 00:17:56,705 435 00:17:56,705 --> 00:17:57,830 Eta alde batetara dolarraren ikurra. 436 00:17:57,830 --> 00:17:59,725 Hori besterik fancier Programaren erabilera. 437 00:17:59,725 --> 00:18:00,780 438 00:18:00,780 --> 00:18:03,140 Zergatik da x zero une honetan? 439 00:18:03,140 --> 00:18:03,640 Bai. 440 00:18:03,640 --> 00:18:07,061 >> IKUSLEEN: eskuineko aurretik pausatu da 16 linea, ez benetan on line 16. 441 00:18:07,061 --> 00:18:08,060 DAVID J. MALAN: Zehazki. 442 00:18:08,060 --> 00:18:11,630 GDB, berez, pausatu exekuzioa besterik line 16 baino lehen. 443 00:18:11,630 --> 00:18:14,820 Beraz, ez da exekutatu, eta horrek x esan nahi du balioa ezezagun batzuk da. 444 00:18:14,820 --> 00:18:17,150 Eta zortea da hori lortu dugu Zerbait zero atsegin garbi. 445 00:18:17,150 --> 00:18:20,310 Beraz, orain aurrera idazten badut, orain 16 exekutatu da. 446 00:18:20,310 --> 00:18:22,000 Honez for 17 me exekutatu zain. 447 00:18:22,000 --> 00:18:23,400 Dezagun aurrera eta inprimatu x me. 448 00:18:23,400 --> 00:18:24,094 It bat da. 449 00:18:24,094 --> 00:18:25,260 Dezagun aurrera eta inprimatu y me. 450 00:18:25,260 --> 00:18:26,176 Orain zer ikusi behar dut? 451 00:18:26,176 --> 00:18:27,660 452 00:18:27,660 --> 00:18:28,560 >> IKUSLEEN: [INAUDIBLE] 453 00:18:28,560 --> 00:18:29,165 >> DAVID J. MALAN: apur bat ozenago. 454 00:18:29,165 --> 00:18:30,040 >> IKUSLEEN: [INAUDIBLE] 455 00:18:30,040 --> 00:18:30,537 456 00:18:30,537 --> 00:18:32,120 DAVID J. MALAN: ez da adostasun bat nahiko. 457 00:18:32,120 --> 00:18:34,760 Beraz, bai, zabor balio batzuk ikusten ditugu. 458 00:18:34,760 --> 00:18:37,862 Orain, 134514064 han y da. 459 00:18:37,862 --> 00:18:39,320 Beno, besterik ez zabor balio batzuk da. 460 00:18:39,320 --> 00:18:41,350 Nire programa erabiltzen du RAM helburu ezberdinetarako. 461 00:18:41,350 --> 00:18:42,350 Beste funtzio Ez dago. 462 00:18:42,350 --> 00:18:44,040 Beste pertsona nire ordenagailuan barruan idatzi zuen. 463 00:18:44,040 --> 00:18:46,789 Beraz bit horiek erabili dira beste balio, eta zer ikusten dut 464 00:18:46,789 --> 00:18:49,470 zenbait aztarnak da aurretiko memoria hori erabiltzea. 465 00:18:49,470 --> 00:18:53,350 >> Beraz, big aurre ez, zeren eta lasterren hurrengo idazten nuen, eta, ondoren, inprimatu eta, 466 00:18:53,350 --> 00:18:55,640 nik hasieratu hori nahi dut balioa. 467 00:18:55,640 --> 00:18:57,400 Beraz, gaur egun, dezagun aurrera, pixka bat azkarrago. 468 00:18:57,400 --> 00:18:58,540 N hurrengoa da. 469 00:18:58,540 --> 00:18:59,570 Berriro egin dezagun da. 470 00:18:59,570 --> 00:19:00,530 Berriro egin dezagun da. 471 00:19:00,530 --> 00:19:02,404 Baina ez dut nahi hit hemen, badut delako 472 00:19:02,404 --> 00:19:05,110 zer gertatzen da barruan ikusi nahi swap, zer da komandoa? 473 00:19:05,110 --> 00:19:05,520 >> IKUSLEEN: urratsak. 474 00:19:05,520 --> 00:19:06,436 >> DAVID J. MALAN: urratsak. 475 00:19:06,436 --> 00:19:09,800 Beraz, hau urrats me batean funtzioa, baizik eta haren gainean baino. 476 00:19:09,800 --> 00:19:12,270 Eta orain, apur bat críptica da egia esanda, baina hori besterik ez da 477 00:19:12,270 --> 00:19:14,581 me kontatzea naiz lerro 33 orain. 478 00:19:14,581 --> 00:19:15,580 Eta Berriro egin dezagun. 479 00:19:15,580 --> 00:19:16,080 Print temp. 480 00:19:16,080 --> 00:19:17,129 481 00:19:17,129 --> 00:19:20,170 Garbage balioa, une honetan negatiboa, baina horrek zabor-balioa besterik ez oraindik. 482 00:19:20,170 --> 00:19:22,810 Beraz, egin ondoan, inprimatu temp utzi. 483 00:19:22,810 --> 00:19:27,130 Honez 1 hasieratu, zein x-ren balioa, a aka zen. 484 00:19:27,130 --> 00:19:29,110 >> Orain, non gure direla eta x datozen? 485 00:19:29,110 --> 00:19:32,510 Beno, nagusian nabarituko, dugu balio horiek x eta y deitu. 486 00:19:32,510 --> 00:19:34,740 Orduan gainditu dugu honela swap horiek. 487 00:19:34,740 --> 00:19:37,010 X izan zen lehenengo, Koma y. 488 00:19:37,010 --> 00:19:40,020 Eta gero, swap horiek x eta y deitu daiteke. 489 00:19:40,020 --> 00:19:42,630 Baina argitasuna, da Horietako bat, eta b deituz. 490 00:19:42,630 --> 00:19:45,970 Baina a eta b dira orain izango da x eta y, hurrenez kopiak. 491 00:19:45,970 --> 00:19:50,660 >> Beraz, GDB atzera jo dut, temp bada da, gaur egun bat eta da gaur egun ere. 492 00:19:50,660 --> 00:19:56,130 Baina hurrengo egin dut eta orain bada egin inprimatu a, a jadanik mugitu baino gehiago. 493 00:19:56,130 --> 00:20:00,030 Esnea du lehenengoak isurtzen laranja zukua beira, edo alderantziz. 494 00:20:00,030 --> 00:20:04,750 >> Eta hurrengo Berriro egiten badut, eta, orain, out behatu kontrol gisa inprimatu badut, 495 00:20:04,750 --> 00:20:07,687 da oraindik bi, baina b da gaur egun bat. 496 00:20:07,687 --> 00:20:08,770 Egia, oraindik hor da. 497 00:20:08,770 --> 00:20:10,670 Ez zait axola zer temp da. 498 00:20:10,670 --> 00:20:16,850 Baina orain idazten dudanean bezain laster, demagun, atzera joan jarraituko du, gaur egun naiz amaieran dut 499 00:20:16,850 --> 00:20:17,480 programan. 500 00:20:17,480 --> 00:20:20,730 Eta zoritxarrez, x da oraindik inork eta y da oraindik bi. 501 00:20:20,730 --> 00:20:22,272 >> Beraz, zer izan da GDB ez baliagarritasuna? 502 00:20:22,272 --> 00:20:23,980 Ez zuen lagundu me konpondu arazoa per se, 503 00:20:23,980 --> 00:20:26,265 baina, zorionez, lagundu dit Ulertzen konturatu 504 00:20:26,265 --> 00:20:30,000 hori bai, nire logika eskuinera, baina Nire kodea ez da, azken finean izatea 505 00:20:30,000 --> 00:20:31,450 inpaktu iraunkorra. 506 00:20:31,450 --> 00:20:34,570 Beraz, hori arazo bat ari gara Orain konpondu gaur egingo. 507 00:20:34,570 --> 00:20:37,870 >> Baina dezagun Iritsi honen bidez. 508 00:20:37,870 --> 00:20:39,230 String gezur bat da. 509 00:20:39,230 --> 00:20:41,860 Ere, ez da datu-mota bat duten C. existitzen Da 510 00:20:41,860 --> 00:20:44,750 zenbait sinonimo izan beste zerbait egiteko garaia, 511 00:20:44,750 --> 00:20:47,300 eta honela ager dezakegu. 512 00:20:47,300 --> 00:20:53,282 >> Dezagun aurrera eta ireki Programa bat izeneko alderatu-0. 513 00:20:53,282 --> 00:20:56,240 Eta hau idazten out beharrean, ondorengo kodea ibiltzeko hasiko dugu 514 00:20:56,240 --> 00:20:58,040 Jadanik idatzi nuen, baina lerro batzuk besterik ez da. 515 00:20:58,040 --> 00:20:59,570 Beraz, hau da alderatu-0. 516 00:20:59,570 --> 00:21:02,380 Eta lehenengo gauza egiten ari naiz da testu lerro bat lortzeko. 517 00:21:02,380 --> 00:21:05,610 >> Baina konturatu zer naiz lehen aldiz egiten. 518 00:21:05,610 --> 00:21:07,910 Zer desberdina da line 21 argi zer? 519 00:21:07,910 --> 00:21:10,020 520 00:21:10,020 --> 00:21:11,402 Egia esan, minutu bat itxaron. 521 00:21:11,402 --> 00:21:12,110 Hau kopia bi. 522 00:21:12,110 --> 00:21:13,568 Hori ez da, nahiz eta eskuineko programa. 523 00:21:13,568 --> 00:21:14,780 Eskuinera, spoiler alert guztiak. 524 00:21:14,780 --> 00:21:16,890 Ondo da, beraz, inoiz ez dio axola. 525 00:21:16,890 --> 00:21:18,520 Hori etorkizuneko galdera bati erantzuna. 526 00:21:18,520 --> 00:21:21,450 >> Hemen alderatu-0 da, eta ez naiz testu lerro bat lortzeko buruz. 527 00:21:21,450 --> 00:21:22,435 Programa horrek askoz errazagoa. 528 00:21:22,435 --> 00:21:23,560 Beraz, hau erraza da. 529 00:21:23,560 --> 00:21:28,070 This One Week, Aste Bi gauza bezalakoa da une honetan. katea s = GetString. 530 00:21:28,070 --> 00:21:29,700 Orain, berriro esango dut hemen. 531 00:21:29,700 --> 00:21:31,830 katea t = GetString. 532 00:21:31,830 --> 00:21:35,300 Eta gero, azken honetan gauzaren programa, bere izena dioen bezala, 533 00:21:35,300 --> 00:21:37,090 hau da, naiz alderatu eramaten saiatuko da. 534 00:21:37,090 --> 00:21:40,709 >> Beraz, sua bada, lehenengo katea, berdinen = t, orduan naiz 535 00:21:40,709 --> 00:21:42,250 gauza bera idazten duzun esan nahi du. 536 00:21:42,250 --> 00:21:44,291 Bestela, esan noa Idazten duzun gauza desberdinak. 537 00:21:44,291 --> 00:21:45,880 Hargatik konpilatu eta exekutatu programa hau. 538 00:21:45,880 --> 00:21:48,481 Beraz, alderatu zero. 539 00:21:48,481 --> 00:21:48,980 Itxura ona. 540 00:21:48,980 --> 00:21:50,490 No konpilazio akatsak. 541 00:21:50,490 --> 00:21:52,386 >> Dezagun aurrera me now eta idatzi ./compare-0. 542 00:21:52,386 --> 00:21:55,230 543 00:21:55,230 --> 00:21:59,220 Dezagun aurrera eta zerbait esan : Daven eta zerbait: Rob. 544 00:21:59,220 --> 00:22:00,450 Eta idazten dudanean gauza desberdinak. 545 00:22:00,450 --> 00:22:01,250 Orain arte, beraz, ona da. 546 00:22:01,250 --> 00:22:02,680 Programa dirudi zuzena izan. 547 00:22:02,680 --> 00:22:03,880 >> Baina dezagun berriro exekutatu. 548 00:22:03,880 --> 00:22:05,800 Esan zerbait: Gabe. 549 00:22:05,800 --> 00:22:07,140 Esan zerbait: Gabe. 550 00:22:07,140 --> 00:22:08,520 551 00:22:08,520 --> 00:22:09,020 Guztiak eskubidea. 552 00:22:09,020 --> 00:22:10,851 Agian espazio barra sakatu dut edo zerbait funky. 553 00:22:10,851 --> 00:22:11,600 Berriro egin dezagun da. 554 00:22:11,600 --> 00:22:13,020 Beraz 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 Gauza desberdinak. 559 00:22:17,330 --> 00:22:19,430 Beraz, zer gertatzen da? 560 00:22:19,430 --> 00:22:23,200 >> Beraz, bi lerro hauek ditugu kodea, GetString ari birritan deitu. 561 00:22:23,200 --> 00:22:25,760 Eta gero, besterik ez naiz s eta t alderatu nahian. 562 00:22:25,760 --> 00:22:28,370 Baina benetan zer orduan gertatzen da? 563 00:22:28,370 --> 00:22:31,180 Beno, nire idazkera-ren buruz harategia Adibide honetan zertxobait. 564 00:22:31,180 --> 00:22:34,630 Eta dezagun benetan bota hau hemen baino gehiago, baita. 565 00:22:34,630 --> 00:22:37,390 566 00:22:37,390 --> 00:22:45,712 >> Beraz bezalako lerro bat dugu katea s = GetString. 567 00:22:45,712 --> 00:22:48,295 Beraz, besterik gabe, lehena programa hori lerro interesgarri. 568 00:22:48,295 --> 00:22:49,920 569 00:22:49,920 --> 00:22:52,974 Baina zer gertatzen da denbora honetan guztian izan da den gertatzen kanpaia azpian? 570 00:22:52,974 --> 00:22:55,890 Beno, ezkerreko albo katea da, zein aldagai mota batzuk, 571 00:22:55,890 --> 00:22:56,785 eta, s izeneko it. 572 00:22:56,785 --> 00:23:00,019 Beraz, hau da memoria erabiliz ezagutzen dut, edo RAM, nire ordenadorean nolabait. 573 00:23:00,019 --> 00:23:02,060 Beraz noa abstraktuan marraztu karratu gisa. 574 00:23:02,060 --> 00:23:04,820 32 bit, bihurtzen da, baina etorkizunean horretan gehiago. 575 00:23:04,820 --> 00:23:06,410 Eta gero, zer gertatzen da hemen? 576 00:23:06,410 --> 00:23:08,700 >> Beno, jakina, GetString erabiltzaileak kate bat jasotzen du. 577 00:23:08,700 --> 00:23:11,360 Eta GetString lortu Zamyla edo Gabe edo Daven. 578 00:23:11,360 --> 00:23:14,640 Hargatik aukeratu lehenengoa horiek, eta horrek Daven zen. 579 00:23:14,640 --> 00:23:19,174 Beraz, modu eraginkorrean, zer GetString lortu Lehenengo kasu horretan ni D-a-v-e-n izan zen. 580 00:23:19,174 --> 00:23:22,690 581 00:23:22,690 --> 00:23:25,045 Eta gero, zer gehiago egin niri eman ezkutuka? 582 00:23:25,045 --> 00:23:25,920 IKUSLEEN: [INAUDIBLE] 583 00:23:25,920 --> 00:23:28,720 DAVID J. MALAN: Bai, / 0 edo nulua pertsonaia. 584 00:23:28,720 --> 00:23:30,550 Beraz, modu eraginkorrean, kate bat eman dit. 585 00:23:30,550 --> 00:23:34,550 Baina dagoeneko ezagutzen Aurrekoen dugu itxura duen katea array bat besterik ez da 586 00:23:34,550 --> 00:23:37,895 pertsonaien, eta nik amaitu Sentinel pertsonaia berezi hau, / 0. 587 00:23:37,895 --> 00:23:39,220 588 00:23:39,220 --> 00:23:42,310 >> Baina hau egia bada eta hau karratu bat da, 589 00:23:42,310 --> 00:23:44,160 hau da, argi eta garbi laukizuzen askoz handiagoa. 590 00:23:44,160 --> 00:23:46,830 Eta, hain zuzen, hau da, Aldarrikatzen dut, bit 32 bakarrik. 591 00:23:46,830 --> 00:23:49,500 Eta hau da, argi eta garbi, 32 baino gehiago bit, hau da, ziurrenik delako 592 00:23:49,500 --> 00:23:51,583 zortzi gehi zortzi gehi zortzi plus zortzi gehi zortzi, 593 00:23:51,583 --> 00:23:53,320 besterik ez ASCII byte delako. 594 00:23:53,320 --> 00:23:57,030 Nola demontre ari gara moldatzen joan Daven kutxa txiki hau hemen sartu? 595 00:23:57,030 --> 00:23:59,880 >> Beno, zer da benetan egiten GetString? 596 00:23:59,880 --> 00:24:03,680 Beno, sare honek hemen adierazten nire ordenagailuko memorian edo RAM. 597 00:24:03,680 --> 00:24:07,564 Beraz, esan dezagun arbitrarioki bada horietako bakoitzean byte adierazten du, 598 00:24:07,564 --> 00:24:09,730 orduan guk bakoitzak pentsa dezakezu byte helbide bat izatea, 599 00:24:09,730 --> 00:24:13,830 33 Oxford Street, edo 34 bezalako Oxford Street, edo 35 Oxford Street. 600 00:24:13,830 --> 00:24:16,700 >> Beraz, besterik ez bezala etxeetan izan helbideak eta eraikinak izan helbideak 601 00:24:16,700 --> 00:24:19,810 hacerlo byte banakako memoria helbideak edo zenbakiak 602 00:24:19,810 --> 00:24:21,042 duten bakarrean identifikatu. 603 00:24:21,042 --> 00:24:22,000 Orain, hau arbitrarioa da. 604 00:24:22,000 --> 00:24:25,370 Baina simple mantentzeko, noa hamaseitarra erabili besterik ez konbentzio, 605 00:24:25,370 --> 00:24:28,200 baina 0x ezer beste esan nahi du baino "hau hamaseitarra da." 606 00:24:28,200 --> 00:24:31,030 eta nik nahi duten erreklamatzeko joan nintzen "D" amaitzen byte memorian at. 607 00:24:31,030 --> 00:24:34,210 >> Beste ezerk ez den gertatzen lortu nuen memoria, beraz Daven lehen spot lortu 608 00:24:34,210 --> 00:24:35,509 Byte One at. 609 00:24:35,509 --> 00:24:36,800 Honek, beraz, hau da 0x2 izango. 610 00:24:36,800 --> 00:24:37,831 611 00:24:37,831 --> 00:24:38,705 Hau da 0x3 izango. 612 00:24:38,705 --> 00:24:39,840 613 00:24:39,840 --> 00:24:41,800 Hau da 0x4 izango. 614 00:24:41,800 --> 00:24:43,025 Hau da 0x5 izango. 615 00:24:43,025 --> 00:24:44,025 Hau da 0x6 izango. 616 00:24:44,025 --> 00:24:45,560 617 00:24:45,560 --> 00:24:48,290 >> Baina behin pentsatzen hasteko ordenagailuaren zertan ari buruz 618 00:24:48,290 --> 00:24:50,710 kanpaia azpian, to ondoriozta hasteko dezakezu 619 00:24:50,710 --> 00:24:54,960 nola zuk, duela urte batzuk, litzateke Izan C bera inplementatu. 620 00:24:54,960 --> 00:24:58,360 Zer da GetString seguruenik returning-- delako 621 00:24:58,360 --> 00:25:00,946 sentitzen ez bezala itzuli Daven, per se, 622 00:25:00,946 --> 00:25:03,320 zuen ziur aski ez delako to box-- txiki honetan kabitzen 623 00:25:03,320 --> 00:25:05,090 beraz, zer da GetString ziurrenik itzuli? 624 00:25:05,090 --> 00:25:07,958 625 00:25:07,958 --> 00:25:08,920 >> IKUSLEEN: [INAUDIBLE] 626 00:25:08,920 --> 00:25:10,540 >> DAVID J. MALAN: Daven kokalekua. 627 00:25:10,540 --> 00:25:12,770 Eta hori izan da lan hau egiteko geroztik One Week. 628 00:25:12,770 --> 00:25:16,150 Zer GetString da, benetan itzuli ez den kate bat, per se. 629 00:25:16,150 --> 00:25:17,780 Hori da gezur zuri pixka bat. 630 00:25:17,780 --> 00:25:22,520 En helbide itzuli da memoria Kate, berezko helbidea. 631 00:25:22,520 --> 00:25:24,820 Daven 33 Oxford Street at bizi da. 632 00:25:24,820 --> 00:25:29,310 Baina gehiago succinctly, Gavin bizi 0x1 at, helbidea eta zenbakia One. 633 00:25:29,310 --> 00:25:32,280 >> Beraz, zer lortzen honetan jarri kutxa txiki, ondoren, argi eta garbi, 634 00:25:32,280 --> 00:25:35,930 besterik kate hori helbidea da. 635 00:25:35,930 --> 00:25:38,110 Beraz, denbora horretan guztian, honek izan gertatzen da. 636 00:25:38,110 --> 00:25:41,650 Baina zer gertatzen da hau ukituak orain hori guztia izanez gero ditu 637 00:25:41,650 --> 00:25:44,710 barruan zenbaki bat, nor da gelditzeko, programatzailea, 638 00:25:44,710 --> 00:25:47,970 edozein zenbaki jarriz etatik edozein aldagai eta besterik saltoka 639 00:25:47,970 --> 00:25:49,080 zatia memoria hori? 640 00:25:49,080 --> 00:25:51,320 Eta, hain zuzen, ikusiko dugu mehatxu hurrengoan bat da. 641 00:25:51,320 --> 00:25:53,500 >> Baina orain, hau sentitzen nahikoa. 642 00:25:53,500 --> 00:25:55,630 Diot bada, get me a katea, me ematen duzu Daven. 643 00:25:55,630 --> 00:25:57,230 Baina ez duzu benetan ematen dit Daven. 644 00:25:57,230 --> 00:25:59,310 Guztiak me ematen duzu Daven helbide da. 645 00:25:59,310 --> 00:26:04,310 Zelan orduan ziur jakin non Daven hasi eta ends-- 646 00:26:04,310 --> 00:26:07,140 Istorioa hamarkadako weird-- lortzean non Daven hasten eta bukatzen da, 647 00:26:07,140 --> 00:26:10,435 eta, ondoren, hurrengo memorian katea hasten da? 648 00:26:10,435 --> 00:26:11,520 649 00:26:11,520 --> 00:26:13,620 >> Beno, duzu gozamenerako bazabiltza me Daven hasieran, 650 00:26:13,620 --> 00:26:17,230 funtsean, nola ez dakit Bertan, bere izena amaieran da? 651 00:26:17,230 --> 00:26:20,550 Null karaktere berezia duten, zein da guztiak orain garrantzitsuagoa 652 00:26:20,550 --> 00:26:23,040 azpian kateak bada hood dira, besterik gabe identifikatu 653 00:26:23,040 --> 00:26:25,820 bakarrean beren memoria kokapena arabera. 654 00:26:25,820 --> 00:26:28,130 Beraz, denbora horretan guztian, hori da zer gertatzen da. 655 00:26:28,130 --> 00:26:32,470 >> Beraz, oraingoz begiratu dugu Kodea hemen, azaldu 656 00:26:32,470 --> 00:26:35,790 line 26 bug baduzu. 657 00:26:35,790 --> 00:26:39,560 Zergatik Zamyla eta Zamyla desberdina da? 658 00:26:39,560 --> 00:26:41,330 Zergatik Gabe eta Gabe desberdina da? 659 00:26:41,330 --> 00:26:42,154 Bai, berriro. 660 00:26:42,154 --> 00:26:43,390 >> IKUSLEEN: helbideak ezberdinak dituzte. 661 00:26:43,390 --> 00:26:45,931 >> DAVID J. MALAN: Besterik ez delako helbideak desberdinak dituzte. 662 00:26:45,931 --> 00:26:48,820 GetString deitu duzulako berriro, eta horrek hemen egin dut azkar egingo, 663 00:26:48,820 --> 00:26:52,870 hau da, bigarren lerroa, kate bada t, programa hori ere egin nuen bezala, 664 00:26:52,870 --> 00:26:55,030 beste GetString dei berdin. 665 00:26:55,030 --> 00:26:56,370 666 00:26:56,370 --> 00:26:58,670 Hurrengo aldiz esaten diot GetString, noa 667 00:26:58,670 --> 00:27:00,190 oroimenaren desberdinak pusketa bat lortzeko. 668 00:27:00,190 --> 00:27:02,220 >> GetString da onartzen eragilea eskatu 669 00:27:02,220 --> 00:27:03,800 Gero eta gehiago, memoria sistema. 670 00:27:03,800 --> 00:27:07,894 Ez da gauza bera berrerabiltzea joan Sei byte aldi bakoitzean bakarra. 671 00:27:07,894 --> 00:27:09,810 Honez berri bat iritsi memoria zatia, eta horrek 672 00:27:09,810 --> 00:27:12,780 esan t da iritsi hemen baino gehiago, beste balio batzuk. 673 00:27:12,780 --> 00:27:15,380 >> Beraz, ez dut s = berdinen t, ez duzu alderatuz ari 674 00:27:15,380 --> 00:27:17,880 Hau eta A aurka D hau eta V honen aurka. 675 00:27:17,880 --> 00:27:19,588 Hau alderatzen ari zara hau da, aurka 676 00:27:19,588 --> 00:27:24,020 Egia nahiko useful-- useless-- da da, nahiko alferrikakoa, benetan delako 677 00:27:24,020 --> 00:27:25,830 zaintzen non kateak oroimenean daude? 678 00:27:25,830 --> 00:27:26,850 >> Eta, hain zuzen, ez dugu. 679 00:27:26,850 --> 00:27:28,980 Eta ez gara joan hasteko bereziki solidario. 680 00:27:28,980 --> 00:27:34,180 Only den neurrian bugs, eragin dezaketen eta segurtasun mehatxuak borondate sor ditzake 681 00:27:34,180 --> 00:27:36,100 benetan honi buruz zaintzen hasten gara. 682 00:27:36,100 --> 00:27:37,230 Hargatik konpondu arazo hau. 683 00:27:37,230 --> 00:27:39,650 Kontua da, konpondu duzu super besterik gabe. 684 00:27:39,650 --> 00:27:42,600 >> Eta dezagun benetan, I aurretik agerian uzten berriro, zer egingo zenuke 685 00:27:42,600 --> 00:27:47,170 Egin duzu CS50 klase bat bada, eta ezartzea izan duzu 686 00:27:47,170 --> 00:27:48,600 bi kateak aurka konparaketa. 687 00:27:48,600 --> 00:27:51,440 Argi eta garbi, ezin duzu erabili s berdinen = t. 688 00:27:51,440 --> 00:27:54,090 Baina besterik logikoki, nola litzateke katea erkatzen dugu 689 00:27:54,090 --> 00:27:56,370 Kate honek C kodea erabiliz aurka? 690 00:27:56,370 --> 00:27:56,880 Bai. 691 00:27:56,880 --> 00:27:58,780 >> IKUSLEEN: Just egin du begizta [INAUDIBLE] 692 00:27:58,780 --> 00:28:00,670 693 00:28:00,670 --> 00:28:01,670 DAVID J. MALAN: Perfect. 694 00:28:01,670 --> 00:28:02,900 IKUSLEEN: [INAUDIBLE] 695 00:28:02,900 --> 00:28:03,310 DAVID J. MALAN: Bai. 696 00:28:03,310 --> 00:28:05,390 Just erabili loop edo bat begizta edo dena berriz. 697 00:28:05,390 --> 00:28:08,710 Baina besterik oinarrizko ideia aplikatzen bada hau memoria edo array baten zatia da 698 00:28:08,710 --> 00:28:11,590 eta hau da, batetik bestera joateko baino gehiago biak aldi berean. 699 00:28:11,590 --> 00:28:12,960 Eta besterik letrak konparatu. 700 00:28:12,960 --> 00:28:14,260 >> Eta lortu duzun bat izan nahi du gutxi ibili, zeren 701 00:28:14,260 --> 00:28:16,247 nahi ez hatz bestea iragana joan 702 00:28:16,247 --> 00:28:18,080 zeren kate bat da bestea baino luzeagoa. 703 00:28:18,080 --> 00:28:21,380 Beraz, ari den begiratzea nahi zoazen amaierako balioa berezi honetan, nulua. 704 00:28:21,380 --> 00:28:24,017 Baina benetan, izandako amaieran, hori bezain erraza. 705 00:28:24,017 --> 00:28:26,100 Eta Egia, ez dugu behar gurpil asmatu. 706 00:28:26,100 --> 00:28:27,960 Hemen Bi bertsioa da. 707 00:28:27,960 --> 00:28:32,910 Eta hemen zer esan nahi dut hau da: ordez s konparatuz berdinen = t, 708 00:28:32,910 --> 00:28:38,964 Naiz ordez esan, joan katea bada s koma t konparaketa berdinen = 0. 709 00:28:38,964 --> 00:28:40,130 Orain, zer kate alderatu da? 710 00:28:40,130 --> 00:28:43,046 >> Bihurtzen da, funtzio bat da hori C, eta horren helburua bizitzan dator 711 00:28:43,046 --> 00:28:44,650 da bi kateak konparatzeko. 712 00:28:44,650 --> 00:28:48,300 Eta irabiatu alderatu, irakurri badugu bere Man orri edo dokumentazioa edo CS50 713 00:28:48,300 --> 00:28:50,630 erreferentzia, izango da besterik ez dira ez nahastean duen 714 00:28:50,630 --> 00:28:55,730 itzultzen bai negatiboa alderatu zenbakia edo zenbaki positibo bat edo zero, 715 00:28:55,730 --> 00:28:57,660 non zero esan berdina ari dira. 716 00:28:57,660 --> 00:28:58,570 >> Aierua Beraz, besterik ez. 717 00:28:58,570 --> 00:29:00,390 Zer eragin izan dezake bada irabiatu alderatu itzultzen 718 00:29:00,390 --> 00:29:02,110 Balio negatibo edo positibo? 719 00:29:02,110 --> 00:29:02,785 720 00:29:02,785 --> 00:29:04,285 IKUSLEEN: baino handiagoa edo baino gutxiago. 721 00:29:04,285 --> 00:29:05,570 DAVID J. MALAN: Bai, baino handiagoa edo baino gutxiago. 722 00:29:05,570 --> 00:29:08,640 Beraz, osotasunean ordenatzeko nahi baduzu kateak sorta hiztegian batean 723 00:29:08,640 --> 00:29:12,975 azkenean road-- behera egingo dugu potentzialki erabiltzeko funtzio perfektua, 724 00:29:12,975 --> 00:29:15,850 ez da eta ez da egin delako kateak konparatzeko zuretzat, eta esango 725 00:29:15,850 --> 00:29:20,060 egiten duzu bat b aurretik dator, edo ez b alfabetikoki bat lehenago etorri. 726 00:29:20,060 --> 00:29:21,490 Zehazki hori egin ahal izango dugu. 727 00:29:21,490 --> 00:29:23,620 >> Eta konturatu bata bestearen egin nuen Adibide honetan gauza. 728 00:29:23,620 --> 00:29:26,870 Zer gehiago egin du goi mailako aldatu funtzio nagusia honetan sortu? 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 Eta hori beste gezur txikia dela. 732 00:29:31,150 --> 00:29:33,750 Denbora horretan guztian, noiz dituzun dira idazten katea, 733 00:29:33,750 --> 00:29:38,350 dute ezkutuka berridazketa dugu katea char * gisa beraz clang dela benetan 734 00:29:38,350 --> 00:29:39,270 ulertzen duzu. 735 00:29:39,270 --> 00:29:42,450 >> Bestela esanda, CS50.h saioa eta ikusiko dugu azkenean, ikusi, 736 00:29:42,450 --> 00:29:45,950 sinonimo izeneko kate bat egin dugu char * gauza bera da. 737 00:29:45,950 --> 00:29:49,910 Eta orain, jakin duten bakarra *, Testuinguru horretan, gutxienez, 738 00:29:49,910 --> 00:29:51,286 helbide esan nahi du. 739 00:29:51,286 --> 00:29:52,210 >> Zer helbide? 740 00:29:52,210 --> 00:29:56,390 Ba, hain zuzen, esan nuen char *, eta ez int * edo flotatzen *, 741 00:29:56,390 --> 00:30:00,820 esan char * dela char helbidea. 742 00:30:00,820 --> 00:30:06,770 Beraz, kutxa txiki honetan hemen, aka katea, benetan mota char * da, 743 00:30:06,770 --> 00:30:10,490 Horrek, besterik gabe, esaten modu fancy bat da, Kutxa hau helbide bat joango dira. 744 00:30:10,490 --> 00:30:12,430 Eta zer helbide duten erreferentzia egiten? 745 00:30:12,430 --> 00:30:13,780 Dirudienez, char bat. 746 00:30:13,780 --> 00:30:16,410 >> Baina ezin izan erabat dugu int * eta beste gauza batzuk izan. 747 00:30:16,410 --> 00:30:20,790 Baina, oraingoz, char * benetan gehien zuzena eta interes bat. 748 00:30:20,790 --> 00:30:23,310 Beraz, arazo hau va , igotzen den arren, berriz ere. 749 00:30:23,310 --> 00:30:24,830 >> Demagun, ireki dut programa hau. 750 00:30:24,830 --> 00:30:27,670 Ea orain iragartzeko ahal badugu dezagun Zer da kode hori gaizki. 751 00:30:27,670 --> 00:30:31,140 Beraz, programa honetan, kopia-0, naiz Aurretik joan eta berriro deitu joan 752 00:30:31,140 --> 00:30:34,190 GetString eta s balioa gordetzeko. 753 00:30:34,190 --> 00:30:38,800 >> Eta orduan, zergatik am egiten dut, besterik aste iraganeko oroigarri gisa? 754 00:30:38,800 --> 00:30:40,960 GetString hori esan egin dugu batzuetan null itzultzen. 755 00:30:40,960 --> 00:30:42,793 Zer esan nahi ote duen GetString itzultzen null? 756 00:30:42,793 --> 00:30:45,040 757 00:30:45,040 --> 00:30:46,034 Zerbait oker joan. 758 00:30:46,034 --> 00:30:48,950 Agian esan nahi du kate handiegia da big, ordenagailuaren memorian daudelarik. 759 00:30:48,950 --> 00:30:51,724 Super, super, super Gertatzen da gutxitan, baina gerta zitekeen. 760 00:30:51,724 --> 00:30:53,890 Bertan egiaztatu nahi dugu, eta hori guztia egiten ari gara. 761 00:30:53,890 --> 00:30:57,910 >> Ikusiko dugu orain delako, ez baduzu hasteko eskuarki egiaztapena gauzak 762 00:30:57,910 --> 00:31:00,870 null bezala, baliteke benetan joan hasteko 763 00:31:00,870 --> 00:31:03,106 helbideak memorian nahi duten baliogabeak dira. 764 00:31:03,106 --> 00:31:05,980 Eta ari inducing hasteko zoazen gero eta segmentazio matxurak. 765 00:31:05,980 --> 00:31:08,360 Edo Mac edo PC bat, besterik ez ordenagailu bat eragiten zintzilikatzeko 766 00:31:08,360 --> 00:31:10,340 , edo programa bat izozteko potentzialki. 767 00:31:10,340 --> 00:31:14,930 >> Beraz, orain, diotenez, kopia-0.c dut, dut naiz kate horiek kopiatzeko modu joan 768 00:31:14,930 --> 00:31:15,685 lerroa 28. 769 00:31:15,685 --> 00:31:16,850 770 00:31:16,850 --> 00:31:18,750 Eta gero, noa behealdean diotenez 771 00:31:18,750 --> 00:31:21,430 hemen noa horietako bat aldatzeko. 772 00:31:21,430 --> 00:31:22,330 >> Beraz, nabarituko hau. 773 00:31:22,330 --> 00:31:24,370 Gure zaharra lagun strlen deitzen naiz. 774 00:31:24,370 --> 00:31:28,960 Eta besterik ingelesez azaldu lerro hau 34 zer egiten ari da? 775 00:31:28,960 --> 00:31:32,480 Zer t tarte 0 egiten du ezkerreko ordezkatzen. 776 00:31:32,480 --> 00:31:32,980 Bai. 777 00:31:32,980 --> 00:31:34,339 >> IKUSLEEN: t eta behin pertsonaia? 778 00:31:34,339 --> 00:31:35,880 DAVID J. MALAN: t eta behin pertsonaia. 779 00:31:35,880 --> 00:31:36,379 Hori da. 780 00:31:36,379 --> 00:31:40,024 T urteko lehen pertsonaia, nahi dut maiuskulaz bertsioa esleitzeko 781 00:31:40,024 --> 00:31:41,190 t lehenengo pertsonaiaren. 782 00:31:41,190 --> 00:31:43,200 Beraz, hau da kapitalizatuz lehen letra. 783 00:31:43,200 --> 00:31:46,340 Eta gero, oso azken gauza egin nahi dut Programa honen dagoen aldarrikatzen dut hemen 784 00:31:46,340 --> 00:31:50,340 jatorrizkoa, s, eta hemen kopiatu, t da. 785 00:31:50,340 --> 00:31:54,610 >> Baina istorioa oinarrituta dugu besterik kateak benetan zer dira buruz esan, 786 00:31:54,610 --> 00:31:57,520 zer linea 28 benetan , egiten du eta zer da 787 00:31:57,520 --> 00:31:59,405 Emaitzeko bug joan pantailan izan? 788 00:31:59,405 --> 00:32:01,300 789 00:32:01,300 --> 00:32:03,500 >> Beraz, lehenik eta behin, lehen galdera, 28. 790 00:32:03,500 --> 00:32:09,040 Zer da katea t = s benetan egiten? 791 00:32:09,040 --> 00:32:16,430 Hemengo ezkerreko on bada albo hemen katea t = s; 792 00:32:16,430 --> 00:32:19,400 duen kaxa bat ematen dit Hemen eta hemen kutxa bat. 793 00:32:19,400 --> 00:32:25,530 Eta demagun helbide honetan 0x da, demagun, 50 oraingo honetan, arbitrarioki. 794 00:32:25,530 --> 00:32:28,847 Zer esan nahi du kate t = s kanpaia azpian egin? 795 00:32:28,847 --> 00:32:30,340 >> IKUSLEEN: [INAUDIBLE] 796 00:32:30,340 --> 00:32:34,100 >> DAVID J. MALAN: memorian gordetzen aurre ez, beraz, 0x50 ez doa. 797 00:32:34,100 --> 00:32:37,980 Beraz, gaur egun bada, lehenik nahi dut t-en pertsonaia eta, maiuskulaz, 798 00:32:37,980 --> 00:32:39,535 zer naiz eraginkortasunez s egiten? 799 00:32:39,535 --> 00:32:41,300 800 00:32:41,300 --> 00:32:43,450 Benetan gauza bera ari naiz egiten, ezta? 801 00:32:43,450 --> 00:32:47,680 Helbidea 0x50-- bada delako, eta besterik gabe, I ez dute taula gainean tarte handirik hemen, 802 00:32:47,680 --> 00:32:51,750 baina suposatuko hori 0x50 behera hemen, nire ordenagailuaren memoria nonbait. 803 00:32:51,750 --> 00:32:55,825 >> Eta, adibidez, Gabe I Hemen minuskula, hau atsegin dute. 804 00:32:55,825 --> 00:32:57,120 805 00:32:57,120 --> 00:33:01,980 Eta esan dut t tarte 0 kapitalizatuta lortzen. 806 00:33:01,980 --> 00:33:04,860 Beno, t tarte 0 da t lehen hizkia. 807 00:33:04,860 --> 00:33:07,840 Beraz g gutxi dago joan bihurtu G. big Baina arazoa 808 00:33:07,840 --> 00:33:09,410 hau da, zer esan s Ere seinalatu? 809 00:33:09,410 --> 00:33:10,300 >> IKUSLEEN: Gauza bera gertatzen da. 810 00:33:10,300 --> 00:33:11,841 >> DAVID J. MALAN: jakinarazi bera gauza zehatza. 811 00:33:11,841 --> 00:33:16,342 Beraz, azalpen sinple bat agian, sintaxia pixka bat arraroa bada ere. 812 00:33:16,342 --> 00:33:17,050 Beraz, egin dezagun hau. 813 00:33:17,050 --> 00:33:20,210 Egin kopia-0 eta ondoren ./copy-0. 814 00:33:20,210 --> 00:33:21,820 815 00:33:21,820 --> 00:33:24,110 Esan zerbait: Gabe. 816 00:33:24,110 --> 00:33:26,760 Eta zoritxarrez, bai dute orain kapitalizatzen dira horiek, 817 00:33:26,760 --> 00:33:29,500 baina horretarako azpiko Horregatik besterik ez gara 818 00:33:29,500 --> 00:33:32,350 orain helbideak aurre. 819 00:33:32,350 --> 00:33:36,470 >> Beraz, nola hasiko egiten dizuegu address-- Pun ez intended-- 820 00:33:36,470 --> 00:33:39,270 nola aurre hasteko ez dugu arazo jakin hori? 821 00:33:39,270 --> 00:33:44,400 Beno, copy1.c ere, gauzak ez dira joan pixka bat zailagoa lortzeko. 822 00:33:44,400 --> 00:33:49,310 Baina bat erreklamatzeko nuke Irtenbide kontzeptualki sinplea. 823 00:33:49,310 --> 00:33:50,852 >> Beraz, zaila da hasiera batean lortu. 824 00:33:50,852 --> 00:33:53,560 Ez da lehenengo erraza izango da idazten duzun denbora, agian, 825 00:33:53,560 --> 00:33:57,440 baina arazoa dela, bada Besterik gabe, t = s besterik egiten 826 00:33:57,440 --> 00:33:59,694 kopiak helbide, zer, Berriro zuk ezin dut jaso bada, 827 00:33:59,694 --> 00:34:02,110 da konponbidea izango da benetan kate bat kopiatzeko? 828 00:34:02,110 --> 00:34:04,906 829 00:34:04,906 --> 00:34:06,770 >> IKUSLEEN: ziurrenik dugu begizta bat berriro erabili. 830 00:34:06,770 --> 00:34:06,890 >> DAVID J. MALAN: Bai. 831 00:34:06,890 --> 00:34:08,390 Beraz, begizta bat berriro behar du. 832 00:34:08,390 --> 00:34:11,800 Eta kopiatu nahi badugu, zeren katea s kate batean sartzeko, 833 00:34:11,800 --> 00:34:14,120 ziurrenik ere egin nahi dugu pertsonaia by pertsonaia. 834 00:34:14,120 --> 00:34:17,199 Baina arazoa da, bada hau da, jatorriz s, 835 00:34:17,199 --> 00:34:22,159 orain esplizituki hasi behar dugu memoria esleitzean t da. 836 00:34:22,159 --> 00:34:24,320 >> Beste era batera esanda, dezagun marraztu hau azken aldiz. 837 00:34:24,320 --> 00:34:28,659 Hau da, kate s = GetString. 838 00:34:28,659 --> 00:34:30,956 839 00:34:30,956 --> 00:34:32,455 Eta dezagun jarri hau hemen, bai. 840 00:34:32,455 --> 00:34:36,639 841 00:34:36,639 --> 00:34:37,420 Hau GetString da. 842 00:34:37,420 --> 00:34:39,070 843 00:34:39,070 --> 00:34:43,860 Eta gero, zerbait irudian Horrelako da lehen bezala izango, 844 00:34:43,860 --> 00:34:44,360 g-a-b-e-/ 0. 845 00:34:44,360 --> 00:34:47,294 846 00:34:47,294 --> 00:34:48,960 Honen antzeko zerbait apur bat itxura. 847 00:34:48,960 --> 00:34:53,650 Eta s, beraz, hau 0x50 deitzen diogu, eta hori, 51, 52 izango da. 848 00:34:53,650 --> 00:34:54,409 >> Beraz, hau 0x50 da. 849 00:34:54,409 --> 00:34:55,679 850 00:34:55,679 --> 00:34:59,690 Eta gero, egin dut kate t. 851 00:34:59,690 --> 00:35:02,450 Memoria, hori besterik ez da joan ematen dit hau bezalako plaza txiki bat. 852 00:35:02,450 --> 00:35:04,080 Beraz, zer funtsezko urratsa da orain? 853 00:35:04,080 --> 00:35:09,870 S kopiatzeko t sartu nahi badut, zer hutsik egin hemen bete behar dugu? 854 00:35:09,870 --> 00:35:12,050 Edo zer egin behar dugun goi-mailan egin? 855 00:35:12,050 --> 00:35:14,101 856 00:35:14,101 --> 00:35:14,600 Bai? 857 00:35:14,600 --> 00:35:16,200 858 00:35:16,200 --> 00:35:17,020 Norbaitek? 859 00:35:17,020 --> 00:35:17,690 Bai. 860 00:35:17,690 --> 00:35:19,214 >> IKUSLEEN: behar [INAUDIBLE] nahi dugu. 861 00:35:19,214 --> 00:35:21,380 DAVID J. MALAN: Bai, dugu to hau hutsik bete behar. 862 00:35:21,380 --> 00:35:24,340 Ezin dut kopiatu eta gero larriz Gabe izena 863 00:35:24,340 --> 00:35:28,120 sistema eragilearen eskatu arte I beste zatia memoria bat egiteko 864 00:35:28,120 --> 00:35:30,640 hori da behintzat jatorrizko bezain handiak. 865 00:35:30,640 --> 00:35:32,130 Beraz, galdera bat uzten gaitu. 866 00:35:32,130 --> 00:35:36,080 >> Zelan sistema eragilea eskatzen dut ez besterik gabe, apur erakuslea sinple bat 867 00:35:36,080 --> 00:35:38,530 deritzo honetan bezala, bat helbidea, erakuslea bat ez 868 00:35:38,530 --> 00:35:40,980 little box sinple bat hau bezalako kate bat deitu? 869 00:35:40,980 --> 00:35:44,200 Zelan eragilea eskatzen dut memoria zatia handi bat sisteman? 870 00:35:44,200 --> 00:35:48,430 Horrela, orain arte, besterik ez dut atzera ahaztuak GetString deituz zeharka. 871 00:35:48,430 --> 00:35:50,740 Beraz, nola da GetString nahiz eta bere memoria lortzean? 872 00:35:50,740 --> 00:35:53,430 >> Beno, bihurtzen da, ez dagoela beste funtzio hau hemen 873 00:35:53,430 --> 00:35:55,160 egingo dugu orain hasteko erabili. 874 00:35:55,160 --> 00:35:59,780 Orain, itxura modu gehiago críptica than-- eta naiz bakarra nork ikusi ahal hobeto esanda 875 00:35:59,780 --> 00:36:03,150 lerro hau itxura modu gehiago críptica ondoren egin beharko lukete lehen begiratuan. 876 00:36:03,150 --> 00:36:04,650 Baina dezagun aurre egiten ez ezik. 877 00:36:04,650 --> 00:36:07,950 >> Ezkerreko aldean, daukat char * t. 878 00:36:07,950 --> 00:36:13,280 Beraz, ingelesez, dezagun hasteko formulatu jargon teknikoetan esaldiak egokia. 879 00:36:13,280 --> 00:36:19,757 Beraz, hau da esleitzean bat mota char aldagai * izeneko t. 880 00:36:19,757 --> 00:36:21,090 Orain, benetan zer esan nahi du? 881 00:36:21,090 --> 00:36:23,881 >> Beno, hori esan nahi du, zer egingo dut t izeneko aldagai hau jartzen? 882 00:36:23,881 --> 00:36:24,780 883 00:36:24,780 --> 00:36:26,402 Char baten helbide bat. 884 00:36:26,402 --> 00:36:28,360 Beraz, besterik gabe, errazagoa da, zentzuzko modu gehiago 885 00:36:28,360 --> 00:36:29,930 ren ezkerraldean deskribatzeko. 886 00:36:29,930 --> 00:36:32,890 Beraz, lauki hau hemen bakarrik sortzen. 887 00:36:32,890 --> 00:36:34,760 Beraz, eskuineko aldean, ustez, va 888 00:36:34,760 --> 00:36:37,170 ra handiagoa esleitu oroimenaren nola zatia? 889 00:36:37,170 --> 00:36:38,340 Hargatik tease honetan gain. 890 00:36:38,340 --> 00:36:41,131 >> Honez Lehen begiratuan erabatekoa, baina zer gertatzen da barruan hemen? 891 00:36:41,131 --> 00:36:43,740 Lehenik eta behin, ez da malloc, itxuraz gure lagun berria, 892 00:36:43,740 --> 00:36:45,450 "Memoria esleitu". 893 00:36:45,450 --> 00:36:49,560 Beraz, honen argumentua ari gainditu da sartu, beraz, argumentua nahiko handi bat da. 894 00:36:49,560 --> 00:36:50,970 Hargatik tease honetan gain. 895 00:36:50,970 --> 00:36:53,410 >> S strlen, noski, suposatzen the-- 896 00:36:53,410 --> 00:36:54,142 897 00:36:54,142 --> 00:36:55,600 IKUSLEEN: karaktere kopurua. 898 00:36:55,600 --> 00:36:56,710 DAVID J. MALAN: Just s karaktere kopurua. 899 00:36:56,710 --> 00:36:59,040 Beraz s luzera, jatorrizko katea. 900 00:36:59,040 --> 00:37:00,350 Beraz, G-a-b-e. 901 00:37:00,350 --> 00:37:02,320 Beraz, ziurrenik, lau kasu honetan ez da. 902 00:37:02,320 --> 00:37:05,485 Zergatik naiz +1 egiten ondoren S strlen deituz? 903 00:37:05,485 --> 00:37:06,360 IKUSLEEN: [INAUDIBLE] 904 00:37:06,360 --> 00:37:07,590 DAVID J. MALAN: Dela null karaktere berezia. 905 00:37:07,590 --> 00:37:11,260 Galdetu zer luzera Gabe izena, naiz lau esanen. 906 00:37:11,260 --> 00:37:14,480 Kanpaia azpian, nahiz eta, behar dut null karaktere bosgarren byte duten. 907 00:37:14,480 --> 00:37:16,100 Beraz, horregatik +1 egiten ari naiz. 908 00:37:16,100 --> 00:37:21,730 >> Orain badaezpada duzu hau exekutatzen ari programa ez den beste ordenagailu batean, esateko, 909 00:37:21,730 --> 00:37:24,610 CS50 tresnaren, non char baten tamaina 910 00:37:24,610 --> 00:37:26,350 ezberdina izan daiteke nire ordenagailuan propioa 911 00:37:26,350 --> 00:37:30,590 bihurtzen ahal izango dut hau deitu operadorea sizeof, besterik ordenagailu eskatu, 912 00:37:30,590 --> 00:37:32,870 zer baten tamaina da ordenagailu honetan char? 913 00:37:32,870 --> 00:37:37,400 >> Eta biderkatzeko bost honetan Adibidez char baten tamaina, eta haietako 914 00:37:37,400 --> 00:37:40,440 ordenagailu gehienetan will bakar bat, malloc izan 915 00:37:40,440 --> 00:37:44,830 da me big horretarako esleitu joan memoria zatia hemen eskuineko ertzean zehar. 916 00:37:44,830 --> 00:37:47,140 Eta nik to itzultzeko joan funtzio bat da, da, beraz, 917 00:37:47,140 --> 00:37:48,265 niri zer itzultzeko? 918 00:37:48,265 --> 00:37:50,914 919 00:37:50,914 --> 00:37:51,830 IKUSLEEN: helbide? 920 00:37:51,830 --> 00:37:53,709 DAVID J. MALAN: zer helbide? 921 00:37:53,709 --> 00:37:55,250 IKUSLEEN: memoria esleitu da? 922 00:37:55,250 --> 00:37:56,450 DAVID J. MALAN: Of the memoria da esleituko. 923 00:37:56,450 --> 00:37:59,189 Beraz, ideia ez dut, Egia, kode hau amaitzeko da. 924 00:37:59,189 --> 00:38:01,480 Proposatzen noa nik amaitzeko 0x88 at joatea. 925 00:38:01,480 --> 00:38:02,770 926 00:38:02,770 --> 00:38:06,009 Erabat arbitrarioak, baina nonbait 0x50 baino beste, 927 00:38:06,009 --> 00:38:08,800 sistema eragilea delako, zer Windows eta Mac OS niretzat egin, da 928 00:38:08,800 --> 00:38:11,230 ziurtatu ematen ari dela me RAM zatiak ezberdinak. 929 00:38:11,230 --> 00:38:14,210 >> Beraz, honen balioa kode hau da memoria zatia amaitzeko ditzake. 930 00:38:14,210 --> 00:38:16,060 Beraz, hau da amaitzen hemen, 0x88. 931 00:38:16,060 --> 00:38:17,480 932 00:38:17,480 --> 00:38:21,570 Beraz, gaur egun, argi eta garbi, ulertzen dut hori ez da honen berdina da, 933 00:38:21,570 --> 00:38:23,960 tan ari dira seinalatuz delako memoria zatiak ezberdinak. 934 00:38:23,960 --> 00:38:29,980 Beraz, badut orain benetan hau kopiatu nahi urtean, egin zure proposatutako irtenbide utzi. 935 00:38:29,980 --> 00:38:36,870 >> Goazen besterik sortu, begizta bat, eta egin t tarte i s tarte i lortzen. 936 00:38:36,870 --> 00:38:39,760 Orain erabili ahal dudalako array-antzeko izendapen hori, 937 00:38:39,760 --> 00:38:43,390 delako, nahiz eta malloc oso oro bideratzen dit memoria, 938 00:38:43,390 --> 00:38:45,290 memoria besterik Alboko byte da. 939 00:38:45,290 --> 00:38:47,240 Byte, byte, byte, back to back back. 940 00:38:47,240 --> 00:38:50,030 >> Ziur aski, ahal nuen programatzaile gisa array bat bezala tratatzen da eta horrek 941 00:38:50,030 --> 00:38:55,090 esan nahi du erabili ahal izango dut hau azkenik ezagunak kortxete batzuk besterik idazkera. 942 00:38:55,090 --> 00:38:56,462 943 00:38:56,462 --> 00:39:00,020 >> Hargatik pausatu ni han, zeren hau asko da guztiak aldi berean, nahiz eta 944 00:39:00,020 --> 00:39:03,530 laburpena oinarrizko ideia katea da, denbora honetan guztian, 945 00:39:03,530 --> 00:39:05,550 Ez da datu-mota berri bat per se. 946 00:39:05,550 --> 00:39:10,150 Erakuslea deiturikoak bat besterik, pertsonaia baten ezaugarriak, 947 00:39:10,150 --> 00:39:12,650 besterik gabe esan nahi zenbakia da duten giza konbentzio 948 00:39:12,650 --> 00:39:15,350 to 0x zerbait bezala idatzi ohi dugu. 949 00:39:15,350 --> 00:39:18,590 >> Baina zenbaki bat besterik ez da, 33 Oxford Street bezala, 950 00:39:18,590 --> 00:39:20,530 eta hori gertatzen izaten CS eraikin helbidea. 951 00:39:20,530 --> 00:39:22,000 952 00:39:22,000 --> 00:39:23,545 Datu horiek edozein galdera? 953 00:39:23,545 --> 00:39:24,790 954 00:39:24,790 --> 00:39:25,289 Bai? 955 00:39:25,289 --> 00:39:28,530 >> IKUSLEEN: Zergatik egiaztatu dugu t beragatik null? 956 00:39:28,530 --> 00:39:30,740 >> DAVID J. MALAN: Zergatik egiten dugu egiaztatu t null berdina egiteko? 957 00:39:30,740 --> 00:39:33,250 Documentation-- irakurri badugu malloc for question-- handia, 958 00:39:33,250 --> 00:39:37,020 nik to inprimatu fina esan, batzuetan malloc null itzultzeko agian, 959 00:39:37,020 --> 00:39:38,080 besterik GetString bezala. 960 00:39:38,080 --> 00:39:41,820 Eta, hain zuzen, GetString null itzultzen du Aldi berean, malloc null itzultzen bada, 961 00:39:41,820 --> 00:39:43,130 GetString malloc erabiltzen delako. 962 00:39:43,130 --> 00:39:46,400 >> Eta agian OS bada gertatuko, Mac OS, Windows, edozein dela ere, besterik ez da, 963 00:39:46,400 --> 00:39:48,130 zuretzat memoria. 964 00:39:48,130 --> 00:39:49,820 Beraz, zer gertatu da. 965 00:39:49,820 --> 00:39:52,910 >> Eta dezagun beste gauza bat erakusten dit besterik agian putz zure kontuan 966 00:39:52,910 --> 00:39:55,100 edo erabat izan urrunegi line zehar. 967 00:39:55,100 --> 00:39:59,770 Baina Tira me the kopiatzeko begizta bera, 968 00:39:59,770 --> 00:40:05,480 Duela une bat, berreskuratutako honetan. t tarte i s tarte i lortzen. 969 00:40:05,480 --> 00:40:06,740 >> Nice eta erabiltzaileak errespetatzen. 970 00:40:06,740 --> 00:40:09,330 Astea Bi bezala sentitzen berriro. 971 00:40:09,330 --> 00:40:14,920 Baina bertsio hau benetan ahal izango honek, itxura críptica gisa berridatzi. 972 00:40:14,920 --> 00:40:18,280 Izeneko teknika erakuslea da aritmetika, helbidea aritmetika. 973 00:40:18,280 --> 00:40:19,600 Baina zergatik egiten du lan? 974 00:40:19,600 --> 00:40:22,220 >> Orain annoyingly, the C egileek erabaki erabiltzea 975 00:40:22,220 --> 00:40:25,070 * helburu ezberdinetarako ikurra. 976 00:40:25,070 --> 00:40:29,020 Ikusi dugu behin erabiltzen da dagoeneko, char *, horrek esan nahi du "ematen dit aldagai bat 977 00:40:29,020 --> 00:40:31,210 hori eduki joan char helbidea. " 978 00:40:31,210 --> 00:40:33,990 Testuinguru horretan, beraz, char * esan nahi du "ematen dit aldagai bat." 979 00:40:33,990 --> 00:40:40,050 >> Zoritxarrez, gabe * erabiltzen baduzu horren aurrean hitz bat, char bezala, 980 00:40:40,050 --> 00:40:41,905 nik orain deitzen du dereference operadorea. 981 00:40:41,905 --> 00:40:43,530 Eta honen gehiago ikusiko dugu, luze baino lehen. 982 00:40:43,530 --> 00:40:44,930 Baina esan nahi besterik ez da "Hara joan." 983 00:40:44,930 --> 00:40:49,070 Bat esanez bezala, norbait entregatu me bada paper zati batean "33 Oxford Street," 984 00:40:49,070 --> 00:40:53,830 Egiten dut "* 33 Oxford Street," bada, horrek esan nahi "Jaisten errepidea CS eraikina." 985 00:40:53,830 --> 00:40:57,220 >> Beraz, * joan besterik esan nahi ez bada han aurrean hitza ez da. 986 00:40:57,220 --> 00:40:59,100 Beraz, zer da t, argi izan behar du? 987 00:40:59,100 --> 00:41:03,250 t zatia helbidea da horretan eman zen atzera me to memoria. 988 00:41:03,250 --> 00:41:06,650 ak zer, argi izan behar du helbidea da, Adibidez, gure taldea izan da, eztabaidatzen ditudan 989 00:41:06,650 --> 00:41:07,500 minuskulaz gabe of? 990 00:41:07,500 --> 00:41:08,990 991 00:41:08,990 --> 00:41:10,005 s helbidea da horretako 992 00:41:10,005 --> 00:41:11,585 993 00:41:11,585 --> 00:41:12,460 IKUSLEEN: kate hauek. 994 00:41:12,460 --> 00:41:14,126 DAVID J. MALAN: Gabe jatorrizko izena Of. 995 00:41:14,126 --> 00:41:16,660 Beraz helbidea idatzi da zatia memoria hau. 996 00:41:16,660 --> 00:41:22,220 Beraz, esan badut t + i i, iragarki, gure laguna besterik ez zituela. 997 00:41:22,220 --> 00:41:24,770 Besterik indize-aldagai bat da hori up on zerotik errepikatzean 998 00:41:24,770 --> 00:41:26,960 katea s luzera. 999 00:41:26,960 --> 00:41:30,367 Beraz, zero, gero bat izango da, ondoren, bi, hiru, lau. 1000 00:41:30,367 --> 00:41:33,200 Hargatik muntatzen berri horiek Scratch-moduko puzzle piezak, izango bada, 1001 00:41:33,200 --> 00:41:36,140 nahiz eta, berriro ere, sintaxia askoz Scratch baino urrutira. 1002 00:41:36,140 --> 00:41:39,522 Beraz, t helbide + da i da niri emateko 1003 00:41:39,522 --> 00:41:42,480 zenbaki bat, horien delako guztiak garela dira marrazten ditudan hex moduan zenbakiak. 1004 00:41:42,480 --> 00:41:43,560 Baina zenbakiak besterik ez dira. 1005 00:41:43,560 --> 00:41:49,960 >> Beraz, t-helbidea, esan badugu 0x88 zen, zer da 0x88 gehi zero. 1006 00:41:49,960 --> 00:41:51,564 1007 00:41:51,564 --> 00:41:53,980 Oraindik eroso ez bada ere hex oraindik ere, hartu asmatzeko. 1008 00:41:53,980 --> 00:41:54,410 >> IKUSLEEN: Jatorrizkoa. 1009 00:41:54,410 --> 00:41:55,850 >> DAVID J. MALAN: Oraindik 0x88. 1010 00:41:55,850 --> 00:41:58,910 Beraz, zer esan nahi du * 0x88? 1011 00:41:58,910 --> 00:42:02,670 , Esan nahi du "Hara joan" horrek esan nahi du eraginkortasunez, "jarri atzamarra hemen." 1012 00:42:02,670 --> 00:42:06,930 Eta orain, eskuineko eskua bestaldean Espresio hau, * eta ondoren parens, 1013 00:42:06,930 --> 00:42:11,586 s + i z esan nahi du, hau da, jorratuko gora g txikiaren hemen. 1014 00:42:11,586 --> 00:42:16,220 s + 0 da, noski, s, edozein izanda s da. 1015 00:42:16,220 --> 00:42:21,230 >> Beraz, gaur egun, * s, ez da besterik bezalako * 33 Oxford Street esan nahi helbidera joan 1016 00:42:21,230 --> 00:42:22,010 s. 1017 00:42:22,010 --> 00:42:24,170 Beraz, hemen hatz honetan, eskuineko eskua da. 1018 00:42:24,170 --> 00:42:26,050 Beraz, zer ari naiz, zer sartu kopiatu joan? 1019 00:42:26,050 --> 00:42:30,260 Eskubideari buruzko gauza, hau da, gabe, g gutxi hemen, hemen sartu. 1020 00:42:30,260 --> 00:42:32,750 >> Eta beraz, eragina begizta honen lehenengo iterazio, 1021 00:42:32,750 --> 00:42:36,200 , proposatzen duzun bezala, nahiz eta itxura crazy gehiago ezer baino konplexuagoa 1022 00:42:36,200 --> 00:42:42,110 ikusi dugu aurretik, da, besterik gabe, esaten hemen joan eta pertsonaia horren kopia hemen. 1023 00:42:42,110 --> 00:42:44,700 Honez bi leku-mapa bat ematen dizu. 1024 00:42:44,700 --> 00:42:46,130 >> Eta, orain arte honen gehiago ikusiko dugu. 1025 00:42:46,130 --> 00:42:50,600 Baina orain, itxaropena besterik ez da oinarrizko ideia horietako batzuk aurkeztera. 1026 00:42:50,600 --> 00:42:53,550 Eta hain zuzen ere, utzi ditzagun final programa bat hemen, 1027 00:42:53,550 --> 00:42:57,480 eta gero agindu claymation, horrek dena du eskuin egingo. 1028 00:42:57,480 --> 00:42:57,980 Guztiak eskubidea. 1029 00:42:57,980 --> 00:43:01,680 Hargatik up-- ireki ez gara. 1030 00:43:01,680 --> 00:43:02,850 1031 00:43:02,850 --> 00:43:05,440 Hargatik me itzuli beharko dugu Argazki hau luze baino lehen. 1032 00:43:05,440 --> 00:43:08,360 Ireki me Azken adibide hau hemen. 1033 00:43:08,360 --> 00:43:09,440 1034 00:43:09,440 --> 00:43:12,710 >> Hortaz, hona hemen bat super, super da programa hori accomplishes 1035 00:43:12,710 --> 00:43:15,050 duten hauek egiten ditu bizitzan ezer ez. 1036 00:43:15,050 --> 00:43:18,740 Lehen bi aldagai, x deklaratzen da eta y, ez direla oraingoan zenbakiak, 1037 00:43:18,740 --> 00:43:19,240 per se. 1038 00:43:19,240 --> 00:43:20,448 Oraindik ez dute osokoak, per se. 1039 00:43:20,448 --> 00:43:22,899 Itxuraz dira int dute *. 1040 00:43:22,899 --> 00:43:25,690 Beraz, besterik ez edonork, zer esan nahi du Zure aldakorra, zure datu-mota bada, 1041 00:43:25,690 --> 00:43:26,860 mota int * izarra da? 1042 00:43:26,860 --> 00:43:30,240 Hau int baten helbidea da. 1043 00:43:30,240 --> 00:43:31,990 >> Beraz Dut ez daki non da oraindik. 1044 00:43:31,990 --> 00:43:35,150 Besterik gabe esan nahi du "jarri da, azkenean, int hemen helbidea. " 1045 00:43:35,150 --> 00:43:38,340 0x50, 0x88, lekuan bertan memoria, helbide bat dago han. 1046 00:43:38,340 --> 00:43:40,200 Eta hori zer da, y , egon baita joan. 1047 00:43:40,200 --> 00:43:44,920 >> Orain esaten badut x = malloc (sizeof (int)), hau esaten modu fancy bat da, 1048 00:43:44,920 --> 00:43:49,000 hey sistema eragilea, malloc bidez, emaidazu nahikoa memoria tamaina 1049 00:43:49,000 --> 00:43:52,370 Int bat, hau da, ziurrenik, 32 bit edo lau byte izango. 1050 00:43:52,370 --> 00:43:53,680 >> Beraz, zer itzuliko du malloc? 1051 00:43:53,680 --> 00:43:55,250 Malloc helbide bat itzultzen du. 1052 00:43:55,250 --> 00:43:57,020 Beraz, zer da x in get gordetzen ari da? 1053 00:43:57,020 --> 00:44:00,600 Zatia helbide memoria, lau byte, malloc 1054 00:44:00,600 --> 00:44:03,360 besterik niretzat aurkitu galdetuz sistema eragilea. 1055 00:44:03,360 --> 00:44:08,240 >> Orain berriz, lerro lau hemen * x = 42,. 1056 00:44:08,240 --> 00:44:09,990 Just argi izan, zer da hor behera joan? 1057 00:44:09,990 --> 00:44:11,530 Ezkerreko aldean, * x. 1058 00:44:11,530 --> 00:44:13,610 duten * 33 Oxford Street bezala. 1059 00:44:13,610 --> 00:44:15,523 Beraz * x esan zer? 1060 00:44:15,523 --> 00:44:16,450 >> IKUSLEEN: Joan. 1061 00:44:16,450 --> 00:44:17,908 >> DAVID J. MALAN: helbide horretara joan. 1062 00:44:17,908 --> 00:44:20,466 Lekuan zatia duten memoria da, bertara joaten. 1063 00:44:20,466 --> 00:44:21,979 Eta jarri zer ez, noski? 1064 00:44:21,979 --> 00:44:22,520 IKUSLEEN: 42. 1065 00:44:22,520 --> 00:44:23,580 DAVID J. MALAN: 42. 1066 00:44:23,580 --> 00:44:25,650 Ondo da, * y, ideia bera. 1067 00:44:25,650 --> 00:44:26,860 Y en helbide honetara joan. 1068 00:44:26,860 --> 00:44:31,740 Jarri 13 zenbakia ez, baina zer da une y? 1069 00:44:31,740 --> 00:44:33,172 1070 00:44:33,172 --> 00:44:34,630 IKUSLEEN: Ez dago memoria ez da y da. 1071 00:44:34,630 --> 00:44:35,710 DAVID J. MALAN: Ez dago no y memoria da. 1072 00:44:35,710 --> 00:44:38,215 Beraz, zer egiten duen eta, seguruenik, eduki, izan dugu esaten? 1073 00:44:38,215 --> 00:44:38,520 >> IKUSLEEN: Garbage. 1074 00:44:38,520 --> 00:44:39,480 >> DAVID J. MALAN: zabor balio batzuk. 1075 00:44:39,480 --> 00:44:41,320 Orain, zabor balioa zenbaki bat da oraindik. 1076 00:44:41,320 --> 00:44:43,160 Oraindik ezin da helbide bat oker. 1077 00:44:43,160 --> 00:44:45,160 Norbaitek bagina bezala da scribbled zerbait behera, 1078 00:44:45,160 --> 00:44:48,002 eta haren esanahia gisa interpretatu dut kalean behera eraikin batzuk. 1079 00:44:48,002 --> 00:44:50,460 Eta saiatu besterik ez duzu bada joan sartu eraikin batzuk ez duzu jabea, 1080 00:44:50,460 --> 00:44:53,710 edo memoria zatia, batzuetan ez duzu eman zaio, gauza txarrak gerta liteke. 1081 00:44:53,710 --> 00:44:57,740 Computer huts dezake, edo beste batzuk Zehaztu gabeko jokabidea gerta liteke. 1082 00:44:57,740 --> 00:45:01,310 >> Beraz, intro, ondoren, hegazti hau da. 1083 00:45:01,310 --> 00:45:04,290 Oraindik gogoan dut, 20 Zenbait urte bakoitietan geroago, 1084 00:45:04,290 --> 00:45:07,200 non, azkenik, I nengoela erakusleak ulertzen. 1085 00:45:07,200 --> 00:45:09,520 >> Zein da, duzu bada utzi hemen hiru minututan 1086 00:45:09,520 --> 00:45:12,170 eta uste ez dut erakusleak ulertzen, konturatzen 1087 00:45:12,170 --> 00:45:14,410 20 izan dut gogoan crazy arrazoi batzuk urte 1088 00:45:14,410 --> 00:45:17,140 noiz eta zergatik azkenean hondoratu da urtean, nire irakasle batekin eserita 1089 00:45:17,140 --> 00:45:19,501 ikaskide, Nishat Mehta in the Eliot, Jatetxe atzealdean. 1090 00:45:19,501 --> 00:45:21,250 Orain, gogoan dut horregatik hau izan zen 1091 00:45:21,250 --> 00:45:23,920 gaietako I, in bat Bereziki, borrokatu. 1092 00:45:23,920 --> 00:45:26,470 Eta gero, azkenik, bertan klik egin, bezalako gaiak asko esango nuke 1093 00:45:26,470 --> 00:45:27,460 azkenean izango. 1094 00:45:27,460 --> 00:45:32,590 Eta orain, hori sentitzen guztiak egiteko zoriontsuago eta gehiago guztiak konbentzitzen, 1095 00:45:32,590 --> 00:45:35,360 dezagun ere azken begirada bat gure Azken hiru minutu hemen Binky at, 1096 00:45:35,360 --> 00:45:37,675 gure laguna, Nick Parlante Stanford from. 1097 00:45:37,675 --> 00:45:38,910 1098 00:45:38,910 --> 00:45:41,580 >> [Bideo-erreprodukzioa] 1099 00:45:41,580 --> 00:45:42,750 >> -Aizu, Binky. 1100 00:45:42,750 --> 00:45:43,500 Wake up! 1101 00:45:43,500 --> 00:45:45,960 Erakuslea fun denbora da. 1102 00:45:45,960 --> 00:45:47,012 >> -Zer da hori? 1103 00:45:47,012 --> 00:45:48,723 Erakusleak buruz ikasi? 1104 00:45:48,723 --> 00:45:50,580 Oh, GOODY! 1105 00:45:50,580 --> 00:45:53,563 >> Beno, hasteko, ez dut asmatzen ari gara erakusleak pare bat behar izango. 1106 00:45:53,563 --> 00:45:54,390 >> -Ados. 1107 00:45:54,390 --> 00:45:57,930 Kode hau bi erakusleak esleitzen, bertan osokoak seinalatu. 1108 00:45:57,930 --> 00:45:58,430 -Ados. 1109 00:45:58,430 --> 00:46:02,140 Beno, bi erakusleak ikusten dut, baina ez dute ez dirudi ezer seinalatuz izan. 1110 00:46:02,140 --> 00:46:02,980 >> Hori da eskubidea. 1111 00:46:02,980 --> 00:46:05,100 Hasieran, erakusleak ez ezer seinalatu. 1112 00:46:05,100 --> 00:46:08,030 Seinalatu deitzen dira momentu honetan gauza hauek pointees, eta horiek egungo konfiguratzen 1113 00:46:08,030 --> 00:46:09,370 beste urrats bat. 1114 00:46:09,370 --> 00:46:10,220 >> -Oh, Eskuin, eskuin. 1115 00:46:10,220 --> 00:46:10,950 Hori banekien. 1116 00:46:10,950 --> 00:46:12,385 Pointees dira bereizi. 1117 00:46:12,385 --> 00:46:14,315 Er, beraz, nola ez pointee esleitu duzu? 1118 00:46:14,315 --> 00:46:15,340 1119 00:46:15,340 --> 00:46:15,960 >> -Ados. 1120 00:46:15,960 --> 00:46:18,970 Beno, kode hori bideratzen zenbaki oso pointee berri bat, 1121 00:46:18,970 --> 00:46:20,950 eta parte multzo honek x hura seinalatu. 1122 00:46:20,950 --> 00:46:22,050 1123 00:46:22,050 --> 00:46:23,230 >> -Aizu, Itxura hobea. 1124 00:46:23,230 --> 00:46:25,060 Beraz, zerbait egin da. 1125 00:46:25,060 --> 00:46:25,990 >> -Ados. 1126 00:46:25,990 --> 00:46:30,455 Egingo erakuslea x dereference dut 42 zenbakia gordetzeko bere pointee sartu. 1127 00:46:30,455 --> 00:46:32,830 Trick honetarako, behar dut nire Wand dereferencing Magic. 1128 00:46:32,830 --> 00:46:34,130 1129 00:46:34,130 --> 00:46:36,080 >> -Zure Makila magikoa Dereferencing of? 1130 00:46:36,080 --> 00:46:37,357 1131 00:46:37,357 --> 00:46:38,190 Egia hori handia. 1132 00:46:38,190 --> 00:46:39,340 1133 00:46:39,340 --> 00:46:41,080 >> Zer kodea itxura da -Honek. 1134 00:46:41,080 --> 00:46:44,110 Besterik ez dut kopurua, eta [POP] eratu 1135 00:46:44,110 --> 00:46:44,700 >> -Aizu, Begiratu. 1136 00:46:44,700 --> 00:46:46,140 Ez doa. 1137 00:46:46,140 --> 00:46:50,980 >> On x jarraitzen dereference bat egiten -Beraz gezi bere pointee sartzeko. 1138 00:46:50,980 --> 00:46:53,160 Kasu honetan, denda batean 42 hor. 1139 00:46:53,160 --> 00:46:57,710 Hey saiatu hura erabiltzen zenbakia gordetzeko 13 beste erakuslea, y. 1140 00:46:57,710 --> 00:46:58,760 >> -Ados. 1141 00:46:58,760 --> 00:47:03,270 Besterik ez dut joan hona y arte, eta zenbakia 13 set up. 1142 00:47:03,270 --> 00:47:07,930 Eta gero, hartu Wand Dereferencing eta besterik [BUZZ] 1143 00:47:07,930 --> 00:47:08,960 >> -Oh! 1144 00:47:08,960 --> 00:47:09,500 >> -Oh, Hey! 1145 00:47:09,500 --> 00:47:11,090 Horrek ez du funtzionatzen. 1146 00:47:11,090 --> 00:47:15,630 Esan, hegazti, ez dut uste dereferencing y ideia ona da, badakizu delako, 1147 00:47:15,630 --> 00:47:17,850 pointee konfiguratzeko beste urrats bat da. 1148 00:47:17,850 --> 00:47:20,450 Eta ez dut uste inoiz egin dugu. 1149 00:47:20,450 --> 00:47:21,480 >> -Good Puntua. 1150 00:47:21,480 --> 00:47:21,980 -Bai. 1151 00:47:21,980 --> 00:47:25,680 Erakuslea y bideratu dugu, baina ez dugu inoiz ezarri nahi pointee bat seinalatu. 1152 00:47:25,680 --> 00:47:27,190 1153 00:47:27,190 --> 00:47:28,616 >> -Oso Observant. 1154 00:47:28,616 --> 00:47:30,240 -Aizu, Ona ez bilatzen ari zaren, Binky. 1155 00:47:30,240 --> 00:47:33,400 Ezin konpondu da, beraz, y puntu pointee x bera? 1156 00:47:33,400 --> 00:47:34,000 >> -Sure. 1157 00:47:34,000 --> 00:47:36,780 Nire Magic Wand erabili dut erakuslea esleitzeko. 1158 00:47:36,780 --> 00:47:38,740 >> -Da Duten izango da aurretik bezala arazo bat? 1159 00:47:38,740 --> 00:47:39,240 -No. 1160 00:47:39,240 --> 00:47:40,660 Honek ez du pointees ukitzeko. 1161 00:47:40,660 --> 00:47:44,450 Erakuslea bat aldatzen besterik ez da beste gauza bera seinalatu. 1162 00:47:44,450 --> 00:47:45,450 >> -Oh, Ikusten dut. 1163 00:47:45,450 --> 00:47:48,200 X bezala leku berean Orain y puntos. 1164 00:47:48,200 --> 00:47:48,910 Beraz, itxaron. 1165 00:47:48,910 --> 00:47:49,950 Orain, y finkoa da. 1166 00:47:49,950 --> 00:47:51,120 Pointee bat du. 1167 00:47:51,120 --> 00:47:54,510 Beraz, makila dastatu ahal izango dituzu Berriro dereferencing 13 baino gehiago bidaltzeko. 1168 00:47:54,510 --> 00:47:56,510 >> -Uh, OK. 1169 00:47:56,510 --> 00:47:58,160 Hemen doa. [POP] 1170 00:47:58,160 --> 00:47:59,340 >> -Aizu, Hori begiratu. 1171 00:47:59,340 --> 00:48:00,750 Orain y buruzko lanak dereferencing. 1172 00:48:00,750 --> 00:48:04,991 Eta erakusleak partekatzen ari delako pointee bat dela, biek ikusi du 13. 1173 00:48:04,991 --> 00:48:05,490 -Bai. 1174 00:48:05,490 --> 00:48:06,870 Partekatzea, edozein izanda ere. 1175 00:48:06,870 --> 00:48:08,820 Beraz, leku batetik bestera joateko gaur egun? 1176 00:48:08,820 --> 00:48:09,440 >> Oh, begira. 1177 00:48:09,440 --> 00:48:10,830 Oraindik denbora atera dugu. 1178 00:48:10,830 --> 00:48:11,570 >> -But-- 1179 00:48:11,570 --> 00:48:13,530 >> -Just Hiru erakuslea arauak gogoratzeko. 1180 00:48:13,530 --> 00:48:16,560 Zenbakia One, oinarrizko egitura da erakuslea bat duzula, 1181 00:48:16,560 --> 00:48:18,680 eta puntu ezazu pointee bat. 1182 00:48:18,680 --> 00:48:20,640 Baina erakuslea eta pointee bereizi dira, 1183 00:48:20,640 --> 00:48:22,610 eta akats arruntenak da konfiguratzeko erakuslea, 1184 00:48:22,610 --> 00:48:25,000 baina pointee bat emateko ahaztu. 1185 00:48:25,000 --> 00:48:28,170 >> Zenbakia bi, erakuslea dereferencing erakuslea hasten 1186 00:48:28,170 --> 00:48:31,050 eta gainean dagokion gezi jarraitzen bere pointee sartzeko. 1187 00:48:31,050 --> 00:48:33,400 Dakigun bezala, honetan bakarrik lan egiten ez bada 1188 00:48:33,400 --> 00:48:36,270 pointee bat, zein motatako lortzen back zenbakia One araua. 1189 00:48:36,270 --> 00:48:39,000 >> Kopurua hiru, erakusle esleitzeko erakuslea bat hartzen 1190 00:48:39,000 --> 00:48:42,320 eta seinalatu aldatzen da pointee bera erakuslea beste gisa. 1191 00:48:42,320 --> 00:48:44,160 Beraz, esleipena egin ondoren, bi erakusleak 1192 00:48:44,160 --> 00:48:45,910 egingo du pointee bera seinalatu. 1193 00:48:45,910 --> 00:48:47,990 Batzuetan, hori partekatzea du izena. 1194 00:48:47,990 --> 00:48:49,740 Eta hori da dena hor da, benetan. 1195 00:48:49,740 --> 00:48:50,277 Bye-bye orain. 1196 00:48:50,277 --> 00:48:51,110 [END bideo-erreprodukzioa] 1197 00:48:51,110 --> 00:48:52,568 DAVID J. MALAN: Hau CS50 da. 1198 00:48:52,568 --> 00:48:55,110 Duzu datorren astean ikusiko dugu. 1199 00:48:55,110 --> 00:48:56,064