1 00:00:00,000 --> 00:00:03,944 >> [Muzika] 2 00:00:03,944 --> 00:00:10,732 3 00:00:10,732 --> 00:00:11,690 DAVID Malan: Të gjithë të drejtë. 4 00:00:11,690 --> 00:00:14,674 Kjo është CS50, dhe kjo është fundi i javës së 2. 5 00:00:14,674 --> 00:00:16,840 Unë jam aq i keq unë nuk mund të jetë atje me ju të gjithë sot, 6 00:00:16,840 --> 00:00:18,300 por ju jeni në duar shumë të mirë. 7 00:00:18,300 --> 00:00:21,710 Më lejoni të prezantoj Vet Rob Bowden CS50 së. 8 00:00:21,710 --> 00:00:29,106 9 00:00:29,106 --> 00:00:31,730 Rob Bowden: Dhe sigurisht, atëherë ne kemi për të bërë fun e faktit 10 00:00:31,730 --> 00:00:36,820 se ai na dërgoi një vertikale video dhe tregojnë këtë. 11 00:00:36,820 --> 00:00:38,320 >> [VIDEO rishikim] 12 00:00:38,320 --> 00:00:39,820 >> [Muzika] 13 00:00:39,820 --> 00:00:42,350 >> [Gjurmët] 14 00:00:42,350 --> 00:00:44,730 >> Video -Kjo nuk e bëri duhet të shikoni në këtë mënyrë. 15 00:00:44,730 --> 00:00:46,570 Ajo mund të ishte parandaluar. 16 00:00:46,570 --> 00:00:49,070 Thuaj jo të videos vertikale. 17 00:00:49,070 --> 00:00:53,310 >> Video -Vertical ndodh kur ju mbani aparatin tuaj rrugën e gabuar. 18 00:00:53,310 --> 00:00:55,880 Video juaj do të përfundojë në kërkim si mut. 19 00:00:55,880 --> 00:00:57,650 >> - [Hungërimë] 20 00:00:57,650 --> 00:01:02,240 >> -Ka Gjithnjë e më shumë njerëz të varur për të bërë videos vertikale çdo ditë. 21 00:01:02,240 --> 00:01:06,240 Kjo nuk është plas ose asgjë, por kjo është ende e vërtetë e keqe. 22 00:01:06,240 --> 00:01:10,410 Ka dy lloje të ndryshme të njerëz të cilët janë të prekur me VVS. 23 00:01:10,410 --> 00:01:14,160 Grupi i parë trajton Video ata gjuaj si foto. 24 00:01:14,160 --> 00:01:15,850 Ata nuk do të thotë ndonjë të keqe. 25 00:01:15,850 --> 00:01:19,180 Ata thjesht nuk e kuptojnë se ndërsa ju mund të kthehet në një foto, 26 00:01:19,180 --> 00:01:20,880 ju nuk mund të vërtetë të kthehet në një video të. 27 00:01:20,880 --> 00:01:21,880 >> [CRASH] 28 00:01:21,880 --> 00:01:23,460 >> - [MONKEY TINGUJT] 29 00:01:23,460 --> 00:01:27,540 >> -The Grup tjetër është populli të cilët nuk i japin një [sinjal bip]. 30 00:01:27,540 --> 00:01:31,090 >> -Vertical Video Sindromi është e rrezikshme. 31 00:01:31,090 --> 00:01:34,120 Filma kanë qenë gjithmonë horizontale. 32 00:01:34,120 --> 00:01:35,990 Televizionet janë horizontale. 33 00:01:35,990 --> 00:01:38,380 Ekranet kompjuterike janë horizontale. 34 00:01:38,380 --> 00:01:41,580 Sytë e njerëzve janë horizontale. 35 00:01:41,580 --> 00:01:45,170 Ne nuk janë ndërtuar për watch videos vertikale. 36 00:01:45,170 --> 00:01:47,600 >> -I Dashuri videos vertikale. 37 00:01:47,600 --> 00:01:50,410 >> -Nobody Kujdeset për ty. 38 00:01:50,410 --> 00:01:53,340 >> -Nëse Ky problem të e majta i pakontrolluar, edhe ju 39 00:01:53,340 --> 00:01:57,650 do të fillojë duke treguar katër videos në të njëjtën kohë vetëm për të shpëtuar Bandwidth. 40 00:01:57,650 --> 00:02:02,400 >> Video -Letterboxed vertikale do të jetë e madhësisë së një pullë postare. 41 00:02:02,400 --> 00:02:04,920 >> -Dhe Ajo do të përhapet kudo. 42 00:02:04,920 --> 00:02:07,670 Film ekranet kanë qenë gjithmonë horizontale. 43 00:02:07,670 --> 00:02:11,200 Në qoftë se video vertikale të bëhet pranuar, kinematë 44 00:02:11,200 --> 00:02:13,930 do të duhet të jetë i gjatë dhe i dobët. 45 00:02:13,930 --> 00:02:17,710 >> -Dhe Të gjitha kinematë do duhet të merrni shkatërruar dhe rindërtuar. 46 00:02:17,710 --> 00:02:22,090 Dhe me kohën që ata ishin rindërtuar, Mila Kunis do të jetë i vjetër dhe i shëmtuar. 47 00:02:22,090 --> 00:02:24,342 >> -Birds Do të rrëzimit në to dhe të vdesin. 48 00:02:24,342 --> 00:02:26,530 >> -We'll Të gjithë të merrni ashpër qafat nga shikuar deri. 49 00:02:26,530 --> 00:02:29,800 >> -Dhe Askush nuk do të ulen në radhën e parë kurrë përsëri. 50 00:02:29,800 --> 00:02:37,170 >> -George Lucas do të ri-lirimin Star Luftërat again-- edicionin e dobët. 51 00:02:37,170 --> 00:02:41,860 >> -Unë Nuk ishte me të vërtetë në gjendje për të të treguar histori që unë të kërkuar për të treguar. 52 00:02:41,860 --> 00:02:46,030 Ky ishte një shans i madh për mua të eksperimentojnë me një teknologji të re. 53 00:02:46,030 --> 00:02:48,150 >> -You're Një hov. 54 00:02:48,150 --> 00:02:54,430 >> -Çdo Kohë një pajisje të lëvizshme është përdorur për rekord Video, tundimi është atje. 55 00:02:54,430 --> 00:02:56,370 Vetëm Thuaj Jo. 56 00:02:56,370 --> 00:03:00,116 Thuaj jo të George Lucas. 57 00:03:00,116 --> 00:03:04,062 Thuaj jo të vjetër Mila Kunis. 58 00:03:04,062 --> 00:03:06,600 Thuaj jo të videos vertikale. 59 00:03:06,600 --> 00:03:12,511 >> -Dhe Në qoftë se ju shihni dikë duke bërë atë, të themi, "ju nuk jeni të shtënat atë bedel drejtë!" 60 00:03:12,511 --> 00:03:15,433 >> [Muzika] 61 00:03:15,433 --> 00:03:18,842 62 00:03:18,842 --> 00:03:19,830 >> [END rishikim] 63 00:03:19,830 --> 00:03:23,702 >> [Duartrokitje] 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 formë e kriptografisë, 67 00:03:45,790 --> 00:03:49,500 e cila është në thelb encryption dhe decryption e mesazheve të fshehta. 68 00:03:49,500 --> 00:03:52,590 Pra, këtu ne kemi një lodër shumë të thjeshtë. 69 00:03:52,590 --> 00:03:56,900 Dhe ideja është unaza e jashtme rrotullohet rreth unazë e brendshme. 70 00:03:56,900 --> 00:04:01,610 Dhe ju mund të shihni, ndoshta nëse unë zmadhuar në, that-- është e vështirë për të parë. 71 00:04:01,610 --> 00:04:05,090 Por, si, numri 1-- mirë, që lëviznin. 72 00:04:05,090 --> 00:04:09,120 >> Numri 1 harta në letër X, numri 2 harta në letër 73 00:04:09,120 --> 00:04:11,630 J. tepër e vështirë mos kaloni përpara. 74 00:04:11,630 --> 00:04:16,100 Letër 2 harta të J. Numri 3 harta të D. Pra, 75 00:04:16,100 --> 00:04:20,140 me këtë rrjet ju mund të jepni dikush një mesazh 1, 2, 3. 76 00:04:20,140 --> 00:04:22,624 Për ndonjë arsye ju dua të them atyre XJD. 77 00:04:22,624 --> 00:04:24,540 Por ju mund të jepni atyre disa Mesazhi i numrave, 78 00:04:24,540 --> 00:04:28,460 dhe për aq kohë sa ata e kanë këtë unazë, ata mund të decrypt atë që ju jeni duke u përpjekur për të thënë. 79 00:04:28,460 --> 00:04:32,510 >> Kështu që ju mund të keni parë këtë shembull i veçantë i kriptografisë 80 00:04:32,510 --> 00:04:36,640 para nëse rreth sezonit të Krishtlindjeve ju keni shikuar A Christmas Story. 81 00:04:36,640 --> 00:04:38,520 Në qoftë se ju kurrë nuk kam parë ajo para, atëherë vetëm 82 00:04:38,520 --> 00:04:41,060 kthehet në TBS në fjalë për fjalë çdo kohë në prag të Krishtlindjeve, 83 00:04:41,060 --> 00:04:44,510 sepse ata vetëm tregojnë atë përsëri për të mbështetur për të kthyer prapa për të mbështetur tërë ditën. 84 00:04:44,510 --> 00:04:46,744 Dhe video rëndësishme është kjo. 85 00:04:46,744 --> 00:04:47,410 [VIDEO rishikim] 86 00:04:47,410 --> 00:04:50,020 -Të Jetë të njohur për të gjithë dhe i ndryshëm se Ralph Parker me anë të kësaj 87 00:04:50,020 --> 00:04:52,850 emërua anëtar i i Vogël Orphan Annie Rrethi Secret 88 00:04:52,850 --> 00:04:56,490 dhe ka të drejtë të të gjitha nderimet dhe përfitimet ndodhin me to. 89 00:04:56,490 --> 00:04:59,010 Nënshkruar Pak Orphan Annie. 90 00:04:59,010 --> 00:05:03,120 Bashkënënshkruara Pierre Andre në bojë! 91 00:05:03,120 --> 00:05:07,460 Nderon dhe përfitimet tashmë në moshën nëntë! 92 00:05:07,460 --> 00:05:12,530 >> [Yelling nga radio] 93 00:05:12,530 --> 00:05:13,030 -Eja. 94 00:05:13,030 --> 00:05:14,000 Le të merrni më me të. 95 00:05:14,000 --> 00:05:18,274 Unë nuk kam nevojë All That Jazz për kontrabandistët dhe piratët. 96 00:05:18,274 --> 00:05:20,440 Natë -Listen nesër me aventurë përmbyllës 97 00:05:20,440 --> 00:05:22,540 i Pirate Ship Zi. 98 00:05:22,540 --> 00:05:25,460 Tani, është koha për Mesazhi sekret Annie 99 00:05:25,460 --> 00:05:28,620 për ju anëtarë të rrethit Sekret. 100 00:05:28,620 --> 00:05:32,370 Mos harroni fëmijët, vetëm anëtarët e Rrethit Annie Sekret 101 00:05:32,370 --> 00:05:34,880 mund të deshifroj mesazhin e fshehtë Annie. 102 00:05:34,880 --> 00:05:39,100 Mos harroni, Annie është në varësi të ju. 103 00:05:39,100 --> 00:05:41,660 Set këmbët tuaja në B2. 104 00:05:41,660 --> 00:05:43,960 Këtu është mesazhi. 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 -Unë Jam në takimin tim të parë të fshehtë. 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 është në sonte zë të madh. 115 00:05:54,570 --> 00:05:57,490 Unë mund të them se sonte Mesazhi ishte me të vërtetë e rëndësishme. 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 Ky është një mesazh nga Annie vetë. 119 00:06:01,580 --> 00:06:02,880 Mbani mend, mos i thoni askujt. 120 00:06:02,880 --> 00:06:07,840 121 00:06:07,840 --> 00:06:11,130 >> Sekonda më -Five më vonë, unë jam në vetmi dhomë në shtëpinë ku një djalë i nëntë 122 00:06:11,130 --> 00:06:15,830 mund të ulen në jetën private dhe deshifroj. 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 Unë shkova për të ardhshëm. 126 00:06:20,210 --> 00:06:23,300 E. Fjala e parë është "të jetë." 127 00:06:23,300 --> 00:06:25,880 S. Ajo po vinte më e lehtë tani. 128 00:06:25,880 --> 00:06:28,400 U. 25. 129 00:06:28,400 --> 00:06:30,528 Kjo është R. 130 00:06:30,528 --> 00:06:31,278 Eja në, Ralphie! 131 00:06:31,278 --> 00:06:31,861 Unë e kam Gotta shkoj! 132 00:06:31,861 --> 00:06:33,182 -I'll Të jetë e drejtë poshtë, Ma! 133 00:06:33,182 --> 00:06:36,038 Kampion Gee. 134 00:06:36,038 --> 00:06:42,840 T. O. "Të jetë i sigurt për të" - jetë i sigurt për çfarë? 135 00:06:42,840 --> 00:06:44,770 Cili ishte pak Orphan Annie duke u përpjekur për të thënë? 136 00:06:44,770 --> 00:06:46,381 Jetë i sigurt për çfarë? 137 00:06:46,381 --> 00:06:47,825 >> -Randy Ka marrë për të shkuar! 138 00:06:47,825 --> 00:06:48,866 Ju lutem do të dalë? 139 00:06:48,866 --> 00:06:49,783 >> -Të Gjitha të drejtë, nëna! 140 00:06:49,783 --> 00:06:51,786 Unë do të jetë jashtë e drejtë! 141 00:06:51,786 --> 00:06:53,606 Unë kam qenë duke iu afruar tani. 142 00:06:53,606 --> 00:06:55,550 Tensioni ishte e tmerrshme. 143 00:06:55,550 --> 00:06:57,050 Çfarë ishte ajo? 144 00:06:57,050 --> 00:06:59,905 Fati i planetit mund të ul receptorin e telefonit në bilancin! 145 00:06:59,905 --> 00:07:01,736 >> -Ralphie, Randy e mori për të shkuar! 146 00:07:01,736 --> 00:07:05,680 >> -I'll Të jetë e drejtë jashtë, për të qarë me zë të lartë! 147 00:07:05,680 --> 00:07:07,170 Pothuajse atje! 148 00:07:07,170 --> 00:07:08,150 Gishtat e mi fluturoi. 149 00:07:08,150 --> 00:07:09,980 Mendja ime ishte një kurth çeliku. 150 00:07:09,980 --> 00:07:11,496 Çdo pore vibrated. 151 00:07:11,496 --> 00:07:13,268 Ajo ishte pothuajse e qartë! 152 00:07:13,268 --> 00:07:13,767 Po. 153 00:07:13,767 --> 00:07:14,609 Po. 154 00:07:14,609 --> 00:07:15,108 Po. 155 00:07:15,108 --> 00:07:16,449 Po. 156 00:07:16,449 --> 00:07:20,240 Të jetë i sigurt për të pirë Ovaltine tuaj. 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 Një tregtar i mjerë? 160 00:07:27,520 --> 00:07:32,040 161 00:07:32,040 --> 00:07:34,920 Bir i një kurvë. 162 00:07:34,920 --> 00:07:35,890 >> [END rishikim] 163 00:07:35,890 --> 00:07:39,650 >> Rob Bowden: Pra, kjo është se si Ovaltine lidhet me cryptography. 164 00:07:39,650 --> 00:07:42,290 Në thelb CS50 vetëm reklamohen Ovaltine, kështu që ne mund të 165 00:07:42,290 --> 00:07:44,400 të jetë një tregtar i pavlerë për Ovaltine. 166 00:07:44,400 --> 00:07:44,900 Në rregull. 167 00:07:44,900 --> 00:07:47,120 Deri tani shkenca kompjuterike aktual. 168 00:07:47,120 --> 00:07:50,670 Mos harroni të hënën djegim zhyten më thellë në vargje. 169 00:07:50,670 --> 00:07:52,820 Pra, ne kemi qenë që kanë të bëjnë me string "Zamyla." 170 00:07:52,820 --> 00:07:55,130 Dhe ne kemi qenë të njohur fakti që ne mund të trajtojë 171 00:07:55,130 --> 00:07:57,510 "Zamyla" si një sekuencë e karaktereve. 172 00:07:57,510 --> 00:07:59,740 Dhe mos harroni se ne mësuam shënimi kllapa. 173 00:07:59,740 --> 00:08:01,995 Pra, nëse kjo u ruajtur në një varg "s", atëherë 174 00:08:01,995 --> 00:08:05,860 nëse kemi thënë s kllapa 0, që do të tregojnë Z. kapitalit letër 175 00:08:05,860 --> 00:08:09,790 Dhe nëse ne tha s kllapa 1, që do të tregonte vogle e parë që një, 176 00:08:09,790 --> 00:08:14,220 dhe kështu me radhë deri në s parantezë 5, e cila do të tregonte se fundit. 177 00:08:14,220 --> 00:08:17,090 >> Tani mos harroni se Gjatësia e kësaj vargut është 6, 178 00:08:17,090 --> 00:08:23,220 por indekset në vargun janë 0 deri 5, Z përmes që të zgjasë një. 179 00:08:23,220 --> 00:08:28,650 Pra, kjo tani i përshtatet në një foto të madhe e kujtesën e kompjuterit tuaj, RAM tuaj. 180 00:08:28,650 --> 00:08:32,020 Pra, diku programi që ju jeni duke kompjuterin tuaj 181 00:08:32,020 --> 00:08:34,780 duhet të mbani mend Zamyla diku në kujtesë. 182 00:08:34,780 --> 00:08:36,029 Kështu që mund të unë kam një vullnetar? 183 00:08:36,029 --> 00:08:38,840 184 00:08:38,840 --> 00:08:40,181 Po të lutem. 185 00:08:40,181 --> 00:08:50,120 186 00:08:50,120 --> 00:08:51,500 Dhe çfarë është emri juaj? 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 Gëzohem që u njohëm, Dekani. 190 00:08:54,910 --> 00:08:58,240 Pra, të vijë këtu, dhe ne do të kemi ju tërheq 191 00:08:58,240 --> 00:09:00,740 në paraqitjen tonë të bukur mrekullueshëm të kujtesës. 192 00:09:00,740 --> 00:09:05,950 Tani unë doja të mendoj për kujtesës si një rrip të gjatë të bytes, 193 00:09:05,950 --> 00:09:11,090 por vetëm për qëllime të ekranit ne do të vetëm të bëjë majta në të djathtë, lart poshtë. 194 00:09:11,090 --> 00:09:11,590 NE RREGULL? 195 00:09:11,590 --> 00:09:22,030 >> Kështu që unë jam duke shkuar për të treguar një program-- Getstrings.c. 196 00:09:22,030 --> 00:09:25,760 Dhe kështu e gjithë kjo program është duke bërë është duke kërkuar katër vargjet 197 00:09:25,760 --> 00:09:28,830 nga përdoruesit me GetString dhe pastaj shtypje 198 00:09:28,830 --> 00:09:30,950 çfarëdo që string parë hyri ishte. 199 00:09:30,950 --> 00:09:32,840 Ne jemi duke injoruar dy në katër. 200 00:09:32,840 --> 00:09:33,610 NE RREGULL. 201 00:09:33,610 --> 00:09:38,210 Kështu që këtu now-- kur I pari s1 kërkesë. 202 00:09:38,210 --> 00:09:39,740 Pra, ju jeni kompjuter. 203 00:09:39,740 --> 00:09:41,680 Dhe ju po zbatojnë getString. 204 00:09:41,680 --> 00:09:46,710 Kështu që ju të kërkoni një varg nga mua, dhe unë them, OK, Dekani. 205 00:09:46,710 --> 00:09:47,900 Jepni string "Dean". 206 00:09:47,900 --> 00:09:50,300 >> Pra, diku në kujtesën ju duhet të mbani mend "Dean". 207 00:09:50,300 --> 00:09:52,160 Kështu shkruajnë atë në kujtesë diku. 208 00:09:52,160 --> 00:09:58,270 209 00:09:58,270 --> 00:09:59,210 Përsosur. 210 00:09:59,210 --> 00:09:59,880 NE RREGULL. 211 00:09:59,880 --> 00:10:01,740 Pra, tani ne kemi s2. 212 00:10:01,740 --> 00:10:03,869 Dhe s2 do të jetë një kërkesë për getString. 213 00:10:03,869 --> 00:10:05,160 Kështu që unë jam duke shkuar për të hyrë në një varg. 214 00:10:05,160 --> 00:10:08,720 Unë jam duke shkuar për të hyrë "Ana". 215 00:10:08,720 --> 00:10:10,586 Andaj, hyni "Anën" diku në kujtesë. 216 00:10:10,586 --> 00:10:18,860 217 00:10:18,860 --> 00:10:19,360 Po. 218 00:10:19,360 --> 00:10:23,000 Një-H. 219 00:10:23,000 --> 00:10:25,550 >> OK, kështu që tani S3. 220 00:10:25,550 --> 00:10:28,380 Dhe kjo do të jetë një tjetër kërkojnë për getString. 221 00:10:28,380 --> 00:10:37,020 Dhe kështu që tani të hyjë "Maria". 222 00:10:37,020 --> 00:10:37,520 Në rregull. 223 00:10:37,520 --> 00:10:40,980 Dhe pastaj nuk ka një të kaluar Kërkesa për getString, s4. 224 00:10:40,980 --> 00:10:42,580 Pra, unë nuk e di. 225 00:10:42,580 --> 00:10:45,640 Si për ne do të shkojmë me antidisestablishmentarianism. 226 00:10:45,640 --> 00:10:49,460 Andaj, hyni që në kujtesë. 227 00:10:49,460 --> 00:10:50,400 Po. 228 00:10:50,400 --> 00:10:53,970 Pra, vetëm të bëjë "Rob." 229 00:10:53,970 --> 00:10:54,560 >> NE RREGULL. 230 00:10:54,560 --> 00:10:58,410 Deri tani explain-- pse e bëri keni lënë këto hapësira? 231 00:10:58,410 --> 00:11:01,340 Pse keni këtë bosh hapësirë ​​këtu, këtu, dhe deri këtu? 232 00:11:01,340 --> 00:11:05,170 233 00:11:05,170 --> 00:11:05,670 Po. 234 00:11:05,670 --> 00:11:09,450 Pra, vini re, kur unë shkoj për të shtypur s1-- kështu që nëse ne 235 00:11:09,450 --> 00:11:11,890 kishte "Hannah" running të drejtë deri pranë "Dean" 236 00:11:11,890 --> 00:11:14,360 si mund ta dimë kur string "Dean" përfundon? 237 00:11:14,360 --> 00:11:19,470 Pra, shtypjen s1 string mund të ketë vetëm shtypura "DeanHannahMariaRob" 238 00:11:19,470 --> 00:11:22,720 në qoftë se ajo nuk ka ndonjë çelës e kur "Dean" në të vërtetë përfundon. 239 00:11:22,720 --> 00:11:23,240 >> Në rregull. 240 00:11:23,240 --> 00:11:27,650 Pra, në kujtesën mënyrën se si ne fakt përfaqësojë këtë fund të një varg 241 00:11:27,650 --> 00:11:29,940 është me backslash zero. 242 00:11:29,940 --> 00:11:32,620 Pra, kjo hapësirë ​​është pikërisht ajo që kemi dashur. 243 00:11:32,620 --> 00:11:34,040 Ajo duhet të jetë një backslash zero. 244 00:11:34,040 --> 00:11:37,690 Kjo do të jetë një backslash zero, dhe kjo do të jetë një backslash zero. 245 00:11:37,690 --> 00:11:41,585 Dhe ju mund të ketë një çmim të pabesueshëm për të qenë një vullnetar i përsosur. 246 00:11:41,585 --> 00:11:44,910 247 00:11:44,910 --> 00:11:45,860 Merrni një top stresi! 248 00:11:45,860 --> 00:11:49,040 249 00:11:49,040 --> 00:11:49,700 >> NE RREGULL. 250 00:11:49,700 --> 00:11:54,420 Pra, kjo backslash karakter zero është si ne tregojnë fundin e një varg. 251 00:11:54,420 --> 00:11:57,120 Është mënyra se si kur ndonjë program i dhënë dëshiron për të shkruar një varg, 252 00:11:57,120 --> 00:11:59,760 kjo është how-- mend kemi mësuar funksioni strlen javën e kaluar? 253 00:11:59,760 --> 00:12:00,940 Gjatësia String? 254 00:12:00,940 --> 00:12:03,770 Është mënyra se si gjatësia string është në gjendje të përcaktuar se sa kohë një varg është. 255 00:12:03,770 --> 00:12:05,810 Vetëm ajo mban iterating mbi personazhet 256 00:12:05,810 --> 00:12:08,217 deri sa gjen backslash karakterin zero. 257 00:12:08,217 --> 00:12:11,050 Pra, gjëja e rëndësishme të kuptohet rreth karakterit backslash zero 258 00:12:11,050 --> 00:12:14,950 është ajo e përfaqësuar nga të gjithë zero në bit. 259 00:12:14,950 --> 00:12:18,980 Pra, vini re se ky është i veçantë nga karakteri zero. 260 00:12:18,980 --> 00:12:23,010 Pra, karakteri zero, në qoftë se ju kujtohet në shembullin që dha në fund 261 00:12:23,010 --> 00:12:27,360 e leksionit ku karakteret hartë to-- si kryeqyteti A harta në 65. 262 00:12:27,360 --> 00:12:29,130 Shkronja jokapitale një harta të 97. 263 00:12:29,130 --> 00:12:30,890 Vogle b do të jetë 98. 264 00:12:30,890 --> 00:12:35,220 Kështu që numri 0 hartat to-- unë nuk e bëj e di pjesa e sipërme e kokës sime. 265 00:12:35,220 --> 00:12:36,400 44 ose 45. 266 00:12:36,400 --> 00:12:37,890 Diku në atë rajon. 267 00:12:37,890 --> 00:12:40,850 >> Pra karakteri 0 është numri aktual. 268 00:12:40,850 --> 00:12:44,350 Por zero backslash harta për të gjitha bit zero. 269 00:12:44,350 --> 00:12:46,380 Pra, ka një dallim midis backslash zero, 270 00:12:46,380 --> 00:12:48,450 të cilat ne do të thërrasë The Terminator null. 271 00:12:48,450 --> 00:12:53,210 Ka një dallim në mes backslash zero dhe karakteri zero. 272 00:12:53,210 --> 00:12:54,350 >> Në rregull. 273 00:12:54,350 --> 00:12:57,520 Pra, flasim pak më shumë për vargjet. 274 00:12:57,520 --> 00:13:01,470 Pra, atëherë ne shohim këtu kjo është se si ajo do të jenë të përcaktuara në kujtesë. 275 00:13:01,470 --> 00:13:07,940 Pra, kjo ide e strings si një sekuencë i characters-- kështu që kompjuteri zyrtar 276 00:13:07,940 --> 00:13:10,750 Termi sciency për rend është një koleksion. 277 00:13:10,750 --> 00:13:13,790 Pra, ne do të thërrasë një varg një grup të karaktereve. 278 00:13:13,790 --> 00:13:17,770 Dhe nuk janë në fakt të dhëna të tjera Llojet që ne mund të bëjë vargjeve nga. 279 00:13:17,770 --> 00:13:19,975 >> Pra, për të motivuar këtë, shikojmë një shembull. 280 00:13:19,975 --> 00:13:22,810 281 00:13:22,810 --> 00:13:29,812 Ne do të thërrasë atë ages0.c unë do kopjoni dhe ngjisni template tonë. 282 00:13:29,812 --> 00:13:32,470 283 00:13:32,470 --> 00:13:33,410 NE RREGULL. 284 00:13:33,410 --> 00:13:39,378 Pra, në këtë program që ne doni të bëni është të rrëmbyer mosha 285 00:13:39,378 --> 00:13:45,160 e tre studentë në kurs. 286 00:13:45,160 --> 00:13:49,240 Pra, ne e dimë int age-- dhe tani unë jam duke shkuar për të thënë 0. 287 00:13:49,240 --> 00:13:53,140 Kështu që ju mund të dëshironi të thoni age1, por për qëllime ne do të shohim shumë shpejt, 288 00:13:53,140 --> 00:13:57,187 Unë do të them int age0 barabartë GetInt. 289 00:13:57,187 --> 00:13:59,270 Pra, të njëjtën thirrje për GetInt që ne kemi qenë duke përdorur I 290 00:13:59,270 --> 00:14:01,561 mos ndodhë që të jetë bërë duke thënë: "Ma jep moshën." 291 00:14:01,561 --> 00:14:03,120 Por vetëm kërkon atë. 292 00:14:03,120 --> 00:14:06,510 >> Dhe age1 barabartë GetInt. 293 00:14:06,510 --> 00:14:09,600 Dhe int age2 barabartë GetInt. 294 00:14:09,600 --> 00:14:14,070 Pra, përsëri, tre studentë, por në fund të fundit indekset e ndryshueshme 295 00:14:14,070 --> 00:14:16,890 janë age0 përmes age2. 296 00:14:16,890 --> 00:14:17,550 NE RREGULL. 297 00:14:17,550 --> 00:14:23,960 Pra, ky program do të bëjë çdo gjë ne duam me age0, age1, dhe age2, 298 00:14:23,960 --> 00:14:27,670 por ky program në fund të fundit punon për tre studentë. 299 00:14:27,670 --> 00:14:28,380 >> NE RREGULL. 300 00:14:28,380 --> 00:14:32,110 Deri tani, çfarë nëse unë dua katër studentë? 301 00:14:32,110 --> 00:14:36,000 E pra, unë jam i do të ketë për të shkuar mbrapa në kodin tim, të ndryshuar komentin, 302 00:14:36,000 --> 00:14:39,840 dhe tani ne kemi një int age3 barabartë GetInt. 303 00:14:39,840 --> 00:14:40,610 NE RREGULL. 304 00:14:40,610 --> 00:14:43,660 Kështu që sheh problem këtu? 305 00:14:43,660 --> 00:14:47,310 Cili është problemi me këtë lloj të setup? 306 00:14:47,310 --> 00:14:47,810 Po. 307 00:14:47,810 --> 00:14:53,110 308 00:14:53,110 --> 00:14:53,610 Po. 309 00:14:53,610 --> 00:14:56,360 Pra, ne jemi duke krijuar një variabël për çdo student. 310 00:14:56,360 --> 00:15:00,140 Tani që punon, por në fund të fundit, çfarë nëse unë tani 311 00:15:00,140 --> 00:15:06,500 thonë: "Unë dua të kap moshën e Tetë studentë ose 16 studentë 312 00:15:06,500 --> 00:15:11,340 ose megjithatë shumë studentë të qindra studentë në CS50 313 00:15:11,340 --> 00:15:16,750 apo mijëra studentë në kampus ose miliarda njerëz në botë? 314 00:15:16,750 --> 00:15:19,130 Pra, në fund të fundit kjo nuk është e qëndrueshme. 315 00:15:19,130 --> 00:15:21,990 Çdo herë që ju shihni veten kopjimit dhe kodi pasting si kjo, 316 00:15:21,990 --> 00:15:25,050 ju duhet në përgjithësi ndjehen që ka një mënyrë të mirë. 317 00:15:25,050 --> 00:15:31,290 >> Pra, kjo është ajo ku ne kemi prezantuar një deklaratë array. 318 00:15:31,290 --> 00:15:34,564 Pra, kur ju të deklarojë një grup, kjo është ajo që format përgjithshme 319 00:15:34,564 --> 00:15:35,480 do të duken si. 320 00:15:35,480 --> 00:15:36,664 Ne jemi duke shkuar për të thënë llojin. 321 00:15:36,664 --> 00:15:38,830 dhe pastaj ne do të jepni emrin e atij grup, 322 00:15:38,830 --> 00:15:41,150 ashtu si ne define çdo ndryshore të dhënë. 323 00:15:41,150 --> 00:15:43,980 Dhe pastaj në fund ne jemi duke përdorur ky simbol grupim përsëri 324 00:15:43,980 --> 00:15:47,480 por në një kontekst të ndryshëm nga si ne kemi qenë duke e përdorur atë më parë. 325 00:15:47,480 --> 00:15:51,860 >> Kështu që këtu kjo duket si një normale Deklarata e ndryshueshme që ne kemi parë. 326 00:15:51,860 --> 00:15:54,890 Pra, ne kemi parë int x pikëpresje para. 327 00:15:54,890 --> 00:16:00,020 E pra tani ne mund të shohim diçka si int x kllapa 5. 328 00:16:00,020 --> 00:16:04,020 Dhe duke i vënë këtë ide në Programi GetInt që ne have-- 329 00:16:04,020 --> 00:16:08,850 kështu që ne mund të zbatojë kjo në të njëjtën mënyrë. 330 00:16:08,850 --> 00:16:13,630 >> Le të thonë se në SHC ne priren të përdorin n si numri i diçka. 331 00:16:13,630 --> 00:16:16,150 Pra, këtu ne jemi duke shkuar për të ruajë katër studentë. 332 00:16:16,150 --> 00:16:25,960 Dhe tani ne mund të themi moshën int kllapa nuk n-- mjaft të merrni atë yet-- 333 00:16:25,960 --> 00:16:32,210 për të deklaruar një grup prej katër nxënësve. 334 00:16:32,210 --> 00:16:38,050 Pra, si do të duket kjo në kujtim do të jetë i ngjashëm me këtë. 335 00:16:38,050 --> 00:16:39,570 Qartë këtë. 336 00:16:39,570 --> 00:16:46,606 Dhe ne do të kemi diku në memory-- Unë do të vënë këtë deri atje. 337 00:16:46,606 --> 00:16:52,690 338 00:16:52,690 --> 00:16:53,808 >> Pra, diku në kujtesë. 339 00:16:53,808 --> 00:16:58,760 340 00:16:58,760 --> 00:16:59,727 Një dy tre katër. 341 00:16:59,727 --> 00:17:03,383 342 00:17:03,383 --> 00:17:09,849 Ne kemi katër integers në një rresht për këtë grup prej katër integers. 343 00:17:09,849 --> 00:17:13,820 Pra, aktualisht, çfarë është Madhësia e një prej këtyre kutive? 344 00:17:13,820 --> 00:17:17,190 345 00:17:17,190 --> 00:17:17,690 Po. 346 00:17:17,690 --> 00:17:18,390 Është katër bytes. 347 00:17:18,390 --> 00:17:19,690 Është 32 bit. 348 00:17:19,690 --> 00:17:22,310 Deri tani kjo është e ndryshme nga grup që kemi 349 00:17:22,310 --> 00:17:24,020 pa më parë, grup të karaktereve. 350 00:17:24,020 --> 00:17:28,540 Në një varg çdo kuti ishte vetëm një bajt, sepse një karakter është vetëm një bajt. 351 00:17:28,540 --> 00:17:32,170 Por me një grup të numrat e plotë, secili kuti duhet të jetë katër bytes në mënyrë 352 00:17:32,170 --> 00:17:34,060 për të përshtaten një numër të plotë të tërë. 353 00:17:34,060 --> 00:17:37,197 Pra, kjo është ajo që një grup i Katër Ints do të duken si. 354 00:17:37,197 --> 00:17:40,510 355 00:17:40,510 --> 00:17:43,870 >> Dhe pastaj përsëri në kod. 356 00:17:43,870 --> 00:17:47,460 Tani ne duam që në fakt dyqan integers në atë rrjet. 357 00:17:47,460 --> 00:17:53,470 Deri tani kjo është një shumë, shumë, shumë model të përbashkët që do të në disa pika 358 00:17:53,470 --> 00:17:54,680 të bëhet kujtesës muskujve. 359 00:17:54,680 --> 00:17:56,710 Pra, int i barabartë me 0. 360 00:17:56,710 --> 00:17:57,940 Unë pak se n. 361 00:17:57,940 --> 00:18:01,850 Unë plus plus. 362 00:18:01,850 --> 00:18:05,790 Mosha kllapa i barabartë GetInt. 363 00:18:05,790 --> 00:18:15,100 >> Pra, kjo për lak, ky format, ju duhet të merrni shumë përdoret për të. 364 00:18:15,100 --> 00:18:20,010 Pra, kjo është në përgjithësi se si ne do të iterate mbi pothuajse çdo grup. 365 00:18:20,010 --> 00:18:23,690 Tani vini re këtë lloj të shpjegon pse nga fillimi 366 00:18:23,690 --> 00:18:29,870 ne nuk kemi për sythe shkon për int i është e barabartë me 1, i pak se ose te barabarte me 10. 367 00:18:29,870 --> 00:18:34,200 Arsyeja është se duke filluar nga zero bën këtë punë edhe me vargjeve. 368 00:18:34,200 --> 00:18:36,270 Pra vargjeve janë zero indeksuar. 369 00:18:36,270 --> 00:18:40,360 Nëse ky grup është i gjatësisë 4, treguesit janë 0 deri 3. 370 00:18:40,360 --> 00:18:42,880 >> Pra, me anë të e para përsëritje e këtë për lak 371 00:18:42,880 --> 00:18:49,930 ne do të jetë caktimi i moshës kllapa 0 barabartë me një thirrje për GetInt. 372 00:18:49,930 --> 00:18:52,440 Kështu që çdo gjë që unë ndodhi për të hyrë në tastierë. 373 00:18:52,440 --> 00:18:56,970 Në kalimin e dytë, ne jemi vendosjen age1 barabartë me GetInt. 374 00:18:56,970 --> 00:18:58,230 Kalojë treti, age2. 375 00:18:58,230 --> 00:18:59,880 Age3 përfundimtar kalojë. 376 00:18:59,880 --> 00:19:05,750 Pra, nëse në kalimin e parë të lak I shkruani numrin 4 në tastierë, 377 00:19:05,750 --> 00:19:07,740 atëherë ne do të futur një 4 këtu. 378 00:19:07,740 --> 00:19:11,470 Në qoftë se në kalimin e dytë unë të hyjë 50, ne do të vënë një 50 këtu. 379 00:19:11,470 --> 00:19:15,180 Në kalimin e tretë unë mund hyjnë negativ 1, 1 negativ, 380 00:19:15,180 --> 00:19:21,810 dhe pastaj më në fund në qoftë se unë të hyjë 0-- dhe tani mbani mend se kjo ishte indeks tre. 381 00:19:21,810 --> 00:19:25,350 >> Pasi kemi loop shpinë, i është do të incremented 4. 382 00:19:25,350 --> 00:19:27,770 i nuk është më pak se n, i cili është 4. 383 00:19:27,770 --> 00:19:29,840 Dhe ne pushim nga lak. 384 00:19:29,840 --> 00:19:32,578 Pra, çfarë do të jetë i gabuar me këtë? 385 00:19:32,578 --> 00:19:38,140 386 00:19:38,140 --> 00:19:38,729 [Padëgjueshme]? 387 00:19:38,729 --> 00:19:39,604 Audienca: [padëgjueshme] 388 00:19:39,604 --> 00:19:45,880 389 00:19:45,880 --> 00:19:46,400 >> Po. 390 00:19:46,400 --> 00:19:51,550 Pra, array ka vetëm katër vende, që do të thotë si indekse 0 deri 3. 391 00:19:51,550 --> 00:19:55,630 Pra, nëse ky ishte rasti, unë do të të marrë në vlerën 4 në një pikë. 392 00:19:55,630 --> 00:20:00,910 moshë kllapa 4 do të jetë caktimi çfarëdo që të ndodhë të jetë mbi këtu 393 00:20:00,910 --> 00:20:02,920 për atë që unë duhet të them, të hyjë 6. 394 00:20:02,920 --> 00:20:05,010 Kjo do të jetë caktimi kjo në 6. 395 00:20:05,010 --> 00:20:06,560 >> Por ne nuk e dimë se çfarë është mbi këtu. 396 00:20:06,560 --> 00:20:08,836 Kjo nuk është kujtim që kemi pasur qasje në. 397 00:20:08,836 --> 00:20:10,710 Pra, nëse ju kujtohet nga ligjërata mëparshme, 398 00:20:10,710 --> 00:20:14,350 ai u shtypjen nga vlerat e Zamyla dhe në një moment ai e goditi këtë segmentimit 399 00:20:14,350 --> 00:20:17,990 faji. Pra, ju ndoshta do të shohim shumë gabimet segmentimit si ju 400 00:20:17,990 --> 00:20:20,530 të zbatojë disa nga grupe problemit. 401 00:20:20,530 --> 00:20:24,950 Por kjo është një nga mënyrat në të cilat ju mund të hasni një ndarje 402 00:20:24,950 --> 00:20:28,540 faj, kur ju filloni qasjes kujtim në mënyra që ju nuk duhet të jetë. 403 00:20:28,540 --> 00:20:34,117 Pra, ne nuk kemi qasje në ky vend dhe kjo është një bug. 404 00:20:34,117 --> 00:20:37,760 405 00:20:37,760 --> 00:20:40,190 >> Pra, kjo është më e mirë. 406 00:20:40,190 --> 00:20:45,820 Tani ka ende një të vogël çështje me këtë kod. 407 00:20:45,820 --> 00:20:50,720 Dhe kjo është në thelb se ne jemi ende mbërthyer në katër studentë. 408 00:20:50,720 --> 00:20:52,940 Tani në qoftë se unë dua të përdorni tetë studentë, OK. 409 00:20:52,940 --> 00:20:54,350 Nuk është se një punë e madhe. 410 00:20:54,350 --> 00:20:58,120 Unë mund të shkoj në, të ndryshuar komentojnë, dhe për të ndryshuar n. 411 00:20:58,120 --> 00:20:59,760 Tani kjo do të punojë me tetë nxënës. 412 00:20:59,760 --> 00:21:02,190 Nëse unë përpilojnë këtë dhe të kandidojë kjo, ajo do të tregojë me-- 413 00:21:02,190 --> 00:21:07,870 ajo do të kërkojë integers për tetë studentët dhe ajo vetëm do të punojnë. 414 00:21:07,870 --> 00:21:11,850 Por kjo është më pak se ideale për të duhet të të përpiluar programin çdo herë të vetme 415 00:21:11,850 --> 00:21:15,960 Unë dua për të ndryshuar numrin e studentëve që unë dua të hyj moshat për. 416 00:21:15,960 --> 00:21:22,990 >> Pra, përmirësimi i fundit në kjo, siç do të shohim here-- ne jemi 417 00:21:22,990 --> 00:21:26,177 do të kërkojë numrin e njerëzve. 418 00:21:26,177 --> 00:21:28,010 Këtu ne kemi një numër e njerëzve në dhomat 419 00:21:28,010 --> 00:21:29,880 ose ndonjë moshat e njerëzve në dhomë. 420 00:21:29,880 --> 00:21:33,300 Por, ne jemi duke shkuar për të kërkuar numrin e njerëzve në dhomë nga përdoruesi. 421 00:21:33,300 --> 00:21:36,171 Pra, kjo është e saktë njëjtë për ta bërë, ndërsa lak që ne kemi parë më parë. 422 00:21:36,171 --> 00:21:37,920 Është e njëjta saktë për ta bërë, ndërsa loop që ju 423 00:21:37,920 --> 00:21:40,050 mund të zbatimit në grup problemit. 424 00:21:40,050 --> 00:21:43,102 Pra, për aq kohë sa ata janë hyrjen një n më pak se 1, 425 00:21:43,102 --> 00:21:45,310 kështu që nuk e mori të jetë në paktën një person në dhomë. 426 00:21:45,310 --> 00:21:47,407 Për sa kohë që ata janë hyrjen një n më pak se 1, 427 00:21:47,407 --> 00:21:48,990 atëherë ne jemi duke shkuar për të mbajtur pyetur përsëri. 428 00:21:48,990 --> 00:21:50,906 Ju lutem shkruani numrin e njerëzve në dhomë. 429 00:21:50,906 --> 00:21:53,550 Tani, pasi ne kemi numrin e njerëzve në room-- 430 00:21:53,550 --> 00:21:58,020 kështu që unë mund të hyj se nuk janë 200 njerëz në këtë dhomë. 431 00:21:58,020 --> 00:22:05,480 Atëherë këtu poshtë ne jemi duke shkuar për të ardhur dhe të deklarojë një grup të madhësisë 200. 432 00:22:05,480 --> 00:22:10,220 Ne jemi deklaruar array që është mjaft e madhe për të mbajtur 200 moshave. 433 00:22:10,220 --> 00:22:15,370 Vjen poshtë, kjo është për lak që ju do të merrni shumë përdoret për të. 434 00:22:15,370 --> 00:22:19,490 Pra iterating mbi këtë grup, caktimin e në çdo vend 435 00:22:19,490 --> 00:22:23,020 në atë grup nje numer i plote dhe pastaj në fund të fundit këtu ne jemi 436 00:22:23,020 --> 00:22:28,340 vetëm duke marrë një shembull të iterating mbi atë grup, për të mos caktojë vlerat, 437 00:22:28,340 --> 00:22:30,150 por për të hyrë në vlerat. 438 00:22:30,150 --> 00:22:33,810 >> Pra, këtu ne shohim se ne janë duke thënë, një vit nga tani, 439 00:22:33,810 --> 00:22:40,470 Personi% unë do të jetë% i vjeç, ku i pari% i është i plus 1. 440 00:22:40,470 --> 00:22:43,010 Pra unë është ky indeks variabël. 441 00:22:43,010 --> 00:22:49,420 Dhe% i dytë do të jetë Vlera e ruajtur në moshat rrjet plus 1. 442 00:22:49,420 --> 00:22:54,217 Pra, kjo plus 1 është vetëm për shkak se ne jemi saying-- këtë plus 1, mosha i plus 1. 443 00:22:54,217 --> 00:22:57,050 Kjo plus 1 është vetëm për shkak se ne jemi duke thënë: një vit nga tani personi 444 00:22:57,050 --> 00:22:58,280 do të jetë ky i vjetër. 445 00:22:58,280 --> 00:23:01,080 >> Pra, pse është ky i plus 1? 446 00:23:01,080 --> 00:23:04,064 Pse ne kemi një plus 1 atje? 447 00:23:04,064 --> 00:23:04,564 Po. 448 00:23:04,564 --> 00:23:07,410 449 00:23:07,410 --> 00:23:07,930 Po. 450 00:23:07,930 --> 00:23:10,510 Pra mbani mend vargjeve janë zero indeksuar. 451 00:23:10,510 --> 00:23:14,840 Pra, nëse ne jemi shtypjen këtë për dikush që vetëm të lexuar prodhimit, 452 00:23:14,840 --> 00:23:19,380 atëherë ndoshta ata duan të shohin diçka si person i një personi, numër një, 453 00:23:19,380 --> 00:23:21,160 do të jetë 20 vjeç. 454 00:23:21,160 --> 00:23:23,570 Personi numër dy do të jetë 15 vjeç. 455 00:23:23,570 --> 00:23:27,420 Ata më mirë të mos shoh njeri numri zero është 15 vjeç. 456 00:23:27,420 --> 00:23:36,460 >> Pra hartimin kjo dhe vetëm duke parë çfarë kjo duket like-- Krijo një hapësirë. 457 00:23:36,460 --> 00:23:43,560 Bëni të moshës harton. 458 00:23:43,560 --> 00:23:45,080 Drejtimin moshave. 459 00:23:45,080 --> 00:23:46,580 Ne e shohim numrin e njerëzve në dhomë. 460 00:23:46,580 --> 00:23:48,850 Kështu që unë do të them ka tre persona në dhomë. 461 00:23:48,850 --> 00:23:54,000 Mosha e personit numër një, le të themi 15, 20, 25. 462 00:23:54,000 --> 00:23:59,680 Dhe tani unë do të them një vit nga tani ata do të jenë 16, 21, 26. 463 00:23:59,680 --> 00:24:02,900 Le të shohim se kjo punon me n një që nuk është e barabartë me 3. 464 00:24:02,900 --> 00:24:07,940 Pra, nëse unë them numri i njerëzve është 5, një, dy, tre, dy, një, një vit nga tani 465 00:24:07,940 --> 00:24:11,170 ata do të jenë dy, tre, katër, tre, dy vjeç. 466 00:24:11,170 --> 00:24:16,500 Kështu që unë mund vetëm si lehtë e kanë n të jetë 10.000. 467 00:24:16,500 --> 00:24:21,270 Tani unë do të jetë i ulur këtu për krejt një gjatë hyrjes moshat, por kjo funksionon. 468 00:24:21,270 --> 00:24:26,000 >> Deri tani në kujtim diku ne kanë një rrjet të madhësisë 10.000, 469 00:24:26,000 --> 00:24:28,830 kështu që në fund të fundit 40,000 bytes, sepse ka 470 00:24:28,830 --> 00:24:31,222 katër bytes për secilin prej këtyre numrave të plotë. 471 00:24:31,222 --> 00:24:33,180 Pra, ka një grup i Madhësia e 10.000 ku ne mund të 472 00:24:33,180 --> 00:24:36,201 dyqan moshat e atyre 10.000 njerëz. 473 00:24:36,201 --> 00:24:36,700 Në rregull. 474 00:24:36,700 --> 00:24:40,070 Pyetjet në lidhje me ndonjë nga këto? 475 00:24:40,070 --> 00:24:41,892 Po. 476 00:24:41,892 --> 00:24:43,350 Çfarë ndodh nëse ju dha një numër negativ? 477 00:24:43,350 --> 00:24:44,870 Le të shohim se çfarë ndodh. 478 00:24:44,870 --> 00:24:49,320 Pra, në këtë numër të veçantë case-- e njerëzve në dhomë, një negativ. 479 00:24:49,320 --> 00:24:52,580 Ai hodhi poshtë atë, sepse këtu kemi të ndodhë 480 00:24:52,580 --> 00:24:57,180 të trajtimit faktin se nëse n është më pak se një ne jemi duke shkuar për të pyetur përsëri. 481 00:24:57,180 --> 00:25:01,780 Nëse ju provoni për të deklaruar një grup të madhësisë negative, 482 00:25:01,780 --> 00:25:03,950 ajo në përgjithësi nuk punon. 483 00:25:03,950 --> 00:25:05,570 >> Pra, le të përpiqemi. 484 00:25:05,570 --> 00:25:08,000 Le të injorojë çfarëdo Vlera ato të dhëna për n 485 00:25:08,000 --> 00:25:10,571 dhe vetëm thonë moshës int një negativ. 486 00:25:10,571 --> 00:25:12,410 Le të shohim nëse ajo madje harton. 487 00:25:12,410 --> 00:25:14,100 Une nuk jam i sigurt. 488 00:25:14,100 --> 00:25:14,920 Jo. 489 00:25:14,920 --> 00:25:18,280 Pra moshave është shpallur si një grup me një madhësi negative. 490 00:25:18,280 --> 00:25:22,540 Pra upfront ajo njeh një koleksion nuk mund të të jetë e madhësisë negative dhe e refuzon atë. 491 00:25:22,540 --> 00:25:26,840 Tani, në qoftë se ne nuk e ka trajtuar këtë lak për ta bërë, ndërsa në mënyrë korrekte, 492 00:25:26,840 --> 00:25:28,810 nëse ne nuk u kontrolluar nëse n është më pak se 1-- 493 00:25:28,810 --> 00:25:32,690 Le të themi se vetëm nuk e kanë këtë në të gjitha 494 00:25:32,690 --> 00:25:35,940 dhe në vend të kësaj ne vetëm kap një numër të plotë. 495 00:25:35,940 --> 00:25:40,710 Pa marrë parasysh atë që është numër i plotë, ne deklarojmë një grup të kësaj madhësie. 496 00:25:40,710 --> 00:25:44,250 >> Pra, përpiluesit nuk mund të ndoshta ankohen tani. 497 00:25:44,250 --> 00:25:48,780 Nëse unë përpilojnë this-- kështu që nuk mund të ankohen, 498 00:25:48,780 --> 00:25:51,480 për shkak se ajo nuk mund të dini se unë jam do të hyjë një numër negativ, 499 00:25:51,480 --> 00:25:52,550 që mund të jetë i pavlefshëm. 500 00:25:52,550 --> 00:25:54,633 Për të gjithë ai e di, unë mund të futni një numër pozitiv, 501 00:25:54,633 --> 00:25:56,000 e cila është krejtësisht e vlefshme. 502 00:25:56,000 --> 00:26:01,090 Kështu që unë imagjinoni nëse unë të hyjë negative 1 njerëz në dhomë, Segmentimi faj. 503 00:26:01,090 --> 00:26:06,040 >> Pra, OK. 504 00:26:06,040 --> 00:26:13,160 Pra, le të shtoni këtë përsëri vetëm mbajtur atë çfarë ishte fillimisht. 505 00:26:13,160 --> 00:26:15,640 Pra, të bëjë moshave. 506 00:26:15,640 --> 00:26:18,120 Tani në qoftë se unë dua të provoni një negativ age-- Pra, le të 507 00:26:18,120 --> 00:26:19,710 thonë se ka pesë njerëz në dhomë. 508 00:26:19,710 --> 00:26:23,180 Mosha e personit numër një është negative 4, personi tre 509 00:26:23,180 --> 00:26:26,500 është zero, personi i trete OK. 510 00:26:26,500 --> 00:26:29,850 Kështu që këtu, një vit nga tani, numri personi njëri do të jetë negativ 3 vjeç. 511 00:26:29,850 --> 00:26:32,830 Pra, ndoshta nuk ka kuptim. 512 00:26:32,830 --> 00:26:37,220 Por kjo është vetëm për shkak se në kërkim në kodin gjithë ne jemi duke bërë 513 00:26:37,220 --> 00:26:40,260 po kërkon GetInt. 514 00:26:40,260 --> 00:26:44,110 >> Tani, nëse do të kishim kishte Funksioni GetPositiveInt 515 00:26:44,110 --> 00:26:49,690 ose kishim bërë thjesht kjo lloj i njëjtë lak, ndërsa atje poshtë, 516 00:26:49,690 --> 00:26:52,340 atëherë kjo do të punojnë të përkryer gjobë. 517 00:26:52,340 --> 00:26:54,200 Por në këtë të veçantë rast, ne thjesht nuk 518 00:26:54,200 --> 00:26:57,772 ndodh që të jetë trajtimin vlera negative. 519 00:26:57,772 --> 00:26:59,147 Çdo pyetje të tjera rreth vargjeve? 520 00:26:59,147 --> 00:27:02,290 521 00:27:02,290 --> 00:27:03,250 NE RREGULL. 522 00:27:03,250 --> 00:27:09,380 >> Pra, ne kemi parë tani vargjeve. 523 00:27:09,380 --> 00:27:12,500 Dhe ne jemi duke shkuar për të duhet të përdorni kjo për argumente command-line. 524 00:27:12,500 --> 00:27:14,680 Pra, në problemin vendosur two-- Unë e di shumë prej jush 525 00:27:14,680 --> 00:27:18,040 ende mund të punojnë në grup problemit një, por problemi vendosur dy po afrohet. 526 00:27:18,040 --> 00:27:22,260 Në problemi vendosur dy, ju jeni do të duhet të merret me vargjet, vargjeve, 527 00:27:22,260 --> 00:27:23,950 dhe argumente command-line. 528 00:27:23,950 --> 00:27:26,270 >> Pra, çfarë janë argumente command line? 529 00:27:26,270 --> 00:27:29,570 Tani, ju mund të shihni këtu poshtë një pak ngacmues për saktësisht se çfarë është 530 00:27:29,570 --> 00:27:30,950 do të ndodh. 531 00:27:30,950 --> 00:27:32,950 Ne e shohim int main, argc inc, kllapa string argv. 532 00:27:32,950 --> 00:27:34,560 533 00:27:34,560 --> 00:27:38,130 Pra, së pari le të përpiqemi për të interpretuar se çka është duke u përpjekur për të thënë. 534 00:27:38,130 --> 00:27:40,800 Tani, OK. 535 00:27:40,800 --> 00:27:44,637 >> Pra, në rreshtin e komandave ju duhet të jetë duke u përdorur për disa nga këto komanda 536 00:27:44,637 --> 00:27:48,580 tani, dhe ju keni drejtuar ndoshta cd në terminalin e para. 537 00:27:48,580 --> 00:27:52,100 Pra, nëse ne themi cd pset1, ju e dini se që duhet 538 00:27:52,100 --> 00:27:55,050 të jetë ndryshuar në directory pset1. 539 00:27:55,050 --> 00:27:59,120 >> Tani vini re se ju kurrë nuk kam shkruar një program si kjo para. 540 00:27:59,120 --> 00:28:03,120 Çdo program që ju keni shkruar, ju do të kandidojë, të themi, dot çaj Mario, 541 00:28:03,120 --> 00:28:06,779 dot çaj lakmitar, dhe pastaj atë mund të menjëhershëm ju për të dhëna. 542 00:28:06,779 --> 00:28:08,570 Tani, kjo nuk është ajo që Lista ndryshim bën. 543 00:28:08,570 --> 00:28:12,770 Kur ju drejtuar cd, kjo nuk do të pastaj thonë: Lista cilat nuk ju duan të cd në? 544 00:28:12,770 --> 00:28:17,200 Në vend të kësaj, ju vetëm thonë, cd pset1, dhe ajo vetëm shkon në directory pset1. 545 00:28:17,200 --> 00:28:20,430 >> Pra, në mënyrë të ngjashme ne kemi shembuj të tjerë. 546 00:28:20,430 --> 00:28:21,540 bëni përshëndetje. 547 00:28:21,540 --> 00:28:25,760 Kur ju drejtuar bëjnë, ajo nuk do të thoni: cili program do të ju pëlqen të bëni? 548 00:28:25,760 --> 00:28:29,620 Ju thoni vetëm, në fund command line bëni përshëndetje. 549 00:28:29,620 --> 00:28:31,060 >> Veprim është një shembull tjetër. 550 00:28:31,060 --> 00:28:34,840 Kjo ne jemi duke lëvizur mario.c paraqesë deri një directory. 551 00:28:34,840 --> 00:28:38,060 Pra, tani ne e dimë me këtë shembull ne jemi me të vërtetë duke kaluar dy argumente. 552 00:28:38,060 --> 00:28:42,090 Ka mario.c si argumenti i parë, dhe dot dot është argumenti i dytë. 553 00:28:42,090 --> 00:28:46,140 Dhe pastaj kur ju drejtuar bëni, ju shohim se komandën vërtet të gjatë line-- 554 00:28:46,140 --> 00:28:50,580 se komanda me të vërtetë e gjatë shtypur në rreshtin e komandave. 555 00:28:50,580 --> 00:28:53,590 Kështu që gjatë command-- kjo është vetëm një pjesë të shkurtër të saj, 556 00:28:53,590 --> 00:28:56,090 por tani ne kemi tre argumente command-line. 557 00:28:56,090 --> 00:28:59,750 Dot dash zero, përshëndetje, dhe hello.c. 558 00:28:59,750 --> 00:29:03,497 >> Pra, këto janë command-line argumentet, argumentet 559 00:29:03,497 --> 00:29:05,580 që ju jeni duke kaluar në nivel Linja komande mënyrë që ajo 560 00:29:05,580 --> 00:29:08,680 nuk duhet të jenë të nxitet kur ju të drejtuar programin. 561 00:29:08,680 --> 00:29:13,090 Ajo do të jetë frustruese nëse kur ju u tingëllimë ajo tha: "Në rregull, 562 00:29:13,090 --> 00:29:15,630 që program-- që Dosja po hartimin? 563 00:29:15,630 --> 00:29:17,010 Hello.c. 564 00:29:17,010 --> 00:29:19,440 Çfarë flamuj do të ju si për të hyrë? o dash. 565 00:29:19,440 --> 00:29:21,190 Çfarë do të ju pëlqen fotografi që do të quhet? 566 00:29:21,190 --> 00:29:21,690 Përshëndetje. 567 00:29:21,690 --> 00:29:25,290 Jo, ju vetëm të drejtuar tingëllimë dash o Hello hello.c. 568 00:29:25,290 --> 00:29:28,820 >> Pra, duke kërkuar mbrapa në këtë. 569 00:29:28,820 --> 00:29:32,920 Tani argc argc-- është akuza argument. 570 00:29:32,920 --> 00:29:36,620 Është numri i komandës-line Argumentet hyri në rreshtin e komandave. 571 00:29:36,620 --> 00:29:39,720 E pra, argv-- teknikisht V qëndron për vektor, 572 00:29:39,720 --> 00:29:41,460 që do të thotë në thelb koleksion. 573 00:29:41,460 --> 00:29:42,680 Por ju mund të injorojë atë. 574 00:29:42,680 --> 00:29:47,540 Argv-- ne kemi varg argv, kështu kllapa string argv. 575 00:29:47,540 --> 00:29:50,150 Pra, kjo është një tjetër formë e kllapa ju nuk e keni parë më parë. 576 00:29:50,150 --> 00:29:52,300 Kllapa kështu që ne kemi parë shënim kur ne kemi thënë: 577 00:29:52,300 --> 00:29:53,970 si, string s barabartë Zamyla. 578 00:29:53,970 --> 00:29:56,910 s kllapa 0 accesses Z. karakter 579 00:29:56,910 --> 00:30:00,720 >> Ne kemi parë gjithashtu kllapa kur kemi thënë moshave int kllapa 5. 580 00:30:00,720 --> 00:30:03,160 Që ka deklaruar një grup të madhësisë 5. 581 00:30:03,160 --> 00:30:06,280 Kështu që këtu është një version i kllapa ne nuk e kemi parë më parë. 582 00:30:06,280 --> 00:30:09,630 Pra, ky lloj string argv që do të jetë plotësisht i njohur 583 00:30:09,630 --> 00:30:12,050 se kjo do të jetë vetëm një varg. 584 00:30:12,050 --> 00:30:14,520 Tani kllapa tregojnë se ky është një grup. 585 00:30:14,520 --> 00:30:19,920 Pra kllapa string argv mjete se argv është një grup i strings. 586 00:30:19,920 --> 00:30:22,540 Tani teknikisht një varg është një grup i karaktereve. 587 00:30:22,540 --> 00:30:26,400 Pra, kjo është tani një grup e një grup të karaktereve. 588 00:30:26,400 --> 00:30:31,490 Por kjo është shumë më e lehtë për të menduar për këtë si vetëm një grup të strings. 589 00:30:31,490 --> 00:30:34,900 >> Pra, pse mund të kllapa të jetë bosh? 590 00:30:34,900 --> 00:30:38,170 Si, pse nuk mund të themi: kllapa 5, kllapa n? 591 00:30:38,170 --> 00:30:40,700 592 00:30:40,700 --> 00:30:41,200 Po. 593 00:30:41,200 --> 00:30:43,731 594 00:30:43,731 --> 00:30:44,230 Po. 595 00:30:44,230 --> 00:30:46,396 Ne nuk e dimë se sa shumë inputet atje do të jetë. 596 00:30:46,396 --> 00:30:53,560 Pra, nëse ne shikojmë në shembullin tingëllimë, ne themi tingëllimë dash o përshëndetje hello.c. 597 00:30:53,560 --> 00:30:56,710 Në këtë rast të veçantë, nuk ndodh të jetë tre argumente command-line. 598 00:30:56,710 --> 00:31:00,522 Dhe kështu brackets-- ne do të shohim në një të dytë nuk do të jetë tre. 599 00:31:00,522 --> 00:31:01,730 Ajo teknikisht do të jetë katër. 600 00:31:01,730 --> 00:31:04,030 Por kllapa, ne do të themi, janë tre. 601 00:31:04,030 --> 00:31:08,220 Por tani, nëse kemi shikuar në lëvizje mario.c dot dot, kllapa 602 00:31:08,220 --> 00:31:09,760 ne do të duan të vënë dy në to. 603 00:31:09,760 --> 00:31:12,884 >> Dhe ka shumë të komandave që kanë një numër të ndryshueshëm të linjës së komandës 604 00:31:12,884 --> 00:31:13,620 argumente. 605 00:31:13,620 --> 00:31:17,430 Pra, çfarë ky version i kllapa simbol tregon 606 00:31:17,430 --> 00:31:20,820 është se argv është një grup i strings. 607 00:31:20,820 --> 00:31:24,360 Por ne nuk e dimë se sa shumë vargjet janë në këtë grup. 608 00:31:24,360 --> 00:31:27,090 Dhe si nuk kemi atëherë e di se si shumë vargjet janë në rrjet? 609 00:31:27,090 --> 00:31:28,870 Kjo është pika e tërë argc. 610 00:31:28,870 --> 00:31:32,300 argc na tregon se sa kohë argv është. 611 00:31:32,300 --> 00:31:36,500 >> Pra, gjëja e fundit për të mbajtur në Mendja është se, teknikisht, 612 00:31:36,500 --> 00:31:40,820 vetë komanda llogaritet si një e argumenteve nga command-line. 613 00:31:40,820 --> 00:31:45,330 Pra cd pset1, ka dy argumente command-line. 614 00:31:45,330 --> 00:31:50,260 Programi në vetvete, CD, dhe pastaj pjesa argumenti aktual i saj, pset1. 615 00:31:50,260 --> 00:31:54,490 Çdo program që ju keni shkruar deri tani ka kishte një command-line argument-- dot 616 00:31:54,490 --> 00:31:55,320 çaj Mario. 617 00:31:55,320 --> 00:31:57,350 Kjo është vetëm argumenti komanda-line. 618 00:31:57,350 --> 00:32:00,900 >> Pra, tani në kërkim në tingëllim dash o Hello hello.c. 619 00:32:00,900 --> 00:32:01,905 Pra, çfarë është 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 Pra argc është 4. 623 00:32:08,140 --> 00:32:12,140 Tingëllimë, kllapa kështu argv 0 është tingëllimë. 624 00:32:12,140 --> 00:32:15,630 argv kllapa 1 është dash 0. 625 00:32:15,630 --> 00:32:21,870 argv kllapa 2 është përshëndetje, dhe argv kllapa 3 është hello.c. 626 00:32:21,870 --> 00:32:26,813 Ok, kështu që pyetjet mbi këtë, dhe pastaj ne do shohim disa shembuj programatike. 627 00:32:26,813 --> 00:32:29,460 628 00:32:29,460 --> 00:32:30,480 >> NE RREGULL. 629 00:32:30,480 --> 00:32:36,260 Pra, ne do të hedhim një vështrim në hello3.c. 630 00:32:36,260 --> 00:32:41,890 Pra kjo duhet të jetë e njohur nga një nga shembujt e parë c 631 00:32:41,890 --> 00:32:45,800 kishim ku ne do të themi vetëm, përshëndetje bota, por tani kjo është më e përgjithshme. 632 00:32:45,800 --> 00:32:52,300 Pra, këtu ne jemi duke thënë përshëndetje backslash n% s argv kllapa 1. 633 00:32:52,300 --> 00:32:57,440 Notice-- kështu që deri këtë pikë, kjo është çfarë skedar ime template ka dukej si. 634 00:32:57,440 --> 00:33:01,800 Unë kisha int kryesor (i pavlefshëm), dhe pastaj unë do të të bëjë diçka në funksion kryesor. 635 00:33:01,800 --> 00:33:05,100 Tani në vend të kësaj, sapo kemi filluar që kanë të bëjnë me argumente command-line, 636 00:33:05,100 --> 00:33:07,890 ne kemi nevojë për të deklaruar një forma të ndryshme e kryesore. 637 00:33:07,890 --> 00:33:11,930 >> Pra, duke kërkuar në hello3 përsëri, kryesore do 638 00:33:11,930 --> 00:33:15,990 për të marrë dy argumente now-- int argc, numri i argumenteve command-line, 639 00:33:15,990 --> 00:33:20,970 dhe string argv kllapa, aktuale vargjet hyri në rreshtin e komandave. 640 00:33:20,970 --> 00:33:26,560 Kështu që unë jam duke shkuar për të ndryshuar atë template për të pasqyruar këtë fakt. 641 00:33:26,560 --> 00:33:29,060 Tani sa herë që ju shkruani një program, në qoftë se ju nuk e bëni 642 00:33:29,060 --> 00:33:33,720 nevojë për të marrë ndonjë komandë-line argumente, atëherë vetëm përdorni int kryesor (i pavlefshëm). 643 00:33:33,720 --> 00:33:37,070 Por tani kur ju jeni me shkrim Programet Argumenti command-line, të cilat 644 00:33:37,070 --> 00:33:40,350 ju jeni do të jetë bërë për problemin vendosur two-- kështu që tani që ju jeni duke 645 00:33:40,350 --> 00:33:42,630 programe që duhet të marrë argumente command-line, 646 00:33:42,630 --> 00:33:45,250 ju duhet të keni kryesor i kësaj forme. 647 00:33:45,250 --> 00:33:51,290 >> Pra here-- kjo është përdorimi i madh i argumentit command-line. 648 00:33:51,290 --> 00:33:54,100 Pra, shtypjen argv 1. 649 00:33:54,100 --> 00:33:59,180 OK kështu që le të hartojnë dhe të drejtuar këtë program. 650 00:33:59,180 --> 00:34:02,440 Bëni hello3. 651 00:34:02,440 --> 00:34:03,570 Harton. 652 00:34:03,570 --> 00:34:06,870 Dot çaj hello3. 653 00:34:06,870 --> 00:34:08,920 Dhe le të themi, "Rob." 654 00:34:08,920 --> 00:34:10,760 Përshëndetje Rob. 655 00:34:10,760 --> 00:34:14,940 Nëse unë them, "hello Maria," përshëndetje Maria. 656 00:34:14,940 --> 00:34:15,719 Përshëndetje Maria. 657 00:34:15,719 --> 00:34:18,639 Hannah ende thotë: "hello Maria ", sepse unë nuk jam 658 00:34:18,639 --> 00:34:21,340 bërë asgjë me argv tonë 2. 659 00:34:21,340 --> 00:34:22,590 Argv 2 tani do të jetë "Ana". 660 00:34:22,590 --> 00:34:25,030 Argc do të jetë 3. 661 00:34:25,030 --> 00:34:27,735 Çfarë ndodh nëse unë e bëri këtë? 662 00:34:27,735 --> 00:34:31,980 663 00:34:31,980 --> 00:34:34,679 Pra përshëndetje null. 664 00:34:34,679 --> 00:34:38,760 >> Ai preku shkurtimisht në faktin se, teknikisht, getString 665 00:34:38,760 --> 00:34:42,429 mund të kthehen null, por ne do të merrni një shumë më tepër në atë që null të vërtetë është. 666 00:34:42,429 --> 00:34:47,449 Por të marrë atë si një çështje e Fakti që nuk është përgjithësisht e keqe. 667 00:34:47,449 --> 00:34:50,179 Ne e bëmë diçka të gabuar nëse kjo është shtypje "hello null." 668 00:34:50,179 --> 00:34:52,179 Dhe arsyeja që ne e bëmë diçka të gabuar is-- mirë, 669 00:34:52,179 --> 00:34:56,179 kur unë u zhvillua dot hello3 slash, argc ishte 1. 670 00:34:56,179 --> 00:34:59,680 Kështu që do të thotë gjatësia e argv ishte 1. 671 00:34:59,680 --> 00:35:05,110 Në qoftë se një grup është i gjatësisë 1, vetëm indeksi i vlefshëm është zero. 672 00:35:05,110 --> 00:35:08,550 Dhe kështu që këtu argv 1 është jashtë varg i kësaj grup. 673 00:35:08,550 --> 00:35:13,410 Ajo ishte e ngjashme me para kur unë u përpoq për të ruajtur 6 jashtë fundin e vektorit. 674 00:35:13,410 --> 00:35:18,100 Kështu që unë jam duke u përpjekur për të hyrë në diçka jashtë nga akuza argv, 675 00:35:18,100 --> 00:35:21,340 dhe ne jemi duke marrë null. 676 00:35:21,340 --> 00:35:24,360 >> Pra, një version më të mirë të kjo, një përmirësim, 677 00:35:24,360 --> 00:35:27,010 është kontrolluar në mënyrë eksplicite argc. 678 00:35:27,010 --> 00:35:33,580 Pra, nëse argc barabartë 2, që do të thotë që ne u diçka si dot plagë hello3 Rob. 679 00:35:33,580 --> 00:35:36,840 Dhe ajo do të shtypura "hello Rob." 680 00:35:36,840 --> 00:35:39,850 Nëse argc nuk barabartë 2, atëherë ajo është vetëm duke shkuar 681 00:35:39,850 --> 00:35:42,560 për të injoruar çdo gjë që ju vënë në argumentin command-line 682 00:35:42,560 --> 00:35:43,960 si argumente command-line. 683 00:35:43,960 --> 00:35:47,168 Ose në qoftë se ju nuk e keni vënë ndonjë në të gjitha, kjo është vetëm do të injorojnë atë dhe vetëm thonë, 684 00:35:47,168 --> 00:35:47,960 "ckemi ti." 685 00:35:47,960 --> 00:35:51,490 >> Pra hartimin kjo. 686 00:35:51,490 --> 00:35:54,500 Bëni hello4. 687 00:35:54,500 --> 00:35:56,790 Dhe drejtimin hello4. 688 00:35:56,790 --> 00:36:00,010 Drejtimin në këtë mënyrë, çfarë duhet të jenë të shtypura? 689 00:36:00,010 --> 00:36:01,330 "Ckemi ti." 690 00:36:01,330 --> 00:36:02,810 Ckemi ti. 691 00:36:02,810 --> 00:36:05,870 Po në lidhje me hello4 Rob? 692 00:36:05,870 --> 00:36:06,950 "Përshëndetje Rob." 693 00:36:06,950 --> 00:36:10,580 Dhe së fundi, Përshëndetje Rob Maria është vetëm "hello Ti" përsëri, 694 00:36:10,580 --> 00:36:13,677 sepse ju nuk e keni të vërtetë të hyjë diçka që ajo pritej. 695 00:36:13,677 --> 00:36:15,510 Keni hyrë më shumë emra se ajo mund të trajtojë, 696 00:36:15,510 --> 00:36:19,500 kështu që vetëm dështuar për Hello ju sjellje. 697 00:36:19,500 --> 00:36:23,040 Pra pyetjet në këtë? 698 00:36:23,040 --> 00:36:26,290 Ose argumente command-line? 699 00:36:26,290 --> 00:36:28,690 >> OK, kështu që duke marrë një sy në një Shembuj çift shumë të përdorimit 700 00:36:28,690 --> 00:36:34,230 command-line argumente të parë ne kemi argv dash 1 dot c. 701 00:36:34,230 --> 00:36:38,510 Pra, komentet dhuroj çfarë ky program duhet të jetë bërë. 702 00:36:38,510 --> 00:36:42,460 Por vini re now-- këtë për lak, kjo përputhet me modelin e saktë 703 00:36:42,460 --> 00:36:43,390 Unë kam qenë duke thënë se më parë. 704 00:36:43,390 --> 00:36:46,240 Ne vetëm ndodh që të jetë duke përdorur argc në vend të n. 705 00:36:46,240 --> 00:36:48,880 Tani argc është me të vërtetë n. 706 00:36:48,880 --> 00:36:51,260 Kjo është gjatësia e vektorit argv. 707 00:36:51,260 --> 00:36:59,600 Pra, janë iterating mbi argv array printf-ing çdo vlerë argv. 708 00:36:59,600 --> 00:37:04,730 >> Pra, nëse unë bëj këtë. 709 00:37:04,730 --> 00:37:08,232 Bëni argv 1. 710 00:37:08,232 --> 00:37:09,940 Ajo harton. 711 00:37:09,940 --> 00:37:11,620 Dot çaj argv 1. 712 00:37:11,620 --> 00:37:15,530 Vetëm drejtimin e kësaj, ajo printime dot slash argv 1 713 00:37:15,530 --> 00:37:18,500 pasi që ishte e vetmja command-line argument-- emrin e programit. 714 00:37:18,500 --> 00:37:22,080 Nuk do të jetë gjithmonë në least-- argc nuk mund të jetë më pak se një, 715 00:37:22,080 --> 00:37:25,910 pasi që nuk do të gjithmonë të paktën të jetë emri program për të kandiduar. 716 00:37:25,910 --> 00:37:32,040 Pra argv 1 Rob do të shtypura argv 1 dhe pastaj në vijën e ri "Rob." 717 00:37:32,040 --> 00:37:36,350 >> Pra, në përsëritje të parë i këtij loop, unë është 0. 718 00:37:36,350 --> 00:37:39,090 Argv 0 është emri programit. 719 00:37:39,090 --> 00:37:40,010 Dot çaj argv 1. 720 00:37:40,010 --> 00:37:43,770 Dhe pastaj argv 1 eshte ime e parë command-line argument, i cili është Rob. 721 00:37:43,770 --> 00:37:45,920 Në këtë pikë, ne jemi të barabartë me argc. 722 00:37:45,920 --> 00:37:48,210 Ne të thyer nga lak dhe ne jemi duke bërë. 723 00:37:48,210 --> 00:37:53,940 Pra, kjo do të punojë për një arbitrar Numri i argumenteve command-line. 724 00:37:53,940 --> 00:37:58,550 Njoftim ajo printon argv 0, argv 1, argv 2, argv 3, argv 4. 725 00:37:58,550 --> 00:38:00,150 Dhe nuk ka asnjë argv 5. 726 00:38:00,150 --> 00:38:01,460 argc është e barabartë me 5. 727 00:38:01,460 --> 00:38:06,960 Pra, në argc-- në i barabartë me 5, ne pushim nga lak. 728 00:38:06,960 --> 00:38:07,950 NE RREGULL. 729 00:38:07,950 --> 00:38:11,315 Pra, pyetjet për atë para se të shikoni në një shembull më të ndërlikuar? 730 00:38:11,315 --> 00:38:14,190 731 00:38:14,190 --> 00:38:16,860 >> Pra argv 2. 732 00:38:16,860 --> 00:38:17,830 Në rregull. 733 00:38:17,830 --> 00:38:20,610 Pra, ne jemi ende shtypjen argumentet command-line. 734 00:38:20,610 --> 00:38:23,170 Por tani vini re ne kemi një mbivendosur për lak. 735 00:38:23,170 --> 00:38:24,670 Pra, çfarë është kjo duke bërë? 736 00:38:24,670 --> 00:38:28,430 Pra, lak i parë është duke bërë pikërisht atë që ajo bëri para. 737 00:38:28,430 --> 00:38:30,950 Ne jemi ende looping mbi çdo argumenti command-line, 738 00:38:30,950 --> 00:38:34,260 por tani kjo loop-- dytë ne kemi parë edhe diçka si kjo para. 739 00:38:34,260 --> 00:38:38,600 Kur u iterating mbi Zamyla shtypjen nga Z-A-M-y-L-A. 740 00:38:38,600 --> 00:38:44,816 Pra, ky lak i dytë për int j është e barabartë me 0, n barabartë strlen e kllapa argv i. 741 00:38:44,816 --> 00:38:49,170 >> Pra, le të mendojmë së pari për the-- le të ecin nëpër. 742 00:38:49,170 --> 00:38:53,560 Le të mendojmë se çfarë do kompjuteri bëj në qoftë se unë u zhvillua këtë program si vetëm dot 743 00:38:53,560 --> 00:38:56,030 çaj argv dash 2. 744 00:38:56,030 --> 00:39:03,590 Pra, nëse unë u zhvillua këtë kod, atëherë argc do të jenë të barabartë me 1. 745 00:39:03,590 --> 00:39:07,050 Dhe string argv-- ka vetëm do të jetë një indeksi në argv, 746 00:39:07,050 --> 00:39:12,370 dhe kjo do të jetë e barabartë me dot slash argv 2-- emrin e programit. 747 00:39:12,370 --> 00:39:19,170 >> OK, kështu që tani unë e barabartë me 0, unë më pak se 1, unë plus plus për int j është e barabartë me 0, 748 00:39:19,170 --> 00:39:23,880 n barabartë strlen e argv kllapa 0, kështu që në përsëritje e parë të këtij loop. argv 749 00:39:23,880 --> 00:39:27,250 kllapa 0 është dot plagë argv 2. 750 00:39:27,250 --> 00:39:29,320 Pra, çfarë është gjatësia e atë varg? 751 00:39:29,320 --> 00:39:32,480 E pra, dot çaj A-R-G-V dash 2. 752 00:39:32,480 --> 00:39:35,020 Kështu strlen e që do të jetë 8. 753 00:39:35,020 --> 00:39:37,500 Pra, j është e barabartë me 0, n është e barabartë me 8. 754 00:39:37,500 --> 00:39:39,530 Për sa kohë që j është më pak se 8, ++ j. 755 00:39:39,530 --> 00:39:44,080 Dhe me që ne jemi duke shkuar për jetë shtypjen e një karakter të vetëm, i cili 756 00:39:44,080 --> 00:39:47,350 është argv parantezë unë kllapa j. 757 00:39:47,350 --> 00:39:49,826 >> Pra, vetëm unë është zero. 758 00:39:49,826 --> 00:39:51,700 Ne ende vetëm të ketë një command-line argumenti. 759 00:39:51,700 --> 00:39:53,890 Në këtë përsëritje e parë e për lak, ne jemi 760 00:39:53,890 --> 00:39:56,950 do të jetë shtypje argv kllapa 0 kllapa 0. 761 00:39:56,950 --> 00:39:58,325 Dhe pastaj j do të ardhura. 762 00:39:58,325 --> 00:40:01,650 Dhe ne jemi duke shkuar për printim argv kllapa 0 kllapa 1. 763 00:40:01,650 --> 00:40:04,150 Dhe pastaj argv kllapa 0 kllapa 2. 764 00:40:04,150 --> 00:40:09,030 >> Pra, ky është takimi ynë i parë e vargjeve multi-dimensionale. 765 00:40:09,030 --> 00:40:12,770 Mos harroni se më herët kam thënë që argv është teknikisht 766 00:40:12,770 --> 00:40:15,950 një grup i vargjeve të karaktereve. 767 00:40:15,950 --> 00:40:24,360 Kështu që këtu, nëse kam thënë diçka si string s barabartë kllapa argv I, 768 00:40:24,360 --> 00:40:29,590 dhe pastaj thashë, s kllapa j, kjo do të realizimit të njëjtën gjë. 769 00:40:29,590 --> 00:40:31,960 Tani, ju keni parë s kllapa j para. 770 00:40:31,960 --> 00:40:36,680 Kjo është vetëm të hapur j-th Karakteri i këtij vargut. 771 00:40:36,680 --> 00:40:48,010 Pra me këtë, ne jemi duke marrë j-th karakter i argv i-të. 772 00:40:48,010 --> 00:40:51,450 >> Pra, çfarë duhet kjo në fund të fundit të prodhimit? 773 00:40:51,450 --> 00:40:53,210 Bëni argv 2. 774 00:40:53,210 --> 00:40:54,730 Ajo harton. 775 00:40:54,730 --> 00:40:56,340 Dot çaj argv 2. 776 00:40:56,340 --> 00:41:03,790 "Rob Maria Ana," dhe na jepni disa dhoma. 777 00:41:03,790 --> 00:41:07,050 Pra, ne shohim se kjo është kompjuteri dot në linjën e vet dhe çaj 778 00:41:07,050 --> 00:41:08,920 në linjën e vet dhe një në linjën e vet. 779 00:41:08,920 --> 00:41:11,260 Është shtypje nga çdo karakter individual 780 00:41:11,260 --> 00:41:12,950 e secilit argument command-line. 781 00:41:12,950 --> 00:41:15,960 Dhe pastaj në mes tyre, për shkak të kësaj linje të re 782 00:41:15,960 --> 00:41:19,380 ne jemi shtypjen këtu poshtë, në mes tyre ajo do të shtypura një linjë të re. 783 00:41:19,380 --> 00:41:24,540 >> Pra, kjo është e ngjashme me është prezantuar paraprakisht dash argv 1, 784 00:41:24,540 --> 00:41:26,459 që shtypen çdo command-line argumenti, 785 00:41:26,459 --> 00:41:28,500 por tani ne jemi shtypjen argumente komanda-line 786 00:41:28,500 --> 00:41:31,950 dhe pastaj iterating përmes çdo Karakteri i secilit argument command-line 787 00:41:31,950 --> 00:41:35,400 për të marrë këtë prodhim. 788 00:41:35,400 --> 00:41:36,870 NE RREGULL? 789 00:41:36,870 --> 00:41:40,570 Pra pyetjet në këtë? 790 00:41:40,570 --> 00:41:45,130 >> Një gjë të theksohet është se command-line argumente të 791 00:41:45,130 --> 00:41:49,990 në mënyrë që ata janë të ndara nga hapësira si ju do të presin të natyrshme që ata të jenë. 792 00:41:49,990 --> 00:41:53,050 Pra, një varg mund të ketë hapësira në të. 793 00:41:53,050 --> 00:41:57,380 Kjo nuk është super i rëndësishëm, por në qoftë se unë donte argumentin e tretë command-line 794 00:41:57,380 --> 00:42:01,226 të ketë një hapësirë ​​në të, atëherë unë mund të thotë diçka si kjo. 795 00:42:01,226 --> 00:42:04,470 796 00:42:04,470 --> 00:42:05,550 NE RREGULL? 797 00:42:05,550 --> 00:42:12,190 Pra, kjo tani ka ende vetëm tre command-line argumente të mirë 4. 798 00:42:12,190 --> 00:42:17,620 Dot çaj argv dash 2, Rob, Maria, dhe Hannah Bloomberg. 799 00:42:17,620 --> 00:42:18,320 NE RREGULL. 800 00:42:18,320 --> 00:42:19,310 Pyetje për këtë? 801 00:42:19,310 --> 00:42:22,700 802 00:42:22,700 --> 00:42:24,894 >> Nuk ka asgjë të veçantë rreth karakterit hapësirë. 803 00:42:24,894 --> 00:42:27,810 Ajo vetëm ndodh të jetë që command-line trajton karakterin hapësirë 804 00:42:27,810 --> 00:42:29,226 se si ju ndarë çdo argument. 805 00:42:29,226 --> 00:42:32,048 806 00:42:32,048 --> 00:42:33,000 Në rregull. 807 00:42:33,000 --> 00:42:39,950 Pra, atëherë set Problem two-- ju jeni do të jetë 808 00:42:39,950 --> 00:42:43,240 duke kërkuar në kriptografi sekret-kyç. 809 00:42:43,240 --> 00:42:47,700 Pra, të ngjashme me atë shembull ne pamë nga një histori e Krishtlindjeve, 810 00:42:47,700 --> 00:42:52,840 ju do të jeni të zbatimit të disa algoritme që, dhënë një mesazh, 811 00:42:52,840 --> 00:42:55,560 ju jeni do të jetë në gjendje të encrypt këtë mesazh 812 00:42:55,560 --> 00:42:58,730 që dikush vetëm me atë sekret kyç, me atë unazë decoder, 813 00:42:58,730 --> 00:43:01,090 duhet të jenë në gjendje të decrypt. 814 00:43:01,090 --> 00:43:04,839 >> Kështu që është edicioni standardi. 815 00:43:04,839 --> 00:43:07,130 Ju do të jeni të zbatimit dy versione të ndryshme. 816 00:43:07,130 --> 00:43:09,620 Nëse ju ndodh që të marrë një sy në hacker edition-- tani, 817 00:43:09,620 --> 00:43:12,600 ne jemi duke shkuar për të dhënë ju një varg si kjo, 818 00:43:12,600 --> 00:43:15,240 që paraqet një fjalëkalim të koduar. 819 00:43:15,240 --> 00:43:19,990 Pra, qëllimi juaj është që të kuptoj se çfarë fjalëkalimin decrypted është. 820 00:43:19,990 --> 00:43:26,950 Tani kjo është në fakt se si fjalëkalimet janë të ruajtura në një shumë të kompjuterëve, 821 00:43:26,950 --> 00:43:31,290 dhe vetëm ajo ruan këtë varg të rastit i karaktereve. 822 00:43:31,290 --> 00:43:34,440 Ju duhet të kuptoj se si për të marrë nga ky varg të rastit të karaktereve 823 00:43:34,440 --> 00:43:36,140 për çfarë fjalëkalimin fillestar ishte. 824 00:43:36,140 --> 00:43:39,060 825 00:43:39,060 --> 00:43:43,290 >> Dhe së fundi, pas kësaj set problem, ju duhet 826 00:43:43,290 --> 00:43:46,100 të jetë në gjendje për të kuptuar se çfarë do të thotë kjo. 827 00:43:46,100 --> 00:43:51,650 Pra, ju do të mësojnë se si për të decrypt ky lloj i vargut të rastit. 828 00:43:51,650 --> 00:43:56,390 Në mënyrë të ngjashme, në qoftë se ju kujtohet nga javë 0, ju mund të keni parë këtë URL. 829 00:43:56,390 --> 00:44:00,210 Dhe ju duhet të jetë në gjendje të decrypt kjo përfundimisht. 830 00:44:00,210 --> 00:44:04,810 Ju nuk mund të jetë i lumtur kur ju decrypt atë dhe kliko mbi link. 831 00:44:04,810 --> 00:44:05,700 Në rregull. 832 00:44:05,700 --> 00:44:06,591 Kjo është ajo për sot. 833 00:44:06,591 --> 00:44:12,095 Pra, shihemi javën e ardhshme! 834 00:44:12,095 --> 00:44:18,315 >> [Duke luajtur elektronike Muzikë] 835 00:44:18,315 --> 00:47:15,619