1 00:00:00,000 --> 00:00:07,700 2 00:00:07,700 --> 00:00:15,180 >> SPEAKER: OK, jadi, anda tidak akan percaya, tetapi minggu lepas, pada hari Isnin, di Pierce, saya 3 00:00:15,180 --> 00:00:16,090 turun di ruangan bawah tanah. 4 00:00:16,090 --> 00:00:17,010 Saya tidak pernah pergi ke Pierce. 5 00:00:17,010 --> 00:00:20,530 Dan saya tidak akan kembali lagi, kerana Saya meninggalkan barangan saya sahaja untuk, 6 00:00:20,530 --> 00:00:23,950 seperti, lima minit dan seseorang mencuri komputer dan saya saya 7 00:00:23,950 --> 00:00:26,050 telefon daripada ransel saya. 8 00:00:26,050 --> 00:00:28,780 Yang bermakna saya mendapat kembali, dan maka kurang dari seminggu kemudian 9 00:00:28,780 --> 00:00:30,220 ia mendapat dicuri lagi. 10 00:00:30,220 --> 00:00:31,570 >> Dan kemudian ia mendapat dihidupkan - 11 00:00:31,570 --> 00:00:34,540 Cari iPhone Saya terus menjadi tidak membantu. 12 00:00:34,540 --> 00:00:37,340 Jadi saya terus menggalakkan anda tidak menggunakannya. 13 00:00:37,340 --> 00:00:42,270 Ia dihidupkan sekali, dan ia adalah di MIT, seperti 15 minit kemudian, dan orang yang 14 00:00:42,270 --> 00:00:45,770 dipanggil nombor telefon ini yang menunjukkan dalam log panggilan AT & T saya. 15 00:00:45,770 --> 00:00:48,830 >> Jadi saya pergi dalam talian, yang dipanggil bahawa telefon automatik, dan ia terus pergi ke ini 16 00:00:48,830 --> 00:00:50,540 mesin menjawab dalam Bahasa Sepanyol. 17 00:00:50,540 --> 00:00:52,520 Dan saya tidak pernah mendengar daripadanya sejak. 18 00:00:52,520 --> 00:00:54,800 Jadi saya terpaksa mendapatkan yang baru komputer dan telefon. 19 00:00:54,800 --> 00:00:55,150 Saya tahu. 20 00:00:55,150 --> 00:00:56,326 Yeah. 21 00:00:56,326 --> 00:01:00,110 Tetapi jika anda semua mahu cip dalam untuk saya dana komputer selepas ini, itu sebabnya 22 00:01:00,110 --> 00:01:01,030 Saya bertanya kepada anda di sini. 23 00:01:01,030 --> 00:01:02,280 Hanya bergurau. 24 00:01:02,280 --> 00:01:04,239 25 00:01:04,239 --> 00:01:07,420 Tetapi itu adalah benar-benar sedih dan trauma. 26 00:01:07,420 --> 00:01:10,700 >> Tetapi itu semua kembali sekarang, dan sebab itulah p-menetapkan 8 mengambil masa yang lama, kerana 27 00:01:10,700 --> 00:01:12,480 Saya tidak mempunyai komputer. 28 00:01:12,480 --> 00:01:13,730 Dan seseorang mencuri. 29 00:01:13,730 --> 00:01:16,940 Dan saya melalui e-mel, bertanya jika mereka akan gred p set 8 anda. 30 00:01:16,940 --> 00:01:18,790 Tetapi mereka berkata tidak. 31 00:01:18,790 --> 00:01:20,000 Dan saya adalah seperti, boleh saya komputer saya kembali? 32 00:01:20,000 --> 00:01:21,270 Dan mereka seperti, tidak. 33 00:01:21,270 --> 00:01:22,130 Hanya bergurau. 34 00:01:22,130 --> 00:01:22,930 >> OK. 35 00:01:22,930 --> 00:01:28,140 Ini adalah bahagian terakhir kami, dan saya mempunyai beberapa - kita hanya mempunyai tiga 36 00:01:28,140 --> 00:01:29,790 perkara dalam agenda. 37 00:01:29,790 --> 00:01:31,330 Kami akan bercakap sedikit mengenai panduan Q. 38 00:01:31,330 --> 00:01:33,900 Kemudian kita akan menghabiskan 15 minit pada demo yang sejuk. 39 00:01:33,900 --> 00:01:36,890 Kemudian kita akan semua mengatakan selamat tinggal satu sama lain. 40 00:01:36,890 --> 00:01:41,460 Anda tidak benar-benar memerlukan komputer anda atau pen atau kertas untuk mengambil nota atau 41 00:01:41,460 --> 00:01:42,410 ikut bersama-sama. 42 00:01:42,410 --> 00:01:45,620 Jadi saya menganggap jika anda mempunyai komputer anda up, maka anda di Facebook. 43 00:01:45,620 --> 00:01:46,530 Hanya berkata. 44 00:01:46,530 --> 00:01:49,650 Melainkan jika anda mengisi Panduan Q, yang pertama. 45 00:01:49,650 --> 00:01:50,690 >> Panduan Q dibuka. 46 00:01:50,690 --> 00:01:53,520 Anda mempunyai e-mel mengenainya. 47 00:01:53,520 --> 00:01:56,930 Apabila semua barangan Q itu dikemukakan di akhir tahun ini, saya mendapat semua 48 00:01:56,930 --> 00:02:03,710 Comments Q dalam skor daripada semua orang yang memilih untuk memberi maklum balas. 49 00:02:03,710 --> 00:02:04,810 Dan jadi apabila anda pergi di Q - 50 00:02:04,810 --> 00:02:07,440 Saya tidak tahu jika anda boleh melakukan ini, Jeff, kerana anda dan pelajar lanjutan. 51 00:02:07,440 --> 00:02:12,730 Tetapi apabila anda pergi di Q, jika anda tidak mempunyai melakukannya sebelum ini, anda memilih anda 52 00:02:12,730 --> 00:02:14,020 guru, iaitu David Malan. 53 00:02:14,020 --> 00:02:14,970 Anda perlu melakukan dia. 54 00:02:14,970 --> 00:02:15,690 >> Dan kemudian anda boleh memilih TFS. 55 00:02:15,690 --> 00:02:17,750 Dan anda boleh memilih kerana banyak TFS yang anda mahu. 56 00:02:17,750 --> 00:02:18,990 Tetapi terdapat 60 daripada kita. 57 00:02:18,990 --> 00:02:20,350 Anda tidak perlu memilih semua orang. 58 00:02:20,350 --> 00:02:23,090 Anda hanya boleh memilih saya, atau hanya memilih pasangan orang lain, jika anda mahu, untuk 59 00:02:23,090 --> 00:02:24,470 memberikan mereka maklum balas juga. 60 00:02:24,470 --> 00:02:27,595 Dan kemudian anda mendapat markah pada semua paksi yang berbeza, dan kemudian anda boleh meninggalkan 61 00:02:27,595 --> 00:02:28,570 maklum balas mereka. 62 00:02:28,570 --> 00:02:31,520 >> Dan kemudian, seperti sebulan kemudian, Saya akan mendapat semua maklum balas itu. 63 00:02:31,520 --> 00:02:34,570 Dan seperti maklum balas yang anda telah memberi saya sepanjang semester, saya 64 00:02:34,570 --> 00:02:35,790 membaca semua itu. 65 00:02:35,790 --> 00:02:39,620 Dan ia benar-benar membantu, dan ia membantu saya membesar sebagai seorang guru dan sebagai 66 00:02:39,620 --> 00:02:40,680 individu. 67 00:02:40,680 --> 00:02:43,360 Jadi, sila, mengambil sedikit masa untuk melakukannya. 68 00:02:43,360 --> 00:02:45,020 Kami hanya akan berada di sini untuk, seperti, 30 minit. 69 00:02:45,020 --> 00:02:48,090 Jadi, jika anda mahu, pada akhir ini, untuk mengambil masa lima minit, dan hanya mengisi 70 00:02:48,090 --> 00:02:49,960 Q, kerana ia tidak mengambil apa-apa masa yang lebih daripada itu. 71 00:02:49,960 --> 00:02:53,410 Yang akan menjadi indah, dan anda juga mendapat gred anda kembali dengan lebih cepat jika 72 00:02:53,410 --> 00:02:54,620 anda mengisi Q yang 73 00:02:54,620 --> 00:02:56,580 >> Jadi kebanyakan anda telah melakukan bahawa sebelum - 74 00:02:56,580 --> 00:02:58,240 atau tidak, kira-kira separuh daripada anda telah melakukan bahawa sebelum. 75 00:02:58,240 --> 00:03:00,060 Tetapi jika anda bayat, itulah yang yang. 76 00:03:00,060 --> 00:03:01,910 Ia akan menjadi yang sama untuk semua kelas. 77 00:03:01,910 --> 00:03:02,270 Adakah ia. 78 00:03:02,270 --> 00:03:02,900 Ia mengambil masa lima minit. 79 00:03:02,900 --> 00:03:07,610 Tetapi juga, jika anda melakukannya sedikit serius, itu bukan perkara yang paling teruk 80 00:03:07,610 --> 00:03:10,270 di dunia, kerana saya pasti mengambil perhatian serius. 81 00:03:10,270 --> 00:03:13,000 >> Jadi, jika anda meninggalkan saya muka senyum, Saya akan menghargai bahawa. 82 00:03:13,000 --> 00:03:17,550 Tetapi saya juga akan menghargai jika anda meninggalkan saya lebih daripada muka senyum. 83 00:03:17,550 --> 00:03:18,270 Tetapi ia terpulang kepada anda. 84 00:03:18,270 --> 00:03:21,540 Saya tidak boleh memberitahu anda - atau suka senyum besar menghadapi, dengan modal D. Yang akan 85 00:03:21,540 --> 00:03:23,060 menjadi lebih baik. 86 00:03:23,060 --> 00:03:27,860 >> OK, itu sahaja yang saya ada untuk yang Q. Jika anda mempunyai sebarang pertanyaan, anda boleh meminta 87 00:03:27,860 --> 00:03:29,370 saya, tetapi penjelasan-sendiri cantik. 88 00:03:29,370 --> 00:03:31,090 Hanya, sila isi keluar. 89 00:03:31,090 --> 00:03:34,390 Saya benar-benar akan menghargainya, dan ia bermakna yang besar kepada saya. 90 00:03:34,390 --> 00:03:38,910 >> OK, ini adalah apa yang kita akan menghabiskan 15 minit akan melalui. 91 00:03:38,910 --> 00:03:39,800 Saya akan menunjukkan kepada anda beberapa kod. 92 00:03:39,800 --> 00:03:42,080 Saya rasa ini adalah benar-benar sejuk, dan ini membuat saya lebih 93 00:03:42,080 --> 00:03:43,810 teruja dalam bidang sains komputer. 94 00:03:43,810 --> 00:03:46,480 Jadi saya berharap ia akan melakukan perkara yang sama untuk anda semua. 95 00:03:46,480 --> 00:03:51,760 >> Kami akan membuka - dan semua ini kod saya akan menghantar kepada anda kemudian. 96 00:03:51,760 --> 00:03:52,680 Tetapi kita hanya akan membuka - 97 00:03:52,680 --> 00:03:54,310 Saya di terminal saya - 98 00:03:54,310 --> 00:03:56,810 kita akan membuka program ini dipanggil [? MySum. ?] 99 00:03:56,810 --> 00:04:01,290 100 00:04:01,290 --> 00:04:02,540 >> Bolehkah semua orang membaca itu, atau yang perlu saya membuat ia lebih besar? 101 00:04:02,540 --> 00:04:07,670 102 00:04:07,670 --> 00:04:13,040 Bolehkah sesiapa beritahu saya apa kod ini akan lakukan apabila saya menjalankannya, atau apa ini 103 00:04:13,040 --> 00:04:14,320 program akan lakukan apabila saya menjalankannya? 104 00:04:14,320 --> 00:04:30,710 105 00:04:30,710 --> 00:04:32,400 >> [? Avi,?] Apa pendapat anda ia akan lakukan? 106 00:04:32,400 --> 00:04:33,335 Selesai mengunyah. 107 00:04:33,335 --> 00:04:35,033 Anda tidak perlu bercakap dengan mulut terbuka. 108 00:04:35,033 --> 00:04:38,330 109 00:04:38,330 --> 00:04:42,860 >> PENONTON: Adakah ia mengambil sekumpulan hujah-hujah, cari jumlah mereka kembali 110 00:04:42,860 --> 00:04:45,285 jumlah, dan kemudian mencetak? 111 00:04:45,285 --> 00:04:53,045 Atau ia mengambil masa dalam dua hujah, dan maka ia [didengar]. 112 00:04:53,045 --> 00:04:56,460 Dan kemudian ia mencetak apa sahaja hasilnya. 113 00:04:56,460 --> 00:04:58,100 >> SPEAKER: Tutup, benar-benar dekat. 114 00:04:58,100 --> 00:04:59,840 Sesiapa mahu menambah [? apa Avi?] berkata? 115 00:04:59,840 --> 00:05:04,830 116 00:05:04,830 --> 00:05:07,293 Adakah anda perlu memberikan program ini apa-apa hujah baris arahan? 117 00:05:07,293 --> 00:05:09,145 >> PENONTON: No 118 00:05:09,145 --> 00:05:09,610 >> SPEAKER: No 119 00:05:09,610 --> 00:05:11,250 Apakah yang akan berlaku jika anda tidak memberikan apa-apa hujah baris arahan? 120 00:05:11,250 --> 00:05:12,500 Saya hanya menulis dot slash MySum. 121 00:05:12,500 --> 00:05:15,145 122 00:05:15,145 --> 00:05:16,630 >> PENONTON: 1 campur 2 sama 3. 123 00:05:16,630 --> 00:05:17,250 >> SPEAKER: 1 campur 2 sama 3. 124 00:05:17,250 --> 00:05:18,570 Dan ia akan mencetak yang keluar. 125 00:05:18,570 --> 00:05:19,450 Itu betul-betul betul. 126 00:05:19,450 --> 00:05:21,370 Anda akan melihat bahawa cetak f line di bahagian bawah. 127 00:05:21,370 --> 00:05:23,450 Ia akan mencetak a, b, dan maka jumlah a dan b. 128 00:05:23,450 --> 00:05:26,360 Dan saya rasa anda menganggap bahawa jumlah berfungsi dengan betul. 129 00:05:26,360 --> 00:05:28,120 Andaian yang baik. 130 00:05:28,120 --> 00:05:32,250 >> OK, dan apa yang berlaku jika saya memberikan apa hujah? 131 00:05:32,250 --> 00:05:33,010 [? Manu? ?] 132 00:05:33,010 --> 00:05:36,230 >> PENONTON: Ia akan menambah apa sahaja hujah pertama adalah untuk b. 133 00:05:36,230 --> 00:05:37,150 Atau 2, maaf. 134 00:05:37,150 --> 00:05:38,480 >> SPEAKER: Betul, dengan 2. 135 00:05:38,480 --> 00:05:42,470 Adakah sesiapa tahu apa strtol tidak? 136 00:05:42,470 --> 00:05:43,960 Ia pada dasarnya atoi. 137 00:05:43,960 --> 00:05:47,240 Atoi sebenarnya adalah versi mewah - 138 00:05:47,240 --> 00:05:49,600 atau versi yang lebih mudah daripada strtol. 139 00:05:49,600 --> 00:05:51,790 Tetapi ia sebenarnya menggunakan strtol. 140 00:05:51,790 --> 00:05:54,610 141 00:05:54,610 --> 00:05:58,010 Dan saya dapati bahawa daripada kerana saya mahu sesuatu seperti atoi, dan kemudian apabila saya 142 00:05:58,010 --> 00:06:01,110 tidak atoi, saya membaca di sini. 143 00:06:01,110 --> 00:06:04,380 Dan saya dapati "kelakuan ini adalah sama seperti "strtol. 144 00:06:04,380 --> 00:06:06,850 Jadi ia pada dasarnya atoi untuk semua maksud dan tujuan. 145 00:06:06,850 --> 00:06:09,320 Dan anda lihat Saya pun menggunakan batal dan 10. 146 00:06:09,320 --> 00:06:14,390 >> Ini sebenarnya membolehkan anda mengambil tali, dan mengubahnya menjadi nombor, dan pilih 147 00:06:14,390 --> 00:06:15,970 apa asas yang anda mahu lakukan ia masuk 148 00:06:15,970 --> 00:06:17,370 Jadi ini adalah asas 10 di sini. 149 00:06:17,370 --> 00:06:20,455 Saya boleh melakukan asas dua untuk perpuluhan, asas 16 untuk perenambelasan. 150 00:06:20,455 --> 00:06:22,090 Ia agak sejuk. 151 00:06:22,090 --> 00:06:25,860 Tetapi cerita panjang pendek, ini mengambil masa dua nombor dan menambah mereka bersama-sama. 152 00:06:25,860 --> 00:06:29,260 >> Jadi mari kita menjalankannya. 153 00:06:29,260 --> 00:06:32,560 Dan anda juga akan melihat, terdapat beberapa perkara - 154 00:06:32,560 --> 00:06:37,830 jadi saya perlu makefile yang di sini, dan jika anda membuka bahawa sehingga, beberapa perkara 155 00:06:37,830 --> 00:06:39,270 anda akan notis adalah berbeza. 156 00:06:39,270 --> 00:06:42,370 Khususnya, hujah ini di sini, anda mungkin 157 00:06:42,370 --> 00:06:43,010 tidak pernah melihat bahawa sebelum ini. 158 00:06:43,010 --> 00:06:45,770 Secara umumnya, kami menyusun perkara-perkara dengan melontarkan sifar, sifar. 159 00:06:45,770 --> 00:06:51,500 Dash sifar, sifar, bermakna tidak melakukan apa-apa pengoptimuman, compiler. 160 00:06:51,500 --> 00:06:54,950 Jangan cuba membuat apa-apa mewah, atau membuat apa-apa menjalankan lebih cepat, atau mendapatkan 161 00:06:54,950 --> 00:06:56,530 menghilangkan pemboleh ubah yang diperlukan. 162 00:06:56,530 --> 00:06:58,080 Jangan mengoptimumkan kod ini pada semua, 163 00:06:58,080 --> 00:07:00,110 >> Saya meminta untuk peringkat ketiga yang pengoptimuman. 164 00:07:00,110 --> 00:07:02,580 Jadi saya meminta pengkompil untuk melakukan banyak pengoptimuman. 165 00:07:02,580 --> 00:07:05,870 Anda boleh menukar bahawa dalam makefile apabila anda mempunyai kod ini, jika anda mahu 166 00:07:05,870 --> 00:07:07,190 untuk melihat barangan yang berbeza. 167 00:07:07,190 --> 00:07:08,660 Yang kami akan menunjukkan dalam satu saat. 168 00:07:08,660 --> 00:07:12,080 Oleh itu, kita menjalankan jumlah saya 1 ditambah 2 tambah 3. 169 00:07:12,080 --> 00:07:13,445 Seseorang memberikan saya dua hujah. 170 00:07:13,445 --> 00:07:17,221 171 00:07:17,221 --> 00:07:18,210 >> PENONTON: 4 dan 5. 172 00:07:18,210 --> 00:07:18,966 >> SPEAKER: 4 dan 5. 173 00:07:18,966 --> 00:07:19,900 Terima kasih. 174 00:07:19,900 --> 00:07:20,860 Besar, ia berfungsi. 175 00:07:20,860 --> 00:07:25,700 Apa adalah beberapa hujah-hujah lain yang baik untuk mencuba, untuk memastikan kerja-kerja ini? 176 00:07:25,700 --> 00:07:27,050 Sesiapa sahaja? 177 00:07:27,050 --> 00:07:27,430 >> PENONTON: 0. 178 00:07:27,430 --> 00:07:29,210 >> SPEAKER: 0 dan? 179 00:07:29,210 --> 00:07:31,010 >> PENONTON: Negatif 3. 180 00:07:31,010 --> 00:07:32,040 >> SPEAKER: Ia berfungsi. 181 00:07:32,040 --> 00:07:33,670 Tetapi mereka adalah pilihan yang baik. 182 00:07:33,670 --> 00:07:36,600 OK, jadi mari kita kembali di sini. 183 00:07:36,600 --> 00:07:38,540 Ini adalah mysum.c. 184 00:07:38,540 --> 00:07:42,440 Anda akan melihat ada juga sesuatu dipanggil sumfunction.c. 185 00:07:42,440 --> 00:07:48,110 Dan ini berkata, oh, ada sesuatu ditakrifkan dalam sumfunction.c. 186 00:07:48,110 --> 00:07:51,480 Saya tidak termasuk fail ini di sini kerana saya tidak perlu. 187 00:07:51,480 --> 00:07:54,840 Tetapi saya menghubungkannya dalam apabila saya menyusun, yang anda perasan. 188 00:07:54,840 --> 00:07:57,380 >> Mari kita tatal ke atas. 189 00:07:57,380 --> 00:08:02,880 Kami melihat apabila kita disusun mysum, hak di sana, kami dikaitkan dalam binari dari 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 Dan saya tidak perlu fail pengepala kerana, sudah tentu, ada yang 193 00:08:08,470 --> 00:08:09,240 pengisytiharan fungsi. 194 00:08:09,240 --> 00:08:12,200 Jadi tajam termasuk biasanya hanya meletakkan dalam akuan fungsi. 195 00:08:12,200 --> 00:08:13,730 Di sini saya hanya meletakkan ia lurus dalam kod. 196 00:08:13,730 --> 00:08:16,370 Dan jadi saya perlu lakukan adalah pautan dalam binari, yang saya lakukan. 197 00:08:16,370 --> 00:08:19,950 >> Apa-apa tekaan untuk apa yang dalam sumfunction.c? 198 00:08:19,950 --> 00:08:21,950 Apa kod saya telah menulis dalam sumfunction.c? 199 00:08:21,950 --> 00:08:25,445 200 00:08:25,445 --> 00:08:26,695 >> PENONTON: [didengar]. 201 00:08:26,695 --> 00:08:29,460 202 00:08:29,460 --> 00:08:30,630 >> SPEAKER: Mana-mana tekaan? 203 00:08:30,630 --> 00:08:30,940 Yeah? 204 00:08:30,940 --> 00:08:33,710 >> PENONTON: Saya rasa, mentakrifkan beberapa [didengar]. 205 00:08:33,710 --> 00:08:33,975 >> SPEAKER: Ya. 206 00:08:33,975 --> 00:08:37,650 Jadi saya buat tulis jumlah int int a. 207 00:08:37,650 --> 00:08:41,120 Saya menulis baris ini, dan kemudian saya mempunyai terbuka pendakap kerinting, ditutup pendakap kerinting. 208 00:08:41,120 --> 00:08:46,160 Apa yang anda fikir saya menulis di dalam mereka pendakap kerinting, di dalam fungsi itu? 209 00:08:46,160 --> 00:08:46,600 Yeah? 210 00:08:46,600 --> 00:08:48,150 >> PENONTON: Pulang sama dengan. 211 00:08:48,150 --> 00:08:50,010 >> PEMPROSES: Itu tekaan benar-benar baik. 212 00:08:50,010 --> 00:08:51,720 Yang difikirkan [? Manu?] Yang betul? 213 00:08:51,720 --> 00:08:54,122 Ia berkata kembali tambah b. 214 00:08:54,122 --> 00:08:55,860 OK, bukan semua orang. 215 00:08:55,860 --> 00:08:56,520 [? Akshar,?] 216 00:08:56,520 --> 00:08:57,390 anda juga? 217 00:08:57,390 --> 00:09:00,430 Anda pasti? 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 Apa? 221 00:09:10,050 --> 00:09:11,662 >> PENONTON: Anda dieja salah. 222 00:09:11,662 --> 00:09:13,000 >> SPEAKER: Tidak, saya tidak. 223 00:09:13,000 --> 00:09:13,966 Ya, hanya bercanda. 224 00:09:13,966 --> 00:09:15,300 Anda betul. 225 00:09:15,300 --> 00:09:15,930 Itu betul-betul apa yang dikatakannya. 226 00:09:15,930 --> 00:09:17,110 Ia kembali tambah b. 227 00:09:17,110 --> 00:09:18,570 Yang membuat banyak akal. 228 00:09:18,570 --> 00:09:20,240 >> OK, mari kita kembali di sini. 229 00:09:20,240 --> 00:09:21,490 Kita melihat bagaimana header - 230 00:09:21,490 --> 00:09:24,540 231 00:09:24,540 --> 00:09:25,660 itulah jenis pulangan. 232 00:09:25,660 --> 00:09:29,100 Ingat, kita telah melihat hari yang satu, kembali jenis majlis itu, tetapi pergi 233 00:09:29,100 --> 00:09:30,160 di hadapan nama fungsi int itu. 234 00:09:30,160 --> 00:09:31,560 Di sini, saya telah menulis int. 235 00:09:31,560 --> 00:09:35,680 Apa yang anda fikir akan berlaku jika ini fungsi, saya tidak menulis int, tetapi 236 00:09:35,680 --> 00:09:38,270 Saya menulis tidak? 237 00:09:38,270 --> 00:09:41,050 Perbezaannya, sudah tentu, adalah bahawa tidak ditandatangani mewakili hanya positif 238 00:09:41,050 --> 00:09:43,620 integer, dan int boleh positif atau negatif. 239 00:09:43,620 --> 00:09:45,450 >> Jadi saya telah berubah pulangan jenis fungsi ini. 240 00:09:45,450 --> 00:09:49,370 Kod ini tidak sepadan dengan nyata ini menaip di sini. 241 00:09:49,370 --> 00:09:50,925 Apa yang anda fikir akan berlaku apabila saya menyusun? 242 00:09:50,925 --> 00:09:53,840 243 00:09:53,840 --> 00:09:56,240 Anda perlu menjerit pada saya. 244 00:09:56,240 --> 00:09:57,700 Tiada menjerit. 245 00:09:57,700 --> 00:10:00,050 >> Bagaimana pula apabila saya menjalankan program ini? 246 00:10:00,050 --> 00:10:05,810 Mari kita buat sebelum 0 negatif 3, atau negatif 1. 247 00:10:05,810 --> 00:10:10,180 Ia masih bekerja, walaupun saya cakapkan ia kembali integer tak bertanda. 248 00:10:10,180 --> 00:10:12,060 Jelas sekali ia tidak kembali integer tak bertanda. 249 00:10:12,060 --> 00:10:13,520 Ia kembali integer yang ditandatangani. 250 00:10:13,520 --> 00:10:16,130 Ia kembali negatif 1. 251 00:10:16,130 --> 00:10:17,830 OK, itu pelik. 252 00:10:17,830 --> 00:10:27,030 >> Bagaimana pula jika saya pergi di sini dan berbuat demikian? 253 00:10:27,030 --> 00:10:29,700 Jadi saya telah mengubah segala-galanya dari int untuk tidak ditandatangani. 254 00:10:29,700 --> 00:10:31,590 Ia hanya boleh mengambil integer tak bertanda. 255 00:10:31,590 --> 00:10:33,840 Tetapi adakah kita masih berfikir ia akan berjalan? 256 00:10:33,840 --> 00:10:35,652 >> PENONTON: Ya. 257 00:10:35,652 --> 00:10:37,270 >> SPEAKER: Ia akan. 258 00:10:37,270 --> 00:10:39,410 Itu gila. 259 00:10:39,410 --> 00:10:43,140 Dan kita lulus dalam diberikan jelas integer, kita boleh lulus dua ditandatangani 260 00:10:43,140 --> 00:10:46,280 integer, ia masih berfungsi. 261 00:10:46,280 --> 00:10:52,150 >> OK, mana-mana idea-idea mengapa ia masih kerja-kerja, atau apa yang berlaku? 262 00:10:52,150 --> 00:10:53,368 Ya, Jeff. 263 00:10:53,368 --> 00:10:56,296 >> PENONTON: Ia mempunyai sesuatu untuk dilakukan dengan pengoptimuman anda bahawa anda 264 00:10:56,296 --> 00:10:57,760 diserlahkan. 265 00:10:57,760 --> 00:10:58,210 >> SPEAKER: No 266 00:10:58,210 --> 00:11:00,570 Kita boleh menukar pengoptimuman, ia masih akan bekerja. 267 00:11:00,570 --> 00:11:02,240 Yang boleh saya lakukan untuk anda, tetapi - 268 00:11:02,240 --> 00:11:02,930 >> PENONTON: Saya akan mengambil kata-kata anda untuk itu. 269 00:11:02,930 --> 00:11:03,690 >> SPEAKER: Ya. 270 00:11:03,690 --> 00:11:09,690 Jika anda membuka makefile yang betul di sini, Saya menukar pengoptimuman. 271 00:11:09,690 --> 00:11:11,570 Jadi, anda boleh melakukan dash sifar, sifar. 272 00:11:11,570 --> 00:11:12,820 Ia masih akan berfungsi. 273 00:11:12,820 --> 00:11:16,839 274 00:11:16,839 --> 00:11:20,280 Pemikiran yang lain? 275 00:11:20,280 --> 00:11:22,600 >> Kalian semua dijangka akan bekerja, jadi Kenapa awak mengharapkan ia berfungsi? 276 00:11:22,600 --> 00:11:31,210 277 00:11:31,210 --> 00:11:32,150 Tidak? 278 00:11:32,150 --> 00:11:33,660 Senyap. 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 Saya perlu menunggu tujuh saat, kerana saya bertanya soalan. 282 00:11:41,650 --> 00:11:44,190 283 00:11:44,190 --> 00:11:48,660 >> Jadi perkara yang sejuk kira-kira C, dan anda telah mungkin dialami sebelum - anda 284 00:11:48,660 --> 00:11:50,260 mungkin tidak mempunyai, kekuatan ini menjadi kali pertama. 285 00:11:50,260 --> 00:11:57,030 Tetapi seperti yang anda semua tahu, apabila saya menulis sesuatu dalam C, ia tidak menyimpan seperti 286 00:11:57,030 --> 00:11:57,760 ini pada komputer. 287 00:11:57,760 --> 00:11:59,440 Ia disimpan sebagai orang-orang dan sifar. 288 00:11:59,440 --> 00:12:02,970 Ia pergi dari kod C dengan kod pemasangan. 289 00:12:02,970 --> 00:12:09,460 >> Adakah sesiapa dilihat kod pemasangan sebelum ini, mesin kod pemasangan? 290 00:12:09,460 --> 00:12:10,630 Kita akan melihat dalam satu saat. 291 00:12:10,630 --> 00:12:12,040 Ia pergi dari kod C dengan kod pemasangan. 292 00:12:12,040 --> 00:12:13,755 Dan anda semua tahu peringkat penyusunan. 293 00:12:13,755 --> 00:12:17,410 Anda terpaksa menghafal untuk kuiz yang satu, dan kemudian menulisnya pada kuiz sifar. 294 00:12:17,410 --> 00:12:18,240 Kebanyakan orang salah. 295 00:12:18,240 --> 00:12:19,760 Saya fikir anda semua dipaku ia. 296 00:12:19,760 --> 00:12:22,880 >> Tetapi, anda lelaki adalah seksyen yang terbaik untuk kuiz, dengan cara itu. 297 00:12:22,880 --> 00:12:25,210 Yang adalah hebat. 298 00:12:25,210 --> 00:12:25,910 Ia tidak akan menyakiti anda. 299 00:12:25,910 --> 00:12:26,900 Jangan bimbang. 300 00:12:26,900 --> 00:12:28,800 Tetapi ia benar-benar sejuk. 301 00:12:28,800 --> 00:12:29,660 Kerja yang baik. 302 00:12:29,660 --> 00:12:32,870 >> Jadi ia pergi ke bahasa himpunan, dan kemudian ia pergi kepada orang-orang dan sifar. 303 00:12:32,870 --> 00:12:35,500 Dan orang-orang yang besar sifar dan disimpan pada komputer, dan itulah yang disimpan dalam 304 00:12:35,500 --> 00:12:38,340 a.out, atau dalam kes ini, fail boleh laku. 305 00:12:38,340 --> 00:12:41,040 Dan komputer berjalan orang-orang dan sifar. 306 00:12:41,040 --> 00:12:41,670 Betul? 307 00:12:41,670 --> 00:12:43,890 Kami telah belajar ini sebelum ini. 308 00:12:43,890 --> 00:12:47,490 >> Jadi perkara yang sejuk adalah, ini tidak ditandatangani idea, idea jenis Ints tidak ditandatangani, 309 00:12:47,490 --> 00:12:50,490 dan sebagainya, dan sebagainya, itu di sini dalam bahasa C. 310 00:12:50,490 --> 00:12:51,110 Mereka wujud. 311 00:12:51,110 --> 00:12:53,770 Tetapi jenis tidak wujud sama orang-orang yang dan sifar. 312 00:12:53,770 --> 00:12:57,110 Jenis tidak benar-benar wujud di peringkat bahasa himpunan. 313 00:12:57,110 --> 00:13:00,075 Jadi, itu sesuatu yang wujud dalam C dunia tetapi tidak wujud dalam komputer 314 00:13:00,075 --> 00:13:01,640 dunia atau dunia pemproses. 315 00:13:01,640 --> 00:13:04,660 Itulah beberapa abstraksi bahawa C bahasa telah dimasukkan, untuk membuat kita 316 00:13:04,660 --> 00:13:06,240 hidup lebih mudah. 317 00:13:06,240 --> 00:13:09,990 >> Jadi, pada akhir hari, saya boleh menulis banyak perkara yang berbeza di sini, dan ia 318 00:13:09,990 --> 00:13:10,700 tidak membuat perbezaan. 319 00:13:10,700 --> 00:13:12,060 Kerana itu hanya wujud di dunia C. 320 00:13:12,060 --> 00:13:14,100 Ia tidak wujud dalam orang-orang dan sifar dunia. 321 00:13:14,100 --> 00:13:17,310 Dan program kita melaksanakan dalam dan orang-orang yang besar sifar dunia. 322 00:13:17,310 --> 00:13:21,170 Jadi minda anda jelas tidak ditiup yet. 323 00:13:21,170 --> 00:13:22,740 Tetapi saya berfikir bahawa sejuk. 324 00:13:22,740 --> 00:13:23,530 Ya, Jeff. 325 00:13:23,530 --> 00:13:27,298 >> PENONTON: Jadi, jika bukan melakukan int, char anda lakukan. 326 00:13:27,298 --> 00:13:27,770 Dan anda - 327 00:13:27,770 --> 00:13:29,311 >> SPEAKER: Mari kita melakukannya dalam sebentar. 328 00:13:29,311 --> 00:13:32,583 >> PENONTON: Kerana maka anda mendapat tidak ditandatangani pergi dari negatif kepada 128 329 00:13:32,583 --> 00:13:34,720 127 atau 0 hingga 255. 330 00:13:34,720 --> 00:13:36,760 >> SPEAKER: Jadi char adalah bermasalah. 331 00:13:36,760 --> 00:13:39,460 Adakah sesiapa tahu mengapa char akan masalah, dan ia akan benar-benar 332 00:13:39,460 --> 00:13:42,930 mengubah keadaan dalam yang dan sifar dunia? 333 00:13:42,930 --> 00:13:44,370 >> PENONTON: Kerana saiz char. 334 00:13:44,370 --> 00:13:46,200 >> SPEAKER: Saiz char ialah 1. 335 00:13:46,200 --> 00:13:48,260 Jadi tidak ditandatangani juga 4 bait. 336 00:13:48,260 --> 00:13:50,080 Jadi char akan skru perkara. 337 00:13:50,080 --> 00:13:55,660 Tetapi apa yang 4 bait itulah berkaitan dengan char a? 338 00:13:55,660 --> 00:13:57,820 Atau sekurang-yang menambah satu tambahan - 339 00:13:57,820 --> 00:13:59,760 anda boleh meletakkan satu aksara lebih selepas char. 340 00:13:59,760 --> 00:14:00,200 >> PENONTON: Char bintang. 341 00:14:00,200 --> 00:14:01,220 >> SPEAKER: Char bintang ini mempunyai 4 bait. 342 00:14:01,220 --> 00:14:02,490 Jadi mari kita buat sesuatu itu adalah satu bintang char. 343 00:14:02,490 --> 00:14:05,470 344 00:14:05,470 --> 00:14:07,240 >> Jadi ini mungkin akan bekerja, tetapi kami akan melakukan sesuatu yang 345 00:14:07,240 --> 00:14:09,710 crazier daripada ini. 346 00:14:09,710 --> 00:14:10,960 Pada pendapat saya, crazier. 347 00:14:10,960 --> 00:14:21,060 348 00:14:21,060 --> 00:14:24,570 >> Saya kini telah menulis satu fungsi yang mengembalikan penunjuk, dan ia mengambil 349 00:14:24,570 --> 00:14:29,480 penunjuk dan nilai tidak ditandatangani - kita akan menukar kembali ini untuk int supaya kita tidak 350 00:14:29,480 --> 00:14:31,250 membuat terlalu banyak perubahan sekaligus. 351 00:14:31,250 --> 00:14:35,370 Dan ia mempunyai pelbagai dipanggil, indeks ke array, dan pulangan 352 00:14:35,370 --> 00:14:35,850 alamat. 353 00:14:35,850 --> 00:14:37,470 Kami telah melihat pengendali ini sebelum ini. 354 00:14:37,470 --> 00:14:43,340 Ini, apa yang anda rasa ini akan untuk berbuat demikian, sebagai balasan, apabila saya menjalankannya? 355 00:14:43,340 --> 00:14:48,280 356 00:14:48,280 --> 00:14:49,070 Apa yang anda fikir ia akan lakukan? 357 00:14:49,070 --> 00:14:50,320 Apa-apa tekaan? 358 00:14:50,320 --> 00:14:54,220 359 00:14:54,220 --> 00:14:55,320 >> PENONTON: Segfault. 360 00:14:55,320 --> 00:14:55,600 >> SPEAKER: Apa? 361 00:14:55,600 --> 00:14:56,660 Segfault? 362 00:14:56,660 --> 00:14:58,520 Itu tekaan yang baik. 363 00:14:58,520 --> 00:14:59,430 Tom berkata perkara yang sama. 364 00:14:59,430 --> 00:15:02,240 Apa-apa tekaan yang lain? 365 00:15:02,240 --> 00:15:05,260 >> Yang difikirkan ia akan melakukan perkara yang sama? 366 00:15:05,260 --> 00:15:06,510 Yang difikirkan ia akan segfault? 367 00:15:06,510 --> 00:15:09,350 368 00:15:09,350 --> 00:15:10,230 Ia perkara yang sama. 369 00:15:10,230 --> 00:15:11,880 Maaf. 370 00:15:11,880 --> 00:15:13,860 >> Tetapi, sudah tentu, kita masukkan ke dalam 1 dan 2. 371 00:15:13,860 --> 00:15:16,470 Dan mereka adalah kedua-dua sah, bukan? 372 00:15:16,470 --> 00:15:19,420 Mari kita lihat, kita boleh pergi ke tempat kedua dalam array. 373 00:15:19,420 --> 00:15:24,010 Tetapi bagaimana jika kita dibuat b nombor negatif? 374 00:15:24,010 --> 00:15:26,380 Itu mungkin tekaan yang lebih baik sesuatu segfaulting. 375 00:15:26,380 --> 00:15:30,310 376 00:15:30,310 --> 00:15:32,260 Ia masih berfungsi. 377 00:15:32,260 --> 00:15:35,020 >> OK, ini kini gila. 378 00:15:35,020 --> 00:15:38,350 Ini adalah fungsi jumlah sama sah. 379 00:15:38,350 --> 00:15:40,470 Ini melakukan perkara yang sama tepat sebagai pulangan a dan b. 380 00:15:40,470 --> 00:15:44,600 Bolehkah sesiapa menjelaskan mengapa ini adalah baik yang kesimpulan fungsi, atau mengapa ini kerja-kerja? 381 00:15:44,600 --> 00:15:45,850 Apa yang berlaku di sini? 382 00:15:45,850 --> 00:15:49,360 383 00:15:49,360 --> 00:15:55,750 Mengapa ini melakukan perkara yang sama tepat perkara sebagai fungsi jumlah lama kita? 384 00:15:55,750 --> 00:15:56,890 [? Akshar,?] 385 00:15:56,890 --> 00:15:58,155 apa yang berlaku? 386 00:15:58,155 --> 00:16:01,540 >> PENONTON: Kerana apabila anda mempunyai a itulah alamat untuk 387 00:16:01,540 --> 00:16:03,950 memori lokasi - 388 00:16:03,950 --> 00:16:07,910 dan apabila anda Ampersand, ia pergi ke alamat ingatan. 389 00:16:07,910 --> 00:16:13,610 Dan apabila anda pergi untuk b, anda jenis langkah dari alamat memori yang bergerak, 390 00:16:13,610 --> 00:16:15,550 anda kembali itu. 391 00:16:15,550 --> 00:16:20,083 Jadi anda sebenarnya, sebenarnya, menambah dan b [didengar]. 392 00:16:20,083 --> 00:16:23,300 393 00:16:23,300 --> 00:16:26,222 Di manakah operasi standard pada pulangan yang? 394 00:16:26,222 --> 00:16:27,683 Seperti, di manakah kurungan jatuh? 395 00:16:27,683 --> 00:16:30,610 Apakah pulangan pada ucapan di sebelum atau selepas [didengar]? 396 00:16:30,610 --> 00:16:32,380 >> SPEAKER: Ia akan indeks ke dalam b - 397 00:16:32,380 --> 00:16:34,430 atau indeks ke dalam - dan kemudian kembali alamat. 398 00:16:34,430 --> 00:16:38,800 399 00:16:38,800 --> 00:16:41,340 OK, jadi tidak semua orang memahami apa [? Akshar?] 400 00:16:41,340 --> 00:16:45,830 berkata, dan menjelaskan, mengapa ini berfungsi? 401 00:16:45,830 --> 00:16:49,430 Saya tidak, kali pertama seseorang menjelaskan ini kepada saya. 402 00:16:49,430 --> 00:16:51,900 Adakah sesiapa akan suka gambar untuk menerangkan ini? 403 00:16:51,900 --> 00:16:55,320 Kita akan dijadikan imej, dengan tiada penanda, yang hebat. 404 00:16:55,320 --> 00:16:57,920 Found beberapa. 405 00:16:57,920 --> 00:17:03,390 >> Oleh itu, kita mempunyai pelbagai itulah satu siri kotak. 406 00:17:03,390 --> 00:17:07,160 407 00:17:07,160 --> 00:17:13,710 Yang pertama ialah indeks 0, indeks 1, 2, 3, 4, dot, dot, dot. 408 00:17:13,710 --> 00:17:15,609 Satu pelbagai biasa. 409 00:17:15,609 --> 00:17:19,540 Dan di samping mempunyai indeks, mereka semua mempunyai alamat-alamat ingatan. 410 00:17:19,540 --> 00:17:30,190 Jadi mari kita memberi alamat ingatan ini 13, 14, 15, 16, 17, dan sebagainya. 411 00:17:30,190 --> 00:17:32,490 Semua orang di sini setakat ini. 412 00:17:32,490 --> 00:17:35,810 >> Jadi alamat. 413 00:17:35,810 --> 00:17:38,850 Nama pelbagai, penunjuk disimpan di sana. 414 00:17:38,850 --> 00:17:42,730 Ia penunjuk, ia lokasi memori, untuk permulaan array. 415 00:17:42,730 --> 00:17:45,910 Jadi, jika ini adalah pelbagai, yang akan menjadi nilai 13. 416 00:17:45,910 --> 00:17:49,110 Dan, sudah tentu, kita boleh memberi yang apa-apa nilai yang kita mahu. 417 00:17:49,110 --> 00:17:52,450 Char bintang, kita boleh memberikan apa-apa alamat ingatan yang kita mahu. 418 00:17:52,450 --> 00:17:55,940 Kami boleh memberikan 0, kita boleh memberikan negatif 1 - negatif 1 tidak wujud, 419 00:17:55,940 --> 00:17:58,820 jadi itu mungkin bermasalah, tetapi anda melihat bahawa ia masih bekerja. 420 00:17:58,820 --> 00:18:03,070 Oleh itu, kita boleh memberi apa-apa beberapa yang kita mahu, mana-mana alamat memori yang kita mahu. 421 00:18:03,070 --> 00:18:08,720 >> Kemudian, int b berkata, OK, pergi nombor ini daripada langkah ke dalam array. 422 00:18:08,720 --> 00:18:13,150 Jadi, jika b bersamaan 2 dan sama dengan 13, kami pada alamat ingatan 13. 423 00:18:13,150 --> 00:18:17,330 Dan kami pergi dua langkah-langkah dalam, dan kami di sini. 424 00:18:17,330 --> 00:18:21,150 Dan Ampersand bermakna pulangan alamat lokasi ini. 425 00:18:21,150 --> 00:18:23,990 Dan alamat itu adalah, sudah tentu, 15. 426 00:18:23,990 --> 00:18:28,710 Oleh itu, kita mendapat 13 campur 2, atau tambah b, iaitu 15. 427 00:18:28,710 --> 00:18:29,590 >> Persoalannya, walaupun - 428 00:18:29,590 --> 00:18:30,250 Saya minta maaf. 429 00:18:30,250 --> 00:18:34,324 Adakah itu menjelaskan perkara mengapa ini kerja-kerja? 430 00:18:34,324 --> 00:18:36,300 >> PENONTON: Mengapa ia akan bekerja akan - 431 00:18:36,300 --> 00:18:38,770 supaya anda boleh mempunyai pelbagai dan pergi ke indeks negatif? 432 00:18:38,770 --> 00:18:39,050 >> SPEAKER: Betul. 433 00:18:39,050 --> 00:18:40,870 Begitu juga dengan kami nombor negatif, jadi itulah - 434 00:18:40,870 --> 00:18:42,770 adakah ini masuk akal walaupun, pertama, [? Avi,?] 435 00:18:42,770 --> 00:18:43,120 untuk anda? 436 00:18:43,120 --> 00:18:48,840 >> PENONTON: Ya saya hanya [Didengar], tetapi - 437 00:18:48,840 --> 00:18:50,440 >> SPEAKER: Ya, ini akan kembali 15. 438 00:18:50,440 --> 00:18:53,523 Jika adalah 13, dan b adalah 2, ini akan kembali 15. 439 00:18:53,523 --> 00:18:58,160 >> PENONTON: Jadi pengindeksan sifar tidak menjadi isu, bukan? 440 00:18:58,160 --> 00:19:00,160 Kerana anda bergerak dari 0. 441 00:19:00,160 --> 00:19:00,470 >> SPEAKER: Betul. 442 00:19:00,470 --> 00:19:05,000 Jadi anda bergerak - jadi jika b adalah 0, anda tidak akan bergerak di mana sahaja. 443 00:19:05,000 --> 00:19:06,330 Dan anda hanya akan kembali alamat - 444 00:19:06,330 --> 00:19:10,830 jika b adalah 0, itu pada dasarnya kembali alamat a. 445 00:19:10,830 --> 00:19:13,960 Lulus dalam char bintang dan mengembalikan alamat yang hanya mengembalikan sesuatu, 446 00:19:13,960 --> 00:19:15,860 asasnya. 447 00:19:15,860 --> 00:19:18,280 >> OK, persoalannya ialah mengapa nombor negatif berfungsi? 448 00:19:18,280 --> 00:19:21,670 Dan itu perkara yang benar-benar sejuk kira-kira ini, kerana ini perlu segfault. 449 00:19:21,670 --> 00:19:25,110 Dan ia akan segfault jika kita lakukan sesuatu seperti ini. 450 00:19:25,110 --> 00:19:28,050 451 00:19:28,050 --> 00:19:29,300 Katakan, int. 452 00:19:29,300 --> 00:19:34,390 453 00:19:34,390 --> 00:19:39,810 Jadi kod ini kelihatan serupa dan harus berkelakuan sepercaman. 454 00:19:39,810 --> 00:19:44,550 Pada asasnya, x adalah pembolehubah sampah, dan sebagainya ini harus berkelakuan sepercaman. 455 00:19:44,550 --> 00:19:46,370 >> Mari kita membuat ini - 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 dalam bintang. 459 00:19:56,040 --> 00:19:59,160 460 00:19:59,160 --> 00:20:02,733 OK, kita sudah mendapat kesilapan di sini, kerana ia sudah akan menjadi marah 461 00:20:02,733 --> 00:20:04,610 pada saya, kerana ia sudah tahu apa yang akan datang. 462 00:20:04,610 --> 00:20:07,060 Khususnya, yang kedua. 463 00:20:07,060 --> 00:20:09,800 Alamat memori disusun berkaitan dengan pembolehubah tempatan. 464 00:20:09,800 --> 00:20:14,220 >> Pada asasnya, saya tidak akan untuk menyusun ini, dan kemudian saya akan buat asal buat 465 00:20:14,220 --> 00:20:14,920 apa yang kita hanya lakukan. 466 00:20:14,920 --> 00:20:19,130 Tetapi kerana kita tidak pernah benar-benar mengakses apa yang di ingatan 467 00:20:19,130 --> 00:20:21,930 lokasi, ia tidak akan segfault. 468 00:20:21,930 --> 00:20:26,450 Kami tidak pernah benar-benar melihat apa yang di dalam kotak kedua atau apa yang dalam mana-mana peti 469 00:20:26,450 --> 00:20:28,340 array ini. 470 00:20:28,340 --> 00:20:30,980 Kami hanya katakan, inilah alamat yang benda yang kita cari dan 471 00:20:30,980 --> 00:20:32,410 kembali alamat itu. 472 00:20:32,410 --> 00:20:35,700 Kami tidak pernah benar-benar pergi ke array untuk melihat lokasi tersebut. 473 00:20:35,700 --> 00:20:39,140 Dan kerana kita tidak pernah menyentuh memori, kita tidak mendapat dalam kesusahan. 474 00:20:39,140 --> 00:20:40,760 Kami tidak mendapat segfault a. 475 00:20:40,760 --> 00:20:46,225 >> Jika kita cuba, sekali lagi, sentuh yang memori, sentuh apa yang pada atau b - 476 00:20:46,225 --> 00:20:49,940 atau b kurungan, dan menganggap yang adalah 0 dan - 477 00:20:49,940 --> 00:20:53,040 jika adalah 0, walaupun, yang akan menjadi cantik tidak baik, kerana kita tidak boleh pergi 478 00:20:53,040 --> 00:20:54,090 turun ke sana. 479 00:20:54,090 --> 00:20:58,250 Jika a dan b adalah kedua-dua 0, dan kami cuba untuk menyentuh apa yang ada, maka kita akan 480 00:20:58,250 --> 00:20:59,110 mendapat masalah. 481 00:20:59,110 --> 00:21:02,160 Tetapi jika kita tidak menyentuh apa yang ada, kita hanya kembali alamat, ia adalah 482 00:21:02,160 --> 00:21:08,300 sebenarnya tidak akan segfault kerana ia membolehkan anda melakukan pengendalian itu. 483 00:21:08,300 --> 00:21:11,920 Ia hanya mendapat marah dengan anda, dan mendapat super marah, apabila anda cuba dan menyentuh 484 00:21:11,920 --> 00:21:15,740 memori sebenar dan kembali apa yang di lokasi ingatan. 485 00:21:15,740 --> 00:21:17,690 >> Adakah ini masuk akal? 486 00:21:17,690 --> 00:21:24,820 Itu hanya sebahagian gila C. Jadi, kita mempunyai satu lagi ini. 487 00:21:24,820 --> 00:21:27,760 488 00:21:27,760 --> 00:21:29,700 >> Yang difikirkan ini adalah sejuk? 489 00:21:29,700 --> 00:21:30,280 Lebih ramai orang. 490 00:21:30,280 --> 00:21:31,070 Itulah yang baik. 491 00:21:31,070 --> 00:21:34,860 OK, ini adalah terkini kami. 492 00:21:34,860 --> 00:21:37,314 Dan saya ingin anda untuk memberitahu saya sama ada atau anda tidak rasa ini akan 493 00:21:37,314 --> 00:21:38,564 untuk melakukan perkara yang tepat sama. 494 00:21:38,564 --> 00:22:06,050 495 00:22:06,050 --> 00:22:07,390 >> Saya telah ini diturunkan di suatu tempat. 496 00:22:07,390 --> 00:22:08,640 Saya tidak menghafal mereka. 497 00:22:08,640 --> 00:22:33,350 498 00:22:33,350 --> 00:22:42,900 >> Mari kita lihat, 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 Jadi ini adalah satu pameran, kini, bukan fungsi. 500 00:22:46,670 --> 00:22:49,640 Dan ia array kerana kita mempunyai kuasa dua kurungan, pendakap tidak kerinting. 501 00:22:49,640 --> 00:22:52,360 Dan ia pelbagai jenis? 502 00:22:52,360 --> 00:22:55,540 503 00:22:55,540 --> 00:22:56,862 Sesiapa sahaja, hmm? 504 00:22:56,862 --> 00:22:57,694 >> PENONTON: Nombor perenambelasan mereka? 505 00:22:57,694 --> 00:22:59,650 >> SPEAKER: Tetapi apa yang jenis C? 506 00:22:59,650 --> 00:23:00,710 Mereka semua mempunyai nombor perenambelasan. 507 00:23:00,710 --> 00:23:01,960 Apakah jenis C? 508 00:23:01,960 --> 00:23:04,730 509 00:23:04,730 --> 00:23:05,480 Ia memberitahu anda. 510 00:23:05,480 --> 00:23:07,350 >> PENONTON: Ia aksara tidak ditandatangani. 511 00:23:07,350 --> 00:23:09,170 >> SPEAKER: Betul, aksara tidak ditandatangani. 512 00:23:09,170 --> 00:23:13,050 Dan dua nombor perenambelasan adalah satu bait. 513 00:23:13,050 --> 00:23:18,540 Jadi ini adalah 1, 2, 3, 4, 5, 6, 7, 8, 9 bait. 514 00:23:18,540 --> 00:23:21,360 Ia merupakan satu array 9 bait. 515 00:23:21,360 --> 00:23:25,530 >> OK, anda mungkin sudah tahu jawapan kepada soalan ini. 516 00:23:25,530 --> 00:23:29,840 Tetapi, apa yang anda fikir akan berlaku apabila saya berjalan ini? 517 00:23:29,840 --> 00:23:34,110 Saya katakan sekali lagi pada mysum.c, Saya menjangkakan satu majlis 518 00:23:34,110 --> 00:23:36,280 yang mengambil masa dua integer. 519 00:23:36,280 --> 00:23:40,265 Dan saya bukan mengatakan jumlah wang itu adalah pelbagai watak-watak. 520 00:23:40,265 --> 00:23:42,780 521 00:23:42,780 --> 00:23:48,070 Apa yang akan berlaku apabila Saya berjalan. / Mysum dan membuat? 522 00:23:48,070 --> 00:23:53,230 >> Well, pertama, kebanyakan kamu akan mungkin bersetuju bahawa make - oh tidak, hanya bercanda. 523 00:23:53,230 --> 00:23:54,746 What'd saya lakukan salah? 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 Yang perlu pendakap kerinting. 527 00:24:01,160 --> 00:24:02,790 Itulah bagaimana anda memulakan array. 528 00:24:02,790 --> 00:24:04,040 Saya tidak baik. 529 00:24:04,040 --> 00:24:07,530 530 00:24:07,530 --> 00:24:11,670 >> Oleh itu, kita telah pun melihat sebelum itu jenis adalah abstraksi C-peringkat, bukan 531 00:24:11,670 --> 00:24:12,610 tahap abstraksi komputer. 532 00:24:12,610 --> 00:24:16,360 Jadi kebanyakan anda mungkin dijangka untuk membuat, atau menganggap bahawa ia akan membuat. 533 00:24:16,360 --> 00:24:18,680 Tetapi apa apabila saya berjalan. / Mysum? 534 00:24:18,680 --> 00:24:19,930 Apa yang akan berlaku? 535 00:24:19,930 --> 00:24:21,790 536 00:24:21,790 --> 00:24:23,422 Apa-apa tekaan? 537 00:24:23,422 --> 00:24:25,270 >> PENONTON: Ia akan mencetak perkataan. 538 00:24:25,270 --> 00:24:26,310 >> SPEAKER: Ia akan mencetak perkataan. 539 00:24:26,310 --> 00:24:29,335 Apa perkataan? 540 00:24:29,335 --> 00:24:32,200 >> PENONTON: [didengar]. 541 00:24:32,200 --> 00:24:33,240 >> SPEAKER: Mana-mana tekaan yang lain? 542 00:24:33,240 --> 00:24:34,000 OK, mencetak frasa. 543 00:24:34,000 --> 00:24:35,130 Anda boleh mempunyai mana-mana ungkapan. 544 00:24:35,130 --> 00:24:36,240 Yang akan sisi anda. 545 00:24:36,240 --> 00:24:38,480 Sesiapa sahaja yang mempunyai tekaan yang berbeza? 546 00:24:38,480 --> 00:24:39,730 Anna, apa tekaan anda? 547 00:24:39,730 --> 00:24:42,675 548 00:24:42,675 --> 00:24:44,615 >> PENONTON: Ia akan mencetak - 549 00:24:44,615 --> 00:24:47,525 550 00:24:47,525 --> 00:24:49,480 dua surat, atau [didengar] satu huruf. 551 00:24:49,480 --> 00:24:51,460 >> SPEAKER: Satu huruf. 552 00:24:51,460 --> 00:24:53,260 >> PENONTON: Bolehkah saya mengira berapa banyak [didengar]? 553 00:24:53,260 --> 00:24:55,426 >> SPEAKER: Sembilan. 554 00:24:55,426 --> 00:24:56,640 Well, saya akan menjalankannya. 555 00:24:56,640 --> 00:24:58,650 Ia melakukan perkara yang tepat sama. 556 00:24:58,650 --> 00:25:00,190 Ia menambah dua nombor bersama-sama. 557 00:25:00,190 --> 00:25:02,740 Nah, mari kita lulus dua hujah. 558 00:25:02,740 --> 00:25:03,710 Ia tidak memerlukan hujah. 559 00:25:03,710 --> 00:25:06,080 Jadi, saya tidak tahu di mana ia boleh mungkin mendapatkan hujah-hujah ini. 560 00:25:06,080 --> 00:25:07,710 Tetapi mari kita lulus pada 100 dan 0. 561 00:25:07,710 --> 00:25:09,200 Dan ia menambahkan 100 dan 0. 562 00:25:09,200 --> 00:25:10,220 Itu tidak siuman. 563 00:25:10,220 --> 00:25:12,280 Saya fikir begitu. 564 00:25:12,280 --> 00:25:14,480 >> Negatif 4, yang bekerja juga. 565 00:25:14,480 --> 00:25:15,650 Anda boleh melakukan apa sahaja yang anda mahu. 566 00:25:15,650 --> 00:25:17,920 Ini adalah fungsi jumlah yang sama-sama sah. 567 00:25:17,920 --> 00:25:19,640 Ini adalah satu fungsi jumlah. 568 00:25:19,640 --> 00:25:21,510 Tetapi, tidak, yang anda katakan itu pelbagai bait. 569 00:25:21,510 --> 00:25:23,570 Jadi apa yang sedang berlaku di sini? 570 00:25:23,570 --> 00:25:27,240 >> Jadi, sekali lagi, mari kita kembali kepada idea ini bahawa kita berkata pada awal-awal. 571 00:25:27,240 --> 00:25:32,050 Anda pergi dari kod C-peringkat, untuk pemasangan bahasa, untuk orang-orang dan sifar. 572 00:25:32,050 --> 00:25:33,050 Ini adalah perenambelasan. 573 00:25:33,050 --> 00:25:35,780 Tetapi ini adalah benar-benar hanya satu banyak yang dan sifar. 574 00:25:35,780 --> 00:25:39,230 Ini adalah orang-orang yang 72 dan sifar, bukan? 575 00:25:39,230 --> 00:25:40,550 72 orang-orang dan sifar. 576 00:25:40,550 --> 00:25:42,160 9 bait. 577 00:25:42,160 --> 00:25:43,740 Setiap bait mempunyai 8 bit. 578 00:25:43,740 --> 00:25:44,760 Setiap bit adalah satu atau sifar. 579 00:25:44,760 --> 00:25:45,920 Jadi 72 orang atau sifar. 580 00:25:45,920 --> 00:25:48,780 Saya baru sahaja ditulis mereka seperti ini - bukannya menulisnya sebagai banyak 581 00:25:48,780 --> 00:25:49,730 orang-orang dan sifar. 582 00:25:49,730 --> 00:25:53,560 >> Tetapi ini akan pergi dari C-tahap bahasa, untuk pemasangan 583 00:25:53,560 --> 00:25:54,620 bahasa, untuk kod. 584 00:25:54,620 --> 00:25:59,020 Dan ini akan mencetak dalam kod, tempat, 72 orang-orang dan sifar 585 00:25:59,020 --> 00:26:00,910 yang saya telah menulis di sini. 586 00:26:00,910 --> 00:26:03,610 Jadi di suatu tempat di bahawa - 587 00:26:03,610 --> 00:26:04,850 mari kita pergi di sini - 588 00:26:04,850 --> 00:26:11,240 di suatu tempat di mysum, program ini, terdapat adalah 72 orang dan sifar yang saya telah 589 00:26:11,240 --> 00:26:14,930 bertulis dan memberitahu ia untuk menulis. 590 00:26:14,930 --> 00:26:19,331 >> Kini, mana-mana tekaan untuk apa yang mereka 72 orang-orang dan sifar bermakna? 591 00:26:19,331 --> 00:26:21,240 >> PENONTON: Mungkin yang sama perkara seperti kembali tambah b. 592 00:26:21,240 --> 00:26:22,890 >> SPEAKER: Mungkin yang sama perkara seperti kembali tambah b. 593 00:26:22,890 --> 00:26:23,730 Mari kita mengesahkan bahawa. 594 00:26:23,730 --> 00:26:25,210 Mari kita memikirkan bagaimana saya lakukan ini. 595 00:26:25,210 --> 00:26:31,840 >> Jadi jika anda kembali di sini, saya memberitahu anda untuk menjalankan arahan ini, objdump-S 596 00:26:31,840 --> 00:26:34,290 sumfunction.o. 597 00:26:34,290 --> 00:26:36,230 Mari kita pergi menjalankannya. objdump - 598 00:26:36,230 --> 00:26:37,990 obj, membuang. 599 00:26:37,990 --> 00:26:39,840 Pada asasnya, ia boleh memberi saya apa yang saya mahu lihat. 600 00:26:39,840 --> 00:26:40,840 Ia boleh memberi saya bahasa perhimpunan. 601 00:26:40,840 --> 00:26:42,730 Ia boleh memberi saya satu dan sifar. 602 00:26:42,730 --> 00:26:43,840 Ia mempunyai satu tan bendera. 603 00:26:43,840 --> 00:26:45,860 Ini adalah salah satu yang kita akan digunakan untuk sekarang. 604 00:26:45,860 --> 00:26:46,980 Dot - 605 00:26:46,980 --> 00:26:48,810 seperti yang anda lihat dalam gambar - 606 00:26:48,810 --> 00:26:53,840 modal sengkang S berkata, menyelingi, kod sumber - 607 00:26:53,840 --> 00:26:58,410 baris ini adalah daripada C - dengan pemasangan kod dan dengan orang-orang dan sifar. 608 00:26:58,410 --> 00:27:00,350 Dan kita akan berjalan pada sumfunction.o. 609 00:27:00,350 --> 00:27:01,410 Kerana ia akan menjadi lebih mudah untuk melihat. 610 00:27:01,410 --> 00:27:02,670 Lagi - hmm? 611 00:27:02,670 --> 00:27:04,700 >> PENONTON: Anda dieja salah. 612 00:27:04,700 --> 00:27:05,930 >> SPEAKER: Tetapi saya benar-benar akan untuk membersihkan ia untuk kali kedua. 613 00:27:05,930 --> 00:27:09,160 Saya pertama akan membuka hanya sumfuntion.o. 614 00:27:09,160 --> 00:27:11,170 >> PENONTON: Anda dieja ia salah kali pertama. 615 00:27:11,170 --> 00:27:12,420 >> SPEAKER: Classic. 616 00:27:12,420 --> 00:27:14,790 617 00:27:14,790 --> 00:27:15,480 Jumlah - 618 00:27:15,480 --> 00:27:16,680 yang merupakan perkataan keras, walaupun. 619 00:27:16,680 --> 00:27:19,050 Anda akan terkejut. 620 00:27:19,050 --> 00:27:21,560 OK, jadi ini adalah sumfunction.o. 621 00:27:21,560 --> 00:27:24,494 622 00:27:24,494 --> 00:27:26,220 Saya tidak dapat memberitahu anda. 623 00:27:26,220 --> 00:27:30,250 Ada banyak besar sifar, jelas banyak sifar, dan ada beberapa yang lain 624 00:27:30,250 --> 00:27:31,930 barangan itu bukan sifar. 625 00:27:31,930 --> 00:27:33,220 Tetapi sebahagian besar sifar. 626 00:27:33,220 --> 00:27:35,120 Kelihatan seperti ada beberapa yang. 627 00:27:35,120 --> 00:27:36,810 Jadi jelas, ini adalah sukar untuk dibaca. 628 00:27:36,810 --> 00:27:39,320 Itulah bahasa binari. 629 00:27:39,320 --> 00:27:40,710 >> Sekarang mari kita membukanya - 630 00:27:40,710 --> 00:27:50,190 631 00:27:50,190 --> 00:27:52,350 apa? 632 00:27:52,350 --> 00:27:53,600 Apa yang saya lakukan salah? 633 00:27:53,600 --> 00:27:56,955 634 00:27:56,955 --> 00:27:58,434 Adakah saya mengeja dengan betul? 635 00:27:58,434 --> 00:28:09,865 636 00:28:09,865 --> 00:28:11,120 OK, ini adalah janggal. 637 00:28:11,120 --> 00:28:37,560 638 00:28:37,560 --> 00:28:40,158 Saya memerlukan satu kedua untuk memikirkan apa yang saya lakukan salah. 639 00:28:40,158 --> 00:28:46,030 640 00:28:46,030 --> 00:28:49,310 Itu satu kesilapan. 641 00:28:49,310 --> 00:28:50,560 Itu yang pelik. 642 00:28:50,560 --> 00:28:58,080 643 00:28:58,080 --> 00:29:01,800 Oh, itulah sebabnya. 644 00:29:01,800 --> 00:29:09,880 >> Saya akan kembali ke awal kami satu, jadi kita boleh melihat 645 00:29:09,880 --> 00:29:10,560 kod objek ini. 646 00:29:10,560 --> 00:29:13,390 Kerana tidak benar-benar akan apa-apa apabila kita hanya meletakkan 647 00:29:13,390 --> 00:29:14,640 orang-orang dan sifar masuk 648 00:29:14,640 --> 00:29:29,000 649 00:29:29,000 --> 00:29:30,200 Di sana kami pergi. 650 00:29:30,200 --> 00:29:32,425 OK, jadi semua orang boleh melihat ini. 651 00:29:32,425 --> 00:29:38,130 Fungsi ini, seperti yang saya katakan, memadamkan garisan C - 652 00:29:38,130 --> 00:29:39,060 garis kod sumber - 653 00:29:39,060 --> 00:29:41,000 dengan beberapa arahan pemasangan. 654 00:29:41,000 --> 00:29:42,760 >> Berikut adalah garis kod sumber kami. 655 00:29:42,760 --> 00:29:44,910 Berikut adalah satu, di sini satu lagi. 656 00:29:44,910 --> 00:29:46,540 Berikut adalah arahan pemasangan. 657 00:29:46,540 --> 00:29:47,820 Itulah apa yang mereka kelihatan seperti. 658 00:29:47,820 --> 00:29:49,010 Arahan pemasangan - 659 00:29:49,010 --> 00:29:51,530 anda boleh belajar lebih daripada jika anda mengambil CS kelas-kelas lain, tetapi ia 660 00:29:51,530 --> 00:29:53,500 umumnya arahan. 661 00:29:53,500 --> 00:29:57,940 Dan kemudian sumber dan destinasi. 662 00:29:57,940 --> 00:30:02,740 >> Dan kemudian di sini adalah kod binari yang sepadan dengan pemasangan yang 663 00:30:02,740 --> 00:30:04,940 pengajaran. 664 00:30:04,940 --> 00:30:09,760 Jadi seperti yang anda lihat, fungsi jumlah ini, pada akhir hari, adalah tiga 665 00:30:09,760 --> 00:30:10,950 arahan pemasangan. 666 00:30:10,950 --> 00:30:12,870 Hanya tiga. 667 00:30:12,870 --> 00:30:14,180 Satu mov - 668 00:30:14,180 --> 00:30:16,740 ini m-o-v bermaksud Pindah a. 669 00:30:16,740 --> 00:30:17,780 Tambah bermaksud Tambah. 670 00:30:17,780 --> 00:30:20,440 Dan r-e-t bermaksud Return. 671 00:30:20,440 --> 00:30:22,540 Jadi, satu mov, satu add, satu pulangan. 672 00:30:22,540 --> 00:30:27,970 Dan ini, di sini, adalah besar sifar dan orang-orang yang sesuai dengan kod itu. 673 00:30:27,970 --> 00:30:31,100 >> Maka orang-orang besar sifar dan orang, jika anda mengetahui orang-orang, anda hanya boleh meletakkan 674 00:30:31,100 --> 00:30:32,140 mereka lurus masuk 675 00:30:32,140 --> 00:30:34,130 Dan kemudian ia akan melakukan perkara yang perkara yang tepat sama. 676 00:30:34,130 --> 00:30:37,260 Kerana, pada akhir hari, semua anda melaksanakan adalah siri yang panjang 677 00:30:37,260 --> 00:30:38,480 besar sifar dan yang. 678 00:30:38,480 --> 00:30:40,700 Dan itulah yang kod anda sebenarnya. 679 00:30:40,700 --> 00:30:41,770 >> Dan sebab - 680 00:30:41,770 --> 00:30:43,680 mari kita lihat satu perkara. 681 00:30:43,680 --> 00:30:45,440 Adakah saya mempunyai makefile terbuka? 682 00:30:45,440 --> 00:30:48,510 Jadi, jika kami kembali ke melontarkan sifar, sifar di sini - 683 00:30:48,510 --> 00:30:52,220 684 00:30:52,220 --> 00:30:57,300 maaf, modal o, modal o sifar, tidak sifar, sifar. 685 00:30:57,300 --> 00:31:01,810 Dan kita tidak membuat, ia akan bekerja masih yang sama. 686 00:31:01,810 --> 00:31:05,420 Tetapi sekarang anda perasan bahawa terdapat arahan pemasangan banyak lagi. 687 00:31:05,420 --> 00:31:09,090 Ini kerana, sekali lagi, saya bertanya kepada Pengkompil tidak melakukan apa-apa pengoptimuman. 688 00:31:09,090 --> 00:31:12,800 >> Jadi saya masih boleh mengambil semua ini besar sifar dan orang, dan melemparkan mereka dalam, 689 00:31:12,800 --> 00:31:13,390 dan yang akan bekerja. 690 00:31:13,390 --> 00:31:15,850 Saya hanya melakukan yang pengoptimuman, kerana ia sedikit lebih mudah, maka, 691 00:31:15,850 --> 00:31:17,310 untuk menulis pelbagai itu. 692 00:31:17,310 --> 00:31:19,730 Tetapi ini akan bekerja sama dengan baik. 693 00:31:19,730 --> 00:31:24,460 >> OK, kita akan melakukan satu perkara akhir, kerana saya fikir adalah bahagian yang paling sejuk. 694 00:31:24,460 --> 00:31:27,410 Walaupun semua orang dengan jelas sudah ditiup dan membisu. 695 00:31:27,410 --> 00:31:30,520 696 00:31:30,520 --> 00:31:31,670 Fikiran kita besaran. 697 00:31:31,670 --> 00:31:32,920 [Didengar] 698 00:31:32,920 --> 00:31:47,580 699 00:31:47,580 --> 00:31:51,520 >> Jadi, ini adalah dari kelas CS yang berbeza, yang super menarik, 700 00:31:51,520 --> 00:31:52,970 bahawa saya telah mengambil - 701 00:31:52,970 --> 00:31:54,140 CS61. 702 00:31:54,140 --> 00:31:55,910 Saya sangat menggalakkan anda untuk mengambilnya. 703 00:31:55,910 --> 00:31:58,990 Tetapi bahagian yang sejuk kira-kira fakta ini, yang perkara-perkara yang hanya besar sifar dan yang, 704 00:31:58,990 --> 00:32:01,270 adalah bahawa segala-galanya adalah besar sifar dan yang. 705 00:32:01,270 --> 00:32:05,330 >> Jadi, anda boleh mengambil fail yang mempunyai besar sifar betul dan orang-orang yang anda mahu 706 00:32:05,330 --> 00:32:10,390 di suatu tempat di dalamnya, dan menggunakan bahagian tersebut dalam besar sifar dan yang sebagai fungsi jumlah. 707 00:32:10,390 --> 00:32:11,480 >> Apa yang saya maksudkan dengan itu? 708 00:32:11,480 --> 00:32:15,755 Maksud saya, anda boleh mengambil fail imej yang mempunyai siri yang betul dan besar sifar 709 00:32:15,755 --> 00:32:17,120 yang, yang mencetak sesuatu keluar kepada sesuatu imej. 710 00:32:17,120 --> 00:32:20,070 Dan satu program mungkin mentafsir adalah imej, tetapi anda boleh mentafsirkannya, jika 711 00:32:20,070 --> 00:32:22,040 anda mahu, sebagai fungsi jumlah. 712 00:32:22,040 --> 00:32:27,010 >> Jadi, jika kita mahu untuk membuka, untuk Sebagai contoh, imej ini. 713 00:32:27,010 --> 00:32:37,440 Mari kita pergi, Hello Kitty. 714 00:32:37,440 --> 00:32:38,810 Imej kecil yang indah. 715 00:32:38,810 --> 00:32:42,260 Di sini terdapat tali yang sifar dan yang. 716 00:32:42,260 --> 00:32:45,500 Mereka 72 besar sifar dan yang wujud dalam imej ini. 717 00:32:45,500 --> 00:32:47,695 >> Jadi apa yang boleh saya lakukan, maka, adalah menulis - 718 00:32:47,695 --> 00:32:50,510 719 00:32:50,510 --> 00:32:51,760 Saya perlu ingat di mana mereka berada. 720 00:32:51,760 --> 00:32:54,550 721 00:32:54,550 --> 00:32:55,720 Saya akan mendapati bahawa dalam satu saat. 722 00:32:55,720 --> 00:32:57,840 Tetapi kita lakukan - 723 00:32:57,840 --> 00:32:59,440 biarlah saya mengetahui di mana mereka berada. 724 00:32:59,440 --> 00:33:00,020 Satu sec. 725 00:33:00,020 --> 00:33:01,270 Mari kita lakukan - 726 00:33:01,270 --> 00:33:05,800 727 00:33:05,800 --> 00:33:07,240 >> PENONTON: [didengar]. 728 00:33:07,240 --> 00:33:08,490 >> SPEAKER: Terima kasih. 729 00:33:08,490 --> 00:33:24,240 730 00:33:24,240 --> 00:33:28,740 Jadi, jika kita melaksanakan program ini, yang bukannya dibaca dalam fail, kemudian ia pergi 731 00:33:28,740 --> 00:33:33,160 pengenalan ini dalam fail. 732 00:33:33,160 --> 00:33:35,500 Dan kemudian, sekali lagi, sama seperti mysum, mengambil dua nombor. 733 00:33:35,500 --> 00:33:41,410 Kita boleh menambah nombor sama seperti yang kami lakukan sebelum ini, yang pergi ke 734 00:33:41,410 --> 00:33:44,850 menunjukkan kepada anda bagaimana fakta bahawa, pada akhir hari, semua perkara ini adalah 735 00:33:44,850 --> 00:33:45,350 besar sifar dan yang. 736 00:33:45,350 --> 00:33:48,170 Dan ia hanya bagaimana anda memilih untuk mentafsirkan mereka. 737 00:33:48,170 --> 00:33:50,770 >> Dan jika anda benar-benar melihat pada imej ini - 738 00:33:50,770 --> 00:33:52,930 mari kita zum dalam sedikit. 739 00:33:52,930 --> 00:33:53,720 Bolehkah semua orang melihatnya? 740 00:33:53,720 --> 00:33:57,570 Anda akan melihat di sini, ada beberapa noda pelik. 741 00:33:57,570 --> 00:34:00,130 742 00:34:00,130 --> 00:34:02,290 Mari kita pergi - ini adalah imej asal. 743 00:34:02,290 --> 00:34:04,540 Anda akan melihat di sini tidak ada noda. 744 00:34:04,540 --> 00:34:08,420 Itulah kod untuk fungsi jumlah itu, ialah sedikit noda di sana. 745 00:34:08,420 --> 00:34:13,449 >> Dan sebenarnya, sekali lagi, jika anda mengetahui lebih lanjut tentang perkara ini, anda akan menyedari bahawa ini 746 00:34:13,449 --> 00:34:18,270 Hello Kitty, yang mempunyai walaupun yang lebih besar noda, mempunyai kod yang boleh mengambil alih 747 00:34:18,270 --> 00:34:21,800 komputer jika ia tidak dilindungi sewajarnya. 748 00:34:21,800 --> 00:34:23,920 Jadi anda benar-benar boleh menjalankan ini. 749 00:34:23,920 --> 00:34:25,380 Saya tidak akan berjalan sekarang. 750 00:34:25,380 --> 00:34:30,600 Tetapi anda boleh menjalankan ini Hello Kitty imej, dan ia boleh 751 00:34:30,600 --> 00:34:32,429 mengambil alih komputer anda. 752 00:34:32,429 --> 00:34:35,159 >> Jadi itu sahaja buat demo. 753 00:34:35,159 --> 00:34:38,560 Adakah sesiapa mempunyai apa-apa soalan, komen, kebimbangan? 754 00:34:38,560 --> 00:34:39,515 Saya rasa perkara ini adalah menarik. 755 00:34:39,515 --> 00:34:41,500 Ia memberi inspirasi kepada saya untuk mengetahui lebih lanjut. 756 00:34:41,500 --> 00:34:44,980 Saya sangat mengesyorkan, jika anda berminat pada semua pada CS, bercakap dengan saya. 757 00:34:44,980 --> 00:34:50,250 Walaupun saya Kajian Sosial Penumpu, saya seorang CS, menengah, jadi 758 00:34:50,250 --> 00:34:52,340 Saya masih tahu sedikit. 759 00:34:52,340 --> 00:34:53,810 Tetapi saya tahu apa yang kelas anda perlu ambil. 760 00:34:53,810 --> 00:34:57,940 Saya fikir itu semua benar-benar menarik, dan saya menggalakkan anda, sudah tentu, untuk 761 00:34:57,940 --> 00:35:00,330 mengetahui lebih lanjut jika anda berminat. 762 00:35:00,330 --> 00:35:02,090 >> OK, saya mempunyai satu akhir. 763 00:35:02,090 --> 00:35:05,530 764 00:35:05,530 --> 00:35:05,870 Maaf. 765 00:35:05,870 --> 00:35:06,460 Apa-apa soalan? 766 00:35:06,460 --> 00:35:10,010 Saya tidak berhenti untuk menunggu jika sesiapa mempunyai apa-apa soalan tentang itu. 767 00:35:10,010 --> 00:35:13,220 768 00:35:13,220 --> 00:35:16,900 >> Adakah sesiapa akan menjadi a CS Penumpu? 769 00:35:16,900 --> 00:35:18,580 Atau memikirkan tentang perkara ini? 770 00:35:18,580 --> 00:35:20,730 Satu, dua, tiga, empat. 771 00:35:20,730 --> 00:35:21,620 Satu - satunya. 772 00:35:21,620 --> 00:35:24,680 Anna merupakan satu-satunya tangan itu dibangkitkan sebagai lembaga. 773 00:35:24,680 --> 00:35:27,640 774 00:35:27,640 --> 00:35:29,390 OK, itu sejuk. 775 00:35:29,390 --> 00:35:30,110 Assam, apa yang anda akan lakukan? 776 00:35:30,110 --> 00:35:33,220 >> PENONTON: [didengar]. 777 00:35:33,220 --> 00:35:33,910 >> SPEAKER: Constantine? 778 00:35:33,910 --> 00:35:34,990 >> PENONTON: Fizik. 779 00:35:34,990 --> 00:35:36,720 >> SPEAKER: Wah, yang cepat. 780 00:35:36,720 --> 00:35:40,770 Anda mempunyai pengalaman buruk di CS50? 781 00:35:40,770 --> 00:35:42,015 [Didengar], apa yang anda akan lakukan? 782 00:35:42,015 --> 00:35:42,980 >> PENONTON: Saya tidak mempunyai idea. 783 00:35:42,980 --> 00:35:43,924 >> SPEAKER: Curt? 784 00:35:43,924 --> 00:35:45,900 >> PENONTON: Econ atau CS. 785 00:35:45,900 --> 00:35:46,910 >> SPEAKER: Econ atau CS. 786 00:35:46,910 --> 00:35:47,840 Tom? 787 00:35:47,840 --> 00:35:48,385 >> PENONTON: Saya melakukan Stat. 788 00:35:48,385 --> 00:35:48,950 >> SPEAKER: Stat? 789 00:35:48,950 --> 00:35:50,100 OK. 790 00:35:50,100 --> 00:35:51,000 Apa yang anda? 791 00:35:51,000 --> 00:35:51,310 >> PENONTON: Me? 792 00:35:51,310 --> 00:35:51,750 >> SPEAKER: Ya. 793 00:35:51,750 --> 00:35:52,190 >> PENONTON: Stat. 794 00:35:52,190 --> 00:35:52,520 >> SPEAKER: Stat. 795 00:35:52,520 --> 00:35:53,500 Oh, ada anda pergi. 796 00:35:53,500 --> 00:35:55,200 Tom, bercakap dengan Alden. 797 00:35:55,200 --> 00:35:56,932 Emily, apa yang anda? 798 00:35:56,932 --> 00:35:57,396 >> PENONTON: Bioperubatan - 799 00:35:57,396 --> 00:36:00,178 >> SPEAKER: Adakah anda dalam seksyen ini? 800 00:36:00,178 --> 00:36:03,040 >> PENONTON: No 801 00:36:03,040 --> 00:36:04,530 >> SPEAKER: OK, itu Emily. 802 00:36:04,530 --> 00:36:05,670 Dia sahabat saya. 803 00:36:05,670 --> 00:36:10,080 Jelas sekali tidak yang baik daripada rakan, kerana dia memberikan saya masa yang sukar. 804 00:36:10,080 --> 00:36:13,223 Anda boleh menjadi lebih bagus kepada saya di hadapan semua orang, pelajar saya - 805 00:36:13,223 --> 00:36:14,580 >> PENONTON: Saya melakukan panduan Q anda. 806 00:36:14,580 --> 00:36:14,870 >> SPEAKER: Betul? 807 00:36:14,870 --> 00:36:15,510 Uh oh. 808 00:36:15,510 --> 00:36:17,224 OK, anda yang menakjubkan. 809 00:36:17,224 --> 00:36:19,380 Saya suka kamu. 810 00:36:19,380 --> 00:36:20,600 Oh lelaki. 811 00:36:20,600 --> 00:36:28,320 >> Bagaimanapun, saya, malam tadi, seperti semua - 812 00:36:28,320 --> 00:36:32,220 Saya pasti semua orang seolah-olah benar-benar menekankan sekarang. 813 00:36:32,220 --> 00:36:35,970 Saya tidak tahu, adalah bayat - adalah kamu berasa tertekan? 814 00:36:35,970 --> 00:36:36,855 Saya rasa tertekan. 815 00:36:36,855 --> 00:36:37,980 Ia adalah seperti, anda pulang ke rumah untuk Kesyukuran. 816 00:36:37,980 --> 00:36:40,660 Anda seperti, saya akan melakukan semua perkara ini. 817 00:36:40,660 --> 00:36:41,530 >> PENONTON: Ia amat berbeza. 818 00:36:41,530 --> 00:36:42,560 >> SPEAKER: Ya, dan anda kembali. 819 00:36:42,560 --> 00:36:45,290 Jeff, anda tidak berasa begitu? 820 00:36:45,290 --> 00:36:46,610 >> PENONTON: Saya hanya berfikir Saya melakukan sedikit. 821 00:36:46,610 --> 00:36:48,660 >> SPEAKER: OK, hebat. 822 00:36:48,660 --> 00:36:51,650 Jadi saya kembali, dan saya tidak mempunyai melakukan apa-apa. 823 00:36:51,650 --> 00:36:53,260 Dan itu semua super tekanan. 824 00:36:53,260 --> 00:36:55,640 Dan saya, benar-benar bimbang, kira-kira sama ada atau tidak saya 825 00:36:55,640 --> 00:36:57,380 akan menyelesaikan semua yang saya perlu. 826 00:36:57,380 --> 00:37:01,750 Tetapi malam tadi, saya tidak tertekan, Saya hanya sedikit sedih. 827 00:37:01,750 --> 00:37:04,520 Jadi saya telah menulis dalam jurnal saya tentang apa yang saya sedih tentang. 828 00:37:04,520 --> 00:37:08,020 Dan saya sedih mengenai seksyen ini di dalam kelas ini akan berakhir. 829 00:37:08,020 --> 00:37:11,100 >> Jadi saya hanya akan membaca untuk anda semua coretan sedikit jurnal saya, 830 00:37:11,100 --> 00:37:12,950 dari malam tadi. 831 00:37:12,950 --> 00:37:17,400 Bolehkah saya mendapatkan beberapa tuala, beberapa tisu daripada Tom? 832 00:37:17,400 --> 00:37:18,040 Tidak, saya akan menangis. 833 00:37:18,040 --> 00:37:19,720 Saya tidak menangis. 834 00:37:19,720 --> 00:37:22,030 Tidak bahawa anda tidak boleh menangis, Saya tidak menangis. 835 00:37:22,030 --> 00:37:24,040 Saya tidak tahu jika air mata saya kelenjar bekerja - saluran air. 836 00:37:24,040 --> 00:37:25,630 Saya tidak menangis dalam masa yang lama. 837 00:37:25,630 --> 00:37:26,510 >> PENONTON: [didengar]. 838 00:37:26,510 --> 00:37:28,920 >> SPEAKER: OK, terima kasih. 839 00:37:28,920 --> 00:37:30,070 OK, ada kata pengantar sedikit - 840 00:37:30,070 --> 00:37:32,480 ada beberapa tempat lain di jurnal saya kemasukan, kerana saya cuba untuk jurnal setiap 841 00:37:32,480 --> 00:37:33,600 malam sebelum saya tidur. 842 00:37:33,600 --> 00:37:34,900 Saya sangat mengesyorkan journaling. 843 00:37:34,900 --> 00:37:38,600 Ia membantu anda memproses sesuatu, dan juga sangat menghargai hari anda. 844 00:37:38,600 --> 00:37:43,063 Dan ia menjadikannya lebih mudah untuk melihat kembali pada hari dan menyedari bahawa 845 00:37:43,063 --> 00:37:44,240 terdapat banyak yang baik perkara-perkara yang berlaku. 846 00:37:44,240 --> 00:37:47,240 Walaupun anda berasa benar-benar menekankan pada waktu malam atau benar-benar kecewa, atau 847 00:37:47,240 --> 00:37:49,022 benar-benar sedih atau letih. 848 00:37:49,022 --> 00:37:50,272 >> Oh, tuhan saya. 849 00:37:50,272 --> 00:37:52,546 850 00:37:52,546 --> 00:37:54,400 Saya tidak tahu jika ia bertulis yang juga kerana saya tidak mengoreksi ia. 851 00:37:54,400 --> 00:37:55,780 Tetapi kami akan membacanya. 852 00:37:55,780 --> 00:37:59,950 Saya biasanya tidak membaca saya jurnal, jelas. 853 00:37:59,950 --> 00:38:03,720 >> "Esok, saya akan mengajar terakhir saya Seksyen CS50 tahun ini. 854 00:38:03,720 --> 00:38:05,860 Ia gila bagaimana masa cepat terbang. 855 00:38:05,860 --> 00:38:09,900 Namun, saya terpegun dengan betapa berbeza pengalaman saya mengajar pada tahun ini ialah 856 00:38:09,900 --> 00:38:11,365 daripada apabila saya mahasiswa tingkat kedua a. 857 00:38:11,365 --> 00:38:14,120 Sebagai permulaan, saya pasti tahu bahan yang lebih baik. 858 00:38:14,120 --> 00:38:16,820 Tetapi jangan beritahu kohort pertama saya pelajar itu. 859 00:38:16,820 --> 00:38:20,030 Lebih penting lagi, bagaimanapun, saya sedar bahawa kegembiraan yang datang dari kedudukan 860 00:38:20,030 --> 00:38:23,160 di hadapan sebuah bilik apa yang bermula sebagai orang asing, tetapi berakhir sebagai, pada 861 00:38:23,160 --> 00:38:27,150 kurangnya, rakan-rakan Facebook, adalah bukan kebetulan tahun pertama. 862 00:38:27,150 --> 00:38:29,970 Sebaliknya, ia adalah daripada mengetahui bahawa, pada beberapa cara kecil, anda membantu 863 00:38:29,970 --> 00:38:32,980 berbakat, bertimbang rasa, menarik, dan orang bersemangat belajar sedikit lebih 864 00:38:32,980 --> 00:38:34,750 tentang sains komputer. 865 00:38:34,750 --> 00:38:37,480 >> Anda beralih bahawa mentol hanya bit dalam soket, supaya ia dapat 866 00:38:37,480 --> 00:38:42,120 bersinar terang daripada anda, atau mereka, dapat membayangkan pada semester bermula. 867 00:38:42,120 --> 00:38:45,390 Anda membantu menyahaktifkan mengerutkan dahinya terbalik turun dan bertanya soalan yang 868 00:38:45,390 --> 00:38:49,240 memberikan sokongan, tetapi masih membenarkan pelajar untuk berdiri sendiri. 869 00:38:49,240 --> 00:38:52,190 >> Ia sudah tentu tidak keterlaluan jika mengatakan bahawa seksyen ini adalah kegemaran saya 870 00:38:52,190 --> 00:38:53,190 sebahagian dalam seminggu. 871 00:38:53,190 --> 00:38:57,930 Atau pun yang saya teragak-agak untuk mengatakan, itu semua, pada 5:30 setiap minggu, mengetahui 872 00:38:57,930 --> 00:39:00,640 bahawa ia akan menjadi terlalu panjang sehingga kita bertemu lagi. 873 00:39:00,640 --> 00:39:02,740 >> Namun, saya amat berterima kasih kepada semua orang yang diberikan saya ini 874 00:39:02,740 --> 00:39:05,010 peluang untuk memberi semula kepada orang lain. 875 00:39:05,010 --> 00:39:07,340 Kepada Daud, atas kesabaran dan amanah beliau. 876 00:39:07,340 --> 00:39:11,040 Untuk filem dan pengeluaran anak-anak kapal, untuk membuat saya kelihatan agak dihormati. 877 00:39:11,040 --> 00:39:15,380 Dan, yang paling penting, kepada pelajar-pelajar saya, tanpa mereka saya tidak mempunyai sebab untuk 878 00:39:15,380 --> 00:39:17,890 menghabiskan 10 jam memikirkan yang terbaik cara untuk menarik petunjuk, atau menyusun atur 879 00:39:17,890 --> 00:39:20,330 jadual ikan lumba-lumba, menerusi JavaScript. 880 00:39:20,330 --> 00:39:22,620 Seperti biasa, ia menjadi rahmat. " 881 00:39:22,620 --> 00:39:25,420 >> Maka dengan itu, terima kasih semua. 882 00:39:25,420 --> 00:39:29,000 Jumpa anda semua di pameran CS50, dan hackathon, jika anda berada di sana. 883 00:39:29,000 --> 00:39:32,020 Dan jika anda mempunyai soalan, saya akan melekat sekitar sehingga tidak ada lagi. 884 00:39:32,020 --> 00:39:33,760 Tetapi saya mengucapkan terima kasih kepada anda semua untuk setahun yang indah. 885 00:39:33,760 --> 00:39:37,290 >> [Tepuk tangan] 886 00:39:37,290 --> 00:39:38,540 >> SPEAKER: Saya mungkin menangis. 887 00:39:38,540 --> 00:39:40,800