1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> Gjuha: OK, kështu, ju nuk do të besojnë atë, por javën e kaluar, të hënën, në Pierce, unë 3 00:00:15,180 --> 00:00:16,090 ishte poshtë në bodrum. 4 00:00:16,090 --> 00:00:17,010 Unë kurrë nuk shkojnë në Pierce. 5 00:00:17,010 --> 00:00:20,530 Dhe unë kurrë nuk jam duke shkuar prapa përsëri, sepse I lënë bagazhin tim vetëm për të, 6 00:00:20,530 --> 00:00:23,950 si, pesë minuta dhe dikush vodhi kompjuterin tim dhe my 7 00:00:23,950 --> 00:00:26,050 e telefonit nga shpinës sime. 8 00:00:26,050 --> 00:00:28,780 Që do të thotë që kam marrë atë, dhe atëherë më pak se një javë më vonë 9 00:00:28,780 --> 00:00:30,220 ajo u vjedhur përsëri. 10 00:00:30,220 --> 00:00:31,570 >> Dhe pastaj ajo u kthye në - 11 00:00:31,570 --> 00:00:34,540 Gjej iPhone ime vazhdon të jetë e padobishme. 12 00:00:34,540 --> 00:00:37,340 Kështu që unë të vazhdojë të inkurajojë ju të mos e përdorin atë. 13 00:00:37,340 --> 00:00:42,270 Ajo u kthye në një herë, dhe ajo ishte në MIT, si 15 minuta më vonë, dhe personi i 14 00:00:42,270 --> 00:00:45,770 quajtur këtë numrin e telefonit që tregoi deri në AT & T log tim telefonatave. 15 00:00:45,770 --> 00:00:48,830 >> Kështu që unë shkova në internet, të quajtur që telefoni numrin, dhe ai shkoi drejt e në këtë 16 00:00:48,830 --> 00:00:50,540 duke u përgjigjur makinë në spanjisht. 17 00:00:50,540 --> 00:00:52,520 Dhe unë nuk kam dëgjuar për të që nga viti. 18 00:00:52,520 --> 00:00:54,800 Kështu që unë kam për të marrë një të re kompjuter dhe telefon. 19 00:00:54,800 --> 00:00:55,150 Unë e di. 20 00:00:55,150 --> 00:00:56,326 Po. 21 00:00:56,326 --> 00:01:00,110 Por në qoftë se ju djema duan të chip në për të tim Fondi kompjuter pas kësaj, kjo është arsyeja pse 22 00:01:00,110 --> 00:01:01,030 Unë e kam pyetur ju këtu. 23 00:01:01,030 --> 00:01:02,280 Just kidding. 24 00:01:02,280 --> 00:01:04,239 25 00:01:04,239 --> 00:01:07,420 Por kjo ishte me të vërtetë e trishtuar dhe traumatike. 26 00:01:07,420 --> 00:01:10,700 >> Por kjo është e gjitha mbrapa tani, dhe kjo ishte arsyeja pse p-vendosur 8 desh kaq shumë kohë, sepse 27 00:01:10,700 --> 00:01:12,480 Unë nuk kanë një kompjuter. 28 00:01:12,480 --> 00:01:13,730 Dhe dikush vodhi atë. 29 00:01:13,730 --> 00:01:16,940 Dhe unë me email, duke i kërkuar në qoftë se ata do klasën p-8 vendosur tuaj. 30 00:01:16,940 --> 00:01:18,790 Por ata thanë jo. 31 00:01:18,790 --> 00:01:20,000 Dhe unë kam qenë si, mund të ketë kompjuterin tim prapa? 32 00:01:20,000 --> 00:01:21,270 Dhe ata janë si, nr. 33 00:01:21,270 --> 00:01:22,130 Just kidding. 34 00:01:22,130 --> 00:01:22,930 >> OK. 35 00:01:22,930 --> 00:01:28,140 Ky është seksioni ynë përfundimtar, dhe unë kam disa - ne vetëm kemi tre 36 00:01:28,140 --> 00:01:29,790 gjërat në rendin e ditës. 37 00:01:29,790 --> 00:01:31,330 Ne do të flasim pak në lidhje me udhëzues Q. 38 00:01:31,330 --> 00:01:33,900 Pastaj ne jemi duke shkuar për të shpenzuar 15 minuta në një demo të ftohtë. 39 00:01:33,900 --> 00:01:36,890 Pastaj ne do të të gjithë të thënë lamtumirë njëri tjetrin. 40 00:01:36,890 --> 00:01:41,460 Ju nuk duhet të vërtetë kompjuterat tuaj ose një stilolaps ose letër për të marrë shënime, ose 41 00:01:41,460 --> 00:01:42,410 ndjekin së bashku. 42 00:01:42,410 --> 00:01:45,620 Kështu që unë të marrë në qoftë se ju keni kompjuterin tuaj up, atëherë ju jeni në Facebook. 43 00:01:45,620 --> 00:01:46,530 Vetëm duke thënë. 44 00:01:46,530 --> 00:01:49,650 Përjashtim të rastit kur ju jeni plotësimin e Q guide, i cili është i pari. 45 00:01:49,650 --> 00:01:50,690 >> Udhëzues Q është e hapur. 46 00:01:50,690 --> 00:01:53,520 Ju keni pasur një email në lidhje me të. 47 00:01:53,520 --> 00:01:56,930 Pasi të gjitha stuff Q është dorëzuar në fund të vitit, unë të marrë të gjitha 48 00:01:56,930 --> 00:02:03,710 Q komente në rezultatet nga të gjithë që zgjedh për të më japë reagime. 49 00:02:03,710 --> 00:02:04,810 Dhe kështu që kur ju shkoni në Q - 50 00:02:04,810 --> 00:02:07,440 Unë nuk e di nëse ju mund ta bëni këtë, Jeff, sepse ju jeni dhe studenti extension. 51 00:02:07,440 --> 00:02:12,730 Por kur ju shkoni në Q, në qoftë se ju nuk e keni bërë atë më parë, ju të vini tuaj 52 00:02:12,730 --> 00:02:14,020 mësues, i cili është David Malan. 53 00:02:14,020 --> 00:02:14,970 Ju duhet të bëni atë. 54 00:02:14,970 --> 00:02:15,690 >> Dhe pastaj ju mund të vini TFS. 55 00:02:15,690 --> 00:02:17,750 Dhe ju mund të vini sa më shumë NGP e te. 56 00:02:17,750 --> 00:02:18,990 Por ka 60 prej nesh. 57 00:02:18,990 --> 00:02:20,350 Ju nuk keni për të marr të gjithë. 58 00:02:20,350 --> 00:02:23,090 Ju vetëm mund të vini me mua, ose vetëm të vini një çift ​​njerëz të tjerë, në qoftë se ju dëshironi, për të 59 00:02:23,090 --> 00:02:24,470 për t'u dhënë atyre reagime si. 60 00:02:24,470 --> 00:02:27,595 Dhe pastaj ju merrni rezultatet në të gjitha këto akset e ndryshme, dhe pastaj ju mund të lënë 61 00:02:27,595 --> 00:02:28,570 ato reagime. 62 00:02:28,570 --> 00:02:31,520 >> Dhe pastaj, si një muaj më vonë, Unë do të merrni tërë atë reagime. 63 00:02:31,520 --> 00:02:34,570 Dhe ashtu si të reagime ju keni qenë duke i dhënë mua gjatë gjithë semestrit, unë 64 00:02:34,570 --> 00:02:35,790 lexoni të gjithë se. 65 00:02:35,790 --> 00:02:39,620 Dhe kjo është me të vërtetë e dobishme, dhe kjo ndihmon të rritem si mësues dhe si një 66 00:02:39,620 --> 00:02:40,680 individuale. 67 00:02:40,680 --> 00:02:43,360 Pra, ju lutem, të marrë disa kohë për të bërë atë. 68 00:02:43,360 --> 00:02:45,020 Ne jemi vetëm do të jetë këtu për, si, 30 minuta. 69 00:02:45,020 --> 00:02:48,090 Pra, nëse ju doni, në fund të kësaj, për të të marrë pesë minuta, dhe vetëm të plotësoni 70 00:02:48,090 --> 00:02:49,960 Q, sepse ajo nuk ka marrë asnjë më shumë kohë se kaq. 71 00:02:49,960 --> 00:02:53,410 Kjo do të ishte e mrekullueshme, dhe ju gjithashtu marrë nota tuaj të kthehet më shpejt nëse 72 00:02:53,410 --> 00:02:54,620 ju plotësoni Q. 73 00:02:54,620 --> 00:02:56,580 >> Pra, shumica prej jush e kanë bërë këtë më parë - 74 00:02:56,580 --> 00:02:58,240 apo jo, rreth gjysma nga ju kanë bërë që më parë. 75 00:02:58,240 --> 00:03:00,060 Por nëse ju jeni një fillestar, kjo është ajo që është. 76 00:03:00,060 --> 00:03:01,910 Ajo do të jetë e njëjtë për të gjitha klasat. 77 00:03:01,910 --> 00:03:02,270 A atë. 78 00:03:02,270 --> 00:03:02,900 Ajo merr pesë minuta. 79 00:03:02,900 --> 00:03:07,610 Por gjithashtu, në qoftë se ju bëni atë pak seriozisht, kjo nuk është gjëja më e keqe 80 00:03:07,610 --> 00:03:10,270 në botë, sepse unë me siguri marrë atë seriozisht. 81 00:03:10,270 --> 00:03:13,000 >> Pra, nëse ju më lini një fytyrë smiley, Unë do të vlerësojmë se. 82 00:03:13,000 --> 00:03:17,550 Por unë do të vlerësoj nëse ju më la më shumë se një fytyrë smiley. 83 00:03:17,550 --> 00:03:18,270 Por është deri te ju. 84 00:03:18,270 --> 00:03:21,540 Unë nuk mund t'ju them - apo si një smiley madh përballen, me një kapital D. Kjo do të 85 00:03:21,540 --> 00:03:23,060 të jetë edhe më mirë. 86 00:03:23,060 --> 00:03:27,860 >> OK, kjo është e gjitha që duhet për Q. Nëse ju keni ndonjë pyetje, ju mund të kërkoni 87 00:03:27,860 --> 00:03:29,370 mua, por vetë-shpjegues goxha. 88 00:03:29,370 --> 00:03:31,090 Vetëm, ju lutem, plotësoni atë. 89 00:03:31,090 --> 00:03:34,390 Unë do të really appreciate it, dhe kjo do të thotë shumë për mua. 90 00:03:34,390 --> 00:03:38,910 >> OK, kjo është ajo që ne jemi duke shkuar për të shpenzuar 15 minuta duke kaluar. 91 00:03:38,910 --> 00:03:39,800 Unë do të ju tregojë disa kod. 92 00:03:39,800 --> 00:03:42,080 Unë mendoj se kjo është me të vërtetë e ftohtë, dhe kjo mori mua më shumë 93 00:03:42,080 --> 00:03:43,810 ngacmuar në shkenca kompjuterike. 94 00:03:43,810 --> 00:03:46,480 Kështu që unë shpresoj se do të bëjë njëjtën gjë për ju të gjithë. 95 00:03:46,480 --> 00:03:51,760 >> Ne jemi duke shkuar për të hapur - dhe e gjithë kjo Kodi Unë do të dërgoj tek ju më vonë. 96 00:03:51,760 --> 00:03:52,680 Por ne jemi vetëm do të hapur - 97 00:03:52,680 --> 00:03:54,310 Unë jam në terminal time - 98 00:03:54,310 --> 00:03:56,810 ne jemi duke shkuar për të hapur këtë program quajtur [? MySum. ?] 99 00:03:56,810 --> 00:04:01,290 100 00:04:01,290 --> 00:04:02,540 >> A mund të lexoni të gjithë se, ose të duhet ta bëjë atë më të mëdha? 101 00:04:02,540 --> 00:04:07,670 102 00:04:07,670 --> 00:04:13,040 Dikush mund të më tregoni se çfarë ky kod do të bëni kur kam drejtuar atë, ose atë që kjo 103 00:04:13,040 --> 00:04:14,320 Programi do të bëjë kur kam drejtuar atë? 104 00:04:14,320 --> 00:04:30,710 105 00:04:30,710 --> 00:04:32,400 >> [? Avi,?] Çfarë mendoni ju ajo do të bëjë? 106 00:04:32,400 --> 00:04:33,335 Përtypet Finish. 107 00:04:33,335 --> 00:04:35,033 Ju nuk duhet të flisni me gojën hapur. 108 00:04:35,033 --> 00:04:38,330 109 00:04:38,330 --> 00:04:42,860 >> Audienca: A është marrë një bandë e argumente, të gjeni shumë prej tyre kthehen 110 00:04:42,860 --> 00:04:45,285 Shuma, dhe pastaj të shtypura it out? 111 00:04:45,285 --> 00:04:53,045 Ose ajo merr në dy argumente, dhe atëherë ajo nuk [e padëgjueshme]. 112 00:04:53,045 --> 00:04:56,460 Dhe pastaj ajo kopje nga çfarëdo rezultatet janë. 113 00:04:56,460 --> 00:04:58,100 >> Gjuha: Mbylle, me të vërtetë afër. 114 00:04:58,100 --> 00:04:59,840 Çdokush duan për të shtuar në [? çfarë Avi?] tha? 115 00:04:59,840 --> 00:05:04,830 116 00:05:04,830 --> 00:05:07,293 A keni nevojë për të dhënë këtë program ndonjë argument command-line? 117 00:05:07,293 --> 00:05:09,145 >> Audienca: Jo. 118 00:05:09,145 --> 00:05:09,610 >> Gjuha: Jo. 119 00:05:09,610 --> 00:05:11,250 Çfarë ndodh nëse ju nuk e jepni ndonjë argument command-line? 120 00:05:11,250 --> 00:05:12,500 Unë vetëm shkruaj dot MySum çaj. 121 00:05:12,500 --> 00:05:15,145 122 00:05:15,145 --> 00:05:16,630 >> Audienca: 1 plus 2 është e barabartë me 3. 123 00:05:16,630 --> 00:05:17,250 >> Gjuha: 1 plus 2 është e barabartë me 3. 124 00:05:17,250 --> 00:05:18,570 Dhe ajo do të shtypura atë jashtë. 125 00:05:18,570 --> 00:05:19,450 Kjo është saktësisht e drejtë. 126 00:05:19,450 --> 00:05:21,370 Ju do të shihni se të shtypura f Linja në fund. 127 00:05:21,370 --> 00:05:23,450 Ajo do të shtypura nga a, b, dhe atëherë shuma e a dhe b. 128 00:05:23,450 --> 00:05:26,360 Dhe unë mendoj që supozojmë se Shuma punon si duhet. 129 00:05:26,360 --> 00:05:28,120 Supozim i mirë. 130 00:05:28,120 --> 00:05:32,250 >> OK, dhe çfarë ndodh në qoftë se unë dhënë atë çfarë argumenti? 131 00:05:32,250 --> 00:05:33,010 [? Manu? ?] 132 00:05:33,010 --> 00:05:36,230 >> Audienca: Ajo do të shtoni çdo gjë argumenti i parë është që të b. 133 00:05:36,230 --> 00:05:37,150 Ose në 2, sorry. 134 00:05:37,150 --> 00:05:38,480 >> Gjuha: E drejta, në 2. 135 00:05:38,480 --> 00:05:42,470 A e dini se çfarë strtol bën? 136 00:05:42,470 --> 00:05:43,960 Është në thelb atoi. 137 00:05:43,960 --> 00:05:47,240 Atoi është në fakt një version të dashuroj - 138 00:05:47,240 --> 00:05:49,600 ose një version më të thjeshtë të strtol. 139 00:05:49,600 --> 00:05:51,790 Por ai në fakt përdor strtol. 140 00:05:51,790 --> 00:05:54,610 141 00:05:54,610 --> 00:05:58,010 Dhe kam gjetur se nga, sepse kam kërkuar diçka si atoi, dhe pastaj kur unë 142 00:05:58,010 --> 00:06:01,110 ka atoi, kam lexuar këtu poshtë. 143 00:06:01,110 --> 00:06:04,380 Dhe kam gjetur "këtë sjellje është e njëjtë si "strtol. 144 00:06:04,380 --> 00:06:06,850 Pra, kjo është në thelb për atoi gjitha qëllimet dhe synimet. 145 00:06:06,850 --> 00:06:09,320 Dhe ju shihni unë të përdorni edhe e pavlefshme dhe 10. 146 00:06:09,320 --> 00:06:14,390 >> Kjo në të vërtetë ju lejon të marrin një varg, dhe kthyer atë në një numër, dhe të zgjedhin 147 00:06:14,390 --> 00:06:15,970 atë bazë që ju doni të bëni atë in 148 00:06:15,970 --> 00:06:17,370 Pra, kjo është bazë 10 drejtë këtu. 149 00:06:17,370 --> 00:06:20,455 Unë mund të ketë bërë bazë e dy për decimal, bazë 16 për heksadecimal. 150 00:06:20,455 --> 00:06:22,090 Është shumë i ftohtë. 151 00:06:22,090 --> 00:06:25,860 Por histori të gjatë të shkurtër, kjo merr dy numrat dhe shton ato së bashku. 152 00:06:25,860 --> 00:06:29,260 >> Pra, le të drejtuar atë. 153 00:06:29,260 --> 00:06:32,560 Dhe ju do të vëreni, aty janë disa gjëra - 154 00:06:32,560 --> 00:06:37,830 kështu që unë kam një Makefile të drejtë këtu, dhe në qoftë se ju të hapur atë deri, disa gjëra 155 00:06:37,830 --> 00:06:39,270 ju do të vini re janë të ndryshme. 156 00:06:39,270 --> 00:06:42,370 Në veçanti, ky argument të drejtë këtu, ju ndoshta 157 00:06:42,370 --> 00:06:43,010 nuk e kanë parë se më parë. 158 00:06:43,010 --> 00:06:45,770 Në përgjithësi, ne përpilojnë gjëra me dash zero, zero. 159 00:06:45,770 --> 00:06:51,500 Dash zero, zero, do të thotë që nuk e bëjmë çdo optimizations, përpilues. 160 00:06:51,500 --> 00:06:54,950 A nuk të përpiqet dhe të bëjë çdo gjë dashuroj, ose të bëjë asgjë të drejtuar më shpejt, ose të merrni 161 00:06:54,950 --> 00:06:56,530 shpëtoj të variablave që janë të nevojshme. 162 00:06:56,530 --> 00:06:58,080 A nuk e zgjedh këtë kod në të gjitha, 163 00:06:58,080 --> 00:07:00,110 >> Unë jam duke kërkuar për të nivelit të tretë optimization. 164 00:07:00,110 --> 00:07:02,580 Kështu që unë jam duke kërkuar për të bërë compiler shumë optimizations. 165 00:07:02,580 --> 00:07:05,870 Ju mund të ndryshojë atë në makefile kur ju e keni këtë kod, në qoftë se ju doni 166 00:07:05,870 --> 00:07:07,190 për të parë gjëra të ndryshme. 167 00:07:07,190 --> 00:07:08,660 Të cilat ne do të tregojnë në një të dytë. 168 00:07:08,660 --> 00:07:12,080 Pra, ne të drejtuar shumën time 1 plus 2 plus 3. 169 00:07:12,080 --> 00:07:13,445 Dikush më jep dy argumente. 170 00:07:13,445 --> 00:07:17,221 171 00:07:17,221 --> 00:07:18,210 >> Audienca: 4 dhe 5. 172 00:07:18,210 --> 00:07:18,966 >> Gjuha: 4 dhe 5. 173 00:07:18,966 --> 00:07:19,900 Falemnderit. 174 00:07:19,900 --> 00:07:20,860 Great, ajo punon. 175 00:07:20,860 --> 00:07:25,700 Cilat janë disa argumente të tjera të mira në përpjekje, për të siguruar që kjo funksionon? 176 00:07:25,700 --> 00:07:27,050 Çdokush? 177 00:07:27,050 --> 00:07:27,430 >> Audienca: 0. 178 00:07:27,430 --> 00:07:29,210 >> Gjuha: 0 dhe? 179 00:07:29,210 --> 00:07:31,010 >> Audienca: Negativ 3. 180 00:07:31,010 --> 00:07:32,040 >> Gjuha: Ajo punon. 181 00:07:32,040 --> 00:07:33,670 Por ato ishin zgjedhje të mirë. 182 00:07:33,670 --> 00:07:36,600 OK, kështu që le të kthehemi këtu. 183 00:07:36,600 --> 00:07:38,540 Kjo është mysum.c. 184 00:07:38,540 --> 00:07:42,440 Ju do të vëreni se ka edhe diçka quajtur sumfunction.c. 185 00:07:42,440 --> 00:07:48,110 Dhe kjo thotë, oh, ka diçka përkufizuar në sumfunction.c. 186 00:07:48,110 --> 00:07:51,480 Unë nuk e përfshijnë këtë fotografi në këtu sepse unë nuk kam nevojë për të. 187 00:07:51,480 --> 00:07:54,840 Por unë e lidhin atë në kur unë përpilojnë, cilën keni vënë re. 188 00:07:54,840 --> 00:07:57,380 >> Le të shkoni lart. 189 00:07:57,380 --> 00:08:02,880 Ne pamë kur kemi përpiluar mysum, të drejtën e atje, ne i lidhur në binar nga 190 00:08:02,880 --> 00:08:04,130 sumfunction.o. 191 00:08:04,130 --> 00:08:05,780 192 00:08:05,780 --> 00:08:08,470 Dhe unë nuk kam nevojë header fotografi sepse, natyrisht, nuk ka 193 00:08:08,470 --> 00:08:09,240 deklaratë funksion. 194 00:08:09,240 --> 00:08:12,200 Pra mprehtë përfshijnë normalisht vetëm vë në një deklaratë funksion. 195 00:08:12,200 --> 00:08:13,730 Këtu unë e kam vetëm vënë atë drejt në kodin. 196 00:08:13,730 --> 00:08:16,370 Dhe kështu që unë duhet të bëni është lidhja në binar, që unë bëj. 197 00:08:16,370 --> 00:08:19,950 >> Çdo supozime për atë që është e në sumfunction.c? 198 00:08:19,950 --> 00:08:21,950 Çfarë Kodi Unë kam shkruar në sumfunction.c? 199 00:08:21,950 --> 00:08:25,445 200 00:08:25,445 --> 00:08:26,695 >> Audienca: [padëgjueshme]. 201 00:08:26,695 --> 00:08:29,460 202 00:08:29,460 --> 00:08:30,630 >> Gjuha: Çdo supozime? 203 00:08:30,630 --> 00:08:30,940 Po? 204 00:08:30,940 --> 00:08:33,710 >> Audienca: Unë mendoj, përcakton disa [padëgjueshme]. 205 00:08:33,710 --> 00:08:33,975 >> Gjuha: Po. 206 00:08:33,975 --> 00:08:37,650 Kështu që unë shkruaj shumë int int a. 207 00:08:37,650 --> 00:08:41,120 Unë shkruaj këtë linjë, dhe pastaj unë kam hapur mbajtëse kaçurrel, mbyllur mbajtëse kaçurrel. 208 00:08:41,120 --> 00:08:46,160 Çfarë mendoni se unë shkruaj brenda atyre formatimin e teksteve kaçurrel, brenda atë funksion? 209 00:08:46,160 --> 00:08:46,600 Po? 210 00:08:46,600 --> 00:08:48,150 >> Audienca: Kthimi është e barabartë me një. 211 00:08:48,150 --> 00:08:50,010 >> Processor: Kjo është një mend të vërtetë të mirë. 212 00:08:50,010 --> 00:08:51,720 Kush mendon [? Manu?] Është e drejtë? 213 00:08:51,720 --> 00:08:54,122 Ajo thotë se të kthehen një plus b. 214 00:08:54,122 --> 00:08:55,860 OK, jo të gjithë. 215 00:08:55,860 --> 00:08:56,520 [? Akshar,?] 216 00:08:56,520 --> 00:08:57,390 ju bëni, too? 217 00:08:57,390 --> 00:09:00,430 A jeni i sigurt? 218 00:09:00,430 --> 00:09:01,680 OK. 219 00:09:01,680 --> 00:09:09,551 220 00:09:09,551 --> 00:09:10,050 Çfarë? 221 00:09:10,050 --> 00:09:11,662 >> Audienca: Ju dha atë gabim. 222 00:09:11,662 --> 00:09:13,000 >> Gjuha: Jo, nuk e kam. 223 00:09:13,000 --> 00:09:13,966 Yeah, just kidding. 224 00:09:13,966 --> 00:09:15,300 Ju jeni të drejtë. 225 00:09:15,300 --> 00:09:15,930 Kjo është pikërisht ajo që ai thotë. 226 00:09:15,930 --> 00:09:17,110 Është kthyer një plus b. 227 00:09:17,110 --> 00:09:18,570 Kjo e bën shumë kuptim. 228 00:09:18,570 --> 00:09:20,240 >> OK, le të kthehemi këtu. 229 00:09:20,240 --> 00:09:21,490 Ne e shohim se si header - 230 00:09:21,490 --> 00:09:24,540 231 00:09:24,540 --> 00:09:25,660 kjo është lloj kthimi. 232 00:09:25,660 --> 00:09:29,100 Mos harroni, ne kemi parë atë ditë një të tillë, llojin e funksionit të kthehen, por shkon 233 00:09:29,100 --> 00:09:30,160 para emrit të funksionit int. 234 00:09:30,160 --> 00:09:31,560 Ja, unë kam shkruar int. 235 00:09:31,560 --> 00:09:35,680 Çfarë mendoni se do të ndodhë në qoftë se në këtë funksion, unë nuk shkruaj int, por 236 00:09:35,680 --> 00:09:38,270 Unë shkruaj panënshkruar? 237 00:09:38,270 --> 00:09:41,050 Dallimi, sigurisht, duke qenë se unsigned përfaqëson vetëm pozitiv 238 00:09:41,050 --> 00:09:43,620 integers, dhe int mund të jetë pozitive ose negative. 239 00:09:43,620 --> 00:09:45,450 >> Kështu që unë kam ndryshuar e kthimit Lloji i këtij funksioni. 240 00:09:45,450 --> 00:09:49,370 Ky kod nuk përputhet ky kthim shkruani këtu. 241 00:09:49,370 --> 00:09:50,925 Çfarë mendoni se do të ndodhë kur unë përpilojnë? 242 00:09:50,925 --> 00:09:53,840 243 00:09:53,840 --> 00:09:56,240 Ju duhet të bërtas në mua. 244 00:09:56,240 --> 00:09:57,700 Nuk ka yelling. 245 00:09:57,700 --> 00:10:00,050 >> Po në lidhje me kur kam drejtuar programin? 246 00:10:00,050 --> 00:10:05,810 Le të bëjmë para se të 0 negativ 3, ose negative 1. 247 00:10:05,810 --> 00:10:10,180 Ai ende punon, edhe pse unë jam duke thënë ajo është kthyer një numër të plotë unsigned. 248 00:10:10,180 --> 00:10:12,060 Është e qartë se kjo nuk është kthyer një integer unsigned. 249 00:10:12,060 --> 00:10:13,520 Është kthyer një numër të plotë të nënshkruar. 250 00:10:13,520 --> 00:10:16,130 Është kthyer negative 1. 251 00:10:16,130 --> 00:10:17,830 OK, kjo është e pazakontë. 252 00:10:17,830 --> 00:10:27,030 >> Po në lidhje me nëse unë shkoj në këtu dhe të bëjë këtë? 253 00:10:27,030 --> 00:10:29,700 Kështu që unë kam ndryshuar gjithçka nga int të panënshkruar. 254 00:10:29,700 --> 00:10:31,590 Ajo mund të marrë vetëm numra të plotë panënshkruara. 255 00:10:31,590 --> 00:10:33,840 Por nuk kemi ende mendoj se do të zgjasë? 256 00:10:33,840 --> 00:10:35,652 >> Audienca: Po. 257 00:10:35,652 --> 00:10:37,270 >> Gjuha: Ajo do. 258 00:10:37,270 --> 00:10:39,410 Kjo është e çmendur. 259 00:10:39,410 --> 00:10:43,140 Dhe ne të kalojë në një caktuar në mënyrë të qartë numër i plotë, ne mund të kalojë dy nënshkruar 260 00:10:43,140 --> 00:10:46,280 numër i plotë, ai ende punon. 261 00:10:46,280 --> 00:10:52,150 >> OK, ndonjë ide se pse ajo ende punon, ose çfarë po ndodh? 262 00:10:52,150 --> 00:10:53,368 Po, Jeff. 263 00:10:53,368 --> 00:10:56,296 >> Audienca: Ajo ka diçka për të bërë me optimization tuaj që ju 264 00:10:56,296 --> 00:10:57,760 theksuar. 265 00:10:57,760 --> 00:10:58,210 >> Gjuha: Jo. 266 00:10:58,210 --> 00:11:00,570 Ne mund të ndryshojë optimization, ajo ende do të punojnë. 267 00:11:00,570 --> 00:11:02,240 Unë mund ta bëjë këtë për ju, por - 268 00:11:02,240 --> 00:11:02,930 >> Audienca: Unë do të marrë fjalën tuaj për të. 269 00:11:02,930 --> 00:11:03,690 >> Gjuha: Po. 270 00:11:03,690 --> 00:11:09,690 Nëse jeni të hapur Makefile të drejtë këtu, I ndryshuar optimization. 271 00:11:09,690 --> 00:11:11,570 Kështu që ju mund të bëni lëvizje të zero, zero. 272 00:11:11,570 --> 00:11:12,820 Ajo ende do të punojnë. 273 00:11:12,820 --> 00:11:16,839 274 00:11:16,839 --> 00:11:20,280 Mendime të tjera? 275 00:11:20,280 --> 00:11:22,600 >> Ju djema të gjithë duhet të punojnë, në mënyrë why'd ju presin atë për të punuar? 276 00:11:22,600 --> 00:11:31,210 277 00:11:31,210 --> 00:11:32,150 Nuk ka? 278 00:11:32,150 --> 00:11:33,660 Heshtja. 279 00:11:33,660 --> 00:11:34,910 OK. 280 00:11:34,910 --> 00:11:39,271 281 00:11:39,271 --> 00:11:41,650 Më duhet të pres shtatë sekonda, sepse kam bërë një pyetje. 282 00:11:41,650 --> 00:11:44,190 283 00:11:44,190 --> 00:11:48,660 >> Pra, gjëja e ftohtë në lidhje me C, dhe ju keni ndoshta përjetuar më parë - ju 284 00:11:48,660 --> 00:11:50,260 nuk mund të ketë, kjo mund të të jetë hera e parë. 285 00:11:50,260 --> 00:11:57,030 Por siç e dini të gjithë, kur unë shkruaj diçka në C, kjo nuk do të shpëtojë si 286 00:11:57,030 --> 00:11:57,760 kjo në kompjuter. 287 00:11:57,760 --> 00:11:59,440 Është ruajtur si ato dhe zero. 288 00:11:59,440 --> 00:12:02,970 Ajo shkon nga kodi C në kodin kuvendit. 289 00:12:02,970 --> 00:12:09,460 >> Ka parë dikush kodin kuvendit para, makine Kodi kuvendi? 290 00:12:09,460 --> 00:12:10,630 Ne do të shikojmë në një të dytë. 291 00:12:10,630 --> 00:12:12,040 Ajo shkon nga kodi C në kodin kuvendit. 292 00:12:12,040 --> 00:12:13,755 Dhe ju djema e di fazat e përpilimit. 293 00:12:13,755 --> 00:12:17,410 Ju kishte për të mësuar përmendësh se për një quiz, dhe pastaj shkruani atë në quiz zero. 294 00:12:17,410 --> 00:12:18,240 Shumica e njerëzve e mori atë gabim. 295 00:12:18,240 --> 00:12:19,760 Unë mendoj se ju djema gozhduar atë. 296 00:12:19,760 --> 00:12:22,880 >> Por, ju djema janë pjesa më e mirë për kuize, nga rruga. 297 00:12:22,880 --> 00:12:25,210 Cili është awesome. 298 00:12:25,210 --> 00:12:25,910 Kjo nuk do të ju lënduar. 299 00:12:25,910 --> 00:12:26,900 Mos të jetë i shqetësuar. 300 00:12:26,900 --> 00:12:28,800 Por kjo është me të vërtetë cool. 301 00:12:28,800 --> 00:12:29,660 Good job. 302 00:12:29,660 --> 00:12:32,870 >> Pra, ajo shkon në gjuhën e kuvendit, dhe atëherë ajo shkon në ato dhe zero. 303 00:12:32,870 --> 00:12:35,500 Dhe ato dhe zero janë ruajtur në kompjuter, dhe kjo është ajo që ruhen në 304 00:12:35,500 --> 00:12:38,340 a.out, ose në këtë rast, file ekzekutues. 305 00:12:38,340 --> 00:12:41,040 Dhe kompjuteri shkon ato dhe zero. 306 00:12:41,040 --> 00:12:41,670 E drejtë? 307 00:12:41,670 --> 00:12:43,890 Ne e kemi mësuar këtë më parë. 308 00:12:43,890 --> 00:12:47,490 >> Pra, gjëja e ftohtë është, kjo unsigned ide, ideja e llojeve Ints panënshkruar, 309 00:12:47,490 --> 00:12:50,490 e të tjera, e të tjera, kjo është deri këtu në gjuhën C. 310 00:12:50,490 --> 00:12:51,110 Ata ekzistojnë. 311 00:12:51,110 --> 00:12:53,770 Por lloje nuk ekzistojnë në ato dhe zero. 312 00:12:53,770 --> 00:12:57,110 Llojet as që ekziston në të vërtetë në niveli gjuha kuvendit. 313 00:12:57,110 --> 00:13:00,075 Pra, kjo është diçka që ekziston në C bota por nuk ekziston në kompjuter 314 00:13:00,075 --> 00:13:01,640 Bota apo botërore procesor. 315 00:13:01,640 --> 00:13:04,660 Kjo është një abstraksion se C Gjuha e ka përfshirë, për të bërë tonë 316 00:13:04,660 --> 00:13:06,240 jetën më të lehtë. 317 00:13:06,240 --> 00:13:09,990 >> Pra, në fund të ditës, unë mund të shkruaj shumë gjëra të ndryshme këtu, dhe kjo 318 00:13:09,990 --> 00:13:10,700 nuk e bën një ndryshim. 319 00:13:10,700 --> 00:13:12,060 Për shkak se vetëm ekziston në botë C. 320 00:13:12,060 --> 00:13:14,100 Ajo nuk ekziston në ato dhe zero botë. 321 00:13:14,100 --> 00:13:17,310 Dhe programi të tonë ekzekutimit në ato dhe zero botë. 322 00:13:17,310 --> 00:13:21,170 Pra mendjen tuaj të qartë jo i nxitur akoma. 323 00:13:21,170 --> 00:13:22,740 Por unë mendoj se është e ftohtë. 324 00:13:22,740 --> 00:13:23,530 Po, Jeff. 325 00:13:23,530 --> 00:13:27,298 >> Audienca: Pra, nëse në vend të duke bërë int, char ju bëni. 326 00:13:27,298 --> 00:13:27,770 Dhe ju ishit - 327 00:13:27,770 --> 00:13:29,311 >> Gjuha: Le të bëjmë atë në një sec. 328 00:13:29,311 --> 00:13:32,583 >> Audienca: Sepse atëherë ju merrni një unsigned duke shkuar nga 128 negative të 329 00:13:32,583 --> 00:13:34,720 127 ose 0 deri 255. 330 00:13:34,720 --> 00:13:36,760 >> Gjuha: Pra, char është problematike. 331 00:13:36,760 --> 00:13:39,460 A e dini pse char do të ishte e problematike, dhe kjo do të vërtetë 332 00:13:39,460 --> 00:13:42,930 ndryshojë gjërat në ato dhe zerove botë? 333 00:13:42,930 --> 00:13:44,370 >> Audienca: Për shkak të madhësisë së char. 334 00:13:44,370 --> 00:13:46,200 >> Gjuha: Madhësia e char është 1. 335 00:13:46,200 --> 00:13:48,260 Pra unsigned është edhe 4 bytes. 336 00:13:48,260 --> 00:13:50,080 Pra, char do të vidhos gjërat. 337 00:13:50,080 --> 00:13:55,660 Por ajo që është 4 bytes që është në lidhur me një char? 338 00:13:55,660 --> 00:13:57,820 Ose të që shton një shtesë - 339 00:13:57,820 --> 00:13:59,760 ju mund të vendosni një karakter më shumë pas char. 340 00:13:59,760 --> 00:14:00,200 >> Audienca: Char yll. 341 00:14:00,200 --> 00:14:01,220 >> Gjuha: Char yll ka 4 bytes. 342 00:14:01,220 --> 00:14:02,490 Pra, le të bëjë diçka kjo është një yll char. 343 00:14:02,490 --> 00:14:05,470 344 00:14:05,470 --> 00:14:07,240 >> Pra, kjo ndoshta do të punojnë, por ne jemi do të bëjë diçka edhe 345 00:14:07,240 --> 00:14:09,710 crazier se sa kjo. 346 00:14:09,710 --> 00:14:10,960 Sipas mendimit tim, crazier. 347 00:14:10,960 --> 00:14:21,060 348 00:14:21,060 --> 00:14:24,570 >> Unë kam shkruar tashmë një funksion që kthen një akrep, dhe kjo merr një 349 00:14:24,570 --> 00:14:29,480 tregues dhe një vlerë unsigned - ne do të ndryshojë këtë përsëri të int kështu që ne nuk jemi 350 00:14:29,480 --> 00:14:31,250 duke e bërë shumë ndryshime në të njëjtën kohë. 351 00:14:31,250 --> 00:14:35,370 Dhe kjo ka një rrjet të quajtur një, indekseve Në grup, dhe kthimet e 352 00:14:35,370 --> 00:14:35,850 adresa e. 353 00:14:35,850 --> 00:14:37,470 Ne kemi parë këto operatorë para. 354 00:14:37,470 --> 00:14:43,340 Kjo, çfarë mendoni ju se kjo do për të bërë, në kthim, kur kam drejtuar atë? 355 00:14:43,340 --> 00:14:48,280 356 00:14:48,280 --> 00:14:49,070 Çfarë mendoni se do të bëjë? 357 00:14:49,070 --> 00:14:50,320 Çdo supozime? 358 00:14:50,320 --> 00:14:54,220 359 00:14:54,220 --> 00:14:55,320 >> Audienca: Segfault. 360 00:14:55,320 --> 00:14:55,600 >> Gjuha: Çfarë? 361 00:14:55,600 --> 00:14:56,660 Segfault? 362 00:14:56,660 --> 00:14:58,520 Kjo është një mend mirë. 363 00:14:58,520 --> 00:14:59,430 Tom thotë të njëjtën gjë. 364 00:14:59,430 --> 00:15:02,240 Çdo supozime të tjera? 365 00:15:02,240 --> 00:15:05,260 >> Kush mendon se do të të bëjë të njëjtën gjë? 366 00:15:05,260 --> 00:15:06,510 Kush mendon se do të segfault? 367 00:15:06,510 --> 00:15:09,350 368 00:15:09,350 --> 00:15:10,230 Ai e bën të njëjtën gjë. 369 00:15:10,230 --> 00:15:11,880 Më vjen keq. 370 00:15:11,880 --> 00:15:13,860 >> Por, natyrisht, ne kemi vënë në 1 dhe 2. 371 00:15:13,860 --> 00:15:16,470 Dhe ata janë të dyja të vlefshme, apo jo? 372 00:15:16,470 --> 00:15:19,420 Le të shohim, ne mund të shkojnë në Vendin e dytë e një grup. 373 00:15:19,420 --> 00:15:24,010 Por, çfarë nëse kemi bërë b një numër negativ? 374 00:15:24,010 --> 00:15:26,380 Kjo është ndoshta një mend mirë për diçka segfaulting. 375 00:15:26,380 --> 00:15:30,310 376 00:15:30,310 --> 00:15:32,260 Ajo ende punon. 377 00:15:32,260 --> 00:15:35,020 >> OK, kjo tani është i çmendur. 378 00:15:35,020 --> 00:15:38,350 Kjo është po aq e vlefshme e funksionit shuma. 379 00:15:38,350 --> 00:15:40,470 Kjo e bën të njëjtën gjë e saktë si kthim a dhe b. 380 00:15:40,470 --> 00:15:44,600 A mund të shpjegojë dikush se pse kjo është një e mirë përmbledhur funksionin, ose pse punon kjo? 381 00:15:44,600 --> 00:15:45,850 Çfarë po ndodh këtu? 382 00:15:45,850 --> 00:15:49,360 383 00:15:49,360 --> 00:15:55,750 Pse e bën këtë të bëjë të njëjtën gjë e saktë gjë si funksion tonë të vjetër shuma? 384 00:15:55,750 --> 00:15:56,890 [? Akshar,?] 385 00:15:56,890 --> 00:15:58,155 çfarë po ndodh? 386 00:15:58,155 --> 00:16:01,540 >> Audienca: Sepse kur ju keni një një kjo është një adresë të 387 00:16:01,540 --> 00:16:03,950 kujtesës vend - 388 00:16:03,950 --> 00:16:07,910 dhe kur ju bëni zëvendësojeni, ajo shkon në atë adresë kujtesës. 389 00:16:07,910 --> 00:16:13,610 Dhe kur ju shkoni për të b, ju jeni lloj i lëviz hapa nga atë adresë e kujtesës, 390 00:16:13,610 --> 00:16:15,550 ju jeni kthyer atë. 391 00:16:15,550 --> 00:16:20,083 Pra, ju jeni në të vërtetë, në të vërtetë, duke shtuar a dhe b [padëgjueshme]. 392 00:16:20,083 --> 00:16:23,300 393 00:16:23,300 --> 00:16:26,222 Ku janë operacione standarde në këtë kthim? 394 00:16:26,222 --> 00:16:27,683 Si, ku bien të kllapat? 395 00:16:27,683 --> 00:16:30,610 Është kthimi i të adresën në një para ose pas [e padëgjueshme]? 396 00:16:30,610 --> 00:16:32,380 >> Gjuha: Ajo do të indeksit në b - 397 00:16:32,380 --> 00:16:34,430 ose në një indeks - dhe pastaj kthehen adresën. 398 00:16:34,430 --> 00:16:38,800 399 00:16:38,800 --> 00:16:41,340 OK, kështu që e ka kuptuar të gjithë çfarë [? Akshar?] 400 00:16:41,340 --> 00:16:45,830 tha, dhe shpjegoi, se pse ky punon? 401 00:16:45,830 --> 00:16:49,430 Unë nuk e bëri, herë të parë dikush shpjeguar këtë për mua. 402 00:16:49,430 --> 00:16:51,900 A do dikush të donte një foto për të shpjeguar këtë? 403 00:16:51,900 --> 00:16:55,320 Ne jemi duke shkuar për të nxjerrë një foto, me nuk ka shënuesit, që e madhe. 404 00:16:55,320 --> 00:16:57,920 Gjetur disa. 405 00:16:57,920 --> 00:17:03,390 >> Pra, ne kemi një grup që është e një seri e kutive. 406 00:17:03,390 --> 00:17:07,160 407 00:17:07,160 --> 00:17:13,710 I pari është një indeks 0, indeksi 1, 2, 3, 4, pikë, pikë, pikë. 408 00:17:13,710 --> 00:17:15,609 Një grup tipik. 409 00:17:15,609 --> 00:17:19,540 Dhe përveç që ka indekseve, ata të gjithë kanë adresat e kujtesës. 410 00:17:19,540 --> 00:17:30,190 Pra, le të japë këtë adresën e memories 13, 14, 15, 16, 17, më tej. 411 00:17:30,190 --> 00:17:32,490 Gjithkush është këtu deri tani. 412 00:17:32,490 --> 00:17:35,810 >> Pra, a është një adresë. 413 00:17:35,810 --> 00:17:38,850 Emri i një grup, një tregues është ruajtur atje. 414 00:17:38,850 --> 00:17:42,730 Kjo është një tregues, kjo është një vend kujtesës, me fillimin e vektorit. 415 00:17:42,730 --> 00:17:45,910 Pra, nëse ky ishte array, a do të ishte një vlerë prej 13. 416 00:17:45,910 --> 00:17:49,110 Dhe, sigurisht, ne mund të japim a çdo vlerë që duam. 417 00:17:49,110 --> 00:17:52,450 Char star një, ne mund të japim një çdo Adresa e kujtesës ne duam. 418 00:17:52,450 --> 00:17:55,940 Ne mund t'i jepte 0, ne mund t'i jepte negative 1 - 1 negativ nuk ekziston, 419 00:17:55,940 --> 00:17:58,820 kështu që kjo është ndoshta problematike, por ju pa se ajo ende ka punuar. 420 00:17:58,820 --> 00:18:03,070 Kështu që ne mund të japim ndonjë numër një ne duam, çdo adresë memorie ne duam. 421 00:18:03,070 --> 00:18:08,720 >> Pastaj, int b thotë, OK, shkoni këtë numër e hapa në rrjet. 422 00:18:08,720 --> 00:18:13,150 Kështu nëse b është e barabartë me 2, dhe nje barabartë 13, ne jemi në adresën e kujtesës 13. 423 00:18:13,150 --> 00:18:17,330 Dhe ne do të shkojmë dy hapa në, dhe kështu që ne jemi këtu. 424 00:18:17,330 --> 00:18:21,150 Dhe simbol do të thotë kthim adresa e këtij lokacioni. 425 00:18:21,150 --> 00:18:23,990 Dhe adresa është, sigurisht, 15. 426 00:18:23,990 --> 00:18:28,710 Pra, ne të merrni 13 plus 2, ose a plus b, i cili është 15. 427 00:18:28,710 --> 00:18:29,590 >> Pyetja është, pse - 428 00:18:29,590 --> 00:18:30,250 Më vjen keq. 429 00:18:30,250 --> 00:18:34,324 A do të sqaruar gjërat Pse kjo funksionon? 430 00:18:34,324 --> 00:18:36,300 >> Audienca: Pse do atë punë duke shkuar - 431 00:18:36,300 --> 00:18:38,770 kështu që ju mund të ketë një rrjet dhe shkoni në një indeks negativ? 432 00:18:38,770 --> 00:18:39,050 >> Gjuha: E drejta. 433 00:18:39,050 --> 00:18:40,870 Pra, ne e bëmë numrat negative, kështu që kjo është - 434 00:18:40,870 --> 00:18:42,770 e bën këtë kuptim edhe pse, parë, [? Avi,?] 435 00:18:42,770 --> 00:18:43,120 për ju? 436 00:18:43,120 --> 00:18:48,840 >> Audienca: Po unë jam vetëm [Padëgjueshme], por - 437 00:18:48,840 --> 00:18:50,440 >> Gjuha: Po, ky do të kthehen 15. 438 00:18:50,440 --> 00:18:53,523 Në qoftë se një ishte 13, dhe b ishte 2, kjo do të kthehen 15. 439 00:18:53,523 --> 00:18:58,160 >> Audienca: Pra indeksimit zero nuk të bëhet një çështje, e drejtë? 440 00:18:58,160 --> 00:19:00,160 Për shkak se ju jeni duke lëvizur nga 0. 441 00:19:00,160 --> 00:19:00,470 >> Gjuha: E drejta. 442 00:19:00,470 --> 00:19:05,000 Pra, ju jeni duke lëvizur - kështu që nëse b është 0, ju nuk do të lëvizë kudo. 443 00:19:05,000 --> 00:19:06,330 Dhe ju do të kthehet vetëm në adresën - 444 00:19:06,330 --> 00:19:10,830 nëse b është 0, kjo është në thelb kthyer atë adresë të një. 445 00:19:10,830 --> 00:19:13,960 Kalimi në char yll a dhe kthimin adresa e një është kthyer vetëm një, 446 00:19:13,960 --> 00:19:15,860 në thelb. 447 00:19:15,860 --> 00:19:18,280 >> OK, pyetja është pse Numrat negative të punuar? 448 00:19:18,280 --> 00:19:21,670 Dhe kjo është gjëja me të vërtetë ftohtë në lidhje kjo, sepse kjo duhet të segfault. 449 00:19:21,670 --> 00:19:25,110 Dhe kjo do të segfault nëse ne bëri diçka si kjo. 450 00:19:25,110 --> 00:19:28,050 451 00:19:28,050 --> 00:19:29,300 Le të thonë, int. 452 00:19:29,300 --> 00:19:34,390 453 00:19:34,390 --> 00:19:39,810 Pra, ky kod duket identike dhe duhet të sillen njëlloj. 454 00:19:39,810 --> 00:19:44,550 Në thelb, x është një ndryshore e mbeturinave, dhe kështu që kjo duhet të sillen njëlloj. 455 00:19:44,550 --> 00:19:46,370 >> Le të bëjnë këtë - 456 00:19:46,370 --> 00:19:47,620 oops - 457 00:19:47,620 --> 00:19:54,790 458 00:19:54,790 --> 00:19:56,040 në yll. 459 00:19:56,040 --> 00:19:59,160 460 00:19:59,160 --> 00:20:02,733 OK, ne jemi tashmë duke marrë gabime këtu, sepse ajo tashmë do të jetë i zemëruar 461 00:20:02,733 --> 00:20:04,610 në mua, sepse ajo tashmë e di se çfarë të vjen. 462 00:20:04,610 --> 00:20:07,060 Në veçanti, i dyti. 463 00:20:07,060 --> 00:20:09,800 Adresa e kujtesës bërë pirg të lidhur me një variabël lokale. 464 00:20:09,800 --> 00:20:14,220 >> Në thelb, unë nuk jam duke shkuar për të përpiluar këtë, dhe pastaj unë jam duke shkuar për të ndrequr të bërë 465 00:20:14,220 --> 00:20:14,920 ajo që ne vetëm e bëri. 466 00:20:14,920 --> 00:20:19,130 Por për shkak se ne kurrë nuk jemi në të vërtetë qasjen çfarë është në kujtesën 467 00:20:19,130 --> 00:20:21,930 vend, kjo nuk do të segfault. 468 00:20:21,930 --> 00:20:26,450 Ne jemi kurrë në të vërtetë duke kërkuar në atë që është në kutinë e dytë, ose atë që në çdo kuti 469 00:20:26,450 --> 00:20:28,340 i këtij vektorit. 470 00:20:28,340 --> 00:20:30,980 Ne jemi vetëm duke thënë, këtu është adresa i sendit ne jemi duke kërkuar për dhe 471 00:20:30,980 --> 00:20:32,410 kthyer atë adresë. 472 00:20:32,410 --> 00:20:35,700 Ne jemi në fakt nuk shkon në array për të parë në atë vend. 473 00:20:35,700 --> 00:20:39,140 Dhe për shkak se ne kurrë nuk prek kujtesën, ne nuk do të marrë në telashe. 474 00:20:39,140 --> 00:20:40,760 Ne nuk do të marrë një segfault. 475 00:20:40,760 --> 00:20:46,225 >> Nëse ne u përpoq të, përsëri, që prek kujtesës, prek atë që ishte në A ose B - 476 00:20:46,225 --> 00:20:49,940 ose nje grupim b, dhe marrjen një ishte 0 dhe - 477 00:20:49,940 --> 00:20:53,040 në qoftë se një ishte 0, madje, që do të jetë shumë e e keqe, sepse ne nuk mund të shkojnë 478 00:20:53,040 --> 00:20:54,090 poshtë të gjithë rrugën atje. 479 00:20:54,090 --> 00:20:58,250 Nëse një dhe b të dy ishin 0, dhe ne u përpoqëm të prek atë që ishte atje, atëherë ne do të 480 00:20:58,250 --> 00:20:59,110 merrni në telashe. 481 00:20:59,110 --> 00:21:02,160 Por nëse ne nuk e prek atë që është atje, ne vetëm kthimin e adresën, është e 482 00:21:02,160 --> 00:21:08,300 në të vërtetë nuk do të segfault sepse kjo ju lejon të kryer këto operacione. 483 00:21:08,300 --> 00:21:11,920 Ai vetëm merr çmendur në ju, dhe merr super zemëruar, kur ju provoni dhe kontakt 484 00:21:11,920 --> 00:21:15,740 kujtesës aktuale dhe të kthehet ajo që është në atë vend të kujtesës. 485 00:21:15,740 --> 00:21:17,690 >> A ka kjo kuptim? 486 00:21:17,690 --> 00:21:24,820 Kjo është vetëm një pjesë e çmendur e C. Pra, Ne ketë një më shumë prej tyre. 487 00:21:24,820 --> 00:21:27,760 488 00:21:27,760 --> 00:21:29,700 >> Kush mendon se kjo është e ftohtë? 489 00:21:29,700 --> 00:21:30,280 Më shumë njerëz. 490 00:21:30,280 --> 00:21:31,070 Kjo është e mirë. 491 00:21:31,070 --> 00:21:34,860 OK, kjo është një tonë të fundit. 492 00:21:34,860 --> 00:21:37,314 Dhe unë do të doja që ju të më tregoni se a apo jo ju mendoni se kjo do 493 00:21:37,314 --> 00:21:38,564 për të bërë të njëjtën gjë e saktë. 494 00:21:38,564 --> 00:22:06,050 495 00:22:06,050 --> 00:22:07,390 >> Unë kam këto shkruar diku. 496 00:22:07,390 --> 00:22:08,640 Unë nuk jam memorizimin e tyre. 497 00:22:08,640 --> 00:22:33,350 498 00:22:33,350 --> 00:22:42,900 >> Le shih, 8, b 4, 4, 2, 4, 0, 8, 0, 3, 4, 4, 2, 4, 0, 4. 499 00:22:42,900 --> 00:22:46,670 Pra, kjo është një grup, tani, nuk funksion. 500 00:22:46,670 --> 00:22:49,640 Dhe kjo është një koleksion sepse ne kemi katror kllapa, formatimin e teksteve kaçurrel jo. 501 00:22:49,640 --> 00:22:52,360 Dhe kjo është një koleksion të çfarë lloji? 502 00:22:52,360 --> 00:22:55,540 503 00:22:55,540 --> 00:22:56,862 Çdokush, hmm? 504 00:22:56,862 --> 00:22:57,694 >> Audienca: Numri i tyre hexadecimal? 505 00:22:57,694 --> 00:22:59,650 >> Gjuha: Por çfarë është lloji C? 506 00:22:59,650 --> 00:23:00,710 Ata të gjithë kanë numra heksadecimal. 507 00:23:00,710 --> 00:23:01,960 Çfarë është tipi C? 508 00:23:01,960 --> 00:23:04,730 509 00:23:04,730 --> 00:23:05,480 Ajo ju tregon. 510 00:23:05,480 --> 00:23:07,350 >> Audienca: Është chars panënshkruara. 511 00:23:07,350 --> 00:23:09,170 >> Gjuha: E drejta, chars panënshkruara. 512 00:23:09,170 --> 00:23:13,050 Dhe dy numra hexadecimal është një bajt. 513 00:23:13,050 --> 00:23:18,540 Kështu këto janë 1, 2, 3, 4, 5, 6, 7, 8, 9 bytes. 514 00:23:18,540 --> 00:23:21,360 Është një grup i 9 bytes. 515 00:23:21,360 --> 00:23:25,530 >> OK, ju ndoshta tashmë e dini Përgjigje për këtë pyetje. 516 00:23:25,530 --> 00:23:29,840 Por, çfarë mendoni se do të ndodhë kur kam drejtuar këtë? 517 00:23:29,840 --> 00:23:34,110 Unë them, përsëri, në mysum.c, Unë jam duke pritur një funksion 518 00:23:34,110 --> 00:23:36,280 se merr dy integers. 519 00:23:36,280 --> 00:23:40,265 Dhe unë jam duke thënë se në vend që asaj shume është një grup të karaktereve. 520 00:23:40,265 --> 00:23:42,780 521 00:23:42,780 --> 00:23:48,070 Çfarë do të ndodhë kur I drejtuar. / Mysum dhe të bëjë? 522 00:23:48,070 --> 00:23:53,230 >> E pra, së pari, shumica nga ju ndoshta do të pajtohen se make - oh jo, just kidding. 523 00:23:53,230 --> 00:23:54,746 What'd të bëj keq? 524 00:23:54,746 --> 00:23:55,996 Uh oh. 525 00:23:55,996 --> 00:23:59,220 526 00:23:59,220 --> 00:24:01,160 Kjo duhet të jetë formatimin e teksteve kaçurrel. 527 00:24:01,160 --> 00:24:02,790 Kjo është se si ju të nisja një koleksion. 528 00:24:02,790 --> 00:24:04,040 Im i keq. 529 00:24:04,040 --> 00:24:07,530 530 00:24:07,530 --> 00:24:11,670 >> Pra, ne tashmë e pamë më parë se llojet janë një abstraksion i nivelit C, jo një 531 00:24:11,670 --> 00:24:12,610 Niveli kompjuter abstraksion. 532 00:24:12,610 --> 00:24:16,360 Pra, shumica nga ju ndoshta pritet që ajo të bërë, ose duke supozuar se ajo do të bëjë. 533 00:24:16,360 --> 00:24:18,680 Por ajo që kur kam drejtuar. / Mysum? 534 00:24:18,680 --> 00:24:19,930 Çfarë do të ndodhë? 535 00:24:19,930 --> 00:24:21,790 536 00:24:21,790 --> 00:24:23,422 Çdo supozime? 537 00:24:23,422 --> 00:24:25,270 >> Audienca: Ajo do të të shtypura nga një fjalë. 538 00:24:25,270 --> 00:24:26,310 >> Gjuha: Ajo do të të shtypura nga një fjalë. 539 00:24:26,310 --> 00:24:29,335 Çfarë fjalë? 540 00:24:29,335 --> 00:24:32,200 >> Audienca: [padëgjueshme]. 541 00:24:32,200 --> 00:24:33,240 >> Gjuha: Çdo supozime të tjera? 542 00:24:33,240 --> 00:24:34,000 OK, të shtypura nga një frazë. 543 00:24:34,000 --> 00:24:35,130 Ju mund të keni ndonjë frazë. 544 00:24:35,130 --> 00:24:36,240 Kjo do të jetë ana juaj. 545 00:24:36,240 --> 00:24:38,480 Çdokush që ka një mend të ndryshme? 546 00:24:38,480 --> 00:24:39,730 Anna, çfarë është me mend tuaj? 547 00:24:39,730 --> 00:24:42,675 548 00:24:42,675 --> 00:24:44,615 >> Audienca: Ajo do të shtypura nga - 549 00:24:44,615 --> 00:24:47,525 550 00:24:47,525 --> 00:24:49,480 dy letra, ose [padëgjueshme] një letër. 551 00:24:49,480 --> 00:24:51,460 >> Gjuha: Një letër. 552 00:24:51,460 --> 00:24:53,260 >> Audienca: A mund të llogarisin se sa shumë [padëgjueshme]? 553 00:24:53,260 --> 00:24:55,426 >> Gjuha: Nëntë. 554 00:24:55,426 --> 00:24:56,640 E pra, unë jam duke shkuar për të drejtuar atë. 555 00:24:56,640 --> 00:24:58,650 Ai e bën të njëjtën gjë e saktë. 556 00:24:58,650 --> 00:25:00,190 Ajo shton dy numrat e së bashku. 557 00:25:00,190 --> 00:25:02,740 E pra, le të kalojë dy argumente. 558 00:25:02,740 --> 00:25:03,710 Ajo nuk ka marrë argumente. 559 00:25:03,710 --> 00:25:06,080 Kështu që unë nuk e di se ku mund të mundësisht të marrë këto argumente. 560 00:25:06,080 --> 00:25:07,710 Por le të kalojë në 100 dhe 0. 561 00:25:07,710 --> 00:25:09,200 Dhe ai shton 100 dhe 0. 562 00:25:09,200 --> 00:25:10,220 Kjo është e çmendur. 563 00:25:10,220 --> 00:25:12,280 Unë mendoj kështu. 564 00:25:12,280 --> 00:25:14,480 >> Negative 4, që punon shumë. 565 00:25:14,480 --> 00:25:15,650 Ju mund të bëni ndonjë gjë që ju dëshironi. 566 00:25:15,650 --> 00:25:17,920 Ky është një funksion aq e vlefshme Shuma. 567 00:25:17,920 --> 00:25:19,640 Ky është një funksion shumë. 568 00:25:19,640 --> 00:25:21,510 Por, jo, ju jeni duke thënë se është një sërë bytes. 569 00:25:21,510 --> 00:25:23,570 Pra, çfarë po ndodh këtu? 570 00:25:23,570 --> 00:25:27,240 >> Pra, përsëri, le të kthehemi në këtë ide që thamë në fillim. 571 00:25:27,240 --> 00:25:32,050 Ju shkoni nga kod-të nivelit C, të kuvendit gjuhë, në ato dhe zero. 572 00:25:32,050 --> 00:25:33,050 Kjo është heksadecimal. 573 00:25:33,050 --> 00:25:35,780 Por kjo është me të vërtetë vetëm një shumë ato dhe zero. 574 00:25:35,780 --> 00:25:39,230 Kjo është 72 ato dhe zero, apo jo? 575 00:25:39,230 --> 00:25:40,550 72 ato dhe zero. 576 00:25:40,550 --> 00:25:42,160 9 bytes. 577 00:25:42,160 --> 00:25:43,740 Çdo bajt ka 8 bit. 578 00:25:43,740 --> 00:25:44,760 Secili bit është një zero ose një. 579 00:25:44,760 --> 00:25:45,920 Pra, ato 72 apo zero. 580 00:25:45,920 --> 00:25:48,780 Unë kam shkruar vetëm ata si kjo - në vend se të shkruar atë si një shumë të 581 00:25:48,780 --> 00:25:49,730 ato dhe zero. 582 00:25:49,730 --> 00:25:53,560 >> Por kjo do të shkojë nga të nivelit C gjuhës, të kuvendit 583 00:25:53,560 --> 00:25:54,620 gjuhës, të kodit. 584 00:25:54,620 --> 00:25:59,020 Dhe kjo do të shtypura në kod, diku, këto 72 ato dhe zero 585 00:25:59,020 --> 00:26:00,910 që unë kam shkruar këtu. 586 00:26:00,910 --> 00:26:03,610 Pra, diku në se - 587 00:26:03,610 --> 00:26:04,850 le të shkoni këtu - 588 00:26:04,850 --> 00:26:11,240 diku në mysum, programi, ka janë këto 72 ato dhe zero që unë kam 589 00:26:11,240 --> 00:26:14,930 shkruar dhe thënë atë për të shkruar. 590 00:26:14,930 --> 00:26:19,331 >> Tani, çdo supozime për atë që ata 72 ato dhe zero do të thotë? 591 00:26:19,331 --> 00:26:21,240 >> Audienca: Ndoshta të njëjtën gjë gjë si të kthehen një plus b. 592 00:26:21,240 --> 00:26:22,890 >> Gjuha: Ndoshta të njëjtën gjë gjë si të kthehen një plus b. 593 00:26:22,890 --> 00:26:23,730 Le të verifikojë se. 594 00:26:23,730 --> 00:26:25,210 Le të kuptoj se si unë e bëri këtë. 595 00:26:25,210 --> 00:26:31,840 >> Pra, nëse ju shkoni mbrapa këtu, unë po ju them për të drejtuar këtë komandë, objdump-S 596 00:26:31,840 --> 00:26:34,290 sumfunction.o. 597 00:26:34,290 --> 00:26:36,230 Le të shkojmë drejtuar atë. objdump - 598 00:26:36,230 --> 00:26:37,990 obj, hale. 599 00:26:37,990 --> 00:26:39,840 Në thelb ajo mund të më çdo gjë që unë dua të shoh. 600 00:26:39,840 --> 00:26:40,840 Ajo mund të jepni gjuhën e kuvendit. 601 00:26:40,840 --> 00:26:42,730 Ajo mund të jepni ato dhe zero. 602 00:26:42,730 --> 00:26:43,840 Ajo ka një ton të flamujve. 603 00:26:43,840 --> 00:26:45,860 Kjo është ajo që ne jemi duke shkuar për të përdorur tani për tani. 604 00:26:45,860 --> 00:26:46,980 Dot - 605 00:26:46,980 --> 00:26:48,810 si ju shihni në slides - 606 00:26:48,810 --> 00:26:53,840 Kapitali dash S thotë, shpërndaj, kod burim - 607 00:26:53,840 --> 00:26:58,410 kjo linjë është nga C - me kuvendin Kodi dhe me ato dhe zero. 608 00:26:58,410 --> 00:27:00,350 Dhe ne jemi duke shkuar për të drejtuar ajo në sumfunction.o. 609 00:27:00,350 --> 00:27:01,410 Për shkak se ajo do të jetë më e lehtë për të parë. 610 00:27:01,410 --> 00:27:02,670 Përsëri - hmm? 611 00:27:02,670 --> 00:27:04,700 >> Audienca: Ju dha atë gabim. 612 00:27:04,700 --> 00:27:05,930 >> Gjuha: Por unë jam në të vërtetë duke shkuar për të pastruar atë për një të dytë. 613 00:27:05,930 --> 00:27:09,160 Unë jam duke shkuar për të parë të hapur vetëm sumfuntion.o. 614 00:27:09,160 --> 00:27:11,170 >> Audienca: Ju shkruar atë gabuar për herë të parë. 615 00:27:11,170 --> 00:27:12,420 >> Gjuha: Classic. 616 00:27:12,420 --> 00:27:14,790 617 00:27:14,790 --> 00:27:15,480 Sum - 618 00:27:15,480 --> 00:27:16,680 që është një fjalë e vështirë, edhe pse. 619 00:27:16,680 --> 00:27:19,050 Ju do të habitur. 620 00:27:19,050 --> 00:27:21,560 OK, kështu që kjo është sumfunction.o. 621 00:27:21,560 --> 00:27:24,494 622 00:27:24,494 --> 00:27:26,220 Unë nuk mund edhe të ju them. 623 00:27:26,220 --> 00:27:30,250 Ka shumë e zerove, në mënyrë të qartë shumë e zero, dhe ka disa të tjera 624 00:27:30,250 --> 00:27:31,930 sende që nuk është zero. 625 00:27:31,930 --> 00:27:33,220 Por më së shumti zero. 626 00:27:33,220 --> 00:27:35,120 Duket si ka disa ato. 627 00:27:35,120 --> 00:27:36,810 Pra, në mënyrë të qartë, kjo është e vështirë për të lexuar. 628 00:27:36,810 --> 00:27:39,320 Kjo është gjuha binare. 629 00:27:39,320 --> 00:27:40,710 >> Le tani të hapur atë - 630 00:27:40,710 --> 00:27:50,190 631 00:27:50,190 --> 00:27:52,350 çfarë? 632 00:27:52,350 --> 00:27:53,600 Çfarë po bëj keq? 633 00:27:53,600 --> 00:27:56,955 634 00:27:56,955 --> 00:27:58,434 A e kam spell it saktë? 635 00:27:58,434 --> 00:28:09,865 636 00:28:09,865 --> 00:28:11,120 OK, kjo është e vështirë. 637 00:28:11,120 --> 00:28:37,560 638 00:28:37,560 --> 00:28:40,158 Unë kam nevojë për një të dytë të kuptoj se çfarë unë jam duke bërë gabim. 639 00:28:40,158 --> 00:28:46,030 640 00:28:46,030 --> 00:28:49,310 Kjo është një gabim. 641 00:28:49,310 --> 00:28:50,560 Kjo është e çuditshme. 642 00:28:50,560 --> 00:28:58,080 643 00:28:58,080 --> 00:29:01,800 Oh, kjo është arsyeja pse. 644 00:29:01,800 --> 00:29:09,880 >> Unë do të kthehem në fillestare tonë një, kështu që ne mund të shohim në 645 00:29:09,880 --> 00:29:10,560 Kodi objekt i kësaj. 646 00:29:10,560 --> 00:29:13,390 Për shkak se nuk është me të vërtetë do të të jetë çdo gjë, kur ne vetëm vënë 647 00:29:13,390 --> 00:29:14,640 ato dhe zero in 648 00:29:14,640 --> 00:29:29,000 649 00:29:29,000 --> 00:29:30,200 Nuk shkojmë. 650 00:29:30,200 --> 00:29:32,425 OK, kështu që të gjithë mund të shohin këtë. 651 00:29:32,425 --> 00:29:38,130 Ky funksion, siç e thashë, vënë nga linjat C - 652 00:29:38,130 --> 00:29:39,060 linjat e kodit burim - 653 00:29:39,060 --> 00:29:41,000 me disa udhëzimet e kuvendit. 654 00:29:41,000 --> 00:29:42,760 >> Këtu është linjë tonë kodin burim. 655 00:29:42,760 --> 00:29:44,910 Ja një, këtu është një tjetër. 656 00:29:44,910 --> 00:29:46,540 Këtu është udhëzim kuvendi. 657 00:29:46,540 --> 00:29:47,820 Kjo është ajo që ata të duken si. 658 00:29:47,820 --> 00:29:49,010 Udhëzime Kuvendi - 659 00:29:49,010 --> 00:29:51,530 ju mund të mësoni më shumë prej tyre, nëse ju merrni klasat e tjera CS, por ata janë të 660 00:29:51,530 --> 00:29:53,500 në përgjithësi një udhëzim. 661 00:29:53,500 --> 00:29:57,940 Dhe pastaj një burim dhe një destinacion. 662 00:29:57,940 --> 00:30:02,740 >> Dhe pastaj mbi këtu është një kodi binar që korrespondon me atë asamble 663 00:30:02,740 --> 00:30:04,940 udhëzim. 664 00:30:04,940 --> 00:30:09,760 Kështu si ju mund të shihni, ky funksion shumë, në fund të ditës, është tre 665 00:30:09,760 --> 00:30:10,950 udhëzimet e kuvendit. 666 00:30:10,950 --> 00:30:12,870 Vetëm tre. 667 00:30:12,870 --> 00:30:14,180 Një mov - 668 00:30:14,180 --> 00:30:16,740 kjo m-o-v qëndron për një lëvizje. 669 00:30:16,740 --> 00:30:17,780 Shto qëndron për Add. 670 00:30:17,780 --> 00:30:20,440 Dhe r-e-t qëndron për Kthim. 671 00:30:20,440 --> 00:30:22,540 Pra një mov, e add, e kthimit. 672 00:30:22,540 --> 00:30:27,970 Dhe këto, këtu, janë zero dhe ato që korrespondojnë me atë kod. 673 00:30:27,970 --> 00:30:31,100 >> Kështu ata zero dhe ato, nëse ju e di ato, ju mund të bëjnë vetëm 674 00:30:31,100 --> 00:30:32,140 ata drejt in 675 00:30:32,140 --> 00:30:34,130 Dhe atëherë ajo do të bëjë gjë e njëjtë e saktë. 676 00:30:34,130 --> 00:30:37,260 Sepse, në fund të ditës, të gjithë ju jeni ekzekutimin është një seri të gjatë 677 00:30:37,260 --> 00:30:38,480 zero dhe ato. 678 00:30:38,480 --> 00:30:40,700 Dhe kjo është ajo që kodi juaj është me të vërtetë. 679 00:30:40,700 --> 00:30:41,770 >> Dhe arsyeja - 680 00:30:41,770 --> 00:30:43,680 le të shohim në një gjë. 681 00:30:43,680 --> 00:30:45,440 A e kam hapur Makefile? 682 00:30:45,440 --> 00:30:48,510 Pra, në qoftë se ne u kthye në dash zero, zero deri këtu - 683 00:30:48,510 --> 00:30:52,220 684 00:30:52,220 --> 00:30:57,300 keq, o kapitalit, kapitali o zero, jo zero, zero. 685 00:30:57,300 --> 00:31:01,810 Dhe ne e ka bërë, kjo do të ende punë të njëjtën gjë. 686 00:31:01,810 --> 00:31:05,420 Por tani ju vini re se ka një udhëzime shumë më shumë asamblesë. 687 00:31:05,420 --> 00:31:09,090 Kjo për shkak se, përsëri, e pyeta compiler jo për të bërë ndonjë optimization. 688 00:31:09,090 --> 00:31:12,800 >> Kështu që unë ende mund të marrë të gjitha këto zero dhe ato, dhe t'i hedhin në, 689 00:31:12,800 --> 00:31:13,390 dhe që do të punojnë. 690 00:31:13,390 --> 00:31:15,850 Unë vetëm e bëri të optimizations, sepse kjo është pak më e lehtë, më pas, 691 00:31:15,850 --> 00:31:17,310 për të shkruar atë rrjet. 692 00:31:17,310 --> 00:31:19,730 Por kjo do të punojë po aq mirë. 693 00:31:19,730 --> 00:31:24,460 >> OK, ne jemi duke shkuar për të bërë një gjë të fundit, sepse unë mendoj se është pjesa coolest. 694 00:31:24,460 --> 00:31:27,410 Edhe pse të gjithë është e qartë tashmë në lulëzim dhe të pagojë. 695 00:31:27,410 --> 00:31:30,520 696 00:31:30,520 --> 00:31:31,670 Mendjet tona janë në lulëzim. 697 00:31:31,670 --> 00:31:32,920 [Padëgjueshme] 698 00:31:32,920 --> 00:31:47,580 699 00:31:47,580 --> 00:31:51,520 >> Pra, këto janë nga një klasë të ndryshme CS, e cila është super interesante, 700 00:31:51,520 --> 00:31:52,970 që kam marrë - 701 00:31:52,970 --> 00:31:54,140 CS61. 702 00:31:54,140 --> 00:31:55,910 I highly ju inkurajojmë që të marrë atë. 703 00:31:55,910 --> 00:31:58,990 Por pjesa më e ftohtë në lidhje me këtë fakt, se gjërat janë vetëm zero dhe ato, 704 00:31:58,990 --> 00:32:01,270 janë se çdo gjë është e zero dhe ato. 705 00:32:01,270 --> 00:32:05,330 >> Kështu që ju mund të marrë një fotografi që ka zero e saktë dhe ato që ju dëshironi 706 00:32:05,330 --> 00:32:10,390 diku në të, dhe të përdorin atë sektor të zero dhe ato si një funksion shumën. 707 00:32:10,390 --> 00:32:11,480 >> Çfarë mund të thotë me këtë? 708 00:32:11,480 --> 00:32:15,755 Unë do të thotë që ju mund të marrë një file imazh që ka seri e saktë të zero dhe 709 00:32:15,755 --> 00:32:17,120 ato, që të shtypura diçka jashtë për një imazh. 710 00:32:17,120 --> 00:32:20,070 Dhe një program mund të interpretojë është një image, por ju mund ta interpretojnë atë, në qoftë se 711 00:32:20,070 --> 00:32:22,040 ju doni, si një funksion shumën. 712 00:32:22,040 --> 00:32:27,010 >> Pra, nëse kemi dashur për të hapur, për shembull, ky imazh. 713 00:32:27,010 --> 00:32:37,440 Le të shkojmë, Hello Kitty. 714 00:32:37,440 --> 00:32:38,810 Image Wonderful pak. 715 00:32:38,810 --> 00:32:42,260 Në këtu nuk është se string e zerove dhe atyre. 716 00:32:42,260 --> 00:32:45,500 Këto 72 zero dhe ato ekzistojnë në këtë imazh. 717 00:32:45,500 --> 00:32:47,695 >> Pra, ajo që unë mund të bëjë, pra, është i shkruar - 718 00:32:47,695 --> 00:32:50,510 719 00:32:50,510 --> 00:32:51,760 Unë duhet të mbani mend se ku ata janë. 720 00:32:51,760 --> 00:32:54,550 721 00:32:54,550 --> 00:32:55,720 Unë do të gjeni se në një të dytë. 722 00:32:55,720 --> 00:32:57,840 Por ne bëjmë - 723 00:32:57,840 --> 00:32:59,440 më lejoni të gjetur se ku janë ata. 724 00:32:59,440 --> 00:33:00,020 Një sec. 725 00:33:00,020 --> 00:33:01,270 Le të bëjmë - 726 00:33:01,270 --> 00:33:05,800 727 00:33:05,800 --> 00:33:07,240 >> Audienca: [padëgjueshme]. 728 00:33:07,240 --> 00:33:08,490 >> Gjuha: Faleminderit. 729 00:33:08,490 --> 00:33:24,240 730 00:33:24,240 --> 00:33:28,740 Pra, nëse ne e ekzekutuar këtë program, i cili në vend që lexon në një skedar, atëherë ajo shkon 731 00:33:28,740 --> 00:33:33,160 të këtij indeksi në dosje. 732 00:33:33,160 --> 00:33:35,500 Dhe pastaj, përsëri, ashtu si mysum, merr dy numra. 733 00:33:35,500 --> 00:33:41,410 Ne mund të shtoni numra pikërisht njëjtë si ne ishim duke bërë më parë, e cila shkon në 734 00:33:41,410 --> 00:33:44,850 ju tregojnë se si fakti që, në fund të ditës, të gjitha këto janë 735 00:33:44,850 --> 00:33:45,350 zero dhe ato. 736 00:33:45,350 --> 00:33:48,170 Dhe kjo është vetëm se si ju zgjidhni për interpretimin e tyre. 737 00:33:48,170 --> 00:33:50,770 >> Dhe në qoftë se ju në të vërtetë të shikoni në këtë imazh - 738 00:33:50,770 --> 00:33:52,930 le të zoom në një grimë. 739 00:33:52,930 --> 00:33:53,720 A mund të gjithë e shohin atë? 740 00:33:53,720 --> 00:33:57,570 Ju do të njoftimit të drejtë këtu, nuk ka disa diçka e pakuptueshme pazakontë. 741 00:33:57,570 --> 00:34:00,130 742 00:34:00,130 --> 00:34:02,290 Le të shkojnë - kjo është imazhi origjinal. 743 00:34:02,290 --> 00:34:04,540 Ju do të vëreni këtu nuk ka diçka e pakuptueshme. 744 00:34:04,540 --> 00:34:08,420 Qe eshte formuar per funksionin shuma, është se pak diçka e pakuptueshme të drejtë atje. 745 00:34:08,420 --> 00:34:13,449 >> Dhe në të vërtetë, përsëri, në qoftë se ju të mësoni më shumë në lidhje me këtë, ju do të kuptojë se kjo 746 00:34:13,449 --> 00:34:18,270 Hello Kitty, e cila ka edhe një më i madh diçka e pakuptueshme, ka kod që mund të marrë përsipër një 747 00:34:18,270 --> 00:34:21,800 kompjuter në qoftë se nuk është i mbrojtur në mënyrë të përshtatshme. 748 00:34:21,800 --> 00:34:23,920 Kështu që ju mund të vërtetë të drejtuar këtë. 749 00:34:23,920 --> 00:34:25,380 Unë nuk jam duke shkuar për të drejtuar atë të drejtë tani. 750 00:34:25,380 --> 00:34:30,600 Por ju mund të drejtuar këtë Përshëndetje Kitty imazhit, dhe kjo mund të 751 00:34:30,600 --> 00:34:32,429 të marrë përsipër kompjuterin tuaj. 752 00:34:32,429 --> 00:34:35,159 >> Pra, kjo është e gjitha për demo. 753 00:34:35,159 --> 00:34:38,560 A ka dikush ndonjë pyetje, komente, shqetësimet? 754 00:34:38,560 --> 00:34:39,515 Unë mendoj se kjo stuff është interesante. 755 00:34:39,515 --> 00:34:41,500 Kjo inspiruar mua për të mësuar më shumë. 756 00:34:41,500 --> 00:34:44,980 I highly recommend, nëse ju jeni të interesuar në të gjitha në CS, bisedoni me mua. 757 00:34:44,980 --> 00:34:50,250 Edhe pse unë jam një Studimeve Sociale Flotacion, unë jam një CS, mesme, kështu që 758 00:34:50,250 --> 00:34:52,340 Unë ende e di pak. 759 00:34:52,340 --> 00:34:53,810 Por unë me siguri e di se çfarë klasa ju duhet të marrë. 760 00:34:53,810 --> 00:34:57,940 Unë mendoj se kjo është e gjitha me të vërtetë interesante, dhe unë ju inkurajoj që, sigurisht, për të 761 00:34:57,940 --> 00:35:00,330 të mësuar më shumë nëse ju jeni të interesuar. 762 00:35:00,330 --> 00:35:02,090 >> OK, unë kam një gjë përfundimtare. 763 00:35:02,090 --> 00:35:05,530 764 00:35:05,530 --> 00:35:05,870 Më vjen keq. 765 00:35:05,870 --> 00:35:06,460 Ndonjë pyetje? 766 00:35:06,460 --> 00:35:10,010 Unë nuk e bëj një pauzë për të pritur nëse dikush kishte ndonjë pyetje në lidhje me këtë. 767 00:35:10,010 --> 00:35:13,220 768 00:35:13,220 --> 00:35:16,900 >> A është dikush do të jetë një Concentrator CS? 769 00:35:16,900 --> 00:35:18,580 Apo duke menduar për këtë? 770 00:35:18,580 --> 00:35:20,730 Një, dy, tre, katër. 771 00:35:20,730 --> 00:35:21,620 Një - vetëm një. 772 00:35:21,620 --> 00:35:24,680 Anna-së është dora vetëm kjo është ngritur me autoritet. 773 00:35:24,680 --> 00:35:27,640 774 00:35:27,640 --> 00:35:29,390 OK, kjo është ftohtë. 775 00:35:29,390 --> 00:35:30,110 Assam, çfarë po ju do të bëni? 776 00:35:30,110 --> 00:35:33,220 >> Audienca: [padëgjueshme]. 777 00:35:33,220 --> 00:35:33,910 >> Gjuha: Constantine? 778 00:35:33,910 --> 00:35:34,990 >> Audienca: Fizikë. 779 00:35:34,990 --> 00:35:36,720 >> Gjuha: Whoa, që ishte e shpejtë. 780 00:35:36,720 --> 00:35:40,770 Ju kishte një përvojë të keqe në CS50? 781 00:35:40,770 --> 00:35:42,015 [Padëgjueshme], çfarë po ju do të bëni? 782 00:35:42,015 --> 00:35:42,980 >> Audienca: Unë nuk kam asnjë ide. 783 00:35:42,980 --> 00:35:43,924 >> Gjuha: Curt? 784 00:35:43,924 --> 00:35:45,900 >> Audienca: Econ ose CS. 785 00:35:45,900 --> 00:35:46,910 >> Gjuha: Econ ose CS. 786 00:35:46,910 --> 00:35:47,840 Tom? 787 00:35:47,840 --> 00:35:48,385 >> Audienca: Unë jam duke bërë stat. 788 00:35:48,385 --> 00:35:48,950 >> Gjuha: Stat? 789 00:35:48,950 --> 00:35:50,100 OK. 790 00:35:50,100 --> 00:35:51,000 Çfarë jeni ju? 791 00:35:51,000 --> 00:35:51,310 >> Audienca: Me? 792 00:35:51,310 --> 00:35:51,750 >> Gjuha: Po. 793 00:35:51,750 --> 00:35:52,190 >> Audienca: Stat. 794 00:35:52,190 --> 00:35:52,520 >> Gjuha: Stat. 795 00:35:52,520 --> 00:35:53,500 Oh, ju shkoni atje. 796 00:35:53,500 --> 00:35:55,200 Tom, bisedoni me Alden. 797 00:35:55,200 --> 00:35:56,932 Emily, çfarë jeni ju? 798 00:35:56,932 --> 00:35:57,396 >> Audienca: Biomedical - 799 00:35:57,396 --> 00:36:00,178 >> Gjuha: A jeni në këtë seksion? 800 00:36:00,178 --> 00:36:03,040 >> Audienca: Jo. 801 00:36:03,040 --> 00:36:04,530 >> Gjuha: OK, kjo është Emily. 802 00:36:04,530 --> 00:36:05,670 Ajo është miku im. 803 00:36:05,670 --> 00:36:10,080 Në mënyrë të qartë nuk është se e mirë për një mik, sepse ajo më jep një kohë të vështirë. 804 00:36:10,080 --> 00:36:13,223 Ju mund të jetë nicer për mua përpara të gjithë, nxënës në klasën time - 805 00:36:13,223 --> 00:36:14,580 >> Audienca: Unë jam duke bërë udhëzues tuaj Q. 806 00:36:14,580 --> 00:36:14,870 >> Gjuha: Really? 807 00:36:14,870 --> 00:36:15,510 Uh oh. 808 00:36:15,510 --> 00:36:17,224 OK, ju jeni të mahnitshme. 809 00:36:17,224 --> 00:36:19,380 Të dua aq shumë. 810 00:36:19,380 --> 00:36:20,600 Oh boy. 811 00:36:20,600 --> 00:36:28,320 >> Gjithsesi, unë, natën e kaluar, si çdo gjë - 812 00:36:28,320 --> 00:36:32,220 Unë jam i sigurt se të gjithë duket të vërtetë theksoi tani. 813 00:36:32,220 --> 00:36:35,970 Unë nuk e di, janë studente - janë ju djema ndjenjë theksoi? 814 00:36:35,970 --> 00:36:36,855 Unë jam ndjenjë theksoi. 815 00:36:36,855 --> 00:36:37,980 Ajo ishte si, ju shkoni në shtëpi për Thanksgiving. 816 00:36:37,980 --> 00:36:40,660 Ju jeni si, unë jam duke shkuar për bërë tërë këto gjëra. 817 00:36:40,660 --> 00:36:41,530 >> AUDIENCA: Kjo është aq e ndryshme. 818 00:36:41,530 --> 00:36:42,560 >> Gjuha: Po, dhe ju kthehen. 819 00:36:42,560 --> 00:36:45,290 Jeff, ju nuk ndiheni në këtë mënyrë? 820 00:36:45,290 --> 00:36:46,610 >> Audienca: Unë vetëm mendova Unë do të bëjë pak. 821 00:36:46,610 --> 00:36:48,660 >> Gjuha: OK, e madhe. 822 00:36:48,660 --> 00:36:51,650 Kështu që unë të kthehem, dhe unë nuk kanë bërë asgjë. 823 00:36:51,650 --> 00:36:53,260 Dhe kjo është e gjitha super e vështirë. 824 00:36:53,260 --> 00:36:55,640 Dhe unë jam i shqetësuar, vërtet i shqetësuar, në lidhje me nëse janë apo jo unë jam 825 00:36:55,640 --> 00:36:57,380 do të përfundojë çdo gjë që kam për të. 826 00:36:57,380 --> 00:37:01,750 Por natën e fundit, unë nuk ishte i theksuar, Unë kam qenë vetëm pak e trishtuar. 827 00:37:01,750 --> 00:37:04,520 Kështu që unë shkroi në ditarin tim në lidhje ajo që unë kam qenë i pikëlluar për. 828 00:37:04,520 --> 00:37:08,020 Dhe unë isha i pikëlluar për këtë seksion në këtë klasë vjen fundi. 829 00:37:08,020 --> 00:37:11,100 >> Kështu që unë isha vetëm duke shkuar për të lexuar për ju djema një copë të vogël të ditarit tim, 830 00:37:11,100 --> 00:37:12,950 nga natën e fundit. 831 00:37:12,950 --> 00:37:17,400 A mund të marr disa napkins, disa indet nga Tom? 832 00:37:17,400 --> 00:37:18,040 Jo, unë jam duke shkuar të qaj. 833 00:37:18,040 --> 00:37:19,720 Unë nuk qaj. 834 00:37:19,720 --> 00:37:22,030 Jo se ju nuk mund të qaj, Unë thjesht nuk e qaj. 835 00:37:22,030 --> 00:37:24,040 Unë nuk e di edhe nëse lotsjellës im Gjëndra punuar - ducts lotsjellës. 836 00:37:24,040 --> 00:37:25,630 Unë nuk më thërresin në një kohë të gjatë. 837 00:37:25,630 --> 00:37:26,510 >> Audienca: [padëgjueshme]. 838 00:37:26,510 --> 00:37:28,920 >> Gjuha: OK, faleminderit. 839 00:37:28,920 --> 00:37:30,070 OK, ka një parathënie të vogël - 840 00:37:30,070 --> 00:37:32,480 ka disa pjesë të tjera të revistës tim hyrje, sepse unë të përpiqet të revistës çdo 841 00:37:32,480 --> 00:37:33,600 natë para se të marrë në shtrat. 842 00:37:33,600 --> 00:37:34,900 I highly recommend journaling. 843 00:37:34,900 --> 00:37:38,600 Kjo ju ndihmon të procesit gjëra, dhe gjithashtu të jetë shumë mirënjohës e ditës tuaj. 844 00:37:38,600 --> 00:37:43,063 Dhe kjo e bën atë shumë më e lehtë për të parë kthehet në ditën tuaj dhe të kuptojë se 845 00:37:43,063 --> 00:37:44,240 ka qenë një shumë të mirë gjërat që ka ndodhur. 846 00:37:44,240 --> 00:37:47,240 Edhe në qoftë se ju mendoni theksoi vërtetë gjatë natës apo të mërzitur me të vërtetë, ose 847 00:37:47,240 --> 00:37:49,022 të vërtetë e trishtuar apo i lodhur. 848 00:37:49,022 --> 00:37:50,272 >> Oh, my god. 849 00:37:50,272 --> 00:37:52,546 850 00:37:52,546 --> 00:37:54,400 Unë nuk e di edhe nëse është e shkruar se edhe sepse nuk e kam korrigjoj bocat atë. 851 00:37:54,400 --> 00:37:55,780 Por ne do të lexoni atë. 852 00:37:55,780 --> 00:37:59,950 Unë zakonisht nuk e lexojnë tim ditar, natyrisht. 853 00:37:59,950 --> 00:38:03,720 >> "Nesër, unë do të mësojmë finale time Seksioni CS50 të vitit. 854 00:38:03,720 --> 00:38:05,860 Është e çmendur se si fluturon koha shpejt. 855 00:38:05,860 --> 00:38:09,900 Megjithatë, unë jam i goditur nga se sa të ndryshme Përvoja ime mësuar këtë vit ishte 856 00:38:09,900 --> 00:38:11,365 se kur unë isha një i paedukuar mjaft. 857 00:38:11,365 --> 00:38:14,120 Për starters, unë patjetër e di materialin më mirë. 858 00:38:14,120 --> 00:38:16,820 Por mos thoni grup të tim të parë e studentëve që. 859 00:38:16,820 --> 00:38:20,030 Më e rëndësishmja, megjithatë, unë e kuptova se gëzimi që vjen nga këmbë 860 00:38:20,030 --> 00:38:23,160 deri para një dhomë të asaj që fillon nga si të huaj, por përfundon si, në 861 00:38:23,160 --> 00:38:27,150 paktën, miqtë e Facebook, është jo një pikë për shans të parë të vitit. 862 00:38:27,150 --> 00:38:29,970 Më saktë, kjo është nga e ditur se, në ndonjë mënyrë të vogël, ju jeni duke ndihmuar 863 00:38:29,970 --> 00:38:32,980 talentuar, i zhytur në mendime, i lezetshëm, dhe njerëz të pasionuar të mësojnë pak më shumë 864 00:38:32,980 --> 00:38:34,750 për shkenca kompjuterike. 865 00:38:34,750 --> 00:38:37,480 >> Ju jeni duke e zhvendosur atë llambë të lehta vetëm një bit në fole të saj, në mënyrë që është e aftë 866 00:38:37,480 --> 00:38:42,120 të shkëlqejë ndritshme se ju, ose ata, mund të kishte imagjinuar në fillim semestër. 867 00:38:42,120 --> 00:38:45,390 Ju jeni duke i ndihmuar ato të kthehet frowns përmbysur poshtë dhe duke i kërkuar pyetje që 868 00:38:45,390 --> 00:38:49,240 të ofrojë mbështetje, por ende të lejojë studentët që të qëndrojë deri të tyre. 869 00:38:49,240 --> 00:38:52,190 >> Sigurisht nuk është një ekzagjerim të thonë se kjo pjesë është my favorite 870 00:38:52,190 --> 00:38:53,190 Pjesa e jave. 871 00:38:53,190 --> 00:38:57,930 Ose edhe që unë hezitoj të them, kjo është të gjithë, në 05:30 çdo javë, duke e ditur 872 00:38:57,930 --> 00:39:00,640 se ajo do të jetë rrugë shumë e gjatë derisa të takohemi përsëri. 873 00:39:00,640 --> 00:39:02,740 >> Megjithatë, unë jam tepër mirënjohës për kushdo që ka dhënë këtë 874 00:39:02,740 --> 00:39:05,010 mundësi për të dhënë përsëri në të tjerët. 875 00:39:05,010 --> 00:39:07,340 Davidit, për durimin e tij dhe besimin. 876 00:39:07,340 --> 00:39:11,040 Për të filmit dhe të prodhimit të ekuipazhit, për duke bërë më të duket disi e respektuar. 877 00:39:11,040 --> 00:39:15,380 Dhe, më e rëndësishmja, për studentët e mi, pa të cilin unë do të kemi asnjë arsye për të 878 00:39:15,380 --> 00:39:17,890 shpenzojnë 10 orë zbulimin më të mirë mënyrë për të nxjerrë pointers, apo të nxjerr një 879 00:39:17,890 --> 00:39:20,330 Tabela e delfinëve, përmes JavaScript. 880 00:39:20,330 --> 00:39:22,620 Si gjithmonë, kjo është një bekim. " 881 00:39:22,620 --> 00:39:25,420 >> Pra, me që, faleminderit djema. 882 00:39:25,420 --> 00:39:29,000 Unë do të shoh se jeni të gjithë në panairin CS50, dhe hackathon, në qoftë se ju jeni atje. 883 00:39:29,000 --> 00:39:32,020 Dhe në qoftë se keni pyetje, unë do të rrinë rreth deri sa nuk ka më. 884 00:39:32,020 --> 00:39:33,760 Por unë ju falenderoj djema për një vit i mrekullueshëm. 885 00:39:33,760 --> 00:39:37,290 >> [Duartrokitje] 886 00:39:37,290 --> 00:39:38,540 >> Gjuha: Unë mund të qaj. 887 00:39:38,540 --> 00:39:40,800