1 00:00:00,000 --> 00:00:00,980 2 00:00:00,980 --> 00:00:04,410 >> [Tónlist spila] 3 00:00:04,410 --> 00:00:11,147 4 00:00:11,147 --> 00:00:12,230 DAVID J. MALAN: Allt í lagi. 5 00:00:12,230 --> 00:00:16,440 Þetta er CS50, og þetta er endir viku 2. 6 00:00:16,440 --> 00:00:18,480 Svo í dag, við erum að fara að halda áfram að líta okkar 7 00:00:18,480 --> 00:00:21,150 hvernig við tákna það undir að hood-- flytja burt 8 00:00:21,150 --> 00:00:23,520 frá tölum eins heiltölur og fleytitölum 9 00:00:23,520 --> 00:00:26,810 og áherslu á strengi og á endanum meira áhugavert forrit. 10 00:00:26,810 --> 00:00:30,140 En við munum líka kíkja á a par af tilteknum lénum problems-- 11 00:00:30,140 --> 00:00:33,620 fyrsta sem mun vera þar dulmál, 12 00:00:33,620 --> 00:00:36,570 listin að spæna upplýsingar, þar sem þú sérð hér að ofan hér 13 00:00:36,570 --> 00:00:41,480 er mynd af Radio Orphan Annie leyndarmál leyniletri hringinn frá fyrra. 14 00:00:41,480 --> 00:00:46,490 >> Þetta er í raun mjög frumstætt mynd og barn-vingjarnlegur formi cryptopgraphy 15 00:00:46,490 --> 00:00:50,590 þar þessi hringur hefur tvær disks-- einn inni og úti. 16 00:00:50,590 --> 00:00:54,740 Og með því að snúa einn af þeim, þú getur meginatriðum stilla upp bréf eins og 17 00:00:54,740 --> 00:00:59,520 gegnum Z með öðrum bréfum eins B með A. Í öðrum orðum, 18 00:00:59,520 --> 00:01:03,730 þú getur bókstaflega snúið stafrófið, þannig að koma upp með a kortlagning frá 19 00:01:03,730 --> 00:01:07,820 bréf til bréf þannig að ef þú vildi senda leynileg skilaboð 20 00:01:07,820 --> 00:01:11,820 að einhver eins og Annie, þú gætir skrifað niður skilaboð og þá snúa 21 00:01:11,820 --> 00:01:15,370 bréf, þar sem, ef þú átt að segja "A," segir þú í staðinn "B" 22 00:01:15,370 --> 00:01:17,280 þú átt að segja "B" þú segir í stað "C" - 23 00:01:17,280 --> 00:01:20,240 eða eitthvað svolítið meira snjall en that-- og þá, að lokum, 24 00:01:20,240 --> 00:01:24,630 svo lengi sem Annie er þetta leyniletri hringur, hún getur afkóðað skeytið. 25 00:01:24,630 --> 00:01:28,540 Nú getur þú manst, í raun, að þetta var notað í mjög fræga mynd sem 26 00:01:28,540 --> 00:01:31,140 spilar auglýsinga nauseum á jól árstíð. 27 00:01:31,140 --> 00:01:32,650 Við skulum taka a líta hér. 28 00:01:32,650 --> 00:01:35,294 29 00:01:35,294 --> 00:01:37,210 RALPHIE PARKER: "Vera það vitað er að allt í stuttu máli 30 00:01:37,210 --> 00:01:41,000 að Ralph Parker er hér með skipaður meðlimur Little Orphan Annie Secret 31 00:01:41,000 --> 00:01:44,860 Hring og er rétt að allir heiður og ávinningur sem koma þar að lútandi. " 32 00:01:44,860 --> 00:01:47,410 >> RALPHIE PARKER (narrating): Undirritað Little Orphan Annie. 33 00:01:47,410 --> 00:01:50,070 Countersigned, Pierre Andre! 34 00:01:50,070 --> 00:01:51,490 Í bleki. 35 00:01:51,490 --> 00:01:55,494 Heiður og hlunnindi, þegar á aldrinum níu. 36 00:01:55,494 --> 00:01:57,402 >> [Tónlist spila] 37 00:01:57,402 --> 00:02:00,470 >> [RADIO umræður] 38 00:02:00,470 --> 00:02:01,470 RALPHIE PARKER: Komdu. 39 00:02:01,470 --> 00:02:02,344 Við skulum fá á við það. 40 00:02:02,344 --> 00:02:06,029 Ég þarf ekki öll þessi djass um smyglara og sjóræningjum. 41 00:02:06,029 --> 00:02:08,820 RADIO announcer: Hlustaðu á morgun nótt fyrir samruna lokið ævintýri 42 00:02:08,820 --> 00:02:11,060 The Black Pirate Ship. 43 00:02:11,060 --> 00:02:14,740 Nú er kominn tími fyrir Annie Leyndarmál skilaboð fyrir þig meðlimi 44 00:02:14,740 --> 00:02:17,110 á Secret Circle. 45 00:02:17,110 --> 00:02:20,700 Mundu börnin, aðeins meðlimir af Annie Secret Circle 46 00:02:20,700 --> 00:02:23,270 geta lesa Leyndarmál Annie. 47 00:02:23,270 --> 00:02:27,270 >> Mundu, Annie er eftir þér. 48 00:02:27,270 --> 00:02:30,060 Setja pinna til B-2. 49 00:02:30,060 --> 00:02:34,004 Hér er message-- 12, 11, 2-- 50 00:02:34,004 --> 00:02:36,503 RALPHIE PARKER (narrating): Ég er í fyrsta leyndarmál fundi mínum. 51 00:02:36,503 --> 00:02:40,041 RADIO announcer: --25, 14, 11, 18, 16-- 52 00:02:40,041 --> 00:02:42,790 RALPHIE PARKER (narrating): Ó, Pierre var í mikilli rödd kvöld. 53 00:02:42,790 --> 00:02:46,110 Ég gæti sagt að í kvöld er Skilaboðin voru mjög mikilvæg. 54 00:02:46,110 --> 00:02:47,930 >> RADIO announcer: --3, 25. 55 00:02:47,930 --> 00:02:49,940 Það er skilaboð frá Annie sjálf. 56 00:02:49,940 --> 00:02:52,182 Mundu, ekki segja neinum. 57 00:02:52,182 --> 00:02:55,077 >> [Panting] 58 00:02:55,077 --> 00:02:57,285 RALPHIE PARKER (narrating): Níutíu sekúndum síðar, er ég 59 00:02:57,285 --> 00:03:00,090 í eina herberginu í að Húsið þar sem drengurinn níu 60 00:03:00,090 --> 00:03:04,380 gæti setið í næði og lesa. 61 00:03:04,380 --> 00:03:04,990 Ah. 62 00:03:04,990 --> 00:03:05,680 "B." 63 00:03:05,680 --> 00:03:06,524 >> [Chuckles] 64 00:03:06,524 --> 00:03:08,684 >> RALPHIE PARKER (narrating): Ég fór til næsta. 65 00:03:08,684 --> 00:03:09,610 "E." 66 00:03:09,610 --> 00:03:11,641 Fyrsta orðið er "að vera." 67 00:03:11,641 --> 00:03:12,140 Já! 68 00:03:12,140 --> 00:03:14,293 Það var að koma auðveldara núna. 69 00:03:14,293 --> 00:03:15,259 "U." 70 00:03:15,259 --> 00:03:16,225 >> [Chuckles] 71 00:03:16,225 --> 00:03:18,157 >> Randy PARKER: Æ, komdu, Ralphie. 72 00:03:18,157 --> 00:03:19,606 Ég verð að fara! 73 00:03:19,606 --> 00:03:21,538 >> RALPHIE PARKER: Ég kem niður, mamma. 74 00:03:21,538 --> 00:03:22,504 Gee whiz. 75 00:03:22,504 --> 00:03:25,402 76 00:03:25,402 --> 00:03:31,220 "T." "O." "Vertu viss til. "" Vertu viss um að "hvað? 77 00:03:31,220 --> 00:03:33,981 Hvað var Little Orphan Annie að reyna að segja? "Vertu viss um að" hvað? 78 00:03:33,981 --> 00:03:35,522 Móðir: Ralphie, Randy hefur got til að fara. 79 00:03:35,522 --> 00:03:36,735 Verður þú vinsamlegast koma út? 80 00:03:36,735 --> 00:03:38,190 >> RALPHIE PARKER: Allt í lagi, mamma! 81 00:03:38,190 --> 00:03:39,787 Ég kem út! 82 00:03:39,787 --> 00:03:41,995 RALPHIE PARKER (narrating): Ég var að fá nær nú. 83 00:03:41,995 --> 00:03:43,370 Spennan var skelfilegt. 84 00:03:43,370 --> 00:03:44,794 Hvað var það? 85 00:03:44,794 --> 00:03:47,656 Örlög jörðinni getur hanga í jafnvægi. 86 00:03:47,656 --> 00:03:50,518 >> Móðir: Ralphie, Randy fékk að fara! 87 00:03:50,518 --> 00:03:53,635 >> RALPHIE PARKER: Ég kem strax út, gráta upphátt! 88 00:03:53,635 --> 00:03:55,343 RALPHIE PARKER (Narrating): Næstum þarna! 89 00:03:55,343 --> 00:03:56,520 Fingur mína flaug! 90 00:03:56,520 --> 00:03:58,500 Hugur minn var stál gildru. 91 00:03:58,500 --> 00:03:59,850 Sérhver svitahola titrað. 92 00:03:59,850 --> 00:04:01,806 Það var nánast ljóst! 93 00:04:01,806 --> 00:04:02,773 Já! 94 00:04:02,773 --> 00:04:03,273 Já! 95 00:04:03,273 --> 00:04:03,773 Já! 96 00:04:03,773 --> 00:04:04,740 Já! 97 00:04:04,740 --> 00:04:10,250 >> RALPHIE PARKER: "Vertu viss að drekka Ovaltine þína. " 98 00:04:10,250 --> 00:04:10,750 Ovaltine? 99 00:04:10,750 --> 00:04:14,864 100 00:04:14,864 --> 00:04:17,539 A crummy auglýsing? 101 00:04:17,539 --> 00:04:19,439 >> [Tónlist spila] 102 00:04:19,439 --> 00:04:21,724 >> RALPHIE PARKER: Andskotinn. 103 00:04:21,724 --> 00:04:23,460 >> [Book] 104 00:04:23,460 --> 00:04:27,070 >> DAVID J. MALAN: Svo að þá er svipinn á hvaða dulmál 105 00:04:27,070 --> 00:04:29,880 getur verið fyrir this-- a drekka úr fyrra. 106 00:04:29,880 --> 00:04:30,900 Svo fljótur tilkynning. 107 00:04:30,900 --> 00:04:33,410 Ef þú ert frjáls þetta Föstudagur á 1:15 og vildi 108 00:04:33,410 --> 00:04:36,610 eins og til að tengja okkur fyrir CS50 hádegismatur höfuð á þessa slóð hér. 109 00:04:36,610 --> 00:04:38,080 Fyrstur kemur, fyrstur fær eins og venjulega. 110 00:04:38,080 --> 00:04:41,840 En með tímanum, munum við ganga úr skugga um að mest einhver sem langar til að taka þátt 111 00:04:41,840 --> 00:04:43,640 getur áætlun-vitur. 112 00:04:43,640 --> 00:04:45,170 >> Svo strengir. 113 00:04:45,170 --> 00:04:47,940 Við höfum Zamyla-- Hvern þú hefur nú hitt líklegast 114 00:04:47,940 --> 00:04:50,750 í Vandamál Set 1-- sem nafn er stafsett svona. 115 00:04:50,750 --> 00:04:53,570 Og ráð fyrir að þú slóst nafnið hennar í tölvuforriti sem er 116 00:04:53,570 --> 00:04:55,710 nota eitthvað eins getString. 117 00:04:55,710 --> 00:04:57,890 Til að sækja þessir mínútum, hvernig 118 00:04:57,890 --> 00:05:01,620 eigum við að fara um hönd a band, orð, málsgrein, 119 00:05:01,620 --> 00:05:03,960 eða fleiri stafi eins og þessir hér? 120 00:05:03,960 --> 00:05:06,790 >> Við töluðum síðast um heiltölur og vandamál 121 00:05:06,790 --> 00:05:09,960 að koma með heiltölu flæða og fleytitölum 122 00:05:09,960 --> 00:05:12,190 og vandamál sem koma innan nákvæmni. 123 00:05:12,190 --> 00:05:16,080 Með strengi, við amk hafa aðeins meiri sveigjanleika 124 00:05:16,080 --> 00:05:17,970 vegna strings-- bara í alvöru world-- 125 00:05:17,970 --> 00:05:19,790 getur verið ansi handahófskennt lengd. 126 00:05:19,790 --> 00:05:21,055 Mjög stutt, nokkuð lengi. 127 00:05:21,055 --> 00:05:23,680 En jafnvel þá, við erum að fara að finna að tölvur geta stundum 128 00:05:23,680 --> 00:05:27,200 keyra út af minni og ekki einu sinni geyma nógu stór band. 129 00:05:27,200 --> 00:05:30,840 >> En nú, við skulum byrja að sjón band sem eitthvað í þessum kassa 130 00:05:30,840 --> 00:05:31,340 hér. 131 00:05:31,340 --> 00:05:36,410 Svo sex slíkar kassar, hver sem táknar staf eða "bleikju." 132 00:05:36,410 --> 00:05:40,646 Svo muna að "char" - c-h-a-r-- er einn af the innbyggður-í gagnatög í C 133 00:05:40,646 --> 00:05:43,520 Og hvað er gott er að þú getur notað þessi tegund af eins og a byggja blokk, 134 00:05:43,520 --> 00:05:47,880 ráðgáta stykki, ef þú vilt, til að mynda stærri gerð af gögnum sem við munum halda áfram 135 00:05:47,880 --> 00:05:49,410 að hringja í "band". 136 00:05:49,410 --> 00:05:53,650 >> Nú, hvað er gagnlegt um að hugsa um hluti eins og strengi á þennan hátt? 137 00:05:53,650 --> 00:05:57,720 Jæja, það kemur í ljós að við getum reyndar nýta þessa uppbyggingu 138 00:05:57,720 --> 00:06:01,420 að í raun og veru sjá einstaka stafi í ansi einfaldan hátt. 139 00:06:01,420 --> 00:06:04,099 Ég ætla að fara á undan og búa til skrá sem heitir "stringzero.c," 140 00:06:04,099 --> 00:06:05,765 en þú getur hringt í það hvað sem þú vilt. 141 00:06:05,765 --> 00:06:08,500 Og á heimasíðu námskeiðsins er þegar þetta dæmi fyrirfram, 142 00:06:08,500 --> 00:06:10,430 svo þú þarft ekki að slá allt út. 143 00:06:10,430 --> 00:06:13,820 >> Og ég ætla að fara á undan og fyrst að gera INT helstu tóm. 144 00:06:13,820 --> 00:06:15,980 Og innan fárra daga, Við munum byrja að stríða í sundur 145 00:06:15,980 --> 00:06:19,070 hvað tómarúmið er hér, af hverju það er int hlið helsta, og svo framvegis. 146 00:06:19,070 --> 00:06:21,180 En nú skulum við halda áfram að afrita líma það. 147 00:06:21,180 --> 00:06:23,455 >> Ég ætla að lýsa yfir band sem heitir s. 148 00:06:23,455 --> 00:06:26,920 Og ég ætla að fara aftur frá GetString hvað sem notandinn slær í. 149 00:06:26,920 --> 00:06:29,170 Þetta er að fara til vera a einfaldur program, engar leiðbeiningar, 150 00:06:29,170 --> 00:06:31,336 Ég ætla bara að fara að blindni ráð fyrir að notandinn veit 151 00:06:31,336 --> 00:06:32,600 hvað á að gera til að halda það einfalt. 152 00:06:32,600 --> 00:06:34,220 >> Og nú er ég að fara að hafa til hliðar. 153 00:06:34,220 --> 00:06:37,450 Og inni fyrir lykkju ég er fara að hafa int ég fær núll. 154 00:06:37,450 --> 00:06:40,660 Og ég er, aftur, bara venju, vísitölu breytu fyrir talningu, 155 00:06:40,660 --> 00:06:42,350 en ég gæti kalla þetta hvað sem ég vil. 156 00:06:42,350 --> 00:06:46,275 Ég ætla að gera ég er minna than-- vel Nafn Zamyla er sex stafir að lengd. 157 00:06:46,275 --> 00:06:48,150 Þannig að ég ætla að erfitt kóða að það nú. 158 00:06:48,150 --> 00:06:49,730 >> Og svo ég ++. 159 00:06:49,730 --> 00:06:53,190 Og nú inni af þessum hrokkið axlabönd Ég ætla að gera printf, 160 00:06:53,190 --> 00:06:55,460 og ég vil að prenta einn eðli í einu. 161 00:06:55,460 --> 00:06:58,227 Þannig að ég ætla að nota% c fyrir kannski í fyrsta skipti. 162 00:06:58,227 --> 00:07:00,560 Og þá vil ég að prenta hvert eðli í sér línu. 163 00:07:00,560 --> 00:07:02,550 Þannig að ég ætla að fara að setja upp smá sviga n þar. 164 00:07:02,550 --> 00:07:03,640 Loka vitna. 165 00:07:03,640 --> 00:07:06,250 >> Og nú vil ég að gera eitthvað hérna. 166 00:07:06,250 --> 00:07:10,610 Ég vil að prenta út sérstakur bréf í band, 167 00:07:10,610 --> 00:07:13,670 s, sem ég er að iterating frá núll á allt að sex. 168 00:07:13,670 --> 00:07:17,150 Með öðrum orðum, ég vil prenta i'th eðli s. 169 00:07:17,150 --> 00:07:18,420 Nú hvernig get ég gert þetta? 170 00:07:18,420 --> 00:07:21,550 >> Jæja líkt og kassa í umboð hér, 171 00:07:21,550 --> 00:07:25,560 konar, töfra upp hugmynd um box stafir, getur þú álíka gert það 172 00:07:25,560 --> 00:07:32,630 setningafræðilega í C með því einfaldlega að skilgreina, Ég vil að prenta út s 's i'th staf. 173 00:07:32,630 --> 00:07:35,640 Notkun hornklofum á lyklaborðinu tölvunnar 174 00:07:35,640 --> 00:07:38,910 að á bandarískum lyklaborðið almennt yfir takkann aftur þinn. 175 00:07:38,910 --> 00:07:42,630 >> Svo er þetta ekki alveg rétt enn, eins og þú gætir hafa tekið eftir. 176 00:07:42,630 --> 00:07:44,780 En ég ætla að hvers konar blindni sækja fram hér. 177 00:07:44,780 --> 00:07:47,020 Og ég ætla að gera að gera band 0. 178 00:07:47,020 --> 00:07:50,860 En áður en ég geri þetta, við skulum sjá hvort við getur ekki ráð nokkrar algengar mistök. 179 00:07:50,860 --> 00:07:52,844 Er þetta að fara að safna saman? 180 00:07:52,844 --> 00:07:54,510 Nei, ég er að missa allt fullt af hlutum. 181 00:07:54,510 --> 00:07:55,280 Bókasöfn ég heyrði. 182 00:07:55,280 --> 00:07:58,480 >> Svo sem haus skrár gæti ég vil bæta við hér? 183 00:07:58,480 --> 00:07:59,205 Já. 184 00:07:59,205 --> 00:08:01,580 >> Áhorfendur: Þú þarft staðall I / O [inaudible] 185 00:08:01,580 --> 00:08:02,663 >> DAVID J. MALAN: Excellent. 186 00:08:02,663 --> 00:08:06,060 Þannig að ég þarf staðall I / O. Fyrir hvað Tilgangur vil ég staðall I / O? 187 00:08:06,060 --> 00:08:06,670 Fyrir printf. 188 00:08:06,670 --> 00:08:09,220 Svo er meðal annars stdio.h. 189 00:08:09,220 --> 00:08:13,490 Og þú leggur líka að ég er meðal annars sem CS50 bókasafn til hvers? 190 00:08:13,490 --> 00:08:14,650 Til að fá strengi. 191 00:08:14,650 --> 00:08:17,780 Þannig að við munum sjá hvað Bókasafnið CS50 er að gera 192 00:08:17,780 --> 00:08:19,260 að búa til þessa hugmynd um streng. 193 00:08:19,260 --> 00:08:21,930 En nú, þú geta hugsa bara um það eins og raunveruleg gögn tegund. 194 00:08:21,930 --> 00:08:23,596 >> Svo það virðist vera smá þrifin upp. 195 00:08:23,596 --> 00:08:27,060 Og nú er ég að fara að fara á undan og örugglega ekki gera band 0. 196 00:08:27,060 --> 00:08:27,700 Unnin. 197 00:08:27,700 --> 00:08:28,370 Svo er það gott. 198 00:08:28,370 --> 00:08:32,799 Svo ./string0 láta mig súmma inn svo við getum sjá nánar hvað er að gerast. 199 00:08:32,799 --> 00:08:33,850 Enter. 200 00:08:33,850 --> 00:08:37,789 Z-A-M-Y-L-A koma inn í. 201 00:08:37,789 --> 00:08:39,440 Og við höfum prentað á nafn Zamyla er. 202 00:08:39,440 --> 00:08:40,409 >> Svo er það nokkuð gott. 203 00:08:40,409 --> 00:08:43,220 Svo nú skulum fara á undan og keyra þetta forrit aftur, 204 00:08:43,220 --> 00:08:45,659 og slá út Daven er fullt nafn. 205 00:08:45,659 --> 00:08:46,450 Óvart, óvart. 206 00:08:46,450 --> 00:08:48,021 Enter. 207 00:08:48,021 --> 00:08:48,520 Hmm. 208 00:08:48,520 --> 00:08:51,750 Við höfum ekki prentað Daven er fullt fornafn rétt. 209 00:08:51,750 --> 00:08:54,250 Nú ætti þetta að vera augljóst í hyggja vegna þess hvað, 210 00:08:54,250 --> 00:08:57,010 konar, heimskur hönnun ákvörðun? 211 00:08:57,010 --> 00:08:59,590 >> Já, erfitt dulmáli ég sex inni á minn fyrir lykkju. 212 00:08:59,590 --> 00:09:01,610 Nú gerði ég það bara vegna þess að Ég vissi nafn Zamyla er 213 00:09:01,610 --> 00:09:02,776 ætlaði að vera sex stafir. 214 00:09:02,776 --> 00:09:04,720 En vissulega er þetta ekki almenn lausn. 215 00:09:04,720 --> 00:09:07,720 Svo kemur í ljós að við getum virk reikna út lengd streng 216 00:09:07,720 --> 00:09:10,440 því að hringja í aðgerð sem kallast strlen. 217 00:09:10,440 --> 00:09:12,840 >> Aftur, vísvitandi succinctly heitir bara 218 00:09:12,840 --> 00:09:14,450 til að gera það auðvelt meira að slá. 219 00:09:14,450 --> 00:09:17,170 En það er samheiti við fá lengd band. 220 00:09:17,170 --> 00:09:23,190 Ég ætla að fara aftur í flugstöðinni minn glugga og aftur að keyra þýðanda. 221 00:09:23,190 --> 00:09:24,170 En það er að öskra á mig. 222 00:09:24,170 --> 00:09:29,130 Óbeint lýsa virka bókasafn strlen með gerð óundirritaður int const-- 223 00:09:29,130 --> 00:09:29,780 Ég er glataður. 224 00:09:29,780 --> 00:09:30,590 Alveg. 225 00:09:30,590 --> 00:09:32,940 >> Svo, sérstaklega þar sem þinn Augun byrja að gljáa yfir 226 00:09:32,940 --> 00:09:36,000 með villa skilaboð eins og þetta, áherslur heiðarlega á fyrstu orðum. 227 00:09:36,000 --> 00:09:38,590 Við vitum að vandamálið er í lína 8, eins og sýnt er hér. 228 00:09:38,590 --> 00:09:40,500 Og það er í band-0.c. 229 00:09:40,500 --> 00:09:43,580 Óbeint lýsa virka bókasafn strlen. 230 00:09:43,580 --> 00:09:47,000 Svo það er almennt að fara að vera fyrirmynd í villa skilaboð. 231 00:09:47,000 --> 00:09:49,190 Óbeint lýsa eitthvað. 232 00:09:49,190 --> 00:09:53,250 >> Svo í stuttu máli, hvað á ég virtist hafa gert með tilliti til línu 8, hér. 233 00:09:53,250 --> 00:09:56,880 Hvað gæti verið lausn að vera jafnvel ef þú hefur aldrei notað strlen þig? 234 00:09:56,880 --> 00:09:58,907 >> Áhorfendur: Hluti af mismunandi bókasafni? 235 00:09:58,907 --> 00:10:00,740 DAVID J. MALAN: Hluti af mismunandi safni. 236 00:10:00,740 --> 00:10:02,400 Svo það er lýst, svo að segja. 237 00:10:02,400 --> 00:10:07,510 Það er getið í sumum skrá annað en stdio.h og CS50.h. 238 00:10:07,510 --> 00:10:09,179 Nú þar sem það er skilgreint? 239 00:10:09,179 --> 00:10:12,220 Til að vera heiðarlegur, þú hefur annað hvort bara veit þetta burt the toppur af þinn höfuð, 240 00:10:12,220 --> 00:10:13,640 eða þú Google það og finna út. 241 00:10:13,640 --> 00:10:18,150 Eða vita þetta, ég hef hafið starfsemi í CS50 Tæki í flugstöðinni program, þar sem 242 00:10:18,150 --> 00:10:22,200 er bara stór, fullur skjár útgáfa af hvað er í botni glugga gedit er. 243 00:10:22,200 --> 00:10:24,970 >> Og það kemur í ljós að það er álíka gagnorðar stjórn, sem heitir 244 00:10:24,970 --> 00:10:29,280 maður fyrir handbók, þar sem ef þú slærð inn nafn á virka og ýttu á Enter, 245 00:10:29,280 --> 00:10:32,240 þú munt fá aftur nokkuð Bogagöng skjöl. 246 00:10:32,240 --> 00:10:35,299 Það er bara texti sem almennt lítur smá eitthvað eins og this. 247 00:10:35,299 --> 00:10:37,090 Það er svolítið yfirþyrmandi við fyrstu sýn. 248 00:10:37,090 --> 00:10:39,048 En hreinskilnislega að ég ætla að Augu mín gljáa yfir 249 00:10:39,048 --> 00:10:41,930 og aðeins áherslu á þann hluta Mér þykir vænt um í augnablikinu. 250 00:10:41,930 --> 00:10:42,780 >> Sem er þetta. 251 00:10:42,780 --> 00:10:45,470 Sem lítur að byggingu eins eitthvað sem ég er kunnugur. 252 00:10:45,470 --> 00:10:48,080 Reyndar maðurinn síðu, svo að tala, mun segja þér 253 00:10:48,080 --> 00:10:51,590 í hvaða haus skrá aðgerð eins strlen er skilgreind. 254 00:10:51,590 --> 00:10:54,170 Þannig að ég ætla að fara aftur núna í gedit. 255 00:10:54,170 --> 00:10:59,070 Og ég ætla að fara á undan og bæta hér #include 256 00:10:59,070 --> 00:11:00,480 og vista skrána. 257 00:11:00,480 --> 00:11:04,300 >> Ég ætla að hreinsa skjáinn með Control L Ef þú hefur verið að velta fyrir mér. 258 00:11:04,300 --> 00:11:08,210 Og ég ætla að koma aftur að keyra make string.0, safnar í þetta sinn. 259 00:11:08,210 --> 00:11:11,790 ./string.0 Zamyla. 260 00:11:11,790 --> 00:11:15,020 Það virtist virka Leyfðu mér að fara undan og endursýning það með Davenport. 261 00:11:15,020 --> 00:11:15,860 Enter. 262 00:11:15,860 --> 00:11:17,730 Og það líka, virtist virka. 263 00:11:17,730 --> 00:11:21,220 >> Svo við getum gera a lítill betri en þetta, þó getum við byrjað að snyrtilegu hluti 264 00:11:21,220 --> 00:11:23,257 upp réttlátur a lítill hluti. 265 00:11:23,257 --> 00:11:25,590 Og ég ætla að í raun og veru kynna einn annar hlutur núna. 266 00:11:25,590 --> 00:11:28,930 Ég ætla að fara á undan og vista þetta í aðra skrá. 267 00:11:28,930 --> 00:11:31,770 Og ég ætla að fara að hringja þessa skrá string1.c bara 268 00:11:31,770 --> 00:11:34,620 til að vera í samræmi við kóða þú munt vera fær til finna á netinu. 269 00:11:34,620 --> 00:11:37,050 >> Og við skulum einbeita sér á þann nákvæmlega sama kóða. 270 00:11:37,050 --> 00:11:39,000 Það kemur í ljós að ég hef verið eins konar taka 271 00:11:39,000 --> 00:11:42,600 fyrir veitt þá staðreynd að minn laptop, og í snúa, CS50 tæki 272 00:11:42,600 --> 00:11:47,450 hefur a einhver fjöldi af minni, fullt af RAM, a einhver fjöldi af bæti af plássi 273 00:11:47,450 --> 00:11:48,920 þar sem ég get geymt strengi. 274 00:11:48,920 --> 00:11:53,560 >> En raunin ef ég slóst lengi nóg, og nóg mínútum, 275 00:11:53,560 --> 00:11:56,170 Ég gat í orði tegund í fleiri stafi 276 00:11:56,170 --> 00:11:58,830 en tölvunni minni líkamlega hefur minni fyrir. 277 00:11:58,830 --> 00:11:59,830 Og þetta er erfitt. 278 00:11:59,830 --> 00:12:03,050 Líkt og int getur aðeins telja svo hátt, í orði, 279 00:12:03,050 --> 00:12:06,600 þú getur aðeins troða svo margir stafir í RAM tölvunnar eða Random 280 00:12:06,600 --> 00:12:07,920 Access Memory. 281 00:12:07,920 --> 00:12:11,140 >> Svo ég hafði betur sjá þetta vandamál, jafnvel 282 00:12:11,140 --> 00:12:13,660 þó það gæti verið sjaldgæft horn að ræða, svo að segja. 283 00:12:13,660 --> 00:12:15,670 Gerist ekki það oft, gæti gerst. 284 00:12:15,670 --> 00:12:18,815 Og ef það gerist og ég er ekki sjá fyrir og áætlun fyrir það, 285 00:12:18,815 --> 00:12:20,300 áætlun mín gæti gert hver veit hvað. 286 00:12:20,300 --> 00:12:22,220 Frjósa, hanga, endurfæddur, hvað sem er. 287 00:12:22,220 --> 00:12:24,490 Eitthvað ráð gæti gerst. 288 00:12:24,490 --> 00:12:27,120 >> Svo það sem ég ætla að gera nú, héðan í raun, 289 00:12:27,120 --> 00:12:31,630 er áður en ég alltaf í blindni nota breytu eins s sem 290 00:12:31,630 --> 00:12:36,790 hefur verið falið að skilagildi einhver önnur virka eins getstring, 291 00:12:36,790 --> 00:12:40,200 Ég ætla að ganga úr skugga um að gildi þess er í gildi. 292 00:12:40,200 --> 00:12:44,280 Þannig að ég veit bara af því ég hafði lesið Skjöl CS50 fyrir getstring, 293 00:12:44,280 --> 00:12:49,020 sem á endanum munum við benda þér á, að getstring skilar sérstakt tákn 294 00:12:49,020 --> 00:12:53,610 kallað NULL, N-U-L-L í öllum paprika, ef eitthvað fer úrskeiðis. 295 00:12:53,610 --> 00:12:55,650 >> Svo venjulega, skilar það band. 296 00:12:55,650 --> 00:12:59,700 En annars ef það skilar N-U-L-L-- Við munum að lokum sjá hvað það raunverulega 297 00:12:59,700 --> 00:13:01,790 means-- það bara þýðir eitthvað slæmt gerðist. 298 00:13:01,790 --> 00:13:05,560 Nú þýðir þetta, eins og í grunni, Ég get athugað ástand hér í C, 299 00:13:05,560 --> 00:13:08,830 ef s er ekki jafn null. 300 00:13:08,830 --> 00:13:11,930 Þannig að ef þú hefur ekki séð þetta áður, þetta þýðir bara ekki jafn. 301 00:13:11,930 --> 00:13:15,290 >> Svo það er andstæða jöfnum jafningja, sem, muna, 302 00:13:15,290 --> 00:13:18,940 er frábrugðin einn jafngildir, sem er verkefni. 303 00:13:18,940 --> 00:13:23,030 Þannig að ef s er ekki jafnt NULL, aðeins þá 304 00:13:23,030 --> 00:13:25,980 Ég vil að framkvæma þessar línur af kóða. 305 00:13:25,980 --> 00:13:28,080 Svo í öðrum orðum, áður en ég kafa í blindni 306 00:13:28,080 --> 00:13:30,919 og byrja iterating yfir s, og meðhöndla það 307 00:13:30,919 --> 00:13:33,710 eins og það er röð stafir, ég ætla fyrst að athuga, 308 00:13:33,710 --> 00:13:37,900 Bíddu, er s örugglega ekki jafnt í þessa sérstöku gildi, NULL? 309 00:13:37,900 --> 00:13:40,030 >> Vegna þess að ef það er slæmur hlutur getur gerst. 310 00:13:40,030 --> 00:13:43,080 Og nú, gera ráð fyrir að slæma hluti gerast þýðir program hrun, 311 00:13:43,080 --> 00:13:45,070 og þú getur ekki endilega batna. 312 00:13:45,070 --> 00:13:46,800 Svo satt, það lítur ljótari. 313 00:13:46,800 --> 00:13:48,660 það er eins konar ruglingslegt núna til litið á. 314 00:13:48,660 --> 00:13:50,780 En þetta mun verða þekki áður en langur. 315 00:13:50,780 --> 00:13:52,920 >> En ég ætla að leggja nú einn annar framför. 316 00:13:52,920 --> 00:13:54,660 Það er framför að misskilning. 317 00:13:54,660 --> 00:13:58,800 Áætlun mín er nú réttara, því í sjaldgæfum tilvikum að ekki nóg minni 318 00:13:58,800 --> 00:14:01,180 hendi, mun ég höndla það, og ég ætla bara að gera ekki neitt. 319 00:14:01,180 --> 00:14:02,680 Ég að minnsta kosti mun ekki hrun. 320 00:14:02,680 --> 00:14:05,000 >> En við skulum gera endanlega útgáfu hér. 321 00:14:05,000 --> 00:14:07,690 Og skrá sem heitir string2.c. 322 00:14:07,690 --> 00:14:10,190 Ég ætla að líma það Sama númer fyrir aðeins augnablik, 323 00:14:10,190 --> 00:14:14,210 og ég ætla að varpa ljósi þessa lína, 11, hér, fyrir aðeins augnablik. 324 00:14:14,210 --> 00:14:18,179 Nú er raunin að sviði þýðendur eins Clang gæti lagað þetta fyrir okkur 325 00:14:18,179 --> 00:14:19,970 bak við tjöldin án okkar alltaf að vita. 326 00:14:19,970 --> 00:14:24,670 En við skulum hugsa um þetta grundvallaratriðum sem erfið hönnun. 327 00:14:24,670 --> 00:14:29,010 >> Þessi lína af kóða er, að sjálfsögðu, segja, frumstilla sumir breytu ég á 0. 328 00:14:29,010 --> 00:14:30,260 Það er frekar einfalt. 329 00:14:30,260 --> 00:14:34,691 Og hvað er aftur þetta yfirlýsingu, hér, ég ++, að gera? 330 00:14:34,691 --> 00:14:37,066 Við höfum séð það áður, en við gerði í raun ekki tala um það. 331 00:14:37,066 --> 00:14:37,900 >> Áhorfendur: hækka i. 332 00:14:37,900 --> 00:14:39,191 >> DAVID J. MALAN: hækka i. 333 00:14:39,191 --> 00:14:41,890 Svo á hverjum endurtekning gegnum Þessi lykkja, hvert hringrás, 334 00:14:41,890 --> 00:14:43,570 þú ert að hækka i um einn. 335 00:14:43,570 --> 00:14:45,740 Svo það fær stærri og stærri, og stærri þar til lykkja lýkur. 336 00:14:45,740 --> 00:14:46,810 Hvernig er það sagt? 337 00:14:46,810 --> 00:14:49,430 Jæja það er þetta mitt ástand sem við höfum notað áður. 338 00:14:49,430 --> 00:14:52,500 Þú hefur séð og í walkthroughs í P setja. 339 00:14:52,500 --> 00:14:53,880 >> En hvað er þetta orðatiltæki? 340 00:14:53,880 --> 00:14:58,352 Gera eftirfarandi lykkju þannig lengi sem ég er minna en hvað? 341 00:14:58,352 --> 00:14:59,810 Áhorfendur: Lengd strengsins. 342 00:14:59,810 --> 00:15:01,518 DAVID J. MALAN: The lengd strengsins. 343 00:15:01,518 --> 00:15:04,300 Svo það þýðir nokkuð eðlilega á ensku í þeim skilningi. 344 00:15:04,300 --> 00:15:08,810 Nú er vandamálið að í hvert sinn sem ég kunnugt um þessa lykkju í orði, 345 00:15:08,810 --> 00:15:10,000 Ég ætla að biðja þessa spurningu. 346 00:15:10,000 --> 00:15:12,250 Er ég minni en band lengd s? 347 00:15:12,250 --> 00:15:14,500 Er ég minni en band lengd s? 348 00:15:14,500 --> 00:15:18,380 >> Er nú ég að breytast á hverjum endurtekning? 349 00:15:18,380 --> 00:15:18,880 Það er. 350 00:15:18,880 --> 00:15:19,629 Vegna ++. 351 00:15:19,629 --> 00:15:21,700 Svo í hvert endurtekning ég er að verða stærri. 352 00:15:21,700 --> 00:15:25,411 En er farið að stærri eða minni, eða breyta á öllum? 353 00:15:25,411 --> 00:15:25,910 Nei 354 00:15:25,910 --> 00:15:30,240 Svo hvað varðar hönnun, ein af ása eftir sem við reynum að meta kóða 355 00:15:30,240 --> 00:15:32,610 í bekknum, þetta finnst konar heimskur. 356 00:15:32,610 --> 00:15:34,690 >> Eins og þú ert bókstaflega, á hverjum endurtekning 357 00:15:34,690 --> 00:15:37,110 þessarar lykkju spyrja að Sama helvítis spurning aftur, 358 00:15:37,110 --> 00:15:40,770 og aftur, og aftur, og bókstaflega það er aldrei að fara að breytast. 359 00:15:40,770 --> 00:15:44,220 Amk ef ég ætla ekki að snerta s og reyna að breyta innihaldi s. 360 00:15:44,220 --> 00:15:46,610 Svo ég get gert lítið betri en þetta. 361 00:15:46,610 --> 00:15:49,530 >> Og það sem ég ætla að gera er ekki lýsa bara einn breyta ég, 362 00:15:49,530 --> 00:15:53,330 en annað breytu ég ætla geðþótta, en á hefðbundinn hátt, kalla það n. 363 00:15:53,330 --> 00:15:55,940 Framselja n jafnt sem band lengd s. 364 00:15:55,940 --> 00:15:59,090 Og þá hérna, ég ætla að gera snjall lítill hagræðingu, svo 365 00:15:59,090 --> 00:16:03,460 að tala, því að í lok dagsins er ekkert meira rétt eða ekki síður rétt 366 00:16:03,460 --> 00:16:04,260 en áður. 367 00:16:04,260 --> 00:16:05,500 En það er betra hönnun. 368 00:16:05,500 --> 00:16:09,480 Í þeirri staðreynd að ég er að nota minni tíma, færri CPU hringrás, svo 369 00:16:09,480 --> 00:16:14,040 að tala, til að svara sömu , en bara einu sinni spurning. 370 00:16:14,040 --> 00:16:17,870 >> Einhverjar spurningar um að almenn meginregla um batna, 371 00:16:17,870 --> 00:16:21,294 segja, skilvirkni a program? 372 00:16:21,294 --> 00:16:21,991 Já? 373 00:16:21,991 --> 00:16:23,699 Áhorfendur: Hvers vegna gera þú nota [inaudible]? 374 00:16:23,699 --> 00:16:25,760 375 00:16:25,760 --> 00:16:27,010 DAVID J. MALAN: Góð spurning. 376 00:16:27,010 --> 00:16:30,690 Svo hvers vegna eigum við að setja ++ á enda ég í stað þess að upphaf i? 377 00:16:30,690 --> 00:16:33,070 Í þessu tilviki, hefur það engin virk áhrif. 378 00:16:33,070 --> 00:16:36,670 Og almennt, ÉG hafa tilhneigingu til að nota Postfix rekstraraðila 379 00:16:36,670 --> 00:16:41,750 þannig að það er lítið meira skýr og að þegar rekstur er að gerast. 380 00:16:41,750 --> 00:16:46,670 >> Fyrir þá sem ókunnur, það er annað yfirlýsingar þar sem þú getur gert ++ i. 381 00:16:46,670 --> 00:16:48,747 Þetta eru virkni reiknuð í þessu tilfelli 382 00:16:48,747 --> 00:16:51,080 vegna þess að það er ekkert annað kringum þessi incrementation. 383 00:16:51,080 --> 00:16:54,435 En þú getur komið upp með tilvikum og línur af kóða 384 00:16:54,435 --> 00:16:55,810 þar sem það skiptir máli. 385 00:16:55,810 --> 00:16:57,810 Svo almennt, er það ekki jafnvel tala um þennan eina. 386 00:16:57,810 --> 00:17:00,690 Því hreinskilnislega, gerir það þína númer kynþokkafyllri og svoleiðis Flottari, 387 00:17:00,690 --> 00:17:01,776 og færri stafi. 388 00:17:01,776 --> 00:17:04,859 En raunin er að það er mikið erfiðara, Ég held, jafnvel fyrir mig að vefja huga minn 389 00:17:04,859 --> 00:17:07,319 í kringum það stundum, röð aðgerða. 390 00:17:07,319 --> 00:17:09,750 Svo sem innskot, ef þú virkilega líkar ekki þetta, 391 00:17:09,750 --> 00:17:14,650 jafnvel þótt þetta sé eins konar kynþokkafullur i + = 1, útlit, getur þú einnig gera 392 00:17:14,650 --> 00:17:18,880 sem er uglier útgáfa af Sama hugmynd fyrir Postfix incrementation. 393 00:17:18,880 --> 00:17:22,250 >> Ég segi þetta og þú ætti að gera grín að henni, 394 00:17:22,250 --> 00:17:25,140 en þú munt koma til að sjá kóðann sem eitthvað fallegt áður en langur. 395 00:17:25,140 --> 00:17:27,160 >> [Hlátur] 396 00:17:27,160 --> 00:17:28,410 >> DAVID J. MALAN: Hægri? 397 00:17:28,410 --> 00:17:29,360 Já. 398 00:17:29,360 --> 00:17:30,480 Spurning í miðjunni. 399 00:17:30,480 --> 00:17:32,146 >> Áhorfendur: Ert þú þarft að segja int n? 400 00:17:32,146 --> 00:17:34,020 DAVID J. MALAN: Þú Ekki þarf að segja int n. 401 00:17:34,020 --> 00:17:37,670 Svo vegna þess að við höfum þegar sagt int, þú þarft ekki að segja það aftur. 402 00:17:37,670 --> 00:17:41,820 Aflann er að n þarf að vera sú sama gögn tegund sem i. 403 00:17:41,820 --> 00:17:43,310 Svo er það bara þægindi hér. 404 00:17:43,310 --> 00:17:44,058 Já. 405 00:17:44,058 --> 00:17:47,806 >> Áhorfendur: Getur þú ferð yfir prenta staf s krappi ég aftur? 406 00:17:47,806 --> 00:17:48,930 DAVID J. MALAN: Algjörlega. 407 00:17:48,930 --> 00:17:52,110 Svo% c, muna frá síðustu tími, er bara tákn. 408 00:17:52,110 --> 00:17:53,930 Það þýðir að setja bleikju hérna. 409 00:17:53,930 --> 00:17:56,780 sviga n, að sjálfsögðu, bara leið setja línu brot hér. 410 00:17:56,780 --> 00:17:59,540 Þannig að það fer nú, þetta stykki af nýjum setningafræði. 411 00:17:59,540 --> 00:18:03,730 Og þetta er bókstaflega að segja, grípa band heitir s og fara að fá sína 412 00:18:03,730 --> 00:18:06,050 i'th eðli, svo að segja. 413 00:18:06,050 --> 00:18:10,590 >> Og ég halda að segja i'th karakter vegna þess að á hverjum endurtekning þessa lykkju 414 00:18:10,590 --> 00:18:14,540 það er eins og við erum að prenta út, Fyrsta krappi 0, 415 00:18:14,540 --> 00:18:15,780 sem forritari gæti sagt. 416 00:18:15,780 --> 00:18:18,680 Þá er Bríkin 1, þá s Bríkin 2, þá 3, þá 4. 417 00:18:18,680 --> 00:18:21,610 En auðvitað er það breytilegt, svo ég tjá bara það með i. 418 00:18:21,610 --> 00:18:23,900 >> Lykill, þó, er að átta sig á, sérstaklega ef þú hefur ekki 419 00:18:23,900 --> 00:18:26,358 verið acclimating þessum heimi forritun, þar sem við öll 420 00:18:26,358 --> 00:18:28,950 virðast telja frá núlli, gotta byrja að telja frá núll núna. 421 00:18:28,950 --> 00:18:35,130 Vegna þess að strengir, fyrsta staf, að z í Zamyla er fyrir betri eða verri 422 00:18:35,130 --> 00:18:40,490 fara að lifa á staðsetningu númer núll. 423 00:18:40,490 --> 00:18:48,210 >> Allt í lagi, svo látið mig koma okkur aftur hingað til Zamyla 424 00:18:48,210 --> 00:18:50,746 og sjá hvað er í raun að fara á undir hetta. 425 00:18:50,746 --> 00:18:52,370 Svo er það þetta hugmynd af gerðinni steypu. 426 00:18:52,370 --> 00:18:53,800 Þú gætir hafa í raun spilað með þetta nú þegar, 427 00:18:53,800 --> 00:18:55,970 kannski fyrir tölvusnápur útgáfa af P setja einn. 428 00:18:55,970 --> 00:19:00,320 En gerð steypu átt rétt til hæfni í C og nokkrar aðrar tungumálum 429 00:19:00,320 --> 00:19:03,170 að umbreyta eina gögn gerð til annars. 430 00:19:03,170 --> 00:19:05,450 >> Nú hvernig gætum við séð þetta laglegur einfaldur? 431 00:19:05,450 --> 00:19:08,530 Svo þetta, muna, er upphaf enska stafrófið. 432 00:19:08,530 --> 00:19:11,265 Og í samhengi, man, frá eins viku síðan er ASCII. 433 00:19:11,265 --> 00:19:13,790 The American Standard Code Fyrir upplýsingar skipti. 434 00:19:13,790 --> 00:19:17,080 Sem er bara mjög langt að segja kortlagning frá bréf 435 00:19:17,080 --> 00:19:19,370 til tölur, og úr númerum bréfum. 436 00:19:19,370 --> 00:19:22,940 >> Svo A í gegnum M hér, punktur punktur punktur, línur upp með, muna, 437 00:19:22,940 --> 00:19:25,582 við aukastaf númer 65 á upp. 438 00:19:25,582 --> 00:19:27,290 Og við ekki tala um þetta skýrt, 439 00:19:27,290 --> 00:19:29,850 en örugglega er það svipað tölur fyrir lágstöfum. 440 00:19:29,850 --> 00:19:30,820 Og reyndar, það eru. 441 00:19:30,820 --> 00:19:33,730 Heimurinn ákvað nokkur ár síðan að lítið er, lágstafir a, 442 00:19:33,730 --> 00:19:35,020 er að fara að vera 97. 443 00:19:35,020 --> 00:19:38,010 Og litla b er að fara að vera 98, og svo framvegis. 444 00:19:38,010 --> 00:19:40,200 >> Og fyrir aðra takka á lyklaborðið, það er 445 00:19:40,200 --> 00:19:42,190 að fara að vera svipuð mynstur bits. 446 00:19:42,190 --> 00:19:44,540 Eða equivalently, heiltala. 447 00:19:44,540 --> 00:19:47,110 Svo spurningin sem fyrir hendi, þá er hvernig getum við, 448 00:19:47,110 --> 00:19:49,400 raunverulega sjá þetta undir hetta? 449 00:19:49,400 --> 00:19:51,539 Þannig að ég ætla að fara aftur í gedit. 450 00:19:51,539 --> 00:19:53,330 Og frekar en tegund þetta frá grunni, 451 00:19:53,330 --> 00:19:55,330 Ég ætla að fara á undan og bara að opna upp eitthvað 452 00:19:55,330 --> 00:19:58,350 frá kóða dag heitir ASCII núll. 453 00:19:58,350 --> 00:20:01,210 >> Og ASCII núll lítur svona út. 454 00:20:01,210 --> 00:20:02,710 Svo skulum vefja huga okkar um þetta. 455 00:20:02,710 --> 00:20:04,969 Svo fyrst ég hef ummæli kóðinn, sem er gott. 456 00:20:04,969 --> 00:20:07,010 Vegna þess að það er bókstaflega segja mér hvað ég á að búast við, 457 00:20:07,010 --> 00:20:08,950 birta kortlagning fyrir hástafi bréf. 458 00:20:08,950 --> 00:20:13,690 Nú er ég ekki alveg að vita hvað ég meina með því, þannig að við skulum álykta. 459 00:20:13,690 --> 00:20:16,870 >> Á ensku, kannski nokkuð techie enska, 460 00:20:16,870 --> 00:20:20,660 hvað gerir lína 18 birtast að vera að gera fyrir okkur? 461 00:20:20,660 --> 00:20:21,500 Bara línu 18. 462 00:20:21,500 --> 00:20:22,430 Hvað er það örvandi? 463 00:20:22,430 --> 00:20:25,192 Hvað er það að fara að sparka burt hér? 464 00:20:25,192 --> 00:20:26,100 >> Áhorfendur: Lykkja. 465 00:20:26,100 --> 00:20:26,630 >> DAVID J. MALAN: Lykkja. 466 00:20:26,630 --> 00:20:28,463 Og hversu oft er að fara að kunnugt? 467 00:20:28,463 --> 00:20:31,562 468 00:20:31,562 --> 00:20:33,270 Áhorfendur: [INTERPOSING raddir] sex sinnum. 469 00:20:33,270 --> 00:20:34,830 DAVID J. MALAN: Ekki sex sinnum. 470 00:20:34,830 --> 00:20:35,840 Áhorfendur: 26 sinnum. 471 00:20:35,840 --> 00:20:36,560 DAVID J. MALAN: 26 sinnum. 472 00:20:36,560 --> 00:20:37,060 Já, því miður. 473 00:20:37,060 --> 00:20:37,960 26 sinnum. 474 00:20:37,960 --> 00:20:38,460 Hvers vegna? 475 00:20:38,460 --> 00:20:41,590 Jæja, það er svolítið skrítið, en Ég hef byrjað að telja frá 65. 476 00:20:41,590 --> 00:20:43,300 Sem er skrýtið, en ekki rangt. 477 00:20:43,300 --> 00:20:44,610 Það er ekki slæmt á segja. 478 00:20:44,610 --> 00:20:46,980 Og ég ætla að gera það bara af því að, í þessu dæmi, 479 00:20:46,980 --> 00:20:50,455 Ég er eins konar sjá að fjármagn A var 65. 480 00:20:50,455 --> 00:20:53,330 Nú er þetta ekki the glæsilegur leiðin til að gera þetta, til hvers konar harða kóða 481 00:20:53,330 --> 00:20:56,130 dulspekilegur gildi sem enginn er alltaf gert ráð fyrir að muna. 482 00:20:56,130 --> 00:21:00,155 >> En nú, eftir að ég er gera þetta allt í gegnum 65 plús 26. 483 00:21:00,155 --> 00:21:03,030 Vegna virðist ég ekki einu sinni vilja að gera tölur í höfðinu á mér. 484 00:21:03,030 --> 00:21:04,440 Svo ég ætla að láta þýðanda gera það. 485 00:21:04,440 --> 00:21:08,600 En þá á hverjum lykkju, hver endurtekning lykkja, ég er að hækka i. 486 00:21:08,600 --> 00:21:10,196 >> Svo nú lítur þetta svolítið dulinn. 487 00:21:10,196 --> 00:21:13,320 En við ættum að hafa grunn bygging blokkir með sem að skilja þetta. 488 00:21:13,320 --> 00:21:15,510 % C er bara tákn fyrir bleikju. 489 00:21:15,510 --> 00:21:19,010 % I er tákn fyrir int. 490 00:21:19,010 --> 00:21:23,310 Og það kemur í ljós að með því að nota þetta Ný setningafræði, þetta parenthetical, svo 491 00:21:23,310 --> 00:21:26,100 að tala, þannig að gögn gerð inni í sviga, 492 00:21:26,100 --> 00:21:32,270 Ég get þvinga þýðanda til að meðhöndla Ég ekki er heiltala, en eins og bleikju. 493 00:21:32,270 --> 00:21:35,520 >> Þar sýna mér persónu jafnvirði þeirrar tölu. 494 00:21:35,520 --> 00:21:37,986 Nú niður hér, þetta númer er ansi mikið eins. 495 00:21:37,986 --> 00:21:39,860 Mig langaði bara að gera frábær skýr staðreynd 496 00:21:39,860 --> 00:21:42,095 að ég er að byrja á 97, sem er lágstafir a. 497 00:21:42,095 --> 00:21:44,080 Á allt í gegnum 26 fleiri stafi. 498 00:21:44,080 --> 00:21:46,970 Og ég er doing-- aftur, steypu i, svo að segja. 499 00:21:46,970 --> 00:21:49,160 Eða tegund steypu i, svo að segja. 500 00:21:49,160 --> 00:21:51,420 >> Frá int til bleikju. 501 00:21:51,420 --> 00:21:55,760 Svo niðurstaðan er að fara að vera, hreinskilnislega, upplýsingar sem við vitum nú þegar. 502 00:21:55,760 --> 00:21:59,411 Ég ætla að gera ASCII-0 dot-- ekki punktur c. 503 00:21:59,411 --> 00:22:02,160 Tilkynning, þú gerðir líklega að mistök sem ég gerði bara af tilviljun. 504 00:22:02,160 --> 00:22:03,820 Gera ASCII-0. 505 00:22:03,820 --> 00:22:06,090 Nú ætla ég að gera ./ascii-0. 506 00:22:06,090 --> 00:22:09,050 Ég zoom í, og því miður það er að fara að fletta á skjánum. 507 00:22:09,050 --> 00:22:15,060 En við sjáum heilt töfluna hvar a kort til 97, b kort til 98, 508 00:22:15,060 --> 00:22:18,931 og ef við skruna upp frekari A, að sjálfsögðu, kort til 65. 509 00:22:18,931 --> 00:22:21,180 Svo er þetta bara til að segja að hvað við höfum verið að predika, 510 00:22:21,180 --> 00:22:25,310 það er þetta jafngildi er í raun að ræða í raun og veru. 511 00:22:25,310 --> 00:22:28,000 Svo fljótur breytingar á þessu. 512 00:22:28,000 --> 00:22:31,220 Leyfðu mér að opna ASCII-1.c. 513 00:22:31,220 --> 00:22:38,070 Og eftir þessu snjall, flokka af, skýringar á þessu. 514 00:22:38,070 --> 00:22:41,770 Þetta er ASCII-1.c og taka þessa brjálaður hlutur. 515 00:22:41,770 --> 00:22:45,120 >> Og þetta virkilega fær að hjarta hvað tölvur eru að gera. 516 00:22:45,120 --> 00:22:48,150 Jafnvel þótt við mennirnir myndu ekki telja með tilliti letters-- 517 00:22:48,150 --> 00:22:50,380 Ég byrja ekki að hugsa, allt í lagi að þá b, 518 00:22:50,380 --> 00:22:52,590 og nota þá til að telja líkamlega hluti. 519 00:22:52,590 --> 00:22:58,680 Þú getur vissulega sagt að ég vil frumstilla sumir breytu sem heitir c-- 520 00:22:58,680 --> 00:23:03,220 en ég hefði getað kallað þetta anything-- svo c er frumstilla til fjár A. 521 00:23:03,220 --> 00:23:07,560 >> Vegna í lok dags, í tölvunni er ekki sama hvað þú ert að geyma, 522 00:23:07,560 --> 00:23:10,170 það er ekki sama bara hvernig þú vilt að kynna þær upplýsingar. 523 00:23:10,170 --> 00:23:13,560 Hvernig viltu að tölva til túlka þessi mynstur bita? 524 00:23:13,560 --> 00:23:16,320 Svo er þetta ekki eitthvað sem ég myndi almennt mæla með að gera. 525 00:23:16,320 --> 00:23:19,500 Það er í raun bara dæmi til flytja að þú getur alveg 526 00:23:19,500 --> 00:23:22,049 frumstilla heila tölu til bleikju. 527 00:23:22,049 --> 00:23:24,090 Vegna undir hlutanum hlíf char, að sjálfsögðu, 528 00:23:24,090 --> 00:23:26,170 er bara númer 0-255. 529 00:23:26,170 --> 00:23:28,540 >> Svo þú getur örugglega setja það inni í int. 530 00:23:28,540 --> 00:23:30,890 Og hvað þetta líka sýnir er að við 531 00:23:30,890 --> 00:23:34,040 geta umbreyta frá einu slá til annars, hér, 532 00:23:34,040 --> 00:23:36,780 lokum prentun sama. 533 00:23:36,780 --> 00:23:44,760 Og í raun er þetta ég mun festa online-- var ætlað að segja þetta aftur, hér. 534 00:23:44,760 --> 00:23:48,610 Leyfðu mér að hreinsa þetta upp á netinu, og við munum sjá í online walkthrough sem þörf krefur, 535 00:23:48,610 --> 00:23:50,280 það sem var ætlað það. 536 00:23:50,280 --> 00:23:50,960 >> OK. 537 00:23:50,960 --> 00:23:53,892 Svo síðasta dæmi nú þátttöku a og B er og þá munum við 538 00:23:53,892 --> 00:23:54,850 taka hluti upp hak. 539 00:23:54,850 --> 00:23:58,330 Svo með og B áratugnum og c er í fjármögnun 540 00:23:58,330 --> 00:24:01,560 og jafngildi þess, við skulum taka a líta á þetta dæmi, hér. 541 00:24:01,560 --> 00:24:02,752 Annað kóða dæmi. 542 00:24:02,752 --> 00:24:04,460 Við munum opna einn sem er þegar gert, svo við 543 00:24:04,460 --> 00:24:06,440 þarft ekki að slá það inn allt út frá grunni. 544 00:24:06,440 --> 00:24:09,420 >> Og taka í aðdraganda við erum að nota margar haus 545 00:24:09,420 --> 00:24:13,240 skrár, þar á meðal er nýja vini okkar, string.h. 546 00:24:13,240 --> 00:24:15,597 Nú lítur þetta, fyrst litið, smá dulinn. 547 00:24:15,597 --> 00:24:18,180 En við skulum sjá hvort við getum ekki ástæðu gegnum hvað er að gerast hér. 548 00:24:18,180 --> 00:24:21,150 Fyrst ég streng frá notanda, og ég setti það band í breytu 549 00:24:21,150 --> 00:24:22,286 kallast s. 550 00:24:22,286 --> 00:24:24,090 Afrita líma frá áður. 551 00:24:24,090 --> 00:24:27,250 Í samræmi 22, ég er greinilega gera nákvæmlega það 552 00:24:27,250 --> 00:24:30,760 Ég gerði áðan, ég er að iterating persónurnar í s. 553 00:24:30,760 --> 00:24:34,780 >> Og nýja bragðarefur hér eru að nota band lengd, minniháttar hagræðingu 554 00:24:34,780 --> 00:24:37,930 um að geyma the band lengd í N, frekar en að hringja strlen aftur, 555 00:24:37,930 --> 00:24:38,850 og aftur, og aftur. 556 00:24:38,850 --> 00:24:41,120 Og bara athuga hvort ég sé minna en n. 557 00:24:41,120 --> 00:24:43,330 Nú hér, það fá smá áhugavert. 558 00:24:43,330 --> 00:24:45,980 En það er bara forrit þessa sömu nýju hugmynd. 559 00:24:45,980 --> 00:24:48,470 Hvað í enska gerir s krappi ég tákna? 560 00:24:48,470 --> 00:24:51,772 561 00:24:51,772 --> 00:24:54,260 >> Áhorfendur: Talning hver eðli [inaudible]. 562 00:24:54,260 --> 00:24:55,926 >> DAVID J. MALAN: Telja hvern staf. 563 00:24:55,926 --> 00:24:58,680 Og jafnvel fleiri succinctly, s krappi ég tákna það? 564 00:24:58,680 --> 00:25:00,950 Vilt þú segja. 565 00:25:00,950 --> 00:25:04,084 Ekki að setja þig á staðnum hér. 566 00:25:04,084 --> 00:25:06,375 >> Áhorfendur: Well-- 567 00:25:06,375 --> 00:25:09,500 DAVID J. MALAN: Svo ef orðið is-- ef strengurinn er Zamyla, sem starts-- 568 00:25:09,500 --> 00:25:12,380 Áhorfendur: --you takast á við persónurnar separately-- 569 00:25:12,380 --> 00:25:13,690 DAVID J. MALAN: Gott. 570 00:25:13,690 --> 00:25:14,190 Nákvæmlega. 571 00:25:14,190 --> 00:25:17,940 Veldi krappi tákn leyfir þér til að fá aðgang hvern staf fyrir sig, 572 00:25:17,940 --> 00:25:21,120 svo s krappi 0 er að fara að vera Fyrsti stafurinn í strengnum. 573 00:25:21,120 --> 00:25:24,110 s krappi 1 er að fara að vera annað, og svo framvegis. 574 00:25:24,110 --> 00:25:28,050 Svo spurningin sem ég er að spyrja, hér, í þessu ástandi er það? 575 00:25:28,050 --> 00:25:33,984 Er i'th eðli s unar meiri en eða jafnt og lágstafir a? 576 00:25:33,984 --> 00:25:36,400 Og hvað þýðir þetta, hér, með tvöföldum -merkið? 577 00:25:36,400 --> 00:25:36,800 Áhorfendur (SAMAN): Og. 578 00:25:36,800 --> 00:25:37,210 DAVID J. MALAN: Og. 579 00:25:37,210 --> 00:25:38,418 Það er bara samsvarar þetta. 580 00:25:38,418 --> 00:25:42,310 Og er ekki lykilorð í C, þú þarft að Notkun, gremjulegur, ampersand ampersand. 581 00:25:42,310 --> 00:25:47,520 Og þetta öfugt, er að spyrja er s er i'th eðli minna en eða jafnt 582 00:25:47,520 --> 00:25:49,030 til lágstafir z? 583 00:25:49,030 --> 00:25:52,440 Og aftur, hér er þar skilja undirliggjandi 584 00:25:52,440 --> 00:25:54,550 framkvæmd a tölva vit. 585 00:25:54,550 --> 00:25:57,330 Taka eftir því, jafnvel þótt ég hafi punktur punktur punktur þarna, 586 00:25:57,330 --> 00:26:04,410 lítur út eins og í gegnum z lágstafir eru allar samliggjandi gildi up frá 97 upp. 587 00:26:04,410 --> 00:26:07,820 >> Og sama fyrir hástafi hefst kl 65. 588 00:26:07,820 --> 00:26:10,410 Svo takeaway, þá, er það á ensku, 589 00:26:10,410 --> 00:26:12,760 hvernig myndir þú lýsa hvaða línu 24 er að gera? 590 00:26:12,760 --> 00:26:15,736 591 00:26:15,736 --> 00:26:16,728 Já? 592 00:26:16,728 --> 00:26:21,575 >> Áhorfendur: Á 24 það er stöðva til að sjá hvort hver persóna er lágstafir. 593 00:26:21,575 --> 00:26:24,700 DAVID J. MALAN: Það er að kanna hvort hver persóna er lágstafir bréf. 594 00:26:24,700 --> 00:26:28,590 Svo jafnvel fleiri succinctly, er i'th eðli s lágstöfum? 595 00:26:28,590 --> 00:26:30,690 Það er allt sem við erum tjá hér rökrétt, 596 00:26:30,690 --> 00:26:33,750 smá cryptically, en lokum nokkuð einfaldur. 597 00:26:33,750 --> 00:26:36,480 Er s er i'th eðli lágstöfum? 598 00:26:36,480 --> 00:26:40,130 >> Ef svo er, og hér er þar sem hlutirnir fá smá hugur beygja 599 00:26:40,130 --> 00:26:44,760 fyrir aðeins augnablik, ef svo er, fara undan og prenta út staf. 600 00:26:44,760 --> 00:26:47,360 Svo er þetta bara tákn, en hvaða staf? 601 00:26:47,360 --> 00:26:53,710 Hvers vegna er ég að gera s krappi i mínus þessi tjáning hér? 602 00:26:53,710 --> 00:26:55,110 >> Jæja taka munstur. 603 00:26:55,110 --> 00:26:57,380 Raunveruleg tölur skipta ekki máli svo mikið. 604 00:26:57,380 --> 00:27:02,700 En eftir því að 97 er hversu langt í burtu frá 65? 605 00:27:02,700 --> 00:27:03,560 >> Áhorfendur: 32. 606 00:27:03,560 --> 00:27:04,480 >> DAVID J. MALAN: 32. 607 00:27:04,480 --> 00:27:06,890 Hversu langt í burtu er 98 frá 66? 608 00:27:06,890 --> 00:27:07,740 >> Áhorfendur: 32. 609 00:27:07,740 --> 00:27:09,890 >> DAVID J. MALAN: Little c frá stóru C? 610 00:27:09,890 --> 00:27:10,420 32. 611 00:27:10,420 --> 00:27:14,550 Svo er 32 hops þaðan einn stafur til annars. 612 00:27:14,550 --> 00:27:17,790 Svo vildi ég, gæti einfalda þetta við það. 613 00:27:17,790 --> 00:27:20,400 En þá er ég svona erfitt erfðaskrá þetta lágt skilning 614 00:27:20,400 --> 00:27:21,740 að enginn lesandi er alltaf að fara að skilja. 615 00:27:21,740 --> 00:27:25,080 Þannig að ég ætla að fara að alhæfa það sem ég veist lágstöfum eru stærri. 616 00:27:25,080 --> 00:27:28,400 Ég veit höfuðborg bréf eru minni gildi, kaldhæðnislega. 617 00:27:28,400 --> 00:27:33,216 >> En þetta er í raun jafngildir segja draga 32 frá s krappi i. 618 00:27:33,216 --> 00:27:35,430 Svo í tengslum við þetta bréf, ef bréf 619 00:27:35,430 --> 00:27:38,950 gerist að vera, lágstafir a, og ég draga 32, 620 00:27:38,950 --> 00:27:43,442 Hvaða áhrif hefur það haft, stærðfræðilega, á lágstafir a? 621 00:27:43,442 --> 00:27:44,400 Áhorfendur: Capitalizes-- 622 00:27:44,400 --> 00:27:45,691 DAVID J. MALAN: eignfærir það. 623 00:27:45,691 --> 00:27:48,440 Og reyndar, þetta er ástæðan okkar Námið er kallað nýta núll. 624 00:27:48,440 --> 00:27:51,590 Þetta forrit heldur eignfærir bréf, 625 00:27:51,590 --> 00:27:54,580 eftir að athuga hvort það er örugglega lágstafir bréf. 626 00:27:54,580 --> 00:27:59,810 Annars, í samræmi 30, hvað á ég að gera ef það er ekki lágstafir bréf sem ég er 627 00:27:59,810 --> 00:28:02,852 horfa á á tiltekin endurtekning á lykkju. 628 00:28:02,852 --> 00:28:03,890 Bara prenta það út. 629 00:28:03,890 --> 00:28:07,010 >> Svo breytast ekki efni það er ekki einu sinni lágstafir. 630 00:28:07,010 --> 00:28:10,790 Takmarka sjálfur til litla gegnum litla z. 631 00:28:10,790 --> 00:28:12,730 Nú er þetta nokkuð yfirnáttúrulegt. 632 00:28:12,730 --> 00:28:15,230 En í lok dagsins, þetta er hvernig við, einu sinni, 633 00:28:15,230 --> 00:28:16,460 þurfti að framkvæma hlutina. 634 00:28:16,460 --> 00:28:19,780 Ef ég staðinn opinn nýta einn, ó þakka guði. 635 00:28:19,780 --> 00:28:22,320 Það er hlutverk kallaður til efri sem getur 636 00:28:22,320 --> 00:28:25,410 gera allt sem við gerðum bara á nokkuð lágt. 637 00:28:25,410 --> 00:28:28,752 >> Nú til er efri áhugavert vegna þess að það sé skilgreint í skrá, 638 00:28:28,752 --> 00:28:31,210 og þú vildi bara vita þetta með því að skoða skjöl, 639 00:28:31,210 --> 00:28:35,730 eða að vera sagt, segjum, í flokki, þar sem það er til, í skrá sem kallast ctype.h. 640 00:28:35,730 --> 00:28:37,630 Svo er þetta annar nýr vinur okkar. 641 00:28:37,630 --> 00:28:40,750 Og efri er nákvæmlega það sem nafnið gefur til kynna. 642 00:28:40,750 --> 00:28:44,860 >> Þú geta fara framhjá í, sem rök, milli þessir svigar, sumir eðli. 643 00:28:44,860 --> 00:28:48,390 Ég ætla að fara í i'th eðli af s nota ímynda nýja tákn okkar 644 00:28:48,390 --> 00:28:49,870 sem felur í sér hornklofum. 645 00:28:49,870 --> 00:28:53,391 Og taka giska, hvað er aftur gildi til efri virðist fara 646 00:28:53,391 --> 00:28:53,890 að vera? 647 00:28:53,890 --> 00:28:56,460 648 00:28:56,460 --> 00:28:57,770 A höfuðborg bréf. 649 00:28:57,770 --> 00:28:58,620 A höfuðborg bréf. 650 00:28:58,620 --> 00:29:02,330 >> Þannig að ef ég fara í lágstafir a, vonandi, með skilgreiningu á efri, 651 00:29:02,330 --> 00:29:05,600 það er að fara að skila inn hástafi A. Annars, 652 00:29:05,600 --> 00:29:08,590 ef það er ekki lágstafir bréf í fyrsta sæti, ég prenta bara það út. 653 00:29:08,590 --> 00:29:10,800 Og reyndar, eftir að Annað vinur hér. 654 00:29:10,800 --> 00:29:13,840 Ekki bara til að efri hendi, en er lægri, sem 655 00:29:13,840 --> 00:29:16,200 reyndar svarar þessi spurning fyrir mig. 656 00:29:16,200 --> 00:29:19,730 >> Sá nú skrifaði þetta, 10s árum, þú veist hvað? 657 00:29:19,730 --> 00:29:23,840 Hrint í framkvæmd til efri og er lækka með kóða eins og þetta. 658 00:29:23,840 --> 00:29:27,270 En aftur, í samræmi við þessi hugmynd um öflun burtu, 659 00:29:27,270 --> 00:29:29,190 konar, lægri framkvæmd upplýsingar. 660 00:29:29,190 --> 00:29:32,600 Og standa á herðum fólks sem kom fyrir okkur, með því að nota aðgerðir 661 00:29:32,600 --> 00:29:36,300 eins og til efri og er lægra, sem frábærlega nóg eru fallega 662 00:29:36,300 --> 00:29:40,190 heitir að segja hvað þeir gera, er yndislegt hugmyndafræði að samþykkja. 663 00:29:40,190 --> 00:29:44,040 >> Nú kemur í ljós að ef ég las maðurinn síðu til, segja, að efri, 664 00:29:44,040 --> 00:29:45,010 Ég læri eitthvað annað. 665 00:29:45,010 --> 00:29:46,890 Svo maður toUpper. 666 00:29:46,890 --> 00:29:48,050 Það er svolítið yfirþyrmandi. 667 00:29:48,050 --> 00:29:51,110 En tilkynning, hér er það minnst á haus skrá sem ég ætti að nota. 668 00:29:51,110 --> 00:29:54,460 Sem innskot, því þetta er villandi, sem virka 669 00:29:54,460 --> 00:29:59,070 notar ints í stað Sérstafir af ástæðum er varða stöðva villa. 670 00:29:59,070 --> 00:30:01,260 En við munum kannski koma aftur til að í framtíðinni. 671 00:30:01,260 --> 00:30:05,910 >> En eftir, hér, að efri breytir stafurinn c í hástafi ef mögulegt er. 672 00:30:05,910 --> 00:30:07,674 Svo er það frekar einfalt. 673 00:30:07,674 --> 00:30:09,340 Og nú skulum vera svolítið nákvæmari. 674 00:30:09,340 --> 00:30:12,750 Við skulum líta á hluta af maður síðu undir skilagildi. 675 00:30:12,750 --> 00:30:15,420 Gildið skilað er að umbreyttu staf. 676 00:30:15,420 --> 00:30:18,690 Eða C, ef viðskiptin var ekki hægt, 677 00:30:18,690 --> 00:30:20,250 þar sem c er upprunalega inntak. 678 00:30:20,250 --> 00:30:24,140 Sem ég veit héðan frá rök að efri. 679 00:30:24,140 --> 00:30:25,780 >> Svo er það takeaway þetta? 680 00:30:25,780 --> 00:30:28,060 Gildið skilað er að umbreyttu bókstafs, 681 00:30:28,060 --> 00:30:32,110 eða c, upprunalega bókstafur, ef viðskiptin var ekki hægt. 682 00:30:32,110 --> 00:30:36,460 Hvaða framfarir get ég því gera til að hanna míns? 683 00:30:36,460 --> 00:30:37,146 Já? 684 00:30:37,146 --> 00:30:38,810 >> Áhorfendur: Hægt er að fjarlægja annað. 685 00:30:38,810 --> 00:30:40,810 DAVID J. MALAN: Ég get fjarlægja annað yfirlýsingu, 686 00:30:40,810 --> 00:30:42,510 og ekki bara annað yfirlýsingu. 687 00:30:42,510 --> 00:30:44,150 >> Áhorfendur: Þú getur fjarlægt [inaudible]. 688 00:30:44,150 --> 00:30:46,310 >> DAVID J. MALAN: Ég get fjarlægja allan gaffal 689 00:30:46,310 --> 00:30:48,209 á veginum, sem ef annað að öllu leyti. 690 00:30:48,209 --> 00:30:50,250 Svo reyndar láta mig opna endanleg útgáfa af þessu, 691 00:30:50,250 --> 00:30:55,540 nýta-2 og taka bara hvernig, ef þú verður, kynþokkafullur, kóðinn er nú að fá, 692 00:30:55,540 --> 00:31:00,040 í að ég hef minnkað úr sumum sjö eða svo línur til aðeins fjóra, 693 00:31:00,040 --> 00:31:03,850 virkni sem ég ætlaði með því einfaldlega að hringja í efri, 694 00:31:03,850 --> 00:31:09,410 liggur í s krappi i og prentun út, með Pláss% c, 695 00:31:09,410 --> 00:31:11,090 sem einkum staf. 696 00:31:11,090 --> 00:31:14,560 >> Nú öllum líkindum, það er padda, eða að minnsta kosti hætta á galla, 697 00:31:14,560 --> 00:31:15,350 í þessari áætlun. 698 00:31:15,350 --> 00:31:18,200 Svo bara til að koma aftur til fyrri takeaway, 699 00:31:18,200 --> 00:31:21,820 hvað ætti ég líklega líka gert þetta forrit til að gera það öflugri meira, 700 00:31:21,820 --> 00:31:24,974 þannig að það er engin leið að það getur hrun, jafnvel í mjög sjaldgæfum tilvikum? 701 00:31:24,974 --> 00:31:26,390 Áhorfendur: Gakktu úr skugga um að það er ekki null. 702 00:31:26,390 --> 00:31:28,056 DAVID J. MALAN: Gakktu úr skugga um að það er ekki null. 703 00:31:28,056 --> 00:31:31,030 Svo í raun, til að gera þetta frábær réttur, ég ætti að gera eitthvað eins og, 704 00:31:31,030 --> 00:31:35,300 ef s er ekki NULL, þá fara á undan og framkvæma 705 00:31:35,300 --> 00:31:38,470 þessar línur af kóða, sem Ég get þá undirliður svona, 706 00:31:38,470 --> 00:31:39,870 og þá setja í nánu borsveif mínu. 707 00:31:39,870 --> 00:31:41,550 Svo gott Binda saman af tveimur hugmyndum. 708 00:31:41,550 --> 00:31:42,429 Já? 709 00:31:42,429 --> 00:31:44,470 Áhorfendur: Gætirðu nota a að gera á meðan lykkja, í staðinn? 710 00:31:44,470 --> 00:31:47,270 DAVID J. MALAN: Gat ÉG gera a gera á meðan lykkja? 711 00:31:47,270 --> 00:31:50,020 Áhorfendur: --you vilt ganga úr skugga um að þú í raun og veru [inaudible]. 712 00:31:50,020 --> 00:31:51,728 DAVID J. MALAN: Gat þú notar do meðan? 713 00:31:51,728 --> 00:31:52,450 Stutt svar, nei. 714 00:31:52,450 --> 00:31:54,700 Þar sem þú ert að fara að kynna aðra horn tilfelli. 715 00:31:54,700 --> 00:31:56,660 Ef strengurinn er núll lengd. 716 00:31:56,660 --> 00:31:59,600 Ef til dæmis, ég lenti bara Sláðu inn, án þess nokkurn tíma að slá Zamyla. 717 00:31:59,600 --> 00:32:02,490 Ég ætla að skila þér aftur raunveruleg band, eins og við munum að lokum sjá, 718 00:32:02,490 --> 00:32:03,780 sem hefur núll stafi. 719 00:32:03,780 --> 00:32:05,630 Það er samt band, það er bara frábær stutt. 720 00:32:05,630 --> 00:32:07,960 En ef þú notar gera á meðan, þú ert að fara að blindni 721 00:32:07,960 --> 00:32:10,050 reyna að gera eitthvað með virða til strengsins, 722 00:32:10,050 --> 00:32:12,537 og ekkert er að fara að vera þar. 723 00:32:12,537 --> 00:32:18,607 >> Áhorfendur: Jæja, ef þú gerðir gera [inaudible] á meðan s-- 724 00:32:18,607 --> 00:32:21,190 DAVID J. MALAN: Ó ég sé, að halda fá band frá notanda. 725 00:32:21,190 --> 00:32:23,525 Svo stutt svar, þú gæti, og halda pestering 726 00:32:23,525 --> 00:32:26,150 þá að gefa þér band sem er stutt nóg til að passa í minni. 727 00:32:26,150 --> 00:32:26,700 Algerlega. 728 00:32:26,700 --> 00:32:27,630 Ég valdi bara ekki til. 729 00:32:27,630 --> 00:32:30,505 Ef þeir gefa mér ekki strenginn I vilja, ég er að hætta, ég ætla að gefa upp. 730 00:32:30,505 --> 00:32:33,260 En algerlega, í því skyni, þú gætir alveg gert það. 731 00:32:33,260 --> 00:32:37,500 >> Svo á bókasafnið í haus skrár sem við erum nú þekki eru þetta, hér. 732 00:32:37,500 --> 00:32:41,550 Standard I / O, CS50.h, string.h, ctype.h, og það eru reyndar aðrir. 733 00:32:41,550 --> 00:32:44,460 Sum ykkar hafa uppgötvað stærðfræði bókasafn math.h. 734 00:32:44,460 --> 00:32:48,200 En láttu mig kynna þig, nú, til þetta úrræði sem CS50 starfsfólk, Davin, 735 00:32:48,200 --> 00:32:50,630 og Rob, og Gabe einkum hafa sett saman. 736 00:32:50,630 --> 00:32:52,630 Sem mun brátt tengilinn á Vefsíða námskeiðsins er. 737 00:32:52,630 --> 00:32:54,870 Það heitir CS50 tilvísun. 738 00:32:54,870 --> 00:32:58,230 >> Sem bara til að gefa þér fljótur bragð af því, virkar eins og hér segir. 739 00:32:58,230 --> 00:33:00,740 Leyfðu mér að fara til reference.cs50.net. 740 00:33:00,740 --> 00:33:02,990 Þú munt sjá á vinstri hönd hlið yfirgnæfandi lista 741 00:33:02,990 --> 00:33:04,595 aðgerðir sem koma með c. 742 00:33:04,595 --> 00:33:07,790 En ef ég hugsa, fyrir stundu, um eitthvað eins strlen, 743 00:33:07,790 --> 00:33:08,746 Ég get slá það þar. 744 00:33:08,746 --> 00:33:10,870 Það filters niður listann bara það sem ég hugsa um. 745 00:33:10,870 --> 00:33:11,940 Ég ætla að smella á hann. 746 00:33:11,940 --> 00:33:14,740 Og nú á vinstri, þú munt sjá hvað við vonum 747 00:33:14,740 --> 00:33:18,290 er meira einfalt, mannleg vingjarnlegur útskýringu á því hvernig 748 00:33:18,290 --> 00:33:19,170 þessi aðgerð virkar. 749 00:33:19,170 --> 00:33:20,600 >> Skilar lengd strengsins. 750 00:33:20,600 --> 00:33:24,060 Hér er ágrip, hér er hvernig þú nota það í skilmálar af haus skrá, 751 00:33:24,060 --> 00:33:27,430 og hvað varðar það að virka lítur út eins og í skilmálar af málflutningi hennar. 752 00:33:27,430 --> 00:33:30,250 Og þá er hér, skilar lengd streng. 753 00:33:30,250 --> 00:33:34,280 En fyrir þá öruggari, þú getur í raun að smella fleiri notalega, 754 00:33:34,280 --> 00:33:37,070 og innihald þessa síðu, nú mun breytast 755 00:33:37,070 --> 00:33:41,660 að vera sjálfgefin gildi hvað þú færð með því að nota man. 756 00:33:41,660 --> 00:33:44,100 >> Í öðrum orðum, CS50 vísað er einföldun 757 00:33:44,100 --> 00:33:46,220 af síðum með starfsfólki, fyrir nemendur. 758 00:33:46,220 --> 00:33:49,320 Sérstaklega þeir minna þægilegt og þar á milli, svo að að 759 00:33:49,320 --> 00:33:51,660 þarft ekki að reyna að vefja hugur þinn í kring, hreinskilnislega, 760 00:33:51,660 --> 00:33:55,030 sumir nokkuð dulinn setningafræði og skjöl einhvern. 761 00:33:55,030 --> 00:33:57,650 >> Svo halda að í huga á næstu dögum koma. 762 00:33:57,650 --> 00:33:59,560 Svo hér, aftur, er Zamyla. 763 00:33:59,560 --> 00:34:03,255 Skulum nú spyrja spurningu sem er smá fleiri manna aðgengilegri. 764 00:34:03,255 --> 00:34:05,380 Þökk sé Chang, sem hefur verið prenta fleiri fíla 765 00:34:05,380 --> 00:34:07,090 stanslaus fyrir undanfarna daga. 766 00:34:07,090 --> 00:34:09,730 Við höfum tækifæri til að gefa að minnsta kosti eitt af þeim í burtu. 767 00:34:09,730 --> 00:34:13,239 Ef við gætum fengið bara einum sjálfboðaliða að koma á allt að draga á skjánum. 768 00:34:13,239 --> 00:34:14,530 Hvernig um hér? 769 00:34:14,530 --> 00:34:15,340 >> Komdu upp. 770 00:34:15,340 --> 00:34:16,720 Hvað er nafn þitt? 771 00:34:16,720 --> 00:34:17,219 ALEX Alex. 772 00:34:17,219 --> 00:34:17,760 DAVID J. MALAN: Alex. 773 00:34:17,760 --> 00:34:18,259 Allt í lagi. 774 00:34:18,259 --> 00:34:19,388 Alex, koma upp. 775 00:34:19,388 --> 00:34:21,679 Við erum að fara að sjá þinn rithönd á skjánum hér. 776 00:34:21,679 --> 00:34:24,325 777 00:34:24,325 --> 00:34:25,570 Allt í lagi, gaman að hitta þig. 778 00:34:25,570 --> 00:34:26,429 >> ALEX: Gaman að hitta þig. 779 00:34:26,429 --> 00:34:27,512 >> DAVID J. MALAN: Allt í lagi. 780 00:34:27,512 --> 00:34:28,969 Svo, frábær einföld æfing. 781 00:34:28,969 --> 00:34:31,440 Bar er ekki hár í fá fíl dag. 782 00:34:31,440 --> 00:34:33,439 Þú ert að spila hlutverk getstring. 783 00:34:33,439 --> 00:34:35,980 Og ég ætla bara að segja ykkur band sem þú hefur fengið. 784 00:34:35,980 --> 00:34:38,080 Og geri ráð fyrir að þú, getstring, hafa verið kölluð. 785 00:34:38,080 --> 00:34:42,480 Og manna, eins og mig, hefur slegið í Zamyla, Z-A-M-Y-L-A. 786 00:34:42,480 --> 00:34:45,650 Bara fara á undan og skrifa Zamyla á skjár eins og þú hefur fengið það 787 00:34:45,650 --> 00:34:47,250 og geymd það einhvers staðar í minni. 788 00:34:47,250 --> 00:34:52,370 789 00:34:52,370 --> 00:34:55,570 >> Keyrsla pláss fyrir það sem mun vera nokkur annað words-- sem er allt í lagi, að halda áfram. 790 00:34:55,570 --> 00:34:59,620 >> [Hlátur] 791 00:34:59,620 --> 00:35:00,800 >> Svo Zamyla, Excellent. 792 00:35:00,800 --> 00:35:04,880 Svo nú ætla að þér, getstring eru kölluð aftur. 793 00:35:04,880 --> 00:35:09,350 Og veita því ég yður, að minnsta hljómborð, með öðru nafni, Belinda. 794 00:35:09,350 --> 00:35:17,560 795 00:35:17,560 --> 00:35:18,060 Allt í lagi. 796 00:35:18,060 --> 00:35:22,380 Og nú er næst getstring kallaði ég tegund í eitthvað eins og Gabe, 797 00:35:22,380 --> 00:35:27,560 G-A-B-E. Þú ert í raun að taka til hjarta handahófi aðgangur minni. 798 00:35:27,560 --> 00:35:29,631 Sem er að teikna allt alveg af handahófi. 799 00:35:29,631 --> 00:35:30,130 OK. 800 00:35:30,130 --> 00:35:31,104 >> [Hlátur] 801 00:35:31,104 --> 00:35:32,520 ALEX: Því miður rithönd mín er slæmt. 802 00:35:32,520 --> 00:35:33,770 DAVID J. MALAN: Nei, það er allt í lagi. 803 00:35:33,770 --> 00:35:40,480 Og hvernig óður Rob, R-O-B. OK. 804 00:35:40,480 --> 00:35:41,020 Gott. 805 00:35:41,020 --> 00:35:43,853 Svo ég gerði ekki ráð fyrir þér myndi konar lá það út á þennan hátt. 806 00:35:43,853 --> 00:35:45,020 En við getum gert þetta verk. 807 00:35:45,020 --> 00:35:48,810 Svo hvernig did þú fara um lagningu út þessar stafir í minni? 808 00:35:48,810 --> 00:35:51,310 Í öðrum orðum, ef við hugsum um þetta rétthyrnd svartur skjár 809 00:35:51,310 --> 00:35:53,550 sem fulltrúi a RAM eða minni tölva '. 810 00:35:53,550 --> 00:35:55,850 >> Og muna að RAM er bara a heild búnt af bæti, 811 00:35:55,850 --> 00:35:57,480 og bæti eru allt fullt af bitum. 812 00:35:57,480 --> 00:35:59,350 Og bitar eru einhvern veginn framkvæmda, almennt 813 00:35:59,350 --> 00:36:01,119 með einhvers konar rafmagn í vélbúnaði. 814 00:36:01,119 --> 00:36:03,160 Svo er þessi tegund af layering við höfum talað um 815 00:36:03,160 --> 00:36:04,510 og getur nú tekið sem sjálfsögðum hlut. 816 00:36:04,510 --> 00:36:07,020 Hvernig fóruð þér um ákveða hvar á að skrifa 817 00:36:07,020 --> 00:36:11,634 Rob móti Gabe móti Belinda móti Zamyla? 818 00:36:11,634 --> 00:36:14,020 >> ALEX: Ég gerði bara það í panta að þú sagt mér. 819 00:36:14,020 --> 00:36:15,650 >> DAVID J. MALAN: Og það er satt. 820 00:36:15,650 --> 00:36:20,100 En hvað fer þar sem þú setur Nafn Belinda og nafn Gabe er? 821 00:36:20,100 --> 00:36:20,764 >> ALEX: Ekkert? 822 00:36:20,764 --> 00:36:22,930 DAVID J. MALAN: [Hlær] Svo sem virkar, það er allt í lagi. 823 00:36:22,930 --> 00:36:25,290 Svo tölvur eru lítið meira reglusamur en það. 824 00:36:25,290 --> 00:36:29,000 Og svo þegar við implement-- dvelja þar fyrir aðeins moment-- þegar við í raun 825 00:36:29,000 --> 00:36:31,470 innleiða eitthvað eins getstring í tölvu, 826 00:36:31,470 --> 00:36:34,480 Zamyla gæti verið sett fram nánast eins og þú gerðir á skjánum, þar. 827 00:36:34,480 --> 00:36:36,660 >> Og hvað er lykillinn að því að taka hér, hvað Alex gerði, 828 00:36:36,660 --> 00:36:40,260 er að það er eins konar afmörkun meðal hvert þessara orða, ekki satt? 829 00:36:40,260 --> 00:36:46,580 Þú varst ekki að skrifa Z-A-M-Y-L-A-B-E-L-I-N-D-A-G-A-B-- 830 00:36:46,580 --> 00:36:49,740 í öðrum orðum, það er sumir góður af afmörkun sem virðist vera, 831 00:36:49,740 --> 00:36:52,370 konar, handahófi bil milli þessara mismunandi orðum. 832 00:36:52,370 --> 00:36:54,120 En það er gott, vegna þess að við mennirnir geta nú 833 00:36:54,120 --> 00:36:56,470 sjón að þetta eru fjórar mismunandi strengir. 834 00:36:56,470 --> 00:36:59,540 Það er ekki bara einn röð hellingur af stöfum. 835 00:36:59,540 --> 00:37:04,190 Svo tölva, þá, á meðan, gæti tekið band eins Zamyla, 836 00:37:04,190 --> 00:37:07,220 setja hvert bréfinu inni í bæti af minni. 837 00:37:07,220 --> 00:37:10,400 En þessi tala er miklu stærri, auðvitað, en sex stafir. 838 00:37:10,400 --> 00:37:11,690 >> Það er allt fullt af vinnsluminni. 839 00:37:11,690 --> 00:37:15,330 Og svo héðan, þetta rist af kassa er að fara 840 00:37:15,330 --> 00:37:17,560 að tákna hvað Alex bara gerði hér á skjánum. 841 00:37:17,560 --> 00:37:20,937 Og nú, Alex, getum við boðið þér upp á blár eða appelsínugulur fíll frá Chang. 842 00:37:20,937 --> 00:37:22,270 ALEX: Ég tek bláa fíl. 843 00:37:22,270 --> 00:37:23,120 DAVID J. MALAN: A blár fíll. 844 00:37:23,120 --> 00:37:25,580 Svo stór umferð lófaklapp, ef við gætum fyrir Alex hér. 845 00:37:25,580 --> 00:37:26,100 >> [Applause] 846 00:37:26,100 --> 00:37:26,766 >> ALEX: Þakka þér. 847 00:37:26,766 --> 00:37:28,820 DAVID J. MALAN: Þakka þér. 848 00:37:28,820 --> 00:37:36,230 Svo takeaway er að jafnvel þó að mynstur konar breyst með tímanum, hér 849 00:37:36,230 --> 00:37:40,430 á borð, það var þessi afmörkun milli mismunandi strengi 850 00:37:40,430 --> 00:37:42,610 sem Alex fékk fyrir okkur. 851 00:37:42,610 --> 00:37:45,230 Nú tölvur, hreinskilnislega, gæti gert það sama. 852 00:37:45,230 --> 00:37:48,210 Þeir gætu eins konar plop strengir hvar í vinnsluminni. 853 00:37:48,210 --> 00:37:50,710 Upp hér, hérna, niður hér, hérna. 854 00:37:50,710 --> 00:37:52,020 >> Þeir gætu gert nákvæmlega það. 855 00:37:52,020 --> 00:37:54,280 En, auðvitað, það er sennilega ekki sú besta áætlanagerð. 856 00:37:54,280 --> 00:37:54,780 Ekki satt? 857 00:37:54,780 --> 00:37:57,340 Ef ég hélt að biðja Alex að fá nöfn, sennilega hann myndi 858 00:37:57,340 --> 00:38:01,370 setja meira hérna, kannski upp hér, hérna, hérna, loksins 859 00:38:01,370 --> 00:38:02,211 hérna. 860 00:38:02,211 --> 00:38:05,460 En með smá meira skipulagi, vissulega, við gætum leggja það út meira hreinlegur. 861 00:38:05,460 --> 00:38:07,350 Og reyndar, það er það sem tölvan gerir. 862 00:38:07,350 --> 00:38:10,720 >> En afla er að ef næsta band sem ég fá 863 00:38:10,720 --> 00:38:14,050 eftir Zamyla er eitthvað eins og Belinda, 864 00:38:14,050 --> 00:38:17,929 leggja þar sem við gætum skrifað á stafa b með tilliti til þessa rist? 865 00:38:17,929 --> 00:38:18,720 Hvert mynduð þið fara? 866 00:38:18,720 --> 00:38:21,480 Til hægra megin við A, neðan z, neðan við a? 867 00:38:21,480 --> 00:38:23,204 Hvað myndi Fyrstu eðlishvöt þín að vera? 868 00:38:23,204 --> 00:38:24,120 Áhorfendur: Undir z. 869 00:38:24,120 --> 00:38:25,100 DAVID J. MALAN: Svo neðan z. 870 00:38:25,100 --> 00:38:26,530 Og það er ansi einfalt, ekki satt? 871 00:38:26,530 --> 00:38:29,321 Það er góður af snyrtilegur, það er það sem við gerum á lyklaborðinu þegar við högg inn, 872 00:38:29,321 --> 00:38:31,770 eða email þegar gerð a bulleted listi af hlutum. 873 00:38:31,770 --> 00:38:34,310 En raunin er sú að tölvur reyna að vera skilvirkari, 874 00:38:34,310 --> 00:38:37,170 og troða vissulega eins mikið gagna í RAM og mögulegt, 875 00:38:37,170 --> 00:38:38,890 svo að þú sóa ekki allir bæti. 876 00:38:38,890 --> 00:38:41,545 Svo að þú sóa ekki hvaða skjár fasteignir. 877 00:38:41,545 --> 00:38:44,170 Og vandamálið, þó, er að ef við setjum bókstaflega bréf 878 00:38:44,170 --> 00:38:49,940 b eftir, hvernig eigum við að fara að vita hvar nafn Zamyla lýkur 879 00:38:49,940 --> 00:38:51,840 og nafn Belinda byrjar? 880 00:38:51,840 --> 00:38:55,270 Svo þú menn bara lagt, vel, högg á Enter takkann, í meginatriðum. 881 00:38:55,270 --> 00:38:56,410 Settu það niður hér fyrir neðan. 882 00:38:56,410 --> 00:38:59,750 Eða jafnvel eins og Alex gerði, bara byrja að skrifa næsta nafn fyrir neðan fyrri, 883 00:38:59,750 --> 00:39:01,583 og undir því einu, og þá undir því einn. 884 00:39:01,583 --> 00:39:02,510 Það er sjón bending. 885 00:39:02,510 --> 00:39:05,960 >> Tölvur hafa annað sjón bending, en það er svolítið meira gagnorðar. 886 00:39:05,960 --> 00:39:07,840 Það er þetta angurvær eðli. 887 00:39:07,840 --> 00:39:11,890 Sviga 0, sem er ef til vill minnir Sviga n, 888 00:39:11,890 --> 00:39:12,640 og svo framvegis, núna. 889 00:39:12,640 --> 00:39:14,120 Sérstaða raðir flýja. 890 00:39:14,120 --> 00:39:19,120 Sviga 0 er leiðin fulltrúi átta núll bita í röð. 891 00:39:19,120 --> 00:39:22,000 0000 0000. 892 00:39:22,000 --> 00:39:26,130 >> Leiðin sem þú tjá það er ekki að högg númer núll á lyklaborðinu, 893 00:39:26,130 --> 00:39:28,140 vegna þess að í raun það er að ASCII stafir. 894 00:39:28,140 --> 00:39:30,990 Það lítur út eins og a tala, en er í raun aukastaf númer 895 00:39:30,990 --> 00:39:35,910 sem táknar dreifibréf Glyph, hringlaga leturgerð. 896 00:39:35,910 --> 00:39:38,410 Á sama tíma, sviga núll þýðir, bókstaflega 897 00:39:38,410 --> 00:39:40,700 setja átta núll bæti hér fyrir mig. 898 00:39:40,700 --> 00:39:42,136 >> Svo er þetta nokkuð handahófskennt. 899 00:39:42,136 --> 00:39:44,260 Við hefðum getað notað hvaða mynstur bita, en heimurinn 900 00:39:44,260 --> 00:39:46,610 ákveðið nokkur ár síðan, að til þess að tákna 901 00:39:46,610 --> 00:39:49,710 enda streng í minni, bara setja a heild búnt af núllum. 902 00:39:49,710 --> 00:39:51,000 Vegna þess að við getum uppgötva það. 903 00:39:51,000 --> 00:39:54,790 Nú þýðir það að engin bréf af stafrófið getur verið fulltrúi með núllum. 904 00:39:54,790 --> 00:39:58,480 >> En það er allt í lagi, við höfum nú þegar séð að við erum að nota 65 á allt í 97 upp. 905 00:39:58,480 --> 00:40:00,290 Við vildum ekki fá einhvers staðar loka öllum núllum. 906 00:40:00,290 --> 00:40:03,040 907 00:40:03,040 --> 00:40:06,540 Svo Belinda í minni tölvu er reyndar að fara að fara hingað. 908 00:40:06,540 --> 00:40:09,764 Ég hef dregið það í gulu bara að vekja athygli okkar á því. 909 00:40:09,764 --> 00:40:11,680 Og tilkynning líka, þetta er alveg handahófskennt. 910 00:40:11,680 --> 00:40:12,680 Ég hef dregið það sem tafla. 911 00:40:12,680 --> 00:40:14,460 Eins, RAM er bara líkamlega mótmæla. 912 00:40:14,460 --> 00:40:17,300 Það þýðir ekki endilega að hafa raðir og dálkar, í sjálfu sér. 913 00:40:17,300 --> 00:40:20,490 Það er bara allt fullt af bætum framkvæmda í vélbúnaði einhvern veginn. 914 00:40:20,490 --> 00:40:22,817 En ef eftir Belinda I slegið í nafni Gabe er, 915 00:40:22,817 --> 00:40:25,650 hann er að fara að enda hér í minni, og ef ég slóst í nafni Daven er, 916 00:40:25,650 --> 00:40:27,316 til dæmis, hann er að fara að enda hér. 917 00:40:27,316 --> 00:40:29,310 Og ég get haldið áfram að skrifa jafnvel fleiri nöfn. 918 00:40:29,310 --> 00:40:32,100 >> Því miður, ef ég reyni að skrifa frábær langa nafn, 919 00:40:32,100 --> 00:40:33,730 Ég gæti að lokum keyra út af minni. 920 00:40:33,730 --> 00:40:37,810 Í því tilviki, getstring er fara að skila NULL, eins og ég sagði. 921 00:40:37,810 --> 00:40:41,720 En sem betur fer, að minnsta kosti í þessu sjón hér, höfum vér ekki fá alveg svo langt. 922 00:40:41,720 --> 00:40:45,860 >> Nú er það einmitt það sem er gott almenn hugmynd að meðhöndla það 923 00:40:45,860 --> 00:40:49,720 eins og að vera í kassa er fulltrúi lögun af C 924 00:40:49,720 --> 00:40:52,690 og mikið af tungumálum, þekktur sem fylki. 925 00:40:52,690 --> 00:40:55,490 An array er annars konar gögn. 926 00:40:55,490 --> 00:40:57,380 Það er gögn uppbygging, ef þú vilt. 927 00:40:57,380 --> 00:41:01,160 Uppbygging í skilningi það virkilega, konar, útlit eins og kassi, amk 928 00:41:01,160 --> 00:41:02,320 í auga huga þíns. 929 00:41:02,320 --> 00:41:09,680 Fylki er samliggjandi röð af eins gagnatög, 930 00:41:09,680 --> 00:41:11,330 aftur til baka til baka til baka. 931 00:41:11,330 --> 00:41:14,720 >> Svo a band, í öðrum orð, er fylki á stafir. 932 00:41:14,720 --> 00:41:16,120 An array af stöfum. 933 00:41:16,120 --> 00:41:19,070 En það kemur í ljós að þú getur haft fylki af bunches af hlutum. 934 00:41:19,070 --> 00:41:21,870 Í raun getum við sett enn tölur í array. 935 00:41:21,870 --> 00:41:23,920 Svo því formi sem við erum að fara að byrja 936 00:41:23,920 --> 00:41:26,590 lýsa þessum gögnum uppbyggingu þekktur sem fylki 937 00:41:26,590 --> 00:41:28,250 er líka að fara að nota hornklofa. 938 00:41:28,250 --> 00:41:31,500 En þessi hornklofum eru að fara að hafa mismunandi merkingu í þessu samhengi. 939 00:41:31,500 --> 00:41:33,450 >> Og við skulum sjá það eins og hér segir. 940 00:41:33,450 --> 00:41:36,780 Segjum sem svo að ég opnaði upp nýja skrá hér. 941 00:41:36,780 --> 00:41:38,535 Og ég vistað þetta sem ages.c. 942 00:41:38,535 --> 00:41:41,280 943 00:41:41,280 --> 00:41:43,470 Og ég ætla að vista þetta í möppu mína hér. 944 00:41:43,470 --> 00:41:46,130 Og nú er ég að fara að fara á undan og byrjaðu að slá inn eitthvað 945 00:41:46,130 --> 00:41:53,940 eins eru ma CS50.h, meðal annars stdio.h, int helstu ógild. 946 00:41:53,940 --> 00:41:57,370 Og þá inni hér, ég vil fyrst hafa int heitir aldri. 947 00:41:57,370 --> 00:42:01,371 >> Og ég ætla að nota það til að fá að int frá notanda til aldurs hans. 948 00:42:01,371 --> 00:42:04,620 En þetta forrit er ætlað að vera notað af margar fólk, fyrir hvaða samhengi. 949 00:42:04,620 --> 00:42:05,490 Ég hef fengið línu af fólki. 950 00:42:05,490 --> 00:42:08,281 Allir hafa þeir að slá í þeirra aldur fyrir kannski sumir, ég veit ekki, 951 00:42:08,281 --> 00:42:10,530 samkeppni, eða atburð að þeir hafa komið fyrir. 952 00:42:10,530 --> 00:42:13,030 Þannig að næsta manneskja, ég þarft annað breytu. 953 00:42:13,030 --> 00:42:15,790 >> Vegna þess að ef ég bara aldur fær getInt, það er 954 00:42:15,790 --> 00:42:18,500 fara að clobber, eða skrifa aldur fyrri viðkomandi. 955 00:42:18,500 --> 00:42:19,760 Svo er það ekki gott. 956 00:42:19,760 --> 00:42:21,790 Svo fyrsta eðlishvöt mín gæti verið, ó, allt í lagi, 957 00:42:21,790 --> 00:42:26,260 ef ég vil fá margar fólks ages-- skulum kalla þetta age1, 958 00:42:26,260 --> 00:42:31,280 int age2 fær int, int age3 fær getInt. 959 00:42:31,280 --> 00:42:35,340 Og nú er ég að fara að nota sumir sauðakóðanum kóða hér. 960 00:42:35,340 --> 00:42:37,679 >> Gera eitthvað með þær tölur. 961 00:42:37,679 --> 00:42:40,470 Við munum fara annan dag hvað við erum að gera þar, vegna þess að við bara 962 00:42:40,470 --> 00:42:44,200 umönnun fyrir stundu um age1, age2, age3. 963 00:42:44,200 --> 00:42:46,450 Því miður, þegar ég saman þetta forrit 964 00:42:46,450 --> 00:42:51,140 og setja það fyrir framan raunverulegum notendum, hvað er í grundvallaratriðum léleg hönnun 965 00:42:51,140 --> 00:42:53,890 ákvörðun sem ég virðist hafa gert? 966 00:42:53,890 --> 00:42:54,624 Já? 967 00:42:54,624 --> 00:42:55,499 Áhorfendur: [inaudible] 968 00:42:55,499 --> 00:42:58,071 969 00:42:58,071 --> 00:42:59,820 DAVID J. MALAN: Já, Ég hef ekki einu sinni reynt 970 00:42:59,820 --> 00:43:02,028 að reikna út hversu margir aldri mér er sama í raun um? 971 00:43:02,028 --> 00:43:05,380 Ef ég hef færri en þrír hér, og því færri en þrjú aldur, 972 00:43:05,380 --> 00:43:07,260 Ég er enn í blindni von þrjú. 973 00:43:07,260 --> 00:43:08,720 Guð forði fjórir manns mæta. 974 00:43:08,720 --> 00:43:10,990 Áætlun mín bara ekki einu sinni að styðja þá. 975 00:43:10,990 --> 00:43:13,280 >> Og svo þetta, löng saga stutt, er ekki góð venja. 976 00:43:13,280 --> 00:43:13,780 Ekki satt? 977 00:43:13,780 --> 00:43:16,530 Ég var í raun að afrita og límir kóðann og bara klip 978 00:43:16,530 --> 00:43:17,430 breytu nöfn. 979 00:43:17,430 --> 00:43:22,410 Og guð minn, ef þú hefðir ekki þrír aldur, en 10, eða 100, eða jafnvel 6500 980 00:43:22,410 --> 00:43:23,820 háskólastúdent, til dæmis. 981 00:43:23,820 --> 00:43:26,950 Þetta er ekki að fara að vera sérstaklega glæsilegur númer, eða sjálfbær. 982 00:43:26,950 --> 00:43:29,200 Þú ert að fara að hafa til að umrita the program í hvert skipti 983 00:43:29,200 --> 00:43:30,760 tala af fólk breytingar. 984 00:43:30,760 --> 00:43:35,090 >> Svo sem betur fer, í raun okkar ages.c skrá í dag, 985 00:43:35,090 --> 00:43:36,970 Við höfum meira snjall lausn. 986 00:43:36,970 --> 00:43:39,800 Fyrst ætla ég að taka lán á reisa við höfum notað nokkrum sinnum, 987 00:43:39,800 --> 00:43:43,744 þetta gera á meðan lykkja, til þess að fá fjöldi fólks í herberginu. 988 00:43:43,744 --> 00:43:46,910 Ég ætla bara að fara að pester notanda, aftur og aftur, þangað til hann eða hún gefur mér 989 00:43:46,910 --> 00:43:49,260 gildi n sem er jákvæð heiltala. 990 00:43:49,260 --> 00:43:51,590 >> Ég hefði getað notað, síðasta tíminn er að fá jákvæða int. 991 00:43:51,590 --> 00:43:53,720 En við höfum ekki það fyrir alvöru, svo ég fór á undan 992 00:43:53,720 --> 00:43:55,660 og aftur innleitt þessa hugmynd. 993 00:43:55,660 --> 00:43:58,410 Nú niður hér, þetta er nýja bragð. 994 00:43:58,410 --> 00:44:02,260 Í samræmi 27, sem athugasemdir í línu 26 gefur til kynna, 995 00:44:02,260 --> 00:44:05,180 lýsa fjölda sem að geyma aldur allra. 996 00:44:05,180 --> 00:44:09,320 >> Svo ef þú vilt fá, ekki eitt int, ekki tveir ints, en a heild búnt af ints. 997 00:44:09,320 --> 00:44:13,800 Sérstaklega n heiltölur, voru n gæti vera þrír, gæti verið 100, gæti verið 1000. 998 00:44:13,800 --> 00:44:17,570 The setningafræði, einfaldlega, er að segja, hvaða gögn tegund viltu? 999 00:44:17,570 --> 00:44:19,620 Hvað viltu kalla sem klumpur af minni? 1000 00:44:19,620 --> 00:44:23,530 Hvað viltu að hringja í rist sem lítur svona út pictorially? 1001 00:44:23,530 --> 00:44:27,700 >> Og í sviga hér, þú segir hversu stór þú vilt að array að vera. 1002 00:44:27,700 --> 00:44:30,450 Og svo áðan þegar ég sagði setningafræði er svolítið öðruvísi hér, 1003 00:44:30,450 --> 00:44:33,614 við erum enn að nota hornklofa, en þegar ég er að lýsa fylki, 1004 00:44:33,614 --> 00:44:35,530 fjöldi inni á hornklofum þýðir 1005 00:44:35,530 --> 00:44:37,610 hversu stór þú vilt að array að vera. 1006 00:44:37,610 --> 00:44:42,490 >> Með því móti, þegar við vorum með s krappi ég í smá stund síðan, s, a band, 1007 00:44:42,490 --> 00:44:46,820 er örugglega fylki á stafir, en þegar þú ert ekki að lýsa breytu, 1008 00:44:46,820 --> 00:44:49,760 eins og með þetta leitarorð hér, þú ert einfaldlega að fá 1009 00:44:49,760 --> 00:44:54,280 sérstök vísitala, er sérstakur þáttur frá því fylki. 1010 00:44:54,280 --> 00:44:57,090 Þegar við vitum að hvíla um er þetta einfalt. 1011 00:44:57,090 --> 00:45:00,765 Ef nýr Ég fyrst að fara að prenta út hvað er aldur persónu númer i. 1012 00:45:00,765 --> 00:45:03,890 Þar sem ég segi bara maður númer eitt, maður númer tvö, maður númer þrjú. 1013 00:45:03,890 --> 00:45:06,306 >> Og ég ætla bara að gera tölur, þannig að eins og venjulegt fólk, 1014 00:45:06,306 --> 00:45:09,030 að telja frá einum til þessa program, og ekki frá núlli. 1015 00:45:09,030 --> 00:45:13,620 Þá kalla ég getint, en ég geyma svarið í aldri krappi i. 1016 00:45:13,620 --> 00:45:16,610 Hver er i'th aldur í array. 1017 00:45:16,610 --> 00:45:21,640 Svo en síðast þegar við vorum að meðhöndla þessir kassar sem stafir fyrir nafni Zamyla er, 1018 00:45:21,640 --> 00:45:22,490 og aðrir. 1019 00:45:22,490 --> 00:45:26,530 Nú standa þessir kassar 32 bitar eða fjórar bæti 1020 00:45:26,530 --> 00:45:29,510 þar sem við getum geymt int int int. 1021 00:45:29,510 --> 00:45:31,890 Allir sem, aftur, eru þau sömu gögn tegund. 1022 00:45:31,890 --> 00:45:33,890 >> Nú er ég að gera eitthvað kjánalegt, eins tíminn líður, bara 1023 00:45:33,890 --> 00:45:35,510 að réttlæta að skrifa þetta forrit. 1024 00:45:35,510 --> 00:45:40,050 Og þá hérna, ég og kunnugt aftur yfir array segja á ári héðan í frá, 1025 00:45:40,050 --> 00:45:43,090 maður númer eitt mun vera eitthvað ára. 1026 00:45:43,090 --> 00:45:45,010 Og til að reikna út að math-- Ég meina, þetta 1027 00:45:45,010 --> 00:45:49,260 er ekki mjög flókið arithmetic-- Ég bæta bara einn til aldurs þeirra. 1028 00:45:49,260 --> 00:45:51,240 Bara til að sýna, aftur, þetta. 1029 00:45:51,240 --> 00:45:57,910 >> Rétt eins og ég get vísitölu í band, s, svo get ég Vísitala inn fjölda aldri, 1030 00:45:57,910 --> 00:45:59,950 svona þar. 1031 00:45:59,950 --> 00:46:03,340 Svo hvar er þetta að fara að taka okkur? 1032 00:46:03,340 --> 00:46:07,070 Þannig að við munum sjá, að lokum, a fátt í dögum. 1033 00:46:07,070 --> 00:46:09,510 Einn, allan þennan tíma, þegar skrifa eigin áætlunum þínum, 1034 00:46:09,510 --> 00:46:11,239 eins og Mario, gráðugur, trúnaður. 1035 00:46:11,239 --> 00:46:13,780 Þú hefur verið að slá nafn forritið og hitting á Enter. 1036 00:46:13,780 --> 00:46:15,610 Og þá fá inntak notandans. 1037 00:46:15,610 --> 00:46:18,137 >> Með getString, getInt, getLongLong, eða þess háttar. 1038 00:46:18,137 --> 00:46:20,720 En það kemur í ljós að C styður eitthvað sem kallast stjórn lína 1039 00:46:20,720 --> 00:46:25,740 rök, sem er að fara að láta okkur reyndar fá á orðum sem þú skrifar, 1040 00:46:25,740 --> 00:46:28,570 á blikkandi hvetja, eftir nafni forritsins þíns. 1041 00:46:28,570 --> 00:46:31,430 >> Svo á næstu dögum koma, þér gæti slegið eitthvað eins Caesar, 1042 00:46:31,430 --> 00:46:34,950 eða ./caesar númer 13, eftir það. 1043 00:46:34,950 --> 00:46:36,070 Við munum sjá hvernig það virkar. 1044 00:46:36,070 --> 00:46:37,550 Vegna reyndar í Vandamálið sett tvö, við erum 1045 00:46:37,550 --> 00:46:39,383 að fara að kynna þér til smá eitthvað 1046 00:46:39,383 --> 00:46:42,360 minnir Ralphie er áskorun áðan um kortagerð. 1047 00:46:42,360 --> 00:46:43,970 Listin að spæna upplýsingar. 1048 00:46:43,970 --> 00:46:46,660 Þetta, í raun, er mjög minnir það Ralphie gerði. 1049 00:46:46,660 --> 00:46:51,380 >> Þetta er dæmi um dulkóðun reiknirit sem kallast rot13, R-O-T 13. 1050 00:46:51,380 --> 00:46:54,910 Sem einfaldlega þýðir að snúa við stafir í stafrófinu 13 stöðum. 1051 00:46:54,910 --> 00:46:58,309 Og ef þú gerir það, þú munt nú sjá hvað er, kannski, þekki setningu. 1052 00:46:58,309 --> 00:47:01,100 En hvernig við ætlum að nota þetta, á endanum, er almennt. 1053 00:47:01,100 --> 00:47:04,390 >> Í P sett tvö, í venjulegu útgáfunni, þú munt framkvæma nokkrar dulmál, 1054 00:47:04,390 --> 00:47:06,720 einn heitir Caesar, einn heitir Vigenere. 1055 00:47:06,720 --> 00:47:10,090 Báðir þeirra eru hverfi dulmálin, í það einhvern veginn að þú 1056 00:47:10,090 --> 00:47:11,826 snúa einn staf í mismunandi bréf. 1057 00:47:11,826 --> 00:47:12,950 Og Caesar er frábær einfalt. 1058 00:47:12,950 --> 00:47:16,220 Þú bæta við einum, þú bæta 13, eða einhver tala upp að 26. 1059 00:47:16,220 --> 00:47:19,570 Vigenere gerir það á a bókstaf grunni. 1060 00:47:19,570 --> 00:47:22,140 Svo Vigenere, eins og þú munt sjá í sérstakur er öruggari. 1061 00:47:22,140 --> 00:47:24,973 >> En í lok dagsins hvað þú munt vera að innleiða og P setja tvo, 1062 00:47:24,973 --> 00:47:29,050 er þessi lykill sem þú notar bæði fyrir dulkóðun og decryption. 1063 00:47:29,050 --> 00:47:32,160 Vísa til ferli beygja texta, sumir upprunalega skilaboð, 1064 00:47:32,160 --> 00:47:34,490 í Cypher texta, sem er eitthvað dulkóðaðar. 1065 00:47:34,490 --> 00:47:36,220 Og þá dulkóða það aftur. 1066 00:47:36,220 --> 00:47:38,119 >> Í spjallþráð útgáfu, meðan, þú munt vera 1067 00:47:38,119 --> 00:47:40,660 verkefni með eitthvað svipað í anda, þar sem við munum gefa þér 1068 00:47:40,660 --> 00:47:44,610 skrá, frá dæmigerðum Linux, eða Mac eða Unix tölva kallast Etsy 1069 00:47:44,610 --> 00:47:47,800 lykilorð, sem inniheldur í heild fullt af notendanöfnum og lykilorðum. 1070 00:47:47,800 --> 00:47:50,932 Og þessir lykilorð hafa allt verið dulkóðuð, eða tætt 1071 00:47:50,932 --> 00:47:53,140 svo að segja, fleiri almennilega eins og þú munt sjá í sérstakur. 1072 00:47:53,140 --> 00:47:57,090 >> Og tölvusnápur útgáfa vilja áskorun þú með að taka inntak eins og þetta, 1073 00:47:57,090 --> 00:47:58,800 og sprunga lykilorð. 1074 00:47:58,800 --> 00:48:02,590 Það er, vangaveltur út hvað lykilorð Human raun var. 1075 00:48:02,590 --> 00:48:05,570 Vegna þess, reyndar eru lykilorð almennt ekki geymd í tær, 1076 00:48:05,570 --> 00:48:08,260 og almennt lykilorð ætti að vera erfitt að giska á. 1077 00:48:08,260 --> 00:48:09,610 Það er ekki oft raunin. 1078 00:48:09,610 --> 00:48:12,110 >> Og það sem ég hélt að við myndum gera er ljúka með í nokkrar mínútur 1079 00:48:12,110 --> 00:48:15,160 litið á sérstaklega lélegt val á lykilorð 1080 00:48:15,160 --> 00:48:17,260 frá myndinni sem þú gætir muna fondly. 1081 00:48:17,260 --> 00:48:18,915 Og ef ekki, þú ættir að leigja. 1082 00:48:18,915 --> 00:48:20,070 >> [Vídeó spilun] 1083 00:48:20,070 --> 00:48:22,320 >> -Helmet, Þú fiend, hvað er að gerast? 1084 00:48:22,320 --> 00:48:24,240 Hvað ert þú að gera til dóttur minnar? 1085 00:48:24,240 --> 00:48:28,010 >> -Permit Mér að kynna Frábær lýtalæknir, 1086 00:48:28,010 --> 00:48:30,010 Doctor Phillip Schlotkin. 1087 00:48:30,010 --> 00:48:35,020 Mesta nef starf maður í Alheimurinn og Beverly Hills. 1088 00:48:35,020 --> 00:48:36,140 >> -Your Hátign. 1089 00:48:36,140 --> 00:48:36,820 >> -Nose Starf? 1090 00:48:36,820 --> 00:48:37,700 Ég skil ekki. 1091 00:48:37,700 --> 00:48:39,070 Hún er nú þegar haft nef vinnu. 1092 00:48:39,070 --> 00:48:40,800 Það var henni sætur 16 staðar. 1093 00:48:40,800 --> 00:48:42,590 >> Nei, það er ekki það sem þú heldur. 1094 00:48:42,590 --> 00:48:44,490 Það er miklu, miklu verra. 1095 00:48:44,490 --> 00:48:48,160 Ef þú gefur ekki mér að samsetning á loft skjöld, 1096 00:48:48,160 --> 00:48:52,748 Læknirinn Schlotkin mun gefa þér dóttir baka gamla nef hennar. 1097 00:48:52,748 --> 00:48:53,748 - [Gasps] Nooooooooooooo. 1098 00:48:53,748 --> 00:48:57,684 1099 00:48:57,684 --> 00:48:59,652 Hvar fékkstu þetta? 1100 00:48:59,652 --> 00:49:00,640 >> -Alltí Lagi. 1101 00:49:00,640 --> 00:49:02,506 Ég segi, ég segi. 1102 00:49:02,506 --> 00:49:03,498 >> Nei, pabbi, nei. 1103 00:49:03,498 --> 00:49:04,490 Þú mátt ekki. 1104 00:49:04,490 --> 00:49:06,090 >> -Þú Rétt minn kæri. 1105 00:49:06,090 --> 00:49:07,390 Ég sakna nýja nefið. 1106 00:49:07,390 --> 00:49:10,990 En ég mun ekki segja þeim að samsetning sama hvað. 1107 00:49:10,990 --> 00:49:12,450 >> -Mjög Vel. 1108 00:49:12,450 --> 00:49:14,830 Doctor Schlotkin gera versta þinn. 1109 00:49:14,830 --> 00:49:15,744 >> -Ég Ánægja. 1110 00:49:15,744 --> 00:49:19,860 1111 00:49:19,860 --> 00:49:20,800 >> Nei! 1112 00:49:20,800 --> 00:49:22,780 Bíddu, bíddu. 1113 00:49:22,780 --> 00:49:24,000 Ég segi. 1114 00:49:24,000 --> 00:49:25,830 Ég segi. 1115 00:49:25,830 --> 00:49:28,270 >> Ég vissi að það myndi virka. 1116 00:49:28,270 --> 00:49:31,390 Allt í lagi, gefa mér. 1117 00:49:31,390 --> 00:49:36,220 >> -The samsetning er einn. 1118 00:49:36,220 --> 00:49:36,740 >> One. 1119 00:49:36,740 --> 00:49:37,473 >> One. 1120 00:49:37,473 --> 00:49:37,972 -Tveir. 1121 00:49:37,972 --> 00:49:38,471 -Tveir. 1122 00:49:38,471 --> 00:49:39,800 -Tveir. 1123 00:49:39,800 --> 00:49:40,300 -Three. 1124 00:49:40,300 --> 00:49:40,800 -Three. 1125 00:49:40,800 --> 00:49:41,800 -Three. 1126 00:49:41,800 --> 00:49:42,300 -Four. 1127 00:49:42,300 --> 00:49:42,800 -Four. 1128 00:49:42,800 --> 00:49:44,707 -Four. 1129 00:49:44,707 --> 00:49:45,521 -Five. 1130 00:49:45,521 --> 00:49:46,430 -Five. 1131 00:49:46,430 --> 00:49:47,930 -Five. 1132 00:49:47,930 --> 00:49:53,480 So the samsetning er einn, tveir, þrír, fjórir, fimm. 1133 00:49:53,480 --> 00:49:56,140 Það er heimskasta samsetning Ég heyri alltaf í lífi mínu. 1134 00:49:56,140 --> 00:49:58,640 Það er góður af hlutur an hálfviti hefði á farangri sínum. 1135 00:49:58,640 --> 00:50:00,000 >> Takk, yðar hátign. 1136 00:50:00,000 --> 00:50:01,340 >> [REMOTE Smellir] 1137 00:50:01,340 --> 00:50:02,450 >> -Hvað Gerðirðu? 1138 00:50:02,450 --> 00:50:03,800 >> Ég slökkti á vegg. 1139 00:50:03,800 --> 00:50:05,010 >> Nei, þú gerðir það ekki, þú slökkt alla myndina. 1140 00:50:05,010 --> 00:50:06,220 >> Ég hlýt ýtt á rangan hnapp. 1141 00:50:06,220 --> 00:50:07,064 >> -Well, Setja hana á aftur! 1142 00:50:07,064 --> 00:50:07,910 Settu myndina aftur! 1143 00:50:07,910 --> 00:50:08,300 >> Já, herra! 1144 00:50:08,300 --> 00:50:08,799 Já, herra. 1145 00:50:08,799 --> 00:50:09,660 -Hringjum Fara, Arnold. 1146 00:50:09,660 --> 00:50:10,450 Komdu, Gretchen. 1147 00:50:10,450 --> 00:50:12,533 Auðvitað þú veist ég ætla verða að senda þér reikning fyrir þessu. 1148 00:50:12,533 --> 00:50:16,720 1149 00:50:16,720 --> 00:50:17,220 -Well? 1150 00:50:17,220 --> 00:50:17,802 Gerði það að vinna? 1151 00:50:17,802 --> 00:50:18,510 Hvar er konungur? 1152 00:50:18,510 --> 00:50:20,218 >> -Það Vann, herra, við hafa samsetningu. 1153 00:50:20,218 --> 00:50:20,740 -Mikill. 1154 00:50:20,740 --> 00:50:24,810 Nú getum við tekið alla síðustu andann af fersku lofti frá plánetunni Druidia. 1155 00:50:24,810 --> 00:50:25,890 Hvað er samsetning? 1156 00:50:25,890 --> 00:50:28,155 >> Ón, tveir, þrír, fjórir, fimm. 1157 00:50:28,155 --> 00:50:29,890 >> Ón, tveir, þrír, fjórir, fimm? 1158 00:50:29,890 --> 00:50:30,390 -Já. 1159 00:50:30,390 --> 00:50:31,110 -Það Er ótrúlegt. 1160 00:50:31,110 --> 00:50:34,550 Ég hef fengið það sama samsetning á töskunni minni. 1161 00:50:34,550 --> 00:50:37,160 Undirbúa Spaceball 1 fyrir strax brottför. 1162 00:50:37,160 --> 00:50:38,160 >> Já, herra. 1163 00:50:38,160 --> 00:50:40,745 >> -Og Breyta samsetning á töskunni minni. 1164 00:50:40,745 --> 00:50:41,578 [Lokun á hurðinni SOUND] 1165 00:50:41,578 --> 00:50:42,064 [Snún dyra hitting hjálm] 1166 00:50:42,064 --> 00:50:42,550 -Ahh. 1167 00:50:42,550 --> 00:50:43,383 [END vídeó spilun] 1168 00:50:43,383 --> 00:50:46,700 DAVID J. MALAN: Það er það fyrir CS50, sjáumst í næstu viku. 1169 00:50:46,700 --> 00:50:49,883 Sögumaður: Og nú, Deep Hugsun, eftir Daven Farnham. 1170 00:50:49,883 --> 00:50:53,160 1171 00:50:53,160 --> 00:50:55,860 >> DAVEN FARNHAM: erfðaskrá í C er svo miklu erfiðara en grunni. 1172 00:50:55,860 --> 00:50:57,320 printf, Scratch var lygi. 1173 00:50:57,320 --> 00:50:59,930 1174 00:50:59,930 --> 00:51:01,430 >> [Hlátur SOUNDBITE] 1175 00:51:01,430 --> 00:51:02,486