1 00:00:00,000 --> 00:00:03,944 >> [Music kucheza] 2 00:00:03,944 --> 00:00:10,732 3 00:00:10,732 --> 00:00:11,690 DAVID Malan: zote haki. 4 00:00:11,690 --> 00:00:14,674 Hii ni CS50, na hii Huu ndio mwisho wa wiki 2. 5 00:00:14,674 --> 00:00:16,840 Mimi hivyo pole sikuweza kuwa kuna nanyi nyote leo, 6 00:00:16,840 --> 00:00:18,300 lakini wewe ni katika mikono nzuri sana. 7 00:00:18,300 --> 00:00:21,710 Naomba kuanzisha CS50 ya mwenyewe Rob Bowden. 8 00:00:21,710 --> 00:00:29,106 9 00:00:29,106 --> 00:00:31,730 Rob BOWDEN: Na bila shaka, kisha tuna kufanya furaha ya kweli 10 00:00:31,730 --> 00:00:36,820 ndipo akatuma sisi wima video na kuonyesha hii. 11 00:00:36,820 --> 00:00:38,320 >> [VIDEO avspelning] 12 00:00:38,320 --> 00:00:39,820 >> [Music kucheza] 13 00:00:39,820 --> 00:00:42,350 >> [Nyayo] 14 00:00:42,350 --> 00:00:44,730 >> -Hii Video hakufanya hivyo na kuangalia njia hii. 15 00:00:44,730 --> 00:00:46,570 Ni inaweza kuwa kuzuiwa. 16 00:00:46,570 --> 00:00:49,070 Kusema hapana kwa video wima. 17 00:00:49,070 --> 00:00:53,310 >> -Vertical Video kutokea wakati kushikilia kamera yako njia sahihi. 18 00:00:53,310 --> 00:00:55,880 Video wako mwisho juu kuangalia kama crap. 19 00:00:55,880 --> 00:00:57,650 >> - [Grunt] 20 00:00:57,650 --> 00:01:02,240 >> -Kuna Watu wengi zaidi addicted kwa kufanya video wima kila siku. 21 00:01:02,240 --> 00:01:06,240 Siyo ufa au kitu, lakini bado ni mbaya kweli kweli. 22 00:01:06,240 --> 00:01:10,410 Kuna aina mbili tofauti za watu ambao ni vibaya kwa VVS. 23 00:01:10,410 --> 00:01:14,160 Kundi la kwanza chipsi video risasi kama picha. 24 00:01:14,160 --> 00:01:15,850 Hawana maana madhara yoyote. 25 00:01:15,850 --> 00:01:19,180 Wao tu hawaelewi kwamba wakati unaweza kugeuka picha, 26 00:01:19,180 --> 00:01:20,880 unaweza si kweli kugeuka video. 27 00:01:20,880 --> 00:01:21,880 >> [Ajali] 28 00:01:21,880 --> 00:01:23,460 >> - [Tumbili Sauti] 29 00:01:23,460 --> 00:01:27,540 >> -The Kundi lingine ni watu ambao wala kutoa [Bleep]. 30 00:01:27,540 --> 00:01:31,090 >> -Vertical Sehemu Syndrome ni hatari. 31 00:01:31,090 --> 00:01:34,120 Picha mwendo na zimekuwa usawa. 32 00:01:34,120 --> 00:01:35,990 Televisheni ni usawa. 33 00:01:35,990 --> 00:01:38,380 Kompyuta skrini ni usawa. 34 00:01:38,380 --> 00:01:41,580 Macho ya watu ni usawa. 35 00:01:41,580 --> 00:01:45,170 Sisi si kujengwa kwa kuangalia video wima. 36 00:01:45,170 --> 00:01:47,600 >> -I Upendo video wima. 37 00:01:47,600 --> 00:01:50,410 >> -Nobody Anayejali kuhusu wewe. 38 00:01:50,410 --> 00:01:53,340 >> -Kama Tatizo hili la kushoto unchecked, wewe pia 39 00:01:53,340 --> 00:01:57,650 itaanza kuonyesha video nne mara moja tu kuokoa Bandwidth. 40 00:01:57,650 --> 00:02:02,400 >> -Letterboxed Wima video ingekuwa kuwa na ukubwa wa stempu. 41 00:02:02,400 --> 00:02:04,920 >> -Na Itakuwa kuenea kila mahali. 42 00:02:04,920 --> 00:02:07,670 Skrini Kisasa na zimekuwa usawa. 43 00:02:07,670 --> 00:02:11,200 Kama video wima kuwa kukubalika, sinema movie 44 00:02:11,200 --> 00:02:13,930 itakuwa na kuwa mrefu na skinny. 45 00:02:13,930 --> 00:02:17,710 >> -Na Wote wa sinema movie ingekuwa una kupata lenye chini na upya. 46 00:02:17,710 --> 00:02:22,090 Na kwa wakati wao walikuwa upya, Mila Kunis itakuwa zamani na mbaya. 47 00:02:22,090 --> 00:02:24,342 >> -Birds Ajali ndani yao na kufa. 48 00:02:24,342 --> 00:02:26,530 >> -We'll Wote kupata ngumu shingo kutoka kuangalia juu. 49 00:02:26,530 --> 00:02:29,800 >> -Na Hakuna mtu kukaa katika mstari wa mbele milele tena. 50 00:02:29,800 --> 00:02:37,170 >> -George Lucas re-kutolewa Star Vita again-- toleo skinny. 51 00:02:37,170 --> 00:02:41,860 >> -I Alikuwa kweli kamwe na uwezo wa kuwaambia hadithi kuwa nilitaka kukuambia. 52 00:02:41,860 --> 00:02:46,030 Hii ilikuwa ni nafasi kubwa kwa ajili yangu na majaribio na teknolojia mpya. 53 00:02:46,030 --> 00:02:48,150 >> -You're Jerk. 54 00:02:48,150 --> 00:02:54,430 >> Muda -Kila simu ya mkononi hutumika rekodi ya video, majaribu ni huko. 55 00:02:54,430 --> 00:02:56,370 Tu kusema hapana. 56 00:02:56,370 --> 00:03:00,116 Kusema hapana kwa George Lucas. 57 00:03:00,116 --> 00:03:04,062 Kusema hapana kwa miaka Mila Kunis. 58 00:03:04,062 --> 00:03:06,600 Kusema hapana kwa video wima. 59 00:03:06,600 --> 00:03:12,511 >> -Na Ukiona mtu kufanya hivyo, wanasema, "wewe si risasi kuwa dummy haki!" 60 00:03:12,511 --> 00:03:15,433 >> [Music kucheza] 61 00:03:15,433 --> 00:03:18,842 62 00:03:18,842 --> 00:03:19,830 >> [Mwisho avspelning] 63 00:03:19,830 --> 00:03:23,702 >> [Makofi] 64 00:03:23,702 --> 00:03:27,598 >> [Audio OUT] 65 00:03:27,598 --> 00:03:44,041 66 00:03:44,041 --> 00:03:45,790 Rob BOWDEN: --simple aina ya cryptography, 67 00:03:45,790 --> 00:03:49,500 ambayo kimsingi ni kuficha na decryption ya ujumbe wa siri. 68 00:03:49,500 --> 00:03:52,590 Hivyo hapa tuna toy rahisi sana. 69 00:03:52,590 --> 00:03:56,900 Na wazo ni pete ya nje rotates kuzunguka pete ya ndani. 70 00:03:56,900 --> 00:04:01,610 Na unaweza kuona, labda kama mimi kuvuta katika, that-- ni vigumu kuona. 71 00:04:01,610 --> 00:04:05,090 Lakini, kama, idadi 1-- vizuri, kwamba wakiongozwa. 72 00:04:05,090 --> 00:04:09,120 >> Namba 1 elekezi barua X, namba 2 ramani ya barua 73 00:04:09,120 --> 00:04:11,630 J. Cha ajabu ni vigumu si ruka mbele. 74 00:04:11,630 --> 00:04:16,100 Barua 2 elekezi J. Namba 3 elekezi D. Hivyo 75 00:04:16,100 --> 00:04:20,140 na pete hii unaweza kuwapa mtu ujumbe 1, 2, 3. 76 00:04:20,140 --> 00:04:22,624 Kwa baadhi ya sababu wewe wanataka kuwaambia XJD. 77 00:04:22,624 --> 00:04:24,540 Lakini unaweza kuwapa baadhi ya ujumbe wa namba, 78 00:04:24,540 --> 00:04:28,460 na kama muda wao kuwa na pete hii, unaweza decrypt nini wewe anajaribu kusema. 79 00:04:28,460 --> 00:04:32,510 >> Hivyo unaweza tumeona hii mfano hasa wa cryptography 80 00:04:32,510 --> 00:04:36,640 kabla kama karibu msimu wa Krismasi umefanya kuangalia Story Krismasi. 81 00:04:36,640 --> 00:04:38,520 Kama wewe sijawahi kuona hivyo kabla, basi tu 82 00:04:38,520 --> 00:04:41,060 kurejea kwenye TBS katika halisi wakati wowote juu ya Krismasi, 83 00:04:41,060 --> 00:04:44,510 kwa sababu wao tu kuonyesha kuwa nyuma kwa nyuma kwa nyuma kwa nyuma kwa nyuma siku nzima. 84 00:04:44,510 --> 00:04:46,744 Na video husika ni hii. 85 00:04:46,744 --> 00:04:47,410 [VIDEO avspelning] 86 00:04:47,410 --> 00:04:50,020 -Kuwa Ijulikane kwa wote na sundry kwamba Ralph Parker ni hili 87 00:04:50,020 --> 00:04:52,850 aliteuliwa kuwa mjumbe wa Kidogo Yatima Annie Secret Circle 88 00:04:52,850 --> 00:04:56,490 na ana haki ya heshima zote na faida zinazotokea lazimishwa. 89 00:04:56,490 --> 00:04:59,010 Saini Little Yatima Annie. 90 00:04:59,010 --> 00:05:03,120 Countersigned Pierre Andre katika wino! 91 00:05:03,120 --> 00:05:07,460 Heshima na faida Tayari akiwa na umri wa tisa! 92 00:05:07,460 --> 00:05:12,530 >> [Kunguruma kutoka RADIO] 93 00:05:12,530 --> 00:05:13,030 -Come Juu. 94 00:05:13,030 --> 00:05:14,000 Hebu kupata tarehe na hayo. 95 00:05:14,000 --> 00:05:18,274 Sina haja jazz kwamba wote kuhusu smugglers na maharamia. 96 00:05:18,274 --> 00:05:20,440 -Sikiliza Kesho usiku kwa adventure kuhitimisha 97 00:05:20,440 --> 00:05:22,540 ya Black Pirate meli. 98 00:05:22,540 --> 00:05:25,460 Sasa, ni wakati kwa Annie ya siri ujumbe 99 00:05:25,460 --> 00:05:28,620 kwa wewe wanachama wa Uwanja Siri. 100 00:05:28,620 --> 00:05:32,370 Kumbuka watoto, wanachama tu ya Annie ya siri Uwanja 101 00:05:32,370 --> 00:05:34,880 unaweza Decode Annie ya siri ujumbe. 102 00:05:34,880 --> 00:05:39,100 Kumbuka, Annie ni kutegemea wewe. 103 00:05:39,100 --> 00:05:41,660 Kuweka pini wako B2. 104 00:05:41,660 --> 00:05:43,960 Hapa ni ujumbe. 105 00:05:43,960 --> 00:05:44,680 12. 106 00:05:44,680 --> 00:05:45,180 11. 107 00:05:45,180 --> 00:05:45,679 2. 108 00:05:45,679 --> 00:05:48,110 -I Am katika wangu siri mkutano wa kwanza. 109 00:05:48,110 --> 00:05:49,030 >> -25. 110 00:05:49,030 --> 00:05:49,834 14. 111 00:05:49,834 --> 00:05:51,040 11. 112 00:05:51,040 --> 00:05:51,854 18. 113 00:05:51,854 --> 00:05:52,670 16. 114 00:05:52,670 --> 00:05:54,570 >> -Oh, Pierre ni kwa sauti kubwa usiku wa leo. 115 00:05:54,570 --> 00:05:57,490 Mimi nilikuwa naona kwamba usiku wa leo ujumbe ulikuwa kweli ni muhimu. 116 00:05:57,490 --> 00:05:57,990 -3. 117 00:05:57,990 --> 00:06:00,080 25. 118 00:06:00,080 --> 00:06:01,580 Hiyo ni ujumbe kutoka Annie mwenyewe. 119 00:06:01,580 --> 00:06:02,880 Kumbuka, usimwambie mtu yeyote. 120 00:06:02,880 --> 00:06:07,840 121 00:06:07,840 --> 00:06:11,130 >> Sekunde -Five baadaye, mimi niko katika tu chumba katika nyumba ambapo kijana wa tisa 122 00:06:11,130 --> 00:06:15,830 wanaweza kukaa katika faragha na Decode. 123 00:06:15,830 --> 00:06:16,620 Aha! 124 00:06:16,620 --> 00:06:17,340 B! 125 00:06:17,340 --> 00:06:20,210 Nilikwenda ijayo. 126 00:06:20,210 --> 00:06:23,300 E. neno la kwanza ni "kuwa." 127 00:06:23,300 --> 00:06:25,880 S. Ni alikuwa anakuja rahisi sasa. 128 00:06:25,880 --> 00:06:28,400 U. 25. 129 00:06:28,400 --> 00:06:30,528 Hiyo ni R. 130 00:06:30,528 --> 00:06:31,278 -Come Juu, Ralphie! 131 00:06:31,278 --> 00:06:31,861 Nimekuwa gotta go! 132 00:06:31,861 --> 00:06:33,182 -I'll Kuwa haki ya chini, Ma! 133 00:06:33,182 --> 00:06:36,038 Gee whiz. 134 00:06:36,038 --> 00:06:42,840 T. O. "Kuwa na uhakika wa" - kuwa na uhakika wa nini? 135 00:06:42,840 --> 00:06:44,770 Ilikuwa Little Yatima nini Annie anajaribu kusema nini? 136 00:06:44,770 --> 00:06:46,381 Kuwa na uhakika wa nini? 137 00:06:46,381 --> 00:06:47,825 >> -Randy Ina got kwenda! 138 00:06:47,825 --> 00:06:48,866 Je, tafadhali kuja nje? 139 00:06:48,866 --> 00:06:49,783 >> -All Haki, mama! 140 00:06:49,783 --> 00:06:51,786 Mimi itakuwa haki nje! 141 00:06:51,786 --> 00:06:53,606 Mimi nilikuwa kupata karibu sasa. 142 00:06:53,606 --> 00:06:55,550 Mvutano ilikuwa ya kutisha. 143 00:06:55,550 --> 00:06:57,050 Ilikuwa ni nini? 144 00:06:57,050 --> 00:06:59,905 Hatma ya dunia inaweza hutegemea katika mizani! 145 00:06:59,905 --> 00:07:01,736 >> -Ralphie, Randy got kwenda! 146 00:07:01,736 --> 00:07:05,680 >> -I'll Kuwa haki ya nje, kwa kelele kubwa! 147 00:07:05,680 --> 00:07:07,170 Karibu hapo! 148 00:07:07,170 --> 00:07:08,150 Vidole yangu aliruka. 149 00:07:08,150 --> 00:07:09,980 Mawazo yangu yalikuwa ni chuma mtego. 150 00:07:09,980 --> 00:07:11,496 Kila pore vibrated. 151 00:07:11,496 --> 00:07:13,268 Ilikuwa karibu wazi! 152 00:07:13,268 --> 00:07:13,767 Ndiyo. 153 00:07:13,767 --> 00:07:14,609 Ndiyo. 154 00:07:14,609 --> 00:07:15,108 Ndiyo. 155 00:07:15,108 --> 00:07:16,449 Ndiyo. 156 00:07:16,449 --> 00:07:20,240 Kuwa na uhakika na kunywa Ovaltine yako. 157 00:07:20,240 --> 00:07:20,740 Ovaltine? 158 00:07:20,740 --> 00:07:26,687 159 00:07:26,687 --> 00:07:27,520 Kibiashara crummy? 160 00:07:27,520 --> 00:07:32,040 161 00:07:32,040 --> 00:07:34,920 Mwana wa Bitch. 162 00:07:34,920 --> 00:07:35,890 >> [Mwisho avspelning] 163 00:07:35,890 --> 00:07:39,650 >> Rob BOWDEN: Basi hiyo ni jinsi Ovaltine inahusiana na cryptography. 164 00:07:39,650 --> 00:07:42,290 Kimsingi CS50 tu kutangazwa Ovaltine, hivyo tunaweza 165 00:07:42,290 --> 00:07:44,400 kuwa kibiashara crummy kwa Ovaltine. 166 00:07:44,400 --> 00:07:44,900 Sawa. 167 00:07:44,900 --> 00:07:47,120 Hivyo sasa halisi sayansi ya kompyuta. 168 00:07:47,120 --> 00:07:50,670 Kumbuka siku ya Jumatatu sisi kushoto mbali mbizi zaidi katika masharti. 169 00:07:50,670 --> 00:07:52,820 Hivyo tulikuwa kushughulika na kamba "Zamyla." 170 00:07:52,820 --> 00:07:55,130 Na tulikuwa na kutambua ukweli kwamba tunaweza kutibu 171 00:07:55,130 --> 00:07:57,510 "Zamyla" kama mlolongo wa wahusika. 172 00:07:57,510 --> 00:07:59,740 Na kukumbuka kwamba sisi kujifunza bracket nukuu. 173 00:07:59,740 --> 00:08:01,995 Hivyo kama hii walikuwa kuhifadhiwa katika kamba "s," kisha 174 00:08:01,995 --> 00:08:05,860 kama tulivyosema s mabano 0, kwamba ingekuwa zinaonyesha herufi kubwa Z. 175 00:08:05,860 --> 00:08:09,790 Na kama sisi alisema s mabano 1, kwamba ingekuwa zinaonyesha kwanza lowercase a, 176 00:08:09,790 --> 00:08:14,220 na kadhalika hadi s mabano 5, ambayo yanaonyesha a mwisho. 177 00:08:14,220 --> 00:08:17,090 >> Sasa kumbuka kwamba urefu wa kamba hii ni 6, 178 00:08:17,090 --> 00:08:23,220 lakini fahirisi katika kamba ni 0 kupitia 5, Z kupitia kwamba mara ya mwisho. 179 00:08:23,220 --> 00:08:28,650 Hivyo hii sasa inafaa katika picha kubwa ya kumbukumbu ya kompyuta yako, RAM yako. 180 00:08:28,650 --> 00:08:32,020 Hivyo mahali fulani ya mpango huo wewe ni mbio kompyuta yako 181 00:08:32,020 --> 00:08:34,780 anapaswa kukumbuka Zamyla mahali fulani katika kumbukumbu. 182 00:08:34,780 --> 00:08:36,029 Hivyo naweza kuwa na kujitolea? 183 00:08:36,029 --> 00:08:38,840 184 00:08:38,840 --> 00:08:40,181 Ndiyo, tafadhali. 185 00:08:40,181 --> 00:08:50,120 186 00:08:50,120 --> 00:08:51,500 Na jina lako ni lipi? 187 00:08:51,500 --> 00:08:52,410 >> DEAN: Dean. 188 00:08:52,410 --> 00:08:53,550 >> Rob BOWDEN: Dean? 189 00:08:53,550 --> 00:08:54,910 Vyema kukutana na wewe, Mkuu. 190 00:08:54,910 --> 00:08:58,240 Hivyo kuja juu hapa, na tunakwenda kuwa na wewe kuteka 191 00:08:58,240 --> 00:09:00,740 juu ya nifty yetu nzuri mpangilio wa kumbukumbu. 192 00:09:00,740 --> 00:09:05,950 Sasa Mimi kama kufikiri ya kumbukumbu kama moja ya muda mrefu ukanda wa ka, 193 00:09:05,950 --> 00:09:11,090 lakini tu kwa ajili ya kuonyesha tutaweza tu kushoto kwenda kulia, juu hadi chini. 194 00:09:11,090 --> 00:09:11,590 SAWA? 195 00:09:11,590 --> 00:09:22,030 >> Hivyo nina kwenda kwa kuonyesha program-- Getstrings.c. 196 00:09:22,030 --> 00:09:25,760 Na hivyo mpango huu wote ni kufanya inaomba masharti manne 197 00:09:25,760 --> 00:09:28,830 kutoka kwa mtumiaji kwa GetString na kisha kuchapisha 198 00:09:28,830 --> 00:09:30,950 chochote kile kamba kwanza aliingia mara. 199 00:09:30,950 --> 00:09:32,840 Sisi ni kupuuza mbili kwa njia ya nne. 200 00:09:32,840 --> 00:09:33,610 SAWA. 201 00:09:33,610 --> 00:09:38,210 Hivyo zaidi ya hapa now-- wakati Mimi kwanza ombi S1. 202 00:09:38,210 --> 00:09:39,740 Basi, wewe ni kompyuta. 203 00:09:39,740 --> 00:09:41,680 Na wewe ni utekelezaji wa GetString. 204 00:09:41,680 --> 00:09:46,710 Hivyo kuomba kamba kutoka mimi, na mimi kusema, sawa, Dean. 205 00:09:46,710 --> 00:09:47,900 Kutoa kamba "Mkuu." 206 00:09:47,900 --> 00:09:50,300 >> Hivyo mahali fulani katika kumbukumbu wewe haja ya kukumbuka "Mkuu." 207 00:09:50,300 --> 00:09:52,160 Hivyo kuandika katika kumbukumbu mahali fulani. 208 00:09:52,160 --> 00:09:58,270 209 00:09:58,270 --> 00:09:59,210 Kamilifu. 210 00:09:59,210 --> 00:09:59,880 SAWA. 211 00:09:59,880 --> 00:10:01,740 Hivyo sasa tuna S2. 212 00:10:01,740 --> 00:10:03,869 Na s2 ni kwenda kuwa ombi GetString. 213 00:10:03,869 --> 00:10:05,160 Hivyo nina kwenda kuingia kamba. 214 00:10:05,160 --> 00:10:08,720 Mimi nina kwenda kuingia "Hana." 215 00:10:08,720 --> 00:10:10,586 Hivyo kuingia "Hana" mahali fulani katika kumbukumbu. 216 00:10:10,586 --> 00:10:18,860 217 00:10:18,860 --> 00:10:19,360 Naam. 218 00:10:19,360 --> 00:10:23,000 -H. 219 00:10:23,000 --> 00:10:25,550 >> OK, hivyo sasa S3. 220 00:10:25,550 --> 00:10:28,380 Na itakuja kuwa mwingine kuomba kwa GetString. 221 00:10:28,380 --> 00:10:37,020 Na hivyo sasa kuingia "Maria." 222 00:10:37,020 --> 00:10:37,520 Sawa. 223 00:10:37,520 --> 00:10:40,980 Na kisha kuna mwisho mmoja ombi GetString, S4. 224 00:10:40,980 --> 00:10:42,580 Kwa hiyo, mimi sijui. 225 00:10:42,580 --> 00:10:45,640 Vipi kuhusu sisi kwenda kwa antidisestablishmentarianism. 226 00:10:45,640 --> 00:10:49,460 Hivyo kuingia kwamba katika kumbukumbu. 227 00:10:49,460 --> 00:10:50,400 Naam. 228 00:10:50,400 --> 00:10:53,970 Hivyo tu kufanya "Rob." 229 00:10:53,970 --> 00:10:54,560 >> SAWA. 230 00:10:54,560 --> 00:10:58,410 Hivyo sasa explain-- kwa nini kuondoka maeneo haya? 231 00:10:58,410 --> 00:11:01,340 Kwa nini una hii tupu nafasi hapa, hapa, na hapa? 232 00:11:01,340 --> 00:11:05,170 233 00:11:05,170 --> 00:11:05,670 Ndiyo. 234 00:11:05,670 --> 00:11:09,450 Hivyo taarifa wakati mimi kwenda magazeti s1-- hivyo kama sisi 235 00:11:09,450 --> 00:11:11,890 alikuwa na "Hana" mbio haki juu karibu na "Mkuu," 236 00:11:11,890 --> 00:11:14,360 tunajuaje wakati kamba "Mkuu" mwisho? 237 00:11:14,360 --> 00:11:19,470 Hivyo uchapishaji kamba S1 wanaweza kuwa na tu kuchapishwa "DeanHannahMariaRob" 238 00:11:19,470 --> 00:11:22,720 kama hana fununu yoyote ya wakati "Mkuu" kweli mwisho. 239 00:11:22,720 --> 00:11:23,240 >> Sawa. 240 00:11:23,240 --> 00:11:27,650 Hivyo katika kumbukumbu njia sisi kweli kuwakilisha maana hii ya kamba 241 00:11:27,650 --> 00:11:29,940 ni pamoja na backslash sifuri. 242 00:11:29,940 --> 00:11:32,620 Hivyo nafasi hii ni nini hasa sisi alitaka. 243 00:11:32,620 --> 00:11:34,040 Ni lazima backslash sifuri. 244 00:11:34,040 --> 00:11:37,690 Hii itakuwa sifuri backslash, na hii itakuwa sifuri backslash. 245 00:11:37,690 --> 00:11:41,585 Na unaweza kuwa na tuzo fabulous kwa kufanya kazi ya kujitolea kamili. 246 00:11:41,585 --> 00:11:44,910 247 00:11:44,910 --> 00:11:45,860 Kuchukua msongo mpira! 248 00:11:45,860 --> 00:11:49,040 249 00:11:49,040 --> 00:11:49,700 >> SAWA. 250 00:11:49,700 --> 00:11:54,420 Hivyo hii backslash tabia sifuri ni jinsi sisi zinaonyesha mwisho wa kamba. 251 00:11:54,420 --> 00:11:57,120 Ni jinsi wakati mpango wowote ni anataka magazeti kamba, 252 00:11:57,120 --> 00:11:59,760 ni how-- kumbuka sisi kujifunza kazi strlen wiki iliyopita? 253 00:11:59,760 --> 00:12:00,940 Urefu wa kamba? 254 00:12:00,940 --> 00:12:03,770 Ni jinsi urefu wa kamba ni uwezo wa kuamua ni muda gani kamba ni. 255 00:12:03,770 --> 00:12:05,810 Ni kuvaa tu iterating zaidi ya wahusika 256 00:12:05,810 --> 00:12:08,217 mpaka anaona sifuri backslash tabia. 257 00:12:08,217 --> 00:12:11,050 Kwa hiyo, jambo muhimu kutambua kuhusu tabia sifuri backslash 258 00:12:11,050 --> 00:12:14,950 ni ni kuwakilishwa na zeros wote katika vipande. 259 00:12:14,950 --> 00:12:18,980 Hivyo taarifa kwamba hii ni tofauti kutoka tabia sifuri. 260 00:12:18,980 --> 00:12:23,010 Hivyo tabia sifuri, kama unakumbuka katika mfano kwamba akatoa mwishoni 261 00:12:23,010 --> 00:12:27,360 ya hotuba ambapo wahusika ramani to-- kama mtaji A ramani ya 65. 262 00:12:27,360 --> 00:12:29,130 Herufi za chini ramani kwa 97. 263 00:12:29,130 --> 00:12:30,890 Lowercase b itakuwa 98. 264 00:12:30,890 --> 00:12:35,220 Hivyo idadi 0 ramani to-- mimi si kujua mbali juu ya kichwa yangu. 265 00:12:35,220 --> 00:12:36,400 44 au 45. 266 00:12:36,400 --> 00:12:37,890 Mahali fulani katika kanda hiyo. 267 00:12:37,890 --> 00:12:40,850 >> Hivyo tabia 0 ni idadi halisi. 268 00:12:40,850 --> 00:12:44,350 Lakini sifuri backslash ramani ya bits wote sifuri. 269 00:12:44,350 --> 00:12:46,380 Hivyo kuna tofauti kati ya sifuri backslash, 270 00:12:46,380 --> 00:12:48,450 ambayo tutaweza wito null Terminator. 271 00:12:48,450 --> 00:12:53,210 Kuna tofauti kati ya sifuri backslash na tabia sifuri. 272 00:12:53,210 --> 00:12:54,350 >> Sawa. 273 00:12:54,350 --> 00:12:57,520 Hivyo kuzungumza kidogo zaidi kuhusu masharti. 274 00:12:57,520 --> 00:13:01,470 Hivyo basi tunaona hapa hii ni jinsi itakuwa kuweka nje katika kumbukumbu. 275 00:13:01,470 --> 00:13:07,940 Hivyo wazo hili la masharti kama mlolongo ya characters-- hivyo kompyuta rasmi 276 00:13:07,940 --> 00:13:10,750 sciency mrefu kwa mlolongo ni safu. 277 00:13:10,750 --> 00:13:13,790 Hivyo tunataka kuwaita kamba safu ya wahusika. 278 00:13:13,790 --> 00:13:17,770 Na ni kweli kuna data nyingine aina tuweze kufanya arrays nje ya. 279 00:13:17,770 --> 00:13:19,975 >> Hivyo kuwahamasisha hii, tuangalie mfano. 280 00:13:19,975 --> 00:13:22,810 281 00:13:22,810 --> 00:13:29,812 Tutaweza simu yake ages0.c mimi itabidi nakala na kuweka template yetu. 282 00:13:29,812 --> 00:13:32,470 283 00:13:32,470 --> 00:13:33,410 SAWA. 284 00:13:33,410 --> 00:13:39,378 Hivyo katika mpango huu kile sisi wanataka kufanya ni kunyakua umri 285 00:13:39,378 --> 00:13:45,160 ya wanafunzi tatu katika mwendo. 286 00:13:45,160 --> 00:13:49,240 Hivyo tunajua int age-- na sasa mimi nina kwenda kusema 0. 287 00:13:49,240 --> 00:13:53,140 Hivyo unaweza kutaka kusema age1, lakini kwa madhumuni tutaona muda mfupi sana, 288 00:13:53,140 --> 00:13:57,187 Mimi itabidi kusema int age0 sawa na GetInt. 289 00:13:57,187 --> 00:13:59,270 Hivyo wito huo kwa GetInt kwamba sisi tumekuwa kutumia mimi 290 00:13:59,270 --> 00:14:01,561 si kutokea kwa kuwa na kusababisha akisema, "nipe umri." 291 00:14:01,561 --> 00:14:03,120 Lakini tu maombi hayo. 292 00:14:03,120 --> 00:14:06,510 >> Na age1 sawa na GetInt. 293 00:14:06,510 --> 00:14:09,600 Na int age2 sawa na GetInt. 294 00:14:09,600 --> 00:14:14,070 Hivyo, tena, wanafunzi watatu, lakini hatimaye fahirisi kutofautiana 295 00:14:14,070 --> 00:14:16,890 ni age0 kupitia age2. 296 00:14:16,890 --> 00:14:17,550 SAWA. 297 00:14:17,550 --> 00:14:23,960 Hivyo mpango huu kufanya chochote tunataka kwa age0, age1, na age2, 298 00:14:23,960 --> 00:14:27,670 lakini mpango huu hatimaye kazi kwa ajili ya wanafunzi tatu. 299 00:14:27,670 --> 00:14:28,380 >> SAWA. 300 00:14:28,380 --> 00:14:32,110 Hivyo sasa nini kama nataka nne wanafunzi? 301 00:14:32,110 --> 00:14:36,000 Naam, mimi nina kwenda na kurudi ndani ya kanuni yangu, mabadiliko ya maoni, 302 00:14:36,000 --> 00:14:39,840 na sasa tuna int age3 sawa na GetInt. 303 00:14:39,840 --> 00:14:40,610 SAWA. 304 00:14:40,610 --> 00:14:43,660 Hivyo ambaye anaona tatizo hapa? 305 00:14:43,660 --> 00:14:47,310 Ni tatizo gani na aina hii ya kuanzisha? 306 00:14:47,310 --> 00:14:47,810 Naam. 307 00:14:47,810 --> 00:14:53,110 308 00:14:53,110 --> 00:14:53,610 Naam. 309 00:14:53,610 --> 00:14:56,360 Hivyo sisi ni kujenga kutofautiana kwa kila mwanafunzi. 310 00:14:56,360 --> 00:15:00,140 Sasa kwa kuwa kazi, lakini hatimaye nini kama mimi sasa 311 00:15:00,140 --> 00:15:06,500 kusema, "Nataka kunyakua umri wa wanafunzi nane au 16 ya wanafunzi 312 00:15:06,500 --> 00:15:11,340 au wanafunzi hata hivyo wengi wa mamia ya wanafunzi katika CS50 313 00:15:11,340 --> 00:15:16,750 au maelfu ya wanafunzi juu ya chuo au mabilioni ya watu duniani? 314 00:15:16,750 --> 00:15:19,130 Hivyo hatimaye hii si endelevu. 315 00:15:19,130 --> 00:15:21,990 Wakati wowote unaweza kuona mwenyewe kuiga na pasting code kama hii, 316 00:15:21,990 --> 00:15:25,050 unapaswa kujisikia ujumla kwamba kuna njia bora. 317 00:15:25,050 --> 00:15:31,290 >> Hivyo hii ni mahali ambapo sisi kuanzisha safu tamko hilo. 318 00:15:31,290 --> 00:15:34,564 Hivyo wakati wewe kutangaza safu, hii ni nini format ujumla 319 00:15:34,564 --> 00:15:35,480 ni kwenda kuangalia kama. 320 00:15:35,480 --> 00:15:36,664 Tunakwenda kusema aina. 321 00:15:36,664 --> 00:15:38,830 na kisha tunakwenda kutoa jina la kwamba safu, 322 00:15:38,830 --> 00:15:41,150 tu kama sisi kufafanua kutofautiana wowote. 323 00:15:41,150 --> 00:15:43,980 Na kisha hatimaye sisi ni kutumia nukuu hii mabano tena 324 00:15:43,980 --> 00:15:47,480 lakini katika mazingira tofauti na jinsi tulikuwa kutumia mapema. 325 00:15:47,480 --> 00:15:51,860 >> Hivyo hapa hii inaonekana kama kawaida kutofautiana tamko kwamba tumeona. 326 00:15:51,860 --> 00:15:54,890 Hivyo tumeona int x nusu ya matumbo kabla. 327 00:15:54,890 --> 00:16:00,020 Naam sasa tuweze kuona kitu kama int x mabano 5. 328 00:16:00,020 --> 00:16:04,020 Na kuweka wazo hili katika GetInt mpango huo sisi have-- 329 00:16:04,020 --> 00:16:08,850 ili tuweze kutekeleza hii kwa njia sawa. 330 00:16:08,850 --> 00:16:13,630 >> Hebu sema katika CS sisi huwa na kutumia n kama idadi ya kitu fulani. 331 00:16:13,630 --> 00:16:16,150 Hivyo hapa tunakwenda kuhifadhi wanafunzi wanne. 332 00:16:16,150 --> 00:16:25,960 Na sasa tunaweza kusema int umri mabano n-- si kabisa kupata yet-- 333 00:16:25,960 --> 00:16:32,210 kutangaza safu ya nne wanafunzi. 334 00:16:32,210 --> 00:16:38,050 Hivyo ni jinsi hii kuangalia katika kumbukumbu itakuwa sawa na hii. 335 00:16:38,050 --> 00:16:39,570 Wazi hii. 336 00:16:39,570 --> 00:16:46,606 Na tunakwenda kuwa na mahali fulani katika memory-- mimi itabidi kuweka hii kuna up. 337 00:16:46,606 --> 00:16:52,690 338 00:16:52,690 --> 00:16:53,808 >> Hivyo mahali fulani katika kumbukumbu. 339 00:16:53,808 --> 00:16:58,760 340 00:16:58,760 --> 00:16:59,727 Moja, mbili, tatu, nne. 341 00:16:59,727 --> 00:17:03,383 342 00:17:03,383 --> 00:17:09,849 Tuna integers nne mfululizo kwa safu hii ya integers nne. 343 00:17:09,849 --> 00:17:13,820 Hivyo, kwa sasa, ni nini ukubwa wa moja ya masanduku hayo? 344 00:17:13,820 --> 00:17:17,190 345 00:17:17,190 --> 00:17:17,690 Naam. 346 00:17:17,690 --> 00:17:18,390 Ni ka nne. 347 00:17:18,390 --> 00:17:19,690 Ni 32 bits. 348 00:17:19,690 --> 00:17:22,310 Hivyo sasa hii ni tofauti kutoka safu kwamba sisi 349 00:17:22,310 --> 00:17:24,020 aliona mapema, safu ya wahusika. 350 00:17:24,020 --> 00:17:28,540 Katika kamba sanduku kila mara byte moja tu, kwa sababu tabia ni byte moja tu. 351 00:17:28,540 --> 00:17:32,170 Lakini pamoja na safu ya integers, kila sanduku ina kuwa ka nne ili 352 00:17:32,170 --> 00:17:34,060 walionao integer nzima. 353 00:17:34,060 --> 00:17:37,197 Hivyo hii ni nini safu ya ints nne bila kuangalia kama. 354 00:17:37,197 --> 00:17:40,510 355 00:17:40,510 --> 00:17:43,870 >> Na kisha kurejea kanuni. 356 00:17:43,870 --> 00:17:47,460 Sasa tunataka kweli duka integers ndani ya kwamba safu. 357 00:17:47,460 --> 00:17:53,470 Hivyo sasa hii ni sana, sana, sana mfano kawaida kwamba mapenzi wakati fulani 358 00:17:53,470 --> 00:17:54,680 kuwa misuli kumbukumbu. 359 00:17:54,680 --> 00:17:56,710 Hivyo int i sawa 0. 360 00:17:56,710 --> 00:17:57,940 i chini ya n. 361 00:17:57,940 --> 00:18:01,850 i pamoja pamoja. 362 00:18:01,850 --> 00:18:05,790 Umri bracket i sawa GetInt. 363 00:18:05,790 --> 00:18:15,100 >> Hivyo hii kwa kitanzi, muundo huu, unapaswa kupata sana kutumika. 364 00:18:15,100 --> 00:18:20,010 Hivyo hii ni kwa ujumla jinsi sisi iterate juu ya safu karibu yoyote. 365 00:18:20,010 --> 00:18:23,690 Sasa angalia aina hii ya inaeleza kwa nini tangu mwanzo 366 00:18:23,690 --> 00:18:29,870 hatukuwa na kwa mizunguko kwenda kwa int i sawa na 1, i chini ya au sawa na 10. 367 00:18:29,870 --> 00:18:34,200 Sababu ikiwa ni kwamba kuanzia sifuri hufanya kazi hii vizuri na arrays. 368 00:18:34,200 --> 00:18:36,270 Hivyo arrays ni sifuri indexed. 369 00:18:36,270 --> 00:18:40,360 Kama safu hii ni ya urefu 4, fahirisi ni 0 kupitia 3. 370 00:18:40,360 --> 00:18:42,880 >> Hivyo kupitia kwanza iteration ya hii kwa kitanzi 371 00:18:42,880 --> 00:18:49,930 tunakwenda kuwa kuweka umri mabano 0 sawa na mwito wa GetInt. 372 00:18:49,930 --> 00:18:52,440 Kwa hiyo chochote mimi kilichotokea kuingia katika keyboard. 373 00:18:52,440 --> 00:18:56,970 Katika kupita pili, tuko kuweka age1 sawa na GetInt. 374 00:18:56,970 --> 00:18:58,230 Tatu kupita, age2. 375 00:18:58,230 --> 00:18:59,880 Kupita mwisho age3. 376 00:18:59,880 --> 00:19:05,750 Hivyo kama katika kupita kwanza ya kitanzi Mimi kuingia namba 4 katika keyboard, 377 00:19:05,750 --> 00:19:07,740 kisha tutaweza kuingiza 4 hapa. 378 00:19:07,740 --> 00:19:11,470 Kama juu ya kupita ya pili mimi kuingia 50, tutaweza kuweka 50 hapa. 379 00:19:11,470 --> 00:19:15,180 Juu ya kupita tatu nipate kuingia hasi 1, hasi 1, 380 00:19:15,180 --> 00:19:21,810 na kisha hatimaye kama mimi kuingia 0-- na sasa kumbuka kwamba hii ilikuwa ni ripoti ya tatu. 381 00:19:21,810 --> 00:19:25,350 >> Baada ya sisi kitanzi nyuma, i ni kwenda kuwa incremented kwa 4. 382 00:19:25,350 --> 00:19:27,770 i ni tena chini ya n, ambayo ni 4. 383 00:19:27,770 --> 00:19:29,840 Na sisi kuvunja nje ya kitanzi. 384 00:19:29,840 --> 00:19:32,578 Kwa hiyo kile itakuwa ni makosa na hili? 385 00:19:32,578 --> 00:19:38,140 386 00:19:38,140 --> 00:19:38,729 [Inaudible]? 387 00:19:38,729 --> 00:19:39,604 Watazamaji: [inaudible] 388 00:19:39,604 --> 00:19:45,880 389 00:19:45,880 --> 00:19:46,400 >> Ndiyo. 390 00:19:46,400 --> 00:19:51,550 Hivyo safu tu ana maeneo manne, ambayo ina maana kama fahirisi 0 kupitia 3. 391 00:19:51,550 --> 00:19:55,630 Hivyo kama hii walikuwa kesi, napenda kuchukua thamani 4 wakati fulani. 392 00:19:55,630 --> 00:20:00,910 umri bracket 4 itakuwa kuweka chochote kinachotokea kwa kuwa zaidi ya hapa 393 00:20:00,910 --> 00:20:02,920 kwa nini mimi kusema, kuingia 6. 394 00:20:02,920 --> 00:20:05,010 Hiyo utakuwa kuweka hii kwa 6. 395 00:20:05,010 --> 00:20:06,560 >> Lakini hatujui nini zaidi ya hapa. 396 00:20:06,560 --> 00:20:08,836 Hii si kumbukumbu kwamba tulikuwa na upatikanaji wa. 397 00:20:08,836 --> 00:20:10,710 Hivyo kama wewe kumbuka kutoka hotuba ya awali, 398 00:20:10,710 --> 00:20:14,350 alikuwa uchapishaji nje maadili ya Zamyla na wakati fulani yeye kugonga segmentation hii 399 00:20:14,350 --> 00:20:17,990 kosa. Hivyo pengine kuwa na kuona makosa mengi segmentation kama wewe 400 00:20:17,990 --> 00:20:20,530 kutekeleza baadhi ya seti tatizo. 401 00:20:20,530 --> 00:20:24,950 Lakini hii ni moja ya njia ambazo unaweza kukutana segmentation 402 00:20:24,950 --> 00:20:28,540 kosa, wakati wa kuanza kupata kumbukumbu kwa njia ambazo unapaswa kuwa. 403 00:20:28,540 --> 00:20:34,117 Hivyo hatukuwa na upatikanaji wa eneo hili na hii ni mdudu. 404 00:20:34,117 --> 00:20:37,760 405 00:20:37,760 --> 00:20:40,190 >> Hivyo hii ni bora zaidi. 406 00:20:40,190 --> 00:20:45,820 Sasa kuna bado ni ndogo suala hilo na kanuni hii. 407 00:20:45,820 --> 00:20:50,720 Na kwamba kimsingi kwamba tuko bado kukwama katika nne wanafunzi. 408 00:20:50,720 --> 00:20:52,940 Sasa kama nataka kutumia nane ya wanafunzi, OK. 409 00:20:52,940 --> 00:20:54,350 Siyo kubwa kwamba mpango huo. 410 00:20:54,350 --> 00:20:58,120 Siwezi kwenda katika, mabadiliko kutoa maoni, na mabadiliko n. 411 00:20:58,120 --> 00:20:59,760 Sasa hii itafanya kazi na nane wanafunzi. 412 00:20:59,760 --> 00:21:02,190 Kama mimi kukusanya hii na kukimbia hii, itakuwa show ME 413 00:21:02,190 --> 00:21:07,870 itakuwa kuomba integers kwa nane wanafunzi na itakuwa kazi tu. 414 00:21:07,870 --> 00:21:11,850 Lakini ni chini ya bora ya haja ya recompile mpango kila wakati 415 00:21:11,850 --> 00:21:15,960 Nataka mabadiliko ya idadi ya wanafunzi kuwa nataka kuingia umri kwa. 416 00:21:15,960 --> 00:21:22,990 >> Hivyo uboreshaji wa mwisho juu ya hivyo, kama tutaweza kuona here-- tuko 417 00:21:22,990 --> 00:21:26,177 kwenda kuomba idadi ya watu. 418 00:21:26,177 --> 00:21:28,010 Hapa tuna idadi ya watu katika vyumba 419 00:21:28,010 --> 00:21:29,880 au umri yoyote ya watu katika chumba hicho. 420 00:21:29,880 --> 00:21:33,300 Lakini tunakwenda kuomba idadi ya watu katika chumba kutoka kwa mtumiaji. 421 00:21:33,300 --> 00:21:36,171 Hivyo hii ni exact do-wakati kitanzi kwamba tumeona kabla. 422 00:21:36,171 --> 00:21:37,920 Ni exact kufanya-wakati kitanzi kwamba 423 00:21:37,920 --> 00:21:40,050 inaweza kuwa inatekeleza juu ya kuweka tatizo. 424 00:21:40,050 --> 00:21:43,102 Hivyo muda mrefu kama wao ni kuingia n chini ya 1, 425 00:21:43,102 --> 00:21:45,310 hivyo kuna got kuwa katika angalau mtu mmoja katika chumba hicho. 426 00:21:45,310 --> 00:21:47,407 Muda mrefu kama wao ni kuingia n chini ya 1, 427 00:21:47,407 --> 00:21:48,990 kisha tunakwenda kuendelea kuuliza tena. 428 00:21:48,990 --> 00:21:50,906 Tafadhali kuingia idadi ya watu katika chumba. 429 00:21:50,906 --> 00:21:53,550 Sasa, mara moja tuna idadi ya watu katika room-- 430 00:21:53,550 --> 00:21:58,020 hivyo nipate kuingia kwamba kuna ni watu 200 katika chumba hiki. 431 00:21:58,020 --> 00:22:05,480 Kisha chini hapa tunakwenda kuja na kutangaza safu ya ukubwa 200. 432 00:22:05,480 --> 00:22:10,220 Sisi ni kutangaza safu hiyo ni kubwa ya kutosha kushikilia 200 milele. 433 00:22:10,220 --> 00:22:15,370 Wakishuka, ni kwa kitanzi kwamba utakuwa kupata sana kutumika. 434 00:22:15,370 --> 00:22:19,490 Hivyo iterating juu safu hii, kumshirikisha kwa kila eneo 435 00:22:19,490 --> 00:22:23,020 katika safu hiyo integer, na kisha hatimaye hapa tuko 436 00:22:23,020 --> 00:22:28,340 kupata tu mfano wa iterating zaidi ya kwamba safu, si kuwapa maadili, 437 00:22:28,340 --> 00:22:30,150 lakini kupata maadili. 438 00:22:30,150 --> 00:22:33,810 >> Hivyo hapa tunaona kwamba sisi wanachosema, mwaka mmoja kuanzia sasa, 439 00:22:33,810 --> 00:22:40,470 mtu% i itakuwa% umri wa miaka i, ambapo% kwanza i ni i pamoja na 1. 440 00:22:40,470 --> 00:22:43,010 Hivyo i ni kutofautiana hii ripoti. 441 00:22:43,010 --> 00:22:49,420 Na ya pili% i ni kwenda kuwa thamani kuhifadhiwa katika umri safu pamoja na 1. 442 00:22:49,420 --> 00:22:54,217 Hivyo hii pamoja na 1 ni kwa sababu tu sisi ni saying-- hii pamoja na 1, umri i pamoja na 1. 443 00:22:54,217 --> 00:22:57,050 Hii pamoja na 1 ni kwa sababu tu sisi ni akisema, mwaka mmoja kuanzia sasa mtu 444 00:22:57,050 --> 00:22:58,280 Itakuwa hii zamani. 445 00:22:58,280 --> 00:23:01,080 >> Hivyo ni kwa nini hii i pamoja na 1? 446 00:23:01,080 --> 00:23:04,064 Kwa nini tuna pamoja na 1 huko? 447 00:23:04,064 --> 00:23:04,564 Naam. 448 00:23:04,564 --> 00:23:07,410 449 00:23:07,410 --> 00:23:07,930 Ndiyo. 450 00:23:07,930 --> 00:23:10,510 Basi kumbuka arrays ni sifuri indexed. 451 00:23:10,510 --> 00:23:14,840 Hivyo kama sisi ni kuchapisha hii nje kwa mtu wa kusoma tu pato, 452 00:23:14,840 --> 00:23:19,380 basi pengine wanataka kuona kitu kama mtu mmoja, mtu namba moja, 453 00:23:19,380 --> 00:23:21,160 itakuwa umri wa miaka 20. 454 00:23:21,160 --> 00:23:23,570 Mtu namba mbili itakuwa umri wa miaka 15. 455 00:23:23,570 --> 00:23:27,420 Wao d badala si kuona mtu idadi sifuri ana umri wa miaka 15. 456 00:23:27,420 --> 00:23:36,460 >> Hivyo kuandaa hii na kuona tu kile inaonekana like-- Kujenga baadhi ya nafasi. 457 00:23:36,460 --> 00:23:43,560 Kufanya umri inaandaa. 458 00:23:43,560 --> 00:23:45,080 Mbio muda mrefu. 459 00:23:45,080 --> 00:23:46,580 Tunaona idadi ya watu katika chumba hicho. 460 00:23:46,580 --> 00:23:48,850 Hivyo mimi itabidi kusema kuna watu watu watatu katika chumba hicho. 461 00:23:48,850 --> 00:23:54,000 Umri wa mtu namba moja, hebu sema 15, 20, 25. 462 00:23:54,000 --> 00:23:59,680 Na sasa mimi itabidi kusema mwaka kutoka wao sasa kuwa 16, 21, 26. 463 00:23:59,680 --> 00:24:02,900 Hebu angalia kwamba hii inafanya kazi na n kwamba si sawa na 3. 464 00:24:02,900 --> 00:24:07,940 Hivyo kama mimi kusema idadi ya watu ni 5, moja, mbili, tatu, mbili, moja, mwaka mmoja kuanzia sasa 465 00:24:07,940 --> 00:24:11,170 wao utakuwa mbili, tatu, umri wa nne, tatu, miaka miwili. 466 00:24:11,170 --> 00:24:16,500 Hivyo mimi naweza tu kama urahisi n kuwa 10,000. 467 00:24:16,500 --> 00:24:21,270 Sasa mimi kuwa wamekaa hapa kwa muda kabisa wakati kuingia umri, lakini hii kazi. 468 00:24:21,270 --> 00:24:26,000 >> Hivyo sasa katika kumbukumbu mahali fulani sisi na safu ya ukubwa 10,000, 469 00:24:26,000 --> 00:24:28,830 hivyo hatimaye 40,000 ka, kwa sababu kuna 470 00:24:28,830 --> 00:24:31,222 ka nne kwa kila moja ya integers hizo. 471 00:24:31,222 --> 00:24:33,180 Hivyo kuna safu ya ukubwa 10,000 ambapo tunaweza 472 00:24:33,180 --> 00:24:36,201 kuhifadhi umri wa watu hao 10,000. 473 00:24:36,201 --> 00:24:36,700 Sawa. 474 00:24:36,700 --> 00:24:40,070 Maswali kuhusu yoyote ya hili? 475 00:24:40,070 --> 00:24:41,892 Naam. 476 00:24:41,892 --> 00:24:43,350 Nini kama wewe alitoa namba hasi? 477 00:24:43,350 --> 00:24:44,870 Hebu kuona nini kinatokea. 478 00:24:44,870 --> 00:24:49,320 Hivyo katika hili case-- idadi fulani ya watu katika chumba, hasi moja. 479 00:24:49,320 --> 00:24:52,580 Ni kukataliwa kwamba, kwa sababu hapa sisi kutokea 480 00:24:52,580 --> 00:24:57,180 kuwa utunzaji ukweli kwamba kama n ni chini ya moja tunakwenda kuuliza tena. 481 00:24:57,180 --> 00:25:01,780 Kama wewe kujaribu kutangaza safu ya ukubwa hasi, 482 00:25:01,780 --> 00:25:03,950 kwa ujumla haifanyi kazi. 483 00:25:03,950 --> 00:25:05,570 >> Basi hebu jaribu. 484 00:25:05,570 --> 00:25:08,000 Hebu kupuuza chochote thamani wao pembejeo kwa n 485 00:25:08,000 --> 00:25:10,571 na tu kusema umri int hasi moja. 486 00:25:10,571 --> 00:25:12,410 Hebu angalia kama hivyo hata inaandaa. 487 00:25:12,410 --> 00:25:14,100 Sina uhakika. 488 00:25:14,100 --> 00:25:14,920 Hakuna 489 00:25:14,920 --> 00:25:18,280 Hivyo umri ni alitangaza kama safu kwa ukubwa hasi. 490 00:25:18,280 --> 00:25:22,540 Hivyo upfront inatambua safu hawezi kuwa wa kawaida hasi na anakataa yake. 491 00:25:22,540 --> 00:25:26,840 Sasa, kama hatukuwa kushughulikia hii kitanzi do-wakati kwa usahihi, 492 00:25:26,840 --> 00:25:28,810 kama sisi si kuangalia kama n ni chini ya 1-- 493 00:25:28,810 --> 00:25:32,690 hebu sema sisi tu hawakuwa na hii wakati wote 494 00:25:32,690 --> 00:25:35,940 na badala yake sisi tu kunyakua integer. 495 00:25:35,940 --> 00:25:40,710 Hakuna jambo gani kwamba integer ni, sisi kutangaza safu ya kwamba ukubwa. 496 00:25:40,710 --> 00:25:44,250 >> Hivyo compiler hawawezi uwezekano wa kulalamika sasa. 497 00:25:44,250 --> 00:25:48,780 Kama mimi kukusanya Haya hivyo haiwezi kulalamika, 498 00:25:48,780 --> 00:25:51,480 kwa sababu haiwezi kujua kwamba mimi nina kwenda kuingia idadi hasi, 499 00:25:51,480 --> 00:25:52,550 ambayo inaweza kuwa ni batili. 500 00:25:52,550 --> 00:25:54,633 Kwa sababu wote anajua, mimi ili kuingia idadi chanya, 501 00:25:54,633 --> 00:25:56,000 ambayo ni kikamilifu halali. 502 00:25:56,000 --> 00:26:01,090 Hivyo mimi kufikiria kama mimi kuingia hasi 1 Watu katika chumba, segmentation kosa. 503 00:26:01,090 --> 00:26:06,040 >> Hivyo, sawa. 504 00:26:06,040 --> 00:26:13,160 Basi hebu kuongeza hii nyuma tu kuitunza nini awali alikuwa. 505 00:26:13,160 --> 00:26:15,640 Hivyo kufanya muda mrefu. 506 00:26:15,640 --> 00:26:18,120 Sasa kama nataka kujaribu hasi age-- hivyo hebu 507 00:26:18,120 --> 00:26:19,710 kusema kuna watu watano katika chumba hicho. 508 00:26:19,710 --> 00:26:23,180 Umri wa mtu namba moja ni hasi 4, mtu tatu 509 00:26:23,180 --> 00:26:26,500 ni sifuri, mtu three-- sawa. 510 00:26:26,500 --> 00:26:29,850 Hivyo hapa, mwaka mmoja kuanzia sasa, mtu idadi moja itakuwa mbaya na umri wa miaka 3. 511 00:26:29,850 --> 00:26:32,830 Hivyo pengine haina mantiki. 512 00:26:32,830 --> 00:26:37,220 Kwa sababu Lakini hiyo ni kuangalia katika kanuni zote tuko kufanya 513 00:26:37,220 --> 00:26:40,260 inaomba GetInt. 514 00:26:40,260 --> 00:26:44,110 >> Sasa, kama tunakuwa na GetPositiveInt kazi 515 00:26:44,110 --> 00:26:49,690 au tulikuwa tu tu jambo hili aina ya kitanzi wakati huo chini ya hapo, 516 00:26:49,690 --> 00:26:52,340 basi hii ingekuwa kazi kikamilifu faini. 517 00:26:52,340 --> 00:26:54,200 Lakini katika hili hasa kesi, sisi tu hawana 518 00:26:54,200 --> 00:26:57,772 kutokea kwa kuwa utunzaji maadili hasi. 519 00:26:57,772 --> 00:26:59,147 Maswali mengine yoyote kuhusu arrays? 520 00:26:59,147 --> 00:27:02,290 521 00:27:02,290 --> 00:27:03,250 SAWA. 522 00:27:03,250 --> 00:27:09,380 >> Hivyo tumekuwa sasa kuonekana arrays. 523 00:27:09,380 --> 00:27:12,500 Na sisi ni kwenda haja ya kutumia hii kwa amri ya mstari wa hoja. 524 00:27:12,500 --> 00:27:14,680 Hivyo katika tatizo kuweka two-- Najua wengi wenu 525 00:27:14,680 --> 00:27:18,040 bado wanaweza kuwa kazi tatizo seti moja, lakini tatizo kuweka mbili ni kuja juu. 526 00:27:18,040 --> 00:27:22,260 Katika tatizo kuweka mbili, wewe ni kwenda haja ya kuwa na kushughulika na masharti, arrays, 527 00:27:22,260 --> 00:27:23,950 na amri ya mstari wa hoja. 528 00:27:23,950 --> 00:27:26,270 >> Kwa hiyo kile hoja mstari amri ni? 529 00:27:26,270 --> 00:27:29,570 Sasa, unaweza kuona chini hapa teaser kidogo kwa nini hasa ni 530 00:27:29,570 --> 00:27:30,950 kwenda kuwa kinachotokea. 531 00:27:30,950 --> 00:27:32,950 Tunaona int kuu, inc argc, kamba argv mabano. 532 00:27:32,950 --> 00:27:34,560 533 00:27:34,560 --> 00:27:38,130 Hivyo basi kwanza jaribu kutafsiri nini hiyo anajaribu kusema. 534 00:27:38,130 --> 00:27:40,800 Sasa, sawa. 535 00:27:40,800 --> 00:27:44,637 >> Hivyo katika mstari amri unapaswa kuwa kupata kutumika kwa baadhi ya amri hizi 536 00:27:44,637 --> 00:27:48,580 sasa, na umefanya pengine kukimbia cd katika terminal kabla. 537 00:27:48,580 --> 00:27:52,100 Hivyo kama sisi kusema cd pset1, unajua kwamba kwamba lazima 538 00:27:52,100 --> 00:27:55,050 kuwa mabadiliko ya ndani pset1 directory. 539 00:27:55,050 --> 00:27:59,120 >> Sasa taarifa kwamba wewe sijawahi Imeandikwa mpango kama huu kabla. 540 00:27:59,120 --> 00:28:03,120 Kila mpango huo umefanya imeandikwa, ungependa kukimbia, kusema, dot kufyeka Mario, 541 00:28:03,120 --> 00:28:06,779 dot kufyeka tamaa, na kisha inaweza haraka wewe kwa ajili ya pembejeo. 542 00:28:06,779 --> 00:28:08,570 Sasa, si kwamba kile mabadiliko directory gani. 543 00:28:08,570 --> 00:28:12,770 Wakati kukimbia cd, haina basi sema, ambayo directory unataka cd ndani ya? 544 00:28:12,770 --> 00:28:17,200 Badala yake, wewe tu kusema, CD pset1, na tu huenda katika pset1 directory. 545 00:28:17,200 --> 00:28:20,430 >> Hivyo vile vile tuna mifano mingine. 546 00:28:20,430 --> 00:28:21,540 kufanya hello. 547 00:28:21,540 --> 00:28:25,760 Wakati kukimbia kufanya hivyo, haina basi sema, ambayo mpango gani ungependa kufanya? 548 00:28:25,760 --> 00:28:29,620 Wewe tu kusema, katika mstari amri kufanya hello. 549 00:28:29,620 --> 00:28:31,060 >> Hoja ni mfano mwingine. 550 00:28:31,060 --> 00:28:34,840 Hii moja sisi ni kusonga mario.c faili up directory moja. 551 00:28:34,840 --> 00:28:38,060 Hivyo sasa tunajua kwa mfano huu sisi ni kweli kupita hoja mbili. 552 00:28:38,060 --> 00:28:42,090 Kuna mario.c kama hoja ya kwanza, na nukta nukta ni hoja ya pili. 553 00:28:42,090 --> 00:28:46,140 Na kisha wakati wewe kukimbia kufanya, wewe kuona kwamba amri kweli kwa muda mrefu line-- 554 00:28:46,140 --> 00:28:50,580 kwamba amri kweli kwa muda mrefu kuchapishwa katika mstari amri. 555 00:28:50,580 --> 00:28:53,590 Hivyo kwamba kwa muda mrefu command-- hii ni sehemu fupi ya hayo, 556 00:28:53,590 --> 00:28:56,090 lakini sasa tuna tatu amri ya mstari wa hoja. 557 00:28:56,090 --> 00:28:59,750 Dot dash sifuri, hello, na hello.c. 558 00:28:59,750 --> 00:29:03,497 >> Basi hizi ni amri ya mstari hoja, hoja 559 00:29:03,497 --> 00:29:05,580 kwamba wewe ni kupita katika mstari amri hivyo kwamba 560 00:29:05,580 --> 00:29:08,680 hana na kuwa ilisababisha wakati kukimbia mpango. 561 00:29:08,680 --> 00:29:13,090 Itakuwa frustrating kama wakati wewe likaporomoka Clang hayo, wakasema, "Sawa, 562 00:29:13,090 --> 00:29:15,630 ambayo program-- ambayo faili ni wewe kuandaa? 563 00:29:15,630 --> 00:29:17,010 Hello.c. 564 00:29:17,010 --> 00:29:19,440 Bendera gani wewe kama kuingia? dash o. 565 00:29:19,440 --> 00:29:21,190 Ungependa nini faili kuitwa? 566 00:29:21,190 --> 00:29:21,690 hodi. 567 00:29:21,690 --> 00:29:25,290 Hapana, wewe tu kukimbia Clang dash o hodi hello.c. 568 00:29:25,290 --> 00:29:28,820 >> Hivyo kuangalia nyuma katika hili. 569 00:29:28,820 --> 00:29:32,920 Sasa argc argc ni hoja makosa. 570 00:29:32,920 --> 00:29:36,620 Ni idadi ya amri ya mstari hoja aliingia katika mstari amri. 571 00:29:36,620 --> 00:29:39,720 Naam, argv-- kitaalam v anasimama kwa vector, 572 00:29:39,720 --> 00:29:41,460 ambayo kimsingi ina maana safu. 573 00:29:41,460 --> 00:29:42,680 Lakini unaweza kupuuza kwamba. 574 00:29:42,680 --> 00:29:47,540 Argv-- tuna kamba argv, hivyo kamba argv mabano. 575 00:29:47,540 --> 00:29:50,150 Hivyo hii ni aina nyingine ya mabano hawajaona kabla. 576 00:29:50,150 --> 00:29:52,300 Hivyo tumeona mabano nukuu wakati tumekuwa alisema, 577 00:29:52,300 --> 00:29:53,970 kama, kamba s ni sawa Zamyla. 578 00:29:53,970 --> 00:29:56,910 s mabano 0 wanapata Z. tabia 579 00:29:56,910 --> 00:30:00,720 >> Tumekuwa pia kuonekana mabano wakati tulivyosema int umri bracket 5. 580 00:30:00,720 --> 00:30:03,160 Ambayo ilitangaza safu ya ukubwa 5. 581 00:30:03,160 --> 00:30:06,280 Hivyo hapa ni toleo la mabano hatujaona kabla. 582 00:30:06,280 --> 00:30:09,630 Hivyo aina hii ya kamba argv kwamba watamfahamu kabisa 583 00:30:09,630 --> 00:30:12,050 kuwa itakuwa tu kuwa kamba. 584 00:30:12,050 --> 00:30:14,520 Sasa mabano zinaonyesha kwamba hii ni safu. 585 00:30:14,520 --> 00:30:19,920 Hivyo mabano kamba argv njia kwamba argv ni safu ya masharti. 586 00:30:19,920 --> 00:30:22,540 Sasa kitaalam kamba ni safu ya wahusika. 587 00:30:22,540 --> 00:30:26,400 Hivyo hii ni sasa safu ya safu ya wahusika. 588 00:30:26,400 --> 00:30:31,490 Lakini ni rahisi zaidi kufikiria kuhusu hii kama tu safu ya masharti. 589 00:30:31,490 --> 00:30:34,900 >> Hivyo kwa nini huenda mabano kuwa tupu? 590 00:30:34,900 --> 00:30:38,170 Kama, kwa nini hatuwezi kusema, mabano 5, mabano n? 591 00:30:38,170 --> 00:30:40,700 592 00:30:40,700 --> 00:30:41,200 Naam. 593 00:30:41,200 --> 00:30:43,731 594 00:30:43,731 --> 00:30:44,230 Naam. 595 00:30:44,230 --> 00:30:46,396 Hatujui ni wangapi pembejeo huko ni kwenda kuwa. 596 00:30:46,396 --> 00:30:53,560 Hivyo kama sisi tuangalie mfano Clang, sisi kusema Clang dash o hodi hello.c. 597 00:30:53,560 --> 00:30:56,710 Katika kesi hii, kuna kutokea kuwa tatu amri ya mstari wa hoja. 598 00:30:56,710 --> 00:31:00,522 Na hivyo brackets-- tutaona katika pili isingekuwa tatu. 599 00:31:00,522 --> 00:31:01,730 Ni kitaalam itakuwa minne. 600 00:31:01,730 --> 00:31:04,030 Lakini mabano, tunataka kusema, kuna watu watatu. 601 00:31:04,030 --> 00:31:08,220 Lakini sasa kama sisi inaonekana katika hoja mario.c dot dot, mabano 602 00:31:08,220 --> 00:31:09,760 tunataka wanataka kuweka mbili katika wao. 603 00:31:09,760 --> 00:31:12,884 >> Na kuna mengi ya amri kwamba kuwa na idadi kutofautiana wa mstari amri 604 00:31:12,884 --> 00:31:13,620 hoja. 605 00:31:13,620 --> 00:31:17,430 Kwa hiyo kile hili toleo la bracket nukuu inaonyesha 606 00:31:17,430 --> 00:31:20,820 ni kwamba argv ni safu ya masharti. 607 00:31:20,820 --> 00:31:24,360 Lakini hatujui ni wangapi masharti ni katika safu hiyo. 608 00:31:24,360 --> 00:31:27,090 Na jinsi gani sisi basi unajua jinsi masharti mengi ni katika safu? 609 00:31:27,090 --> 00:31:28,870 Hiyo ni mzima kumweka argc. 610 00:31:28,870 --> 00:31:32,300 argc anatueleza muda gani argv ni. 611 00:31:32,300 --> 00:31:36,500 >> Hivyo jambo la mwisho kuweka katika akili ni kwamba, kitaalam, 612 00:31:36,500 --> 00:31:40,820 amri yenyewe makosa kama moja amri ya mstari wa hoja. 613 00:31:40,820 --> 00:31:45,330 Hivyo cd pset1, kuna mambo mawili amri ya mstari wa hoja. 614 00:31:45,330 --> 00:31:50,260 A mpango yenyewe, CD, na kisha halisi hoja sehemu yake, pset1. 615 00:31:50,260 --> 00:31:54,490 Mpango wowote kwamba umefanya imeandikwa hivi sasa imekuwa na moja amri ya mstari wa nukta argument-- 616 00:31:54,490 --> 00:31:55,320 kufyeka Mario. 617 00:31:55,320 --> 00:31:57,350 Hiyo ni tu hoja amri ya mstari. 618 00:31:57,350 --> 00:32:00,900 >> Hivyo sasa kuangalia Clang dash o hodi hello.c. 619 00:32:00,900 --> 00:32:01,905 Kwa hiyo kile ni argc? 620 00:32:01,905 --> 00:32:05,260 621 00:32:05,260 --> 00:32:06,080 4. 622 00:32:06,080 --> 00:32:08,140 Hivyo argc ni 4. 623 00:32:08,140 --> 00:32:12,140 Clang, hivyo argv mabano 0 ni Clang. 624 00:32:12,140 --> 00:32:15,630 argv mabano 1 ni dash 0. 625 00:32:15,630 --> 00:32:21,870 argv mabano 2 ni hodi, na argv mabano 3 ni hello.c. 626 00:32:21,870 --> 00:32:26,813 OK, hivyo maswali juu ya hili, na kisha tutaweza tuangalie baadhi ya mifano ya programu. 627 00:32:26,813 --> 00:32:29,460 628 00:32:29,460 --> 00:32:30,480 >> SAWA. 629 00:32:30,480 --> 00:32:36,260 Hivyo tutaweza kuchukua kuangalia hello3.c. 630 00:32:36,260 --> 00:32:41,890 Hivyo hii lazima familiar kutoka moja ya c mifano kwanza 631 00:32:41,890 --> 00:32:45,800 tulikuwa ambapo tunataka tu kusema, hello dunia, lakini sasa hii ni zaidi kwa ujumla. 632 00:32:45,800 --> 00:32:52,300 Hivyo hapa sisi ni kusema hodi % s backslash n argv mabano 1. 633 00:32:52,300 --> 00:32:57,440 Notice-- hivyo juu mpaka hatua hii, hii ni nini template yangu ya faili ina inaonekana kama. 634 00:32:57,440 --> 00:33:01,800 Mimi nilikuwa int kuu (utupu), na kisha napenda kufanya kitu katika kazi kuu. 635 00:33:01,800 --> 00:33:05,100 Sasa badala yake, mara moja tunaanza kushughulika kwa amri ya mstari wa hoja, 636 00:33:05,100 --> 00:33:07,890 tunahitaji kueleza aina mbalimbali za kuu. 637 00:33:07,890 --> 00:33:11,930 >> Hivyo kuangalia hello3 tena, kuu ni kwenda 638 00:33:11,930 --> 00:33:15,990 kuchukua hoja mbili now-- int argc, idadi ya amri ya mstari wa hoja, 639 00:33:15,990 --> 00:33:20,970 na kamba argv mabano, halisi masharti aliingia katika mstari amri. 640 00:33:20,970 --> 00:33:26,560 Hivyo nina kwenda kwa mabadiliko hayo template kwa kuzingatia ukweli kwamba. 641 00:33:26,560 --> 00:33:29,060 Sasa wakati wowote kuandika mpango, kama huna 642 00:33:29,060 --> 00:33:33,720 haja ya kuchukua yoyote amri ya mstari hoja, basi tu kutumia int kuu (utupu). 643 00:33:33,720 --> 00:33:37,070 Lakini sasa wakati wewe ni kuandika amri ya mstari wa mipango hoja, ambayo 644 00:33:37,070 --> 00:33:40,350 wewe ni kwenda kufanya kwa tatizo kuweka two-- hivyo sasa kwamba wewe ni mbio 645 00:33:40,350 --> 00:33:42,630 mipango ambayo haja ya kuchukua amri ya mstari wa hoja, 646 00:33:42,630 --> 00:33:45,250 unahitaji kuwa na kuu wa aina hii. 647 00:33:45,250 --> 00:33:51,290 >> Hivyo here-- hii ni matumizi makubwa hoja amri ya mstari. 648 00:33:51,290 --> 00:33:54,100 Hivyo uchapishaji argv 1. 649 00:33:54,100 --> 00:33:59,180 OK hivyo hebu kukusanya na kuendesha mpango huu. 650 00:33:59,180 --> 00:34:02,440 Kufanya hello3. 651 00:34:02,440 --> 00:34:03,570 Inaandaa. 652 00:34:03,570 --> 00:34:06,870 Dot kufyeka hello3. 653 00:34:06,870 --> 00:34:08,920 Na hebu sema, "Rob." 654 00:34:08,920 --> 00:34:10,760 Habari Rob. 655 00:34:10,760 --> 00:34:14,940 Kama mimi kusema, "hodi Maria," hodi Maria. 656 00:34:14,940 --> 00:34:15,719 Habari Maria. 657 00:34:15,719 --> 00:34:18,639 Hana bado anasema, "hodi Maria, "kwa sababu mimi si 658 00:34:18,639 --> 00:34:21,340 kufanya kitu chochote kwa argv yetu 2. 659 00:34:21,340 --> 00:34:22,590 Argv 2 sasa itakuwa "Hana." 660 00:34:22,590 --> 00:34:25,030 Argc itakuwa 3. 661 00:34:25,030 --> 00:34:27,735 Nini kama mimi alifanya hivyo? 662 00:34:27,735 --> 00:34:31,980 663 00:34:31,980 --> 00:34:34,679 Hivyo hodi null. 664 00:34:34,679 --> 00:34:38,760 >> Yeye kwa ufupi kuguswa juu ya ukweli kuwa, kitaalam, GetString 665 00:34:38,760 --> 00:34:42,429 ili kurudi null, lakini tutaweza kupata mengi zaidi katika kile null kweli ni. 666 00:34:42,429 --> 00:34:47,449 Lakini kuchukua kama ni suala la ukweli kwamba hakuna kwa ujumla ni mbaya. 667 00:34:47,449 --> 00:34:50,179 Sisi alifanya kitu kibaya kama ni uchapishaji "hello null." 668 00:34:50,179 --> 00:34:52,179 Na sababu hatukuwa kitu kibaya is-- vizuri, 669 00:34:52,179 --> 00:34:56,179 wakati mimi mbio dot slash hello3, argc ilikuwa 1. 670 00:34:56,179 --> 00:34:59,680 Hivyo kwamba maana urefu wa argv ilikuwa 1. 671 00:34:59,680 --> 00:35:05,110 Kama safu ni ya urefu 1, tu halali ripoti ni sifuri. 672 00:35:05,110 --> 00:35:08,550 Na hivyo hapa argv 1 ni nje mbalimbali ya safu hii. 673 00:35:08,550 --> 00:35:13,410 Ilikuwa ni sawa na kabla ya wakati mimi alijaribu kuhifadhi 6 nje mwisho wa safu. 674 00:35:13,410 --> 00:35:18,100 Hivyo mimi nina kujaribu kupata kitu nje ya argv makosa, 675 00:35:18,100 --> 00:35:21,340 na sisi ni kupata null. 676 00:35:21,340 --> 00:35:24,360 >> Hivyo toleo bora ya hivyo, kuboresha, 677 00:35:24,360 --> 00:35:27,010 ni dhahiri kuangalia argc. 678 00:35:27,010 --> 00:35:33,580 Hivyo kama argc ni sawa na 2, hiyo ina maana sisi mbio kitu kama dot slash hello3 Rob. 679 00:35:33,580 --> 00:35:36,840 Na itakuwa magazeti "hello Rob." 680 00:35:36,840 --> 00:35:39,850 Kama argc haina sawa 2, basi ni kwenda tu 681 00:35:39,850 --> 00:35:42,560 kupuuza chochote kuweka katika hoja amri ya mstari 682 00:35:42,560 --> 00:35:43,960 kama amri ya mstari wa hoja. 683 00:35:43,960 --> 00:35:47,168 Au kama hakuwa na kuweka yoyote wakati wote, ni tu kwenda kupuuza kwamba na kusema tu, 684 00:35:47,168 --> 00:35:47,960 "hello wewe." 685 00:35:47,960 --> 00:35:51,490 >> Hivyo kuandaa hii. 686 00:35:51,490 --> 00:35:54,500 Kufanya hello4. 687 00:35:54,500 --> 00:35:56,790 Na kukimbia hello4. 688 00:35:56,790 --> 00:36:00,010 Mbio kwa njia hii, nini lazima kuchapishwa? 689 00:36:00,010 --> 00:36:01,330 "Habari yako." 690 00:36:01,330 --> 00:36:02,810 Habari yenu. 691 00:36:02,810 --> 00:36:05,870 Je kuhusu hello4 Rob? 692 00:36:05,870 --> 00:36:06,950 "Habari Rob." 693 00:36:06,950 --> 00:36:10,580 Na hatimaye, hodi Rob Maria ni tu "hello You" tena, 694 00:36:10,580 --> 00:36:13,677 kwa sababu wewe si kweli kuingia kitu ambacho ni ilivyotarajiwa. 695 00:36:13,677 --> 00:36:15,510 Wewe aliingia majina zaidi kuliko inaweza kushughulikia, 696 00:36:15,510 --> 00:36:19,500 hivyo ni tu defaulted kwa wewe hodi tabia. 697 00:36:19,500 --> 00:36:23,040 Hivyo maswali juu ya hili? 698 00:36:23,040 --> 00:36:26,290 Au amri ya mstari wa hoja? 699 00:36:26,290 --> 00:36:28,690 >> OK, hivyo kuchukua kuangalia wanandoa mifano zaidi ya kutumia 700 00:36:28,690 --> 00:36:34,230 amri ya mstari wa kwanza arguments-- sisi argv dash 1 nukta c. 701 00:36:34,230 --> 00:36:38,510 Hivyo maoni kutoa mbali yale mpango huu wanapaswa kufanya. 702 00:36:38,510 --> 00:36:42,460 Lakini taarifa now-- hii kwa kitanzi, hii inalingana mfano halisi 703 00:36:42,460 --> 00:36:43,390 Mimi alikuwa akisema kabla. 704 00:36:43,390 --> 00:36:46,240 Sisi tu kutokea kwa kuwa kutumia argc badala ya n. 705 00:36:46,240 --> 00:36:48,880 Sasa argc ni kweli n. 706 00:36:48,880 --> 00:36:51,260 Ni urefu wa argv safu. 707 00:36:51,260 --> 00:36:59,600 Hivyo ni iterating juu argv safu printf-ing kila thamani argv. 708 00:36:59,600 --> 00:37:04,730 >> Hivyo kama mimi kufanya hili. 709 00:37:04,730 --> 00:37:08,232 Kufanya argv 1. 710 00:37:08,232 --> 00:37:09,940 Ni inaandaa. 711 00:37:09,940 --> 00:37:11,620 Dot kufyeka argv 1. 712 00:37:11,620 --> 00:37:15,530 Kukimbia tu hii, prints dot slash argv 1 713 00:37:15,530 --> 00:37:18,500 tangu hiyo ilikuwa tu amri ya mstari argument-- jina mpango. 714 00:37:18,500 --> 00:37:22,080 Siku zote kutakuwa na utafutaji least-- argc hawezi kuwa chini ya moja, 715 00:37:22,080 --> 00:37:25,910 tangu mapenzi kuna siku zote angalau kuwa mpango jina kukimbia. 716 00:37:25,910 --> 00:37:32,040 Hivyo argv 1 Rob itakuwa magazeti argv 1 na kisha kwenye mstari mpya "Rob." 717 00:37:32,040 --> 00:37:36,350 >> Hivyo katika iteration kwanza ya kitanzi hii, i ni 0. 718 00:37:36,350 --> 00:37:39,090 Argv 0 ni jina mpango. 719 00:37:39,090 --> 00:37:40,010 Dot kufyeka argv 1. 720 00:37:40,010 --> 00:37:43,770 Na kisha argv 1 ni yangu ya kwanza amri ya mstari wa hoja, ambayo ni Rob. 721 00:37:43,770 --> 00:37:45,920 Katika hatua hii, sisi ni sawa na argc. 722 00:37:45,920 --> 00:37:48,210 Sisi kuvunja nje ya kitanzi na sisi ni kosa. 723 00:37:48,210 --> 00:37:53,940 Hivyo hii itafanya kazi kwa holela idadi ya amri ya mstari wa hoja. 724 00:37:53,940 --> 00:37:58,550 Taarifa Prints argv 0, argv 1, argv 2, argv 3, argv 4. 725 00:37:58,550 --> 00:38:00,150 Na hakuna argv 5. 726 00:38:00,150 --> 00:38:01,460 argc ni sawa na 5. 727 00:38:01,460 --> 00:38:06,960 Hivyo katika argc katika i sawa 5, sisi kuvunja nje ya kitanzi. 728 00:38:06,960 --> 00:38:07,950 SAWA. 729 00:38:07,950 --> 00:38:11,315 Hivyo maswali juu ya kwamba kabla ya sisi tuangalie mfano ngumu zaidi? 730 00:38:11,315 --> 00:38:14,190 731 00:38:14,190 --> 00:38:16,860 >> Hivyo argv 2. 732 00:38:16,860 --> 00:38:17,830 Sawa. 733 00:38:17,830 --> 00:38:20,610 Hivyo sisi bado ni uchapishaji amri ya mstari wa hoja. 734 00:38:20,610 --> 00:38:23,170 Lakini sasa tuna taarifa Furushi kwa kitanzi. 735 00:38:23,170 --> 00:38:24,670 Hivyo ni nini hii kufanya? 736 00:38:24,670 --> 00:38:28,430 Hivyo kitanzi kwanza ni kufanya nini hasa ilivyokuwa kabla. 737 00:38:28,430 --> 00:38:30,950 Bado tuko looping juu ya kila amri ya mstari wa hoja, 738 00:38:30,950 --> 00:38:34,260 lakini sasa loop-- hii ya pili tumekuwa pia kuonekana kitu kama hii kabla. 739 00:38:34,260 --> 00:38:38,600 Alipokuwa iterating juu Zamyla uchapishaji nje Z-A-M-Y-L-A. 740 00:38:38,600 --> 00:38:44,816 Hivyo hii kitanzi pili kwa int j sawa na 0, n sawa na strlen wa argv mabano i. 741 00:38:44,816 --> 00:38:49,170 >> Basi hebu kwanza kufikiri kwa the-- hebu kutembea kwa njia. 742 00:38:49,170 --> 00:38:53,560 Hebu fikiria nini kompyuta ingekuwa kufanya kama mimi mbio mpango huu kama tu dot 743 00:38:53,560 --> 00:38:56,030 kufyeka argv dash 2. 744 00:38:56,030 --> 00:39:03,590 Hivyo kama mimi mbio kificho hii, basi argc ni kwenda kuwa sawa na 1. 745 00:39:03,590 --> 00:39:07,050 Na kamba argv-- kuna tu kwenda kuwa ripoti moja katika argv, 746 00:39:07,050 --> 00:39:12,370 na kwamba itakuja kuwa sawa na nukta kufyeka argv 2-- jina mpango. 747 00:39:12,370 --> 00:39:19,170 >> OK, hivyo sasa i sawa 0, i chini ya 1, i pamoja pamoja kwa int j sawa na 0, 748 00:39:19,170 --> 00:39:23,880 n sawa na strlen wa argv mabano 0, hivyo katika iteration kwanza ya kitanzi hii. argv 749 00:39:23,880 --> 00:39:27,250 mabano 0 ni dot slash argv 2. 750 00:39:27,250 --> 00:39:29,320 Hivyo ni urefu wa kamba kwamba ni nini? 751 00:39:29,320 --> 00:39:32,480 Naam, dot kufyeka-R-G-V dash 2. 752 00:39:32,480 --> 00:39:35,020 Hivyo strlen ya kwamba itakuwa 8. 753 00:39:35,020 --> 00:39:37,500 Hivyo j sawa na 0, n sawa na 8. 754 00:39:37,500 --> 00:39:39,530 Muda mrefu kama j ni chini ya 8, j ++. 755 00:39:39,530 --> 00:39:44,080 Na kwa kuwa tunakwenda kuwa uchapishaji tabia moja, ambayo 756 00:39:44,080 --> 00:39:47,350 ni argv mabano i mabano j. 757 00:39:47,350 --> 00:39:49,826 >> Hivyo i tu ni sifuri. 758 00:39:49,826 --> 00:39:51,700 Sisi bado tu moja amri ya mstari wa hoja. 759 00:39:51,700 --> 00:39:53,890 Katika kwamba iteration kwanza ya kwa kitanzi, tuko 760 00:39:53,890 --> 00:39:56,950 kwenda kuwa uchapishaji argv mabano 0 mabano 0. 761 00:39:56,950 --> 00:39:58,325 Na kisha j ni kwenda increment. 762 00:39:58,325 --> 00:40:01,650 Na tunakwenda uchapishaji argv mabano 0 mabano 1. 763 00:40:01,650 --> 00:40:04,150 Na kisha argv mabano 0 mabano 2. 764 00:40:04,150 --> 00:40:09,030 >> Hivyo hii ni kukutana kwetu mara ya kwanza mfumo wa vyama vingi dimensional arrays. 765 00:40:09,030 --> 00:40:12,770 Kumbuka awali kwamba nilisema kwamba argv ni kitaalam 766 00:40:12,770 --> 00:40:15,950 safu ya arrays ya wahusika. 767 00:40:15,950 --> 00:40:24,360 Hivyo hapa ikiwa mimi alisema kitu kama kamba s ni sawa argv mabano i, 768 00:40:24,360 --> 00:40:29,590 na ndipo nikasema, s mabano j, hii itakuwa kufanikisha jambo hilo. 769 00:40:29,590 --> 00:40:31,960 Sasa, wameweza kuona s mabano j kabla. 770 00:40:31,960 --> 00:40:36,680 Hiyo kupata tu j-th tabia ya hii kamba. 771 00:40:36,680 --> 00:40:48,010 Hivyo, pamoja na hayo, sisi ni kupata j-th tabia ya i-th argv. 772 00:40:48,010 --> 00:40:51,450 >> Kwa hiyo kile lazima hii hatimaye pato? 773 00:40:51,450 --> 00:40:53,210 Kufanya argv 2. 774 00:40:53,210 --> 00:40:54,730 Ni inaandaa. 775 00:40:54,730 --> 00:40:56,340 Dot kufyeka argv 2. 776 00:40:56,340 --> 00:41:03,790 "Rob Maria Hana," na kutupa baadhi ya chumba. 777 00:41:03,790 --> 00:41:07,050 Hivyo tunaona kwamba hii ni outputting nukta kwenye mstari wake na kufyeka 778 00:41:07,050 --> 00:41:08,920 juu ya line yake mwenyewe na juu ya mstari yake mwenyewe. 779 00:41:08,920 --> 00:41:11,260 Ni uchapishaji nje kila tabia ya mtu binafsi 780 00:41:11,260 --> 00:41:12,950 wa kila hoja amri ya mstari. 781 00:41:12,950 --> 00:41:15,960 Na kisha katika baina yao, kwa sababu ya mstari huu mpya 782 00:41:15,960 --> 00:41:19,380 sisi ni uchapishaji chini hapa, katika kati yao kutakuwa na magazeti mstari mpya. 783 00:41:19,380 --> 00:41:24,540 >> Hivyo hii ni sawa na kabla argv dash 1, 784 00:41:24,540 --> 00:41:26,459 ambayo kuchapishwa kila amri ya mstari wa hoja, 785 00:41:26,459 --> 00:41:28,500 lakini sasa sisi ni uchapishaji amri ya mstari wa hoja 786 00:41:28,500 --> 00:41:31,950 na kisha iterating kwa njia ya kila tabia ya kila hoja amri ya mstari 787 00:41:31,950 --> 00:41:35,400 kupata pato huu. 788 00:41:35,400 --> 00:41:36,870 SAWA? 789 00:41:36,870 --> 00:41:40,570 Hivyo maswali juu ya hili? 790 00:41:40,570 --> 00:41:45,130 >> Jambo moja kukumbuka ni kwamba amri ya mstari arguments-- 791 00:41:45,130 --> 00:41:49,990 hivyo ni kutengwa kwa nafasi kama ungependa kawaida wao wanatarajia kuwa. 792 00:41:49,990 --> 00:41:53,050 Hivyo kamba wanaweza kuwa na nafasi ndani yake. 793 00:41:53,050 --> 00:41:57,380 Siyo super muhimu, lakini kama mimi Alitaka tatu hoja amri ya mstari 794 00:41:57,380 --> 00:42:01,226 kuwa na nafasi ndani yake, basi mimi naweza kusema kitu kama hiki. 795 00:42:01,226 --> 00:42:04,470 796 00:42:04,470 --> 00:42:05,550 SAWA? 797 00:42:05,550 --> 00:42:12,190 Hivyo hii sasa bado tu ina tatu amri ya mstari arguments-- vizuri 4. 798 00:42:12,190 --> 00:42:17,620 Dot kufyeka argv dash 2, Rob, Maria, na Hana Bloomberg. 799 00:42:17,620 --> 00:42:18,320 SAWA. 800 00:42:18,320 --> 00:42:19,310 Maswali juu ya hili? 801 00:42:19,310 --> 00:42:22,700 802 00:42:22,700 --> 00:42:24,894 >> Kuna kitu maalum kuhusu tabia nafasi. 803 00:42:24,894 --> 00:42:27,810 Ni hutokea tu kuwa kwamba amri ya mstari wa chipsi tabia nafasi 804 00:42:27,810 --> 00:42:29,226 kama jinsi tofauti na hoja kila mmoja. 805 00:42:29,226 --> 00:42:32,048 806 00:42:32,048 --> 00:42:33,000 Sawa. 807 00:42:33,000 --> 00:42:39,950 Hivyo basi Tatizo kuweka two-- wewe ni kwenda kuwa 808 00:42:39,950 --> 00:42:43,240 kuangalia cryptography siri-ufunguo. 809 00:42:43,240 --> 00:42:47,700 Hivyo, kwa mfano kwamba kama tuliona kutoka Story Krismasi, 810 00:42:47,700 --> 00:42:52,840 wewe ni kwenda kuwa utekelezaji wa baadhi algorithms kwamba, kutokana na ujumbe, 811 00:42:52,840 --> 00:42:55,560 wewe ni kwenda kuwa na uwezo encrypt ujumbe kwamba 812 00:42:55,560 --> 00:42:58,730 kwamba tu mtu aliye na kwamba siri ufunguo, na kwamba pete avkodare, 813 00:42:58,730 --> 00:43:01,090 wanapaswa kuwa na uwezo decrypt. 814 00:43:01,090 --> 00:43:04,839 >> Hivyo kwamba ni toleo la kawaida. 815 00:43:04,839 --> 00:43:07,130 Wewe ni kwenda kuwa utekelezaji matoleo mawili tofauti. 816 00:43:07,130 --> 00:43:09,620 Kama kutokea kwa kuchukua kuangalia katika hacker Addition sasa, 817 00:43:09,620 --> 00:43:12,600 tunakwenda kutoa wewe kamba kama hii, 818 00:43:12,600 --> 00:43:15,240 ambayo inawakilisha nenosiri encrypted. 819 00:43:15,240 --> 00:43:19,990 Hivyo lengo ni kufikiri nini password decrypted ni. 820 00:43:19,990 --> 00:43:26,950 Sasa hii ni kweli jinsi nywila kuhifadhiwa katika mengi ya kompyuta, 821 00:43:26,950 --> 00:43:31,290 na ni haki maduka huu random kamba ya wahusika. 822 00:43:31,290 --> 00:43:34,440 Una kufikiri jinsi ya kupata kutoka kamba hii random ya wahusika 823 00:43:34,440 --> 00:43:36,140 kwa nini password ya awali ilikuwa. 824 00:43:36,140 --> 00:43:39,060 825 00:43:39,060 --> 00:43:43,290 >> Na hatimaye, baada ya hii Tatizo kuweka, unapaswa 826 00:43:43,290 --> 00:43:46,100 kuwa na uwezo wa kuelewa nini maana ya hii. 827 00:43:46,100 --> 00:43:51,650 Hivyo utakuwa kujifunza jinsi ya decrypt aina hii ya kamba random. 828 00:43:51,650 --> 00:43:56,390 Vile vile, kama unakumbuka kutoka wiki 0, unaweza kuwa na kuonekana URL hii. 829 00:43:56,390 --> 00:44:00,210 Na unapaswa kuwa na uwezo wa decrypt hii hatimaye. 830 00:44:00,210 --> 00:44:04,810 Unaweza kuwa na furaha wakati decrypt yake na bonyeza kiungo. 831 00:44:04,810 --> 00:44:05,700 Sawa. 832 00:44:05,700 --> 00:44:06,591 Hiyo ni kwa leo. 833 00:44:06,591 --> 00:44:12,095 Hivyo kuona wiki ijayo! 834 00:44:12,095 --> 00:44:18,315 >> [ELECTRONIC Music kucheza] 835 00:44:18,315 --> 00:47:15,619