1 00:00:00,000 --> 00:00:03,269 >> [Muzika] 2 00:00:03,269 --> 00:00:05,391 3 00:00:05,391 --> 00:00:06,640 CAMILLE REKHSON: Hi, të gjithë. 4 00:00:06,640 --> 00:00:10,120 Mirë se vini në quiz CS50 Sesioni zero shqyrtim. 5 00:00:10,120 --> 00:00:10,770 Unë jam Camille. 6 00:00:10,770 --> 00:00:13,140 Dhe unë jam duke shkuar për të shkuar mbi disa tema me ju 7 00:00:13,140 --> 00:00:16,890 djema sot për t'ju ndihmuar përgatitur për quiz. 8 00:00:16,890 --> 00:00:20,840 Kështu që këtu është jonë jo shteruese Lista e temave të 9 00:00:20,840 --> 00:00:23,210 duhet të jetë njohur me të për quiz. 10 00:00:23,210 --> 00:00:25,740 Këto janë marrë direkt nga planin mësimor. 11 00:00:25,740 --> 00:00:26,990 Unë e di kjo duket si një shumë. 12 00:00:26,990 --> 00:00:30,870 Por me besim, keni mësuar të gjitha këto gjëra në javët e fundit. 13 00:00:30,870 --> 00:00:33,210 >> Pra, ne patjetër do të shkojnë mbi një shumë prej këtyre sotme. 14 00:00:33,210 --> 00:00:35,825 Por edhe të marrë disa kohë në tuaj vet për të rishikuar këto gjëra. 15 00:00:35,825 --> 00:00:38,450 Dhe në qoftë se nuk keni qenë të njohur me atë që disa nga këto gjëra janë, 16 00:00:38,450 --> 00:00:42,400 sigurohuni që ju të pyesni njëri prej nesh. 17 00:00:42,400 --> 00:00:45,985 Gjithashtu, për fjalën zyrtare në quiz, shkoni në këtë link. 18 00:00:45,985 --> 00:00:48,860 Kjo do të keni të gjithë informacionin me të cilën dhomë ju duhet të shkoni në, 19 00:00:48,860 --> 00:00:52,960 ndarë sipas rendit alfabetik, dhe edhe disa këshilla se çfarë materiale 20 00:00:52,960 --> 00:00:56,470 ju duhet të studiuar, dhe çfarë lloj i pyetjeve quiz ju mund të presin. 21 00:00:56,470 --> 00:01:01,090 Prandaj sigurohuni që të kontrolloni se jashtë. 22 00:01:01,090 --> 00:01:03,810 >> Gjithashtu, disa këshilla për kur ju janë duke u përgatitur për provim. 23 00:01:03,810 --> 00:01:05,730 Praktikoni kodim në letër. 24 00:01:05,730 --> 00:01:09,280 Unë e di se ju keni marrë përdorur për të pasur çeku IDE për gabimet tuaja për ju, 25 00:01:09,280 --> 00:01:12,280 dhe it's-- kur ju jeni të shtypni atë, kjo është pak më ndryshe se sa që ka 26 00:01:12,280 --> 00:01:13,113 për të shkruar gjëra jashtë. 27 00:01:13,113 --> 00:01:14,560 Pra praktikë duke bërë disa kodim. 28 00:01:14,560 --> 00:01:17,910 Disa funksione të mira për të praktikuar duke bërë janë strlen dhe atoi, 29 00:01:17,910 --> 00:01:20,450 të shohim nëse ju mund të shkruani ato jashtë në tuaj. 30 00:01:20,450 --> 00:01:21,970 Të jenë të njohur me grupe problemit. 31 00:01:21,970 --> 00:01:24,200 Shumica vjet atje janë Pyetjet që lidhen 32 00:01:24,200 --> 00:01:25,700 për disa prej problemeve të vendosur materialit. 33 00:01:25,700 --> 00:01:30,480 Prandaj sigurohuni që ju të kuptoni se si të bëjë të gjitha grupe problemit. 34 00:01:30,480 --> 00:01:35,240 >> Provoni duke bërë disa kuize vjetra nën kufizim kohor minutën e 75. 35 00:01:35,240 --> 00:01:37,290 Një shumë e kuize mund të jetë lloj i gjatë. 36 00:01:37,290 --> 00:01:39,680 Pra, kjo është një mënyrë e mirë për të dhënë veten disa praktikë, 37 00:01:39,680 --> 00:01:41,650 dhe sa kohë do të të marrë ju, dhe si ju 38 00:01:41,650 --> 00:01:45,360 duhet të ndani kohën tuaj për t'u siguruar keni mbaruar çdo gjë deri në fund. 39 00:01:45,360 --> 00:01:49,690 Dhe gjithashtu, që ju të merrni një një faqe, dy fletë referencë njëanshëm 40 00:01:49,690 --> 00:01:52,962 që ju mund të shkruani çdo gjë që ju duan për të përdorur gjatë quiz. 41 00:01:52,962 --> 00:01:54,670 Pra, kur ju jeni duke krijuar kjo, kjo është edhe 42 00:01:54,670 --> 00:01:57,860 mënyrë me të vërtetë e madhe për të studiuar, sepse ju do lloj i shqyrtimit të gjërave 43 00:01:57,860 --> 00:01:59,610 si ju jeni duke shkruar atë. 44 00:01:59,610 --> 00:02:05,421 >> Kështu që çdo pyetje të përgjithshme rreth quiz, apo se si funksionon? 45 00:02:05,421 --> 00:02:05,921 Po. 46 00:02:05,921 --> 00:02:09,167 >> Audienca: A do që lista e temave se ju vetëm të treguar të jetë në dispozicion për ne 47 00:02:09,167 --> 00:02:09,820 Online? 48 00:02:09,820 --> 00:02:12,736 >> CAMILLE REKHSON: Ky tërë rrëshqitje Shfaqja do të postohen në faqen e internetit. 49 00:02:12,736 --> 00:02:16,040 Gjithashtu, video e rishikimit sotme Seanca do të jetë në faqen e internetit. 50 00:02:16,040 --> 00:02:19,250 Pra, mos u shqetësoni shumë për shkruar gjëra poshtë të gjithë. 51 00:02:19,250 --> 00:02:20,437 E gjithë kjo do të jetë atje. 52 00:02:20,437 --> 00:02:21,270 Ndonjë pyetje të tjera? 53 00:02:21,270 --> 00:02:23,810 54 00:02:23,810 --> 00:02:26,960 OK, kështu që le të ketë filluar. 55 00:02:26,960 --> 00:02:30,860 >> Pra, një gjë që të jenë të njohur me të është llojet e ndryshme të të dhënave dhe madhësia 56 00:02:30,860 --> 00:02:32,486 që ata marrin. 57 00:02:32,486 --> 00:02:35,360 Kjo mund të jetë një gjë e madhe për të shkruani në fletë tuaj të referencës, 58 00:02:35,360 --> 00:02:37,240 vetëm për t'u siguruar që ju mos harroni të gjitha këto. 59 00:02:37,240 --> 00:02:39,200 But-- kështu chars janë 1 bajt. 60 00:02:39,200 --> 00:02:40,700 Ints janë 4 bytes. 61 00:02:40,700 --> 00:02:44,450 Një kohë të gjatë, të gjatë, e cila është në thelb më shumë hapësirë ​​për një numër të plotë, është 8 bytes. 62 00:02:44,450 --> 00:02:46,560 Një noton është 4 bytes. 63 00:02:46,560 --> 00:02:50,620 Një dyfishtë, e cila në thelb ju jep më shumë hapësirë ​​për të ruajtur një noton, është 8 bytes. 64 00:02:50,620 --> 00:02:54,210 Dhe pastaj një tregues është edhe 8 bytes. 65 00:02:54,210 --> 00:02:56,270 Ndonjë pyetje në lidhje me këto? 66 00:02:56,270 --> 00:03:00,380 67 00:03:00,380 --> 00:03:05,580 >> Pra binar është një tjetër temë që ne kemi mbuluar pak ta heqësh këtë semestër. 68 00:03:05,580 --> 00:03:07,910 Pra, le të bëjë disa praktikë me konvertimin 69 00:03:07,910 --> 00:03:10,000 midis binar dhe dhjetore. 70 00:03:10,000 --> 00:03:13,950 Pra, dikush ndonjë ide se çfarë se pari do të jetë? 71 00:03:13,950 --> 00:03:32,840 72 00:03:32,840 --> 00:03:34,860 Çdokush? 73 00:03:34,860 --> 00:03:36,270 Po, kjo është 42. 74 00:03:36,270 --> 00:03:39,200 Pra, nëse ju kujtohet, çdo nga vendet në binar 75 00:03:39,200 --> 00:03:41,860 është në thelb si 2 në pushtet atë vend së. 76 00:03:41,860 --> 00:03:43,750 >> Në mënyrë që vend i parë është 2 fuqisë 0. 77 00:03:43,750 --> 00:03:46,710 Dhe ne kemi 0 atje, kështu që asgjë atje. 78 00:03:46,710 --> 00:03:48,700 Vendi tjetër është 2 në pushtetin e parë. 79 00:03:48,700 --> 00:03:51,220 Dhe ne nuk kemi një 1 atje, kështu që është në thelb një 2. 80 00:03:51,220 --> 00:03:53,642 Vendi tjetër është 2 për e dytë, që është 4. 81 00:03:53,642 --> 00:03:54,850 Ne nuk kemi asgjë atje. 82 00:03:54,850 --> 00:03:59,390 Vendi tjetër është mbi 2 për i treti, cili do të jetë 8. 83 00:03:59,390 --> 00:04:02,230 Dhe ne nuk kemi një të tillë atje. 84 00:04:02,230 --> 00:04:03,470 Dhe ne do të mbajë. 85 00:04:03,470 --> 00:04:07,720 Që last-- e largët të një majta është ku ne kemi 32. 86 00:04:07,720 --> 00:04:13,437 Dhe kështu, ne thelb kemi 32 plus 8 plus 2 për të marrë 42. 87 00:04:13,437 --> 00:04:14,020 Ndonje pyetje? 88 00:04:14,020 --> 00:04:15,820 >> Audienca: Çfarë është Kaloje për? 89 00:04:15,820 --> 00:04:17,399 >> CAMILLE REKHSON: The Kaloje thelb na tregon se është binar. 90 00:04:17,399 --> 00:04:18,230 Pra, ka një 2 atje. 91 00:04:18,230 --> 00:04:20,579 Nëse do të kishte like-- në tjetrën një, ose kur ne jemi konvertimin decimal 92 00:04:20,579 --> 00:04:24,350 në binar, ka një 10 na tregon se ky numër është fillimisht në dhjetore. 93 00:04:24,350 --> 00:04:25,194 >> Audienca: Ju faleminderit. 94 00:04:25,194 --> 00:04:26,110 >> CAMILLE REKHSON: Po. 95 00:04:26,110 --> 00:04:28,790 Çdo pyetje të tjera në se një? 96 00:04:28,790 --> 00:04:31,110 OK, kështu që le të përpiqemi të ardhshëm një pastaj, decimal në binar. 97 00:04:31,110 --> 00:04:35,034 Pra, duke marrë 50 dhe vënien që në binar. 98 00:04:35,034 --> 00:04:35,950 Si do ta bëni këtë? 99 00:04:35,950 --> 00:04:44,331 100 00:04:44,331 --> 00:04:45,317 Po. 101 00:04:45,317 --> 00:04:49,754 >> Audienca: 110010. 102 00:04:49,754 --> 00:04:50,760 >> CAMILLE REKHSON: Po. 103 00:04:50,760 --> 00:04:54,410 Pra one-- një mënyrë e thjeshtë për të menduar për konvertimin nga decimal të binar 104 00:04:54,410 --> 00:04:57,950 është to-- ajo shpesh ndihmon për të shkruar jashtë çfarë fuqitë e ndryshme të 2 janë. 105 00:04:57,950 --> 00:05:01,460 Dhe pastaj të shkojnë nëpërmjet saj, dhe shikoni Sido që të jetë më e larta nga ato 106 00:05:01,460 --> 00:05:05,320 është se ju mund të vënë në të Numri dhjetor pa kaluar mbi të. 107 00:05:05,320 --> 00:05:09,040 >> Pra, në këtë rast, një nga fuqitë e 2 është 32. 108 00:05:09,040 --> 00:05:10,560 Pra, 32 shkon në 50. 109 00:05:10,560 --> 00:05:14,100 Por pushteti i ardhshëm do të jetë deri 64, që padyshim nuk i përshtatet në 50. 110 00:05:14,100 --> 00:05:16,343 Pra, më e larta që kemi është 32. 111 00:05:16,343 --> 00:05:17,343 Një tjetër deri në 16. 112 00:05:17,343 --> 00:05:20,140 Dhe 32 plus 16 është vetëm 48. 113 00:05:20,140 --> 00:05:21,350 Kështu që ende i përshtatet në 50. 114 00:05:21,350 --> 00:05:22,722 Pra, ne kemi 1 në të dyja këto. 115 00:05:22,722 --> 00:05:25,180 Dhe pastaj në qoftë se ne vazhdojmë duke shkuar poshtë, e vetmja gjë që duhet lënë 116 00:05:25,180 --> 00:05:27,510 është 2 më shumë për të marrë nga 48 deri në 50. 117 00:05:27,510 --> 00:05:31,860 Pra, atëherë ne kemi një 1 në atë pozitë, dhe a 0 në pozicionin e fundit. 118 00:05:31,860 --> 00:05:35,371 Sepse nuk ka asgjë në 2 deri në vendin e 0-të. 119 00:05:35,371 --> 00:05:37,120 Pyetjet për konvertimin decimal në binar? 120 00:05:37,120 --> 00:05:40,830 121 00:05:40,830 --> 00:05:44,100 >> Pra, tani le të provoni duke bërë disa shtesë binar. 122 00:05:44,100 --> 00:05:47,235 Si kur ju shtoni ato dy up? 123 00:05:47,235 --> 00:05:47,735 Po. 124 00:05:47,735 --> 00:05:51,130 >> Audienca: 11100. 125 00:05:51,130 --> 00:05:52,110 >> CAMILLE REKHSON: Po. 126 00:05:52,110 --> 00:05:55,540 Pra, duke bërë shtesë në binar është mjaft shumë e njëjtë si duke bërë atë në dhjetore. 127 00:05:55,540 --> 00:05:59,390 Përveç në qoftë se ju keni dy qenien e 1 shtimit bashku, 1 plus 1 është 2, 128 00:05:59,390 --> 00:06:02,980 por 2 në binar është 1 0. 129 00:06:02,980 --> 00:06:07,090 Kështu që ju duhet për të kryer 1, dhe për të mbajtur mbante atë për këto kolona çift. 130 00:06:07,090 --> 00:06:10,260 Dhe përveç kësaj, vetëm të shtoni normalisht. 131 00:06:10,260 --> 00:06:13,125 Ndonjë pyetje për këtë? 132 00:06:13,125 --> 00:06:13,625 Po. 133 00:06:13,625 --> 00:06:16,487 >> Audienca: Na vjen keq, çfarë është vendi i fundit? 134 00:06:16,487 --> 00:06:18,475 Ka gjashtë numra. 135 00:06:18,475 --> 00:06:23,260 Kështu kolona pari nga e majta, çfarë vlerë është ajo? 136 00:06:23,260 --> 00:06:24,760 CAMILLE REKHSON: Në këtë një fund? 137 00:06:24,760 --> 00:06:26,340 Audienca: Në një krye, për 50. 138 00:06:26,340 --> 00:06:27,340 CAMILLE REKHSON: Për 50? 139 00:06:27,340 --> 00:06:29,040 Oh, kështu që ai i pari nga e majta është 32. 140 00:06:29,040 --> 00:06:29,760 >> Audienca: 32? 141 00:06:29,760 --> 00:06:36,770 >> CAMILLE REKHSON: Yeah, kështu që do të jetë 32, 16, pastaj 8, 4, 2, 0-- ose 1. 142 00:06:36,770 --> 00:06:39,380 E pra, kjo është 2 të zeroth, e cila është 1. 143 00:06:39,380 --> 00:06:41,110 Po. 144 00:06:41,110 --> 00:06:43,834 Çdo pyetje të tjera në këtë? 145 00:06:43,834 --> 00:06:47,420 OK, kështu që atëherë ne jemi duke shkuar për të bërë pak me heksadecimal. 146 00:06:47,420 --> 00:06:49,570 Pra, kjo mund të jetë një pak më pak të njohur, 147 00:06:49,570 --> 00:06:51,680 sepse unë e di që ne kemi bërë shumë më tepër me binar. 148 00:06:51,680 --> 00:06:54,050 Por një mënyrë me të vërtetë e mirë për të mendoni për heksadecimal 149 00:06:54,050 --> 00:06:57,540 është për të prishur një binare Numri në 4 chunks bit. 150 00:06:57,540 --> 00:07:00,950 Sepse çdo 4 copa të një numri binar është në thelb 151 00:07:00,950 --> 00:07:04,560 një nga numrat hexadecimal. 152 00:07:04,560 --> 00:07:07,420 >> Pra, nëse kemi këtë një të parë, ne kemi në thelb tetë 1-së. 153 00:07:07,420 --> 00:07:08,620 Pra, ata mund të ndahen up-- 154 00:07:08,620 --> 00:07:09,600 >> Audienca: 255. 155 00:07:09,600 --> 00:07:10,933 >> CAMILLE REKHSON: Thuaj atë përsëri. 156 00:07:10,933 --> 00:07:13,772 Audienca: 255 në decimal, ose 0xFF në heksadecimal. 157 00:07:13,772 --> 00:07:14,980 CAMILLE REKHSON: Po, ajo është. 158 00:07:14,980 --> 00:07:18,860 Pra, në qoftë se ju ndarë se deri në dy chunks 4-bit, 159 00:07:18,860 --> 00:07:20,950 ne thelb kemi katër grupe të 1. 160 00:07:20,950 --> 00:07:22,880 E cila është maximum-- thelb maksimale 161 00:07:22,880 --> 00:07:24,329 ne mund të merrni me 4-bit në binar. 162 00:07:24,329 --> 00:07:27,120 Dhe maksimumi që ne mund të merrni për që në heksadecimal do të jetë një F. 163 00:07:27,120 --> 00:07:30,290 Pra, ne do të kemi dy F-së. 164 00:07:30,290 --> 00:07:31,800 Ndonjë pyetje për këtë? 165 00:07:31,800 --> 00:07:32,490 Po? 166 00:07:32,490 --> 00:07:35,184 >> Audienca: A mund të përsëris se. 167 00:07:35,184 --> 00:07:36,100 CAMILLE REKHSON: Sigurisht. 168 00:07:36,100 --> 00:07:39,160 Pra secili, në thelb, vendi i heksadecimal është 169 00:07:39,160 --> 00:07:42,570 ekuivalent me 4-bit te nje binar. 170 00:07:42,570 --> 00:07:46,830 Pra, mënyra më e lehtë për të bërë këtë është për të thyer atë në 4-bit chunks. 171 00:07:46,830 --> 00:07:48,690 Pra, në këtë rast, ne kemi tetë 1-së. 172 00:07:48,690 --> 00:07:51,010 Pra, nëse kemi ndarë ato në dy chunks 4-bit, 173 00:07:51,010 --> 00:07:54,350 ne do të kemi dy grupe nga katër të 1. 174 00:07:54,350 --> 00:07:57,181 Dhe secili nga ata është e barabartë me F. 175 00:07:57,181 --> 00:07:58,930 Nëse ju mendoni se? Për Unë e di se truri ynë janë të 176 00:07:58,930 --> 00:08:00,415 lloj i Wired për të menduar më shumë përmes decimal, 177 00:08:00,415 --> 00:08:01,831 sepse kjo është ajo që ne jemi duke përdorur për të. 178 00:08:01,831 --> 00:08:06,030 Pra, një mënyrë ju mund të mendoni për atë si katër 1 s eshte e barabarte me 15 në dhjetore. 179 00:08:06,030 --> 00:08:12,960 Dhe 15 në heksadecimal është F. Pra kjo është një mënyrë tjetër ju mund të mendoni nëpërmjet saj. 180 00:08:12,960 --> 00:08:13,459 Po. 181 00:08:13,459 --> 00:08:14,790 >> Audienca: Çfarë është 0x për? 182 00:08:14,790 --> 00:08:18,240 >> CAMILLE REKHSON: The 0x tregon se kjo është heksadecimal. 183 00:08:18,240 --> 00:08:21,900 Pra, ne vetëm vënë atë prefiksin atje, normalisht. 184 00:08:21,900 --> 00:08:24,396 Pyetje të tjera në këtë. 185 00:08:24,396 --> 00:08:27,100 OK, kështu që le të do të përpiqet mënyra të tjera më pas. 186 00:08:27,100 --> 00:08:28,712 Në këtë rast ne have-- vjen keq? 187 00:08:28,712 --> 00:08:29,628 Audienca: [padëgjueshme]. 188 00:08:29,628 --> 00:08:32,095 189 00:08:32,095 --> 00:08:33,720 CAMILLE REKHSON: Ne jemi duke shkuar për binar. 190 00:08:33,720 --> 00:08:36,039 Pra, do mënyrë tjetër. 191 00:08:36,039 --> 00:08:42,090 Por në këtë rast, ne kemi 5 dhe A. Pra, nëse ne mendojmë për këtë, 192 00:08:42,090 --> 00:08:46,260 në qoftë se secili prej those-- të 5 dhe A janë që të dy do të përfaqësojnë një pjesë të 4-bit, 193 00:08:46,260 --> 00:08:49,003 se si do të thoni 5 në binar? 194 00:08:49,003 --> 00:08:51,120 >> Audienca: 0101. 195 00:08:51,120 --> 00:08:53,100 >> CAMILLE REKHSON: Po, kështu që është pjesa e 0101. 196 00:08:53,100 --> 00:08:55,250 Dhe pastaj si do ju them një in-- 197 00:08:55,250 --> 00:08:56,910 >> Audienca: 10. 198 00:08:56,910 --> 00:08:58,243 CAMILLE REKHSON: Thuaj it-- Na vjen keq? 199 00:08:58,243 --> 00:08:58,990 Audienca: 10. 200 00:08:58,990 --> 00:09:02,052 CAMILLE REKHSON: Yeah, kështu që kjo është pjesa e dytë e saj. 201 00:09:02,052 --> 00:09:04,010 Dhe pastaj, në qoftë se ju vendosni ata të dy së ​​bashku, kjo është 202 00:09:04,010 --> 00:09:06,440 si ju merrni të plotë binar për heksadecimal. 203 00:09:06,440 --> 00:09:06,940 Po? 204 00:09:06,940 --> 00:09:10,620 >> Audienca: Për të ditur se një është 1010, ju keni për të mësuar përmendësh atë? 205 00:09:10,620 --> 00:09:12,460 Ose mund të like-- 206 00:09:12,460 --> 00:09:14,380 >> CAMILLE REKHSON: Pra, nëse ju, duke filluar differe-- kështu 207 00:09:14,380 --> 00:09:16,790 kur ju jeni duke kaluar nëpër binar, në thelb binar 208 00:09:16,790 --> 00:09:20,550 ka 0 deri 9 dhe pastaj një përmes F si 16 gjërat e saj. 209 00:09:20,550 --> 00:09:25,420 Pra, nëse të gjithë rrugën 0 për 9-- nëse ju, duke filluar 9 dhe pastaj A, në thelb 210 00:09:25,420 --> 00:09:29,640 nëse kemi konvertuar ajo të dhjetore, A do të jetë si 10, B do të jetë si 11. 211 00:09:29,640 --> 00:09:35,616 Dhe në qoftë se ju mendoni rreth binary 1010 është 8 dhe 2, 212 00:09:35,616 --> 00:09:37,990 sepse ato janë dy vende që shtojnë deri në 10, të cilat 213 00:09:37,990 --> 00:09:41,820 është pikërisht ajo që një është e barabartë me. 214 00:09:41,820 --> 00:09:45,114 Pra, kjo është lloj i lehtë mënyrë për të menduar për këtë. 215 00:09:45,114 --> 00:09:46,405 Pyetje të tjera në heksadecimal. 216 00:09:46,405 --> 00:09:50,510 217 00:09:50,510 --> 00:09:56,870 >> OK, kështu që tani ne jemi duke shkuar për të marrë Një Shiko Në operatorëve bitwise. 218 00:09:56,870 --> 00:09:58,882 Kështu që këto mund të patjetër të dalë në quiz. 219 00:09:58,882 --> 00:10:00,590 Unë e di që ne nuk kemi ka punuar me ta shumë. 220 00:10:00,590 --> 00:10:02,756 Por ne jemi vetëm duke shkuar për të bërë një rishikim pak prej tyre. 221 00:10:02,756 --> 00:10:05,490 Kështu që shpresojmë se këto do të jenë një pak më shumë të njohura për ju. 222 00:10:05,490 --> 00:10:10,220 Kështu gjashtë operatorët e bitwise që kemi janë të listuara këtu. 223 00:10:10,220 --> 00:10:13,340 Dhe ata le të manipuluar bit individuale. 224 00:10:13,340 --> 00:10:16,676 Pra, dhe Operatori është një simbol i vetëm. 225 00:10:16,676 --> 00:10:18,550 A nuk e ngatërruar atë me simbol të dyfishtë, 226 00:10:18,550 --> 00:10:21,840 që është e logjikshme dhe se na lejon të krahasojmë dy gjëra. 227 00:10:21,840 --> 00:10:25,860 >> E vetme dhe është se si ne mund të manipuluar gjërat bitwise. 228 00:10:25,860 --> 00:10:29,910 Pra, kjo na jep rezultatin e 1 qoftë se të dy prej argumenteve që ne jemi duke krahasuar 229 00:10:29,910 --> 00:10:32,440 janë same-- ose janë 1. 230 00:10:32,440 --> 00:10:39,370 Dhe bar vertikale, OSE, do të japë SHBA 1 nëse të paktën njëri prej tyre është 1. 231 00:10:39,370 --> 00:10:41,460 Pra, në thelb pikërisht çfarë fjalë nënkuptojnë. 232 00:10:41,460 --> 00:10:46,640 Dhe, në qoftë se të dy bit janë 1, 1 dhe 1 na jep 1. 233 00:10:46,640 --> 00:10:51,769 Por me ose, nëse është 0 ose 1, ose 1 ose 1, në çdo rast, 234 00:10:51,769 --> 00:10:53,060 ne kemi 1 si një prej tyre. 235 00:10:53,060 --> 00:10:54,101 Pra, atëherë ne do të merrni një 1. 236 00:10:54,101 --> 00:10:56,320 Audienca: Çfarë do të thotë që ai thotë se ajo i jep 1? 237 00:10:56,320 --> 00:10:58,236 >> CAMILLE REKHSON: The rezultat. Lloj, si ju 238 00:10:58,236 --> 00:11:05,060 would-- qoftë se keni kryer 0 dhe 1, rezultat i që do të jetë 1-- ose 0 239 00:11:05,060 --> 00:11:08,920 dhe 1 me rezultatin e që do të jetë 0, sorry. 240 00:11:08,920 --> 00:11:12,190 Po, ajo ishte lloj i rezultat i shprehjes. 241 00:11:12,190 --> 00:11:16,520 Dhe pastaj, ky simbol caret është XOR, ose ekskluzive OSE. 242 00:11:16,520 --> 00:11:21,920 Kështu që do të thotë vetëm një ose saktësisht një nga dy argumenteve është e barabartë me 1. 243 00:11:21,920 --> 00:11:24,210 Dhe pastaj do të ju jap 1. 244 00:11:24,210 --> 00:11:27,370 >> Linja pak squiggly është operatori jo. 245 00:11:27,370 --> 00:11:31,940 Pra, ndryshe nga pjesa tjetër e tyre, që veprojnë në një palë bit, 246 00:11:31,940 --> 00:11:34,930 operatori nuk merr vetëm një grimë, dhe do të rrokullisje atë. 247 00:11:34,930 --> 00:11:37,640 Pra, nëse ju give-- nëse ju bëni NUK 0, kjo do të ju jap 1. 248 00:11:37,640 --> 00:11:40,248 Dhe në qoftë se ju nuk e bëni 1, kjo do të ju jap 0. 249 00:11:40,248 --> 00:11:40,748 Po? 250 00:11:40,748 --> 00:11:41,150 >> Audienca: Cila është diferenca midis ose me një linjë 251 00:11:41,150 --> 00:11:41,983 dhe OR me dy? 252 00:11:41,983 --> 00:11:44,430 253 00:11:44,430 --> 00:11:46,930 CAMILLE REKHSON: Pra, ose me dy linja është OSE logjike. 254 00:11:46,930 --> 00:11:52,430 Pra, kjo është për të krahasuar dy integers plota, ose two-- 255 00:11:52,430 --> 00:11:53,730 për të parë nëse gjërat janë të barabartë. 256 00:11:53,730 --> 00:11:58,340 Apo si ta bërë këtë është e barabartë me këtë, OSE kjo është e barabartë me këtë tipit gjë. 257 00:11:58,340 --> 00:12:04,090 Ndërsa bar të vetme ose, është për të bërë gjëra bitwise. 258 00:12:04,090 --> 00:12:04,590 Po. 259 00:12:04,590 --> 00:12:06,680 >> Audienca: Çfarë doni të thoni me bitwise? 260 00:12:06,680 --> 00:12:10,330 >> CAMILLE REKHSON: Pra bitwise është duke punuar drejtpërdrejt me copa në binar. 261 00:12:10,330 --> 00:12:11,596 >> Audienca: Oh, unë shoh. 262 00:12:11,596 --> 00:12:15,000 >> CAMILLE REKHSON: Yeah, kështu që duke punuar me 0 dhe 1 i. 263 00:12:15,000 --> 00:12:18,310 Ne do të bëjmë disa shembuj të kësaj pas, vetëm kështu që nuk është shumë konfuze. 264 00:12:18,310 --> 00:12:20,970 Dhe pastaj dy të fundit janë Left Shift dhe zhvendosja e drejtë. 265 00:12:20,970 --> 00:12:23,970 Të cilat janë në thelb dy më pak se shenja apo dy më të madhe se shenjave. 266 00:12:23,970 --> 00:12:26,294 Dhe ata u zhvendos në bit numri i dhënë i vendeve 267 00:12:26,294 --> 00:12:27,710 që ju jepni atë në drejtim. 268 00:12:27,710 --> 00:12:29,980 Pra, kjo ose do të zhvendoset atë në të majtë, apo të djathtë. 269 00:12:29,980 --> 00:12:30,480 Po? 270 00:12:30,480 --> 00:12:32,470 Audienca: Çfarë është sintaksë për drejtimin? 271 00:12:32,470 --> 00:12:33,950 >> CAMILLE REKHSON: Ne jemi duke shkuar për kalojnë nëpër një shembull, në një të dytë. 272 00:12:33,950 --> 00:12:35,680 Kështu që shpresojmë, që do të ndihmojë. 273 00:12:35,680 --> 00:12:41,060 Çdo pyetje në vetëm çfarë është këtu, më herët, OK. 274 00:12:41,060 --> 00:12:43,821 Pra, duke kaluar disa shembuj. 275 00:12:43,821 --> 00:12:45,070 Le të fillojmë me të dhe ato. 276 00:12:45,070 --> 00:12:47,880 Çfarë do të marrim në qoftë se ne e bëmë 0 dhe 1? 277 00:12:47,880 --> 00:12:48,899 >> Audienca: 0. 278 00:12:48,899 --> 00:12:50,690 CAMILLE REKHSON: OK, dhe në qoftë se ne e bëmë 1 dhe 1? 279 00:12:50,690 --> 00:12:51,622 Audienca: 1. 280 00:12:51,622 --> 00:12:54,490 CAMILLE REKHSON: Po, çfarë nëse ne e bëmë 0 ose një? 281 00:12:54,490 --> 00:12:55,094 Audienca: 1. 282 00:12:55,094 --> 00:12:56,510 CAMILLE REKHSON: Si për 1 ose 1? 283 00:12:56,510 --> 00:12:57,404 Audienca: 1. 284 00:12:57,404 --> 00:13:00,410 CAMILLE REKHSON: OK, si në lidhje me 0 XOR 1? 285 00:13:00,410 --> 00:13:01,380 Audienca: 1. 286 00:13:01,380 --> 00:13:03,120 CAMILLE REKHSON: Dhe 1 XOR 1? 287 00:13:03,120 --> 00:13:03,902 Audienca: 0. 288 00:13:03,902 --> 00:13:05,360 CAMILLE REKHSON: Ju djema janë të mira. 289 00:13:05,360 --> 00:13:06,510 Si për të mos 0? 290 00:13:06,510 --> 00:13:07,265 >> Audienca: 1. 291 00:13:07,265 --> 00:13:08,390 CAMILLE REKHSON: dhe jo 1? 292 00:13:08,390 --> 00:13:09,602 Audienca: 0. 293 00:13:09,602 --> 00:13:12,810 CAMILLE REKHSON: OK, dhe pastaj ky i fundit një është i vogël me zhvendosjen. 294 00:13:12,810 --> 00:13:18,700 Pra, në qoftë se ne fillimisht të vendosur x të jetë 8, dhe atëherë y është x zhvendosur në të majtë 3, 295 00:13:18,700 --> 00:13:19,760 çfarë do që të na japë? 296 00:13:19,760 --> 00:13:20,676 >> Audienca: [padëgjueshme]. 297 00:13:20,676 --> 00:13:22,817 298 00:13:22,817 --> 00:13:24,150 CAMILLE REKHSON: Thuaj atë përsëri. 299 00:13:24,150 --> 00:13:26,740 Audienca: [padëgjueshme]. 300 00:13:26,740 --> 00:13:28,766 CAMILLE REKHSON: Pra, kjo në fakt na jep 64. 301 00:13:28,766 --> 00:13:29,876 Audienca: [padëgjueshme]. 302 00:13:29,876 --> 00:13:32,250 CAMILLE REKHSON: Pra, unë jam vetëm do ta shkruaj këtë deri këtu, 303 00:13:32,250 --> 00:13:34,700 kështu që kjo e bën pak kuptim. 304 00:13:34,700 --> 00:13:45,120 Nëse kemi 2 me 0, 2 me 1, 2 në 2, 2 deri 3 do të jetë 8. 305 00:13:45,120 --> 00:13:52,380 Dhe në qoftë se ne duam të zhvendoset 3 copa më shumë në të majtë, që do të jetë 2 për 4, 306 00:13:52,380 --> 00:13:57,270 2 në 5, dhe 2 me 6, dhe 2 në 6 është 64. 307 00:13:57,270 --> 00:13:59,920 308 00:13:59,920 --> 00:14:01,110 A kjo ka kuptim? 309 00:14:01,110 --> 00:14:05,291 310 00:14:05,291 --> 00:14:05,791 Po. 311 00:14:05,791 --> 00:14:08,725 >> Audienca: A do të ndërrimeve të gjitha 1-së dhe 0-së e numrit binar në the-- 312 00:14:08,725 --> 00:14:09,600 >> CAMILLE REKHSON: Po. 313 00:14:09,600 --> 00:14:12,150 314 00:14:12,150 --> 00:14:15,170 Dhe ju nuk do të duhet të shqetësohen mbi quiz në lidhje me këto të qenë negativ. 315 00:14:15,170 --> 00:14:19,510 Ne nuk do të bëjë që të merren me ndërrime negative në asnjë mënyrë. 316 00:14:19,510 --> 00:14:24,070 Çdo pyetje të tjera në lidhje me këtë? 317 00:14:24,070 --> 00:14:24,570 Po. 318 00:14:24,570 --> 00:14:30,570 >> Audienca: Nëse është e zhvendosur në të djathtë, është çdo gjë që wasn't-- çdo gjë që 319 00:14:30,570 --> 00:14:33,220 nuk ishte fillimisht pjesë e sendit 0? 320 00:14:33,220 --> 00:14:37,110 >> CAMILLE REKHSON: Po, ti do të vetëm të shtoni 0-së në në origjinal. 321 00:14:37,110 --> 00:14:38,110 Po. 322 00:14:38,110 --> 00:14:41,540 >> Audienca: Pra, çfarë është ajo 100 zhvendosur në të djathtë tri herë? 323 00:14:41,540 --> 00:14:43,290 CAMILLE REKHSON: 100 zhvendosur në të djathtë, 324 00:14:43,290 --> 00:14:46,057 kështu që do të marrë të gjitha të 1 dhe 0 dhe vetëm të zhvendoset ato 325 00:14:46,057 --> 00:14:48,515 në të djathtë sa herë ju se të zhvendoset në të djathtë. 326 00:14:48,515 --> 00:14:50,452 >> Audienca: [padëgjueshme]? 327 00:14:50,452 --> 00:14:53,160 CAMILLE REKHSON: E pra, 100-- janë ju duke folur për 100 në binar, 328 00:14:53,160 --> 00:14:53,910 ose 100 në decimal? 329 00:14:53,910 --> 00:14:55,750 Audienca: Më vjen keq, 100 në binar. 330 00:14:55,750 --> 00:14:58,916 >> CAMILLE REKHSON: 100 në binar, në qoftë se ju të ndryshojë atë në right-- 331 00:14:58,916 --> 00:15:01,040 në qoftë se ju të zhvendoset në të djathtë një herë, ajo do të bëhet 10. 332 00:15:01,040 --> 00:15:04,430 Nëse ju zhvendoset atë në të djathtë dy herë, ajo do të bëhet 001. 333 00:15:04,430 --> 00:15:07,590 Dhe pastaj në qoftë se ju të ndryshojë atë përsëri, ju lloj i humbni pak. 334 00:15:07,590 --> 00:15:09,610 Po, kjo është vetëm 0. 335 00:15:09,610 --> 00:15:12,140 Çdo pyetje të tjera në këtë? 336 00:15:12,140 --> 00:15:12,835 Po. 337 00:15:12,835 --> 00:15:14,695 >> Audienca: Pra, atëherë ajo bëhet 000. 338 00:15:14,695 --> 00:15:17,020 >> CAMILLE REKHSON: Po. 339 00:15:17,020 --> 00:15:22,150 OK, kështu që le të kalojnë nëpër një pak i ASCII matematikë. 340 00:15:22,150 --> 00:15:25,120 Pra, personazhet mund të në thelb të trajtohen si numra të plotë 341 00:15:25,120 --> 00:15:28,290 bazuar në vlerat e tyre të ASCII. 342 00:15:28,290 --> 00:15:35,250 Pra, nëse ne u ul int A është e barabartë me 65, int B barabartë me një plus 1, int char C është e barabartë me 343 00:15:35,250 --> 00:15:39,565 D minus 1, dhe char D është e barabartë me 68, çfarë do të shtypura nga në fund? 344 00:15:39,565 --> 00:15:46,150 345 00:15:46,150 --> 00:15:49,720 >> Pra, ne jemi shtypjen these-- bekoftë ju, duke filluar ne jemi 346 00:15:49,720 --> 00:15:53,520 shtypjen gjitha këto si Chars bazuar mbi përqind C. 347 00:15:53,520 --> 00:15:56,320 Pra, ne jemi në thelb printim vlera karakteri i të katër 348 00:15:56,320 --> 00:15:58,600 prej këtyre variablave. 349 00:15:58,600 --> 00:16:04,280 Si një aluzion, 65 është vlera ASCII e kapitalit A. Ndoshta kjo ka ndihmuar. 350 00:16:04,280 --> 00:16:04,780 Çfarë? 351 00:16:04,780 --> 00:16:05,530 >> Audienca: ABCD. 352 00:16:05,530 --> 00:16:07,780 >> CAMILLE REKHSON: Yeah, kështu që kjo do të shtypura nga saktësisht 353 00:16:07,780 --> 00:16:10,290 ABCD sepse ne kemi vendosur int A barabartë me vlerën ASCII e A. 354 00:16:10,290 --> 00:16:13,085 Pra, nëse kemi shkruar se si një karakter, ne vetëm të merrni kapitalit A, 355 00:16:13,085 --> 00:16:15,540 Një plus 1 do të jetë një B kapital në ASCII. 356 00:16:15,540 --> 00:16:19,260 D minus 1 do të jetë një C kapital në ASCII. 357 00:16:19,260 --> 00:16:25,185 Dhe 68 është vlera ASCII e D. pyetjesh mbi ASCII? 358 00:16:25,185 --> 00:16:25,685 Po. 359 00:16:25,685 --> 00:16:31,370 >> Audienca: Pra, citat shënon rreth A, bën që të ndryshojë një në ASCII? 360 00:16:31,370 --> 00:16:34,456 >> CAMILLE REKHSON: Është uses-- atë Kuotat e vetme count-- rreth A 361 00:16:34,456 --> 00:16:35,330 e bën atë një karakter. 362 00:16:35,330 --> 00:16:37,600 Dhe në qoftë se ju jeni që kanë të bëjnë me në numrin form-- 363 00:16:37,600 --> 00:16:40,320 kështu që kur, si në këtë rast, është duke u trajtuar si një int-- 364 00:16:40,320 --> 00:16:44,664 atëherë ajo do të merrej me atë është vlera ASCII. 365 00:16:44,664 --> 00:16:45,164 Po. 366 00:16:45,164 --> 00:16:50,060 >> Audienca: A ju rekomandojmë që ne kemi një tryezë të referencës ASCII? 367 00:16:50,060 --> 00:16:51,900 >> CAMILLE REKHSON: Unë nuk think-- 368 00:16:51,900 --> 00:16:54,720 >> Audienca: Ose do ai vetëm të merret me këto? 369 00:16:54,720 --> 00:16:56,210 >> CAMILLE REKHSON: Unë mendoj se ne do të bëjë atë me gjëra të lehtë. 370 00:16:56,210 --> 00:16:58,168 Unë nuk mendoj se kjo do të lënduar të shkruani ndoshta 371 00:16:58,168 --> 00:17:02,653 çfarë kapitali Një dhe të vogla A janë, vetëm çfarë ato vargjet janë duke filluar me. 372 00:17:02,653 --> 00:17:05,819 Por unë nuk mendoj se ju duhet të merrni të gjitha hapësirë ​​për të vënë një tabelë e tërë ASCII. 373 00:17:05,819 --> 00:17:06,803 Po. 374 00:17:06,803 --> 00:17:09,755 >> Audienca: Cila është diferenca midis thënë int A dhe char C, 375 00:17:09,755 --> 00:17:12,720 si ju bëni në krye? 376 00:17:12,720 --> 00:17:17,380 >> CAMILLE REKHSON: Pra, kjo është vetëm sa që është ruajtur në kujtesë. 377 00:17:17,380 --> 00:17:20,010 Por ju mund të trajtoni atë as mënyrë. 378 00:17:20,010 --> 00:17:23,274 Ashtu si ne shohim këtu, ne bëjmë të shtypura nga A si një karakter. 379 00:17:23,274 --> 00:17:24,690 Audienca: Pra, kjo është e njëjtë si A? 380 00:17:24,690 --> 00:17:25,606 CAMILLE REKHSON: Po. 381 00:17:25,606 --> 00:17:28,030 382 00:17:28,030 --> 00:17:29,537 Ndonjë pyetje të tjera? 383 00:17:29,537 --> 00:17:32,022 >> Audienca: Pra, për qind C është duke thënë të shkruar një char? 384 00:17:32,022 --> 00:17:33,016 >> CAMILLE REKHSON: Po. 385 00:17:33,016 --> 00:17:35,501 >> Audienca: Pra, edhe në qoftë se një ka vetëm është përkufizuar si një numër i plotë, 386 00:17:35,501 --> 00:17:37,569 nëse ne përpiqemi për të shkruar një char si 65, ajo would-- 387 00:17:37,569 --> 00:17:40,110 CAMILLE REKHSON: Ajo do të shkojë në në thelb shkon në tabelë ASCII 388 00:17:40,110 --> 00:17:42,990 dhe merr çfarëdo karaktere në tabelë ASCII për atë 65. 389 00:17:42,990 --> 00:17:43,840 >> Audienca: Ju faleminderit. 390 00:17:43,840 --> 00:17:44,756 >> CAMILLE REKHSON: Po. 391 00:17:44,756 --> 00:17:45,445 Po? 392 00:17:45,445 --> 00:17:50,620 >> Audienca: Pra, nëse ju e bëri% I,% I, Unë%,% unë, do atë vetëm print-- 393 00:17:50,620 --> 00:17:52,620 CAMILLE REKHSON: Po, në qoftë se keni kryer të gjitha 4% unë, ajo 394 00:17:52,620 --> 00:17:57,170 do të shtypura nga ASCII vlerat e katër prej tyre. 395 00:17:57,170 --> 00:17:59,483 Ndonjë pyetje të tjera? 396 00:17:59,483 --> 00:18:06,310 OK, kështu që fushëveprimi, në thelb kjo na ndihmon të përcaktojë se ku 397 00:18:06,310 --> 00:18:08,450 një variabël ekziston në programin tuaj. 398 00:18:08,450 --> 00:18:11,910 Pra, ne kemi biseduar për dy të ndryshme llojet e fushës, globale dhe lokale. 399 00:18:11,910 --> 00:18:14,560 >> Në qoftë se një variabël është scoped globalisht, kjo do të thotë të gjithë programin tuaj 400 00:18:14,560 --> 00:18:16,292 ka qasje në këtë variabël. 401 00:18:16,292 --> 00:18:18,000 Dhe në qoftë se ju globalisht Shtrirja një variabël, ju 402 00:18:18,000 --> 00:18:19,510 shpallin atë para funksion tuaj kryesor. 403 00:18:19,510 --> 00:18:20,830 Pra, kjo është bërë e drejtë off bat. 404 00:18:20,830 --> 00:18:22,950 Dhe pastaj e tërë tuaj Programi mund të përdorni atë. 405 00:18:22,950 --> 00:18:26,070 >> Në qoftë se kjo është scoped vetëm në nivel lokal, që ndryshueshme mbyllur në një rajon të veçantë. 406 00:18:26,070 --> 00:18:29,705 Pra, nëse ju të deklarojë brenda një për lak, vetëm se për lak mund të përdorni atë. 407 00:18:29,705 --> 00:18:31,580 Ose në qoftë se ju të deklarojë brenda një funksion të veçantë, 408 00:18:31,580 --> 00:18:34,940 vetëm se funksioni mund të përdorni atë. 409 00:18:34,940 --> 00:18:38,265 Pyetjet për fushës. 410 00:18:38,265 --> 00:18:41,570 >> OK, kështu që funksioni prototyping. 411 00:18:41,570 --> 00:18:45,360 Në thelb sepse C, kur ajo harton, lexon lartë poshtë. 412 00:18:45,360 --> 00:18:48,800 Nëse ju të deklarojë një funksion vonë në kodin tuaj, 413 00:18:48,800 --> 00:18:51,670 përpiluesit nuk e di që ekziston se funksioni. 414 00:18:51,670 --> 00:18:55,690 Pra, ajo që ne përdorim janë prototipa, e cila në thelb tregojnë përpilues, 415 00:18:55,690 --> 00:18:58,710 ky funksion ekziston, shkoni shikoni për atë më vonë në kodin. 416 00:18:58,710 --> 00:19:00,900 Kështu që mënyra që ju të bëni një prototip funksion 417 00:19:00,900 --> 00:19:03,020 është pikërisht se si ju filloni off shkruar një funksion. 418 00:19:03,020 --> 00:19:05,310 Ju jepni llojin e kthimit, emri i funksionit, 419 00:19:05,310 --> 00:19:08,930 dhe pastaj çdo argumente se se funksioni merr. 420 00:19:08,930 --> 00:19:13,970 >> Pra, për të parë në një shembull të shpejtë, në këtë lendes funksionin tonë që ne jemi duke përdorur këtu 421 00:19:13,970 --> 00:19:15,340 është në thelb një funksion fuqi e tretë. 422 00:19:15,340 --> 00:19:19,170 Pra, duke marrë në një numër të plotë dhe kthyer kubike e asaj numër të plotë. 423 00:19:19,170 --> 00:19:23,190 Pra, për shkak se ne kemi shkruar se Funksioni nën funksionin kryesor, 424 00:19:23,190 --> 00:19:26,300 dhe ne duam të përdorim Prodhimi i that-- ose ne 425 00:19:26,300 --> 00:19:28,630 dua të atë funksion në funksion tonë kryesor, 426 00:19:28,630 --> 00:19:31,980 ne kemi vënë rrugën e saj prototip në krye programit tonë. 427 00:19:31,980 --> 00:19:34,460 Dhe atëherë kur ne e quajmë ajo në funksion tonë kryesor, 428 00:19:34,460 --> 00:19:38,800 përpiluesit e di se se funksioni është shkruar më vonë, dhe do të shkoni të shikoni për të, 429 00:19:38,800 --> 00:19:40,910 dhe do të përdorin atë siç duhet. 430 00:19:40,910 --> 00:19:45,190 Pyetjet për prototyping? 431 00:19:45,190 --> 00:19:45,690 Po. 432 00:19:45,690 --> 00:19:46,940 >> Audienca: Pra, çfarë është pika? 433 00:19:46,940 --> 00:19:49,374 434 00:19:49,374 --> 00:19:50,915 Unë nuk do të marrë pikën e prototyping. 435 00:19:50,915 --> 00:19:52,820 Pse jo vetëm të ketë atë atje? 436 00:19:52,820 --> 00:19:54,903 >> CAMILLE REKHSON: E pra në qoftë se është këtu poshtë, atëherë kur 437 00:19:54,903 --> 00:19:57,020 që ju të merrni të vijë kubike e x në funksion tuaj kryesor, 438 00:19:57,020 --> 00:19:59,495 përpiluesit do të ketë asnjë ide se funksioni kubike në fakt ekziston. 439 00:19:59,495 --> 00:20:01,310 >> Audienca: nuk mund të ju vetëm vënë atë në frontin? 440 00:20:01,310 --> 00:20:02,350 >> CAMILLE REKHSON: Është e Praktika më e mirë coding 441 00:20:02,350 --> 00:20:04,150 për ta vënë atë në funksion tuaj kryesor. 442 00:20:04,150 --> 00:20:06,350 Pra, kjo është arsyeja pse ne do bëjë prototyping. 443 00:20:06,350 --> 00:20:07,680 Vetëm për shkak se, në qoftë se ju kishte një shumë të funksioneve, 444 00:20:07,680 --> 00:20:10,180 ajo do të jetë me të vërtetë i çrregullt për lexuar nëpër të gjitha këto funksione 445 00:20:10,180 --> 00:20:12,030 Para se të merrni në mishin e programit tuaj. 446 00:20:12,030 --> 00:20:13,888 Po, dhe keni pasur një q-- 447 00:20:13,888 --> 00:20:16,796 >> Audienca: Pra, është deklaruar ndryshueshme tuaj deri në krye 448 00:20:16,796 --> 00:20:18,795 kështu që ju mund të hyni në atë, e bëjnë atë një ndryshore globale? 449 00:20:18,795 --> 00:20:21,119 A është kjo e ngjashme me këtë ku është e deklaruar atë 450 00:20:21,119 --> 00:20:23,660 atje lart, në mënyrë që ajo e di se ajo do të hyni në atë më vonë 451 00:20:23,660 --> 00:20:24,762 dhe ju mund ta përdorni atë? 452 00:20:24,762 --> 00:20:26,146 >> CAMILLE REKHSON: Po. 453 00:20:26,146 --> 00:20:26,646 Po. 454 00:20:26,646 --> 00:20:30,414 >> Audienca: Duhet the-- ndonjë shtesë Funksionet e keni krijuar çelësin jashtë 455 00:20:30,414 --> 00:20:31,840 e këtë gjë, or-- 456 00:20:31,840 --> 00:20:33,760 >> CAMILLE REKHSON: Po, në qoftë se ju jeni krijimi tjera kryesore functions-- 457 00:20:33,760 --> 00:20:36,385 në vetvete është function-- kështu që nëse ju jeni duke krijuar funksione të tjera, 458 00:20:36,385 --> 00:20:37,555 ata duhet të jenë jashtë. 459 00:20:37,555 --> 00:20:38,055 Po? 460 00:20:38,055 --> 00:20:39,734 >> Audienca: Çfarë është qind D? 461 00:20:39,734 --> 00:20:42,150 CAMILLE REKHSON: Përqindja D është e njëjta gjë si për qind I. 462 00:20:42,150 --> 00:20:45,915 Ajo i referohet një numër të plotë. 463 00:20:45,915 --> 00:20:47,895 Po. 464 00:20:47,895 --> 00:20:50,370 >> Audienca: Pra, çfarë është vepër int main? 465 00:20:50,370 --> 00:20:51,724 Çfarë ishte ajo e pavlefshme? 466 00:20:51,724 --> 00:20:53,890 CAMILLE REKHSON: Void thotë ajo merr në pa argumente. 467 00:20:53,890 --> 00:20:55,320 Audienca: [padëgjueshme]. 468 00:20:55,320 --> 00:20:57,570 CAMILLE REKHSON: A mund të flasin një Louder pak, keq? 469 00:20:57,570 --> 00:21:00,153 Audienca: Po, më vjen keq, përse ju vënë të pavlefshme për një të parë, 470 00:21:00,153 --> 00:21:02,297 dhe pastaj int kontribut për një të dytë? 471 00:21:02,297 --> 00:21:04,720 472 00:21:04,720 --> 00:21:07,470 CAMILLE REKHSON: Oh, sepse të dy different-- për funksionin kryesor 473 00:21:07,470 --> 00:21:09,290 kundrejt funksion kubike? 474 00:21:09,290 --> 00:21:13,360 Pra, në funksion kryesor, ne përdorim pavlefshëm për shkak se ka 475 00:21:13,360 --> 00:21:16,870 ka parametra të marra në. 476 00:21:16,870 --> 00:21:19,425 Ndërsa në kubike funksion, ne kemi një kontribut. 477 00:21:19,425 --> 00:21:22,300 Kjo është arsyeja pse ajo thotë se int, të dhëna, sepse ka argumente që ne jemi 478 00:21:22,300 --> 00:21:24,571 duke marrë në për të drejtuar funksionin tonë. 479 00:21:24,571 --> 00:21:25,070 Po. 480 00:21:25,070 --> 00:21:27,770 481 00:21:27,770 --> 00:21:30,464 A ka pyetje? 482 00:21:30,464 --> 00:21:34,520 >> OK, dhe pastaj shpejt lundrues-pikë pasaktësi. 483 00:21:34,520 --> 00:21:37,200 Pra, ne kemi pafundësisht shumë numra reale. 484 00:21:37,200 --> 00:21:38,950 Por ka vetëm një numër i caktuar i bit 485 00:21:38,950 --> 00:21:42,880 që ne mund të përdorim për të shfaqur ato numra, dhe përfaqësojnë ata. 486 00:21:42,880 --> 00:21:45,020 Pra, atëherë ne fund me disa pasaktësi. 487 00:21:45,020 --> 00:21:49,190 Dhe numrat e juaj nuk do të gjithmonë të jetë mjaft saktësisht çfarë 488 00:21:49,190 --> 00:21:51,810 ju mendoni se ata janë kur ju jeni që kanë të bëjnë me lundrues-pikë. 489 00:21:51,810 --> 00:21:53,650 Kjo është vetëm diçka e mirë për të dini. 490 00:21:53,650 --> 00:21:56,628 Pyetje për këtë? 491 00:21:56,628 --> 00:21:59,610 Po. 492 00:21:59,610 --> 00:22:02,090 >> Audienca: A është kjo duke iu referuar me idenë e bit fryhen 493 00:22:02,090 --> 00:22:03,089 që ishte në leksion? 494 00:22:03,089 --> 00:22:06,080 Ishte kjo diçka e ndarë? 495 00:22:06,080 --> 00:22:09,650 >> CAMILLE REKHSON: Ata janë krejtësisht të veçantë, vërtet. 496 00:22:09,650 --> 00:22:11,160 OK, e madhe. 497 00:22:11,160 --> 00:22:16,369 498 00:22:16,369 --> 00:22:17,452 Pulak Goyal: Hi, të gjithë. 499 00:22:17,452 --> 00:22:19,872 Emri im është Pulak, dhe unë do të të jetë duke shkuar mbi pointers. 500 00:22:19,872 --> 00:22:23,260 501 00:22:23,260 --> 00:22:25,720 OK, kështu që le të parë think për atë që e kujtesës duket si. 502 00:22:25,720 --> 00:22:28,610 Kështu si ju mund të shihni këtu, të kujtesës dhe ndajmë atë 503 00:22:28,610 --> 00:22:30,090 në një bandë e blloqeve. 504 00:22:30,090 --> 00:22:33,150 Dhe ne referim çdo bllokuar nga një adresë, e drejtë? 505 00:22:33,150 --> 00:22:37,196 Dhe ka njeri të mbani mend se çfarë lloji i simbol ne përdorim për të treguar një adresë? 506 00:22:37,196 --> 00:22:38,510 >> Audienca: Hexadecimal, 0x. 507 00:22:38,510 --> 00:22:39,510 >> Pulak Goyal: Hexadecimal, e drejtë? 508 00:22:39,510 --> 00:22:41,509 Pra 0x do të thotë që ne jemi duke folur për heksadecimal. 509 00:22:41,509 --> 00:22:45,740 510 00:22:45,740 --> 00:22:48,360 OK, kështu Si mund të krijojmë pointers? 511 00:22:48,360 --> 00:22:51,960 Pra, ne kemi marrë llojin, ne vënë it-- shtoni një yll në të, 512 00:22:51,960 --> 00:22:53,760 dhe pastaj shtojmë emrin e ndryshueshme. 513 00:22:53,760 --> 00:22:59,280 Pra, shembujt që kemi parë janë int Ylli x, y yll char, dhe noton fillojnë z. 514 00:22:59,280 --> 00:23:01,380 Pra, kur unë them yll int x, mund dikush të më thoni 515 00:23:01,380 --> 00:23:03,965 Çfarë unë jam lloj të folur për atje? 516 00:23:03,965 --> 00:23:05,710 >> Audienca: Vendndodhja e diskut. 517 00:23:05,710 --> 00:23:06,890 >> Pulak Goyal: Na vjen keq, çfarë? 518 00:23:06,890 --> 00:23:07,723 A mund të përsëris se? 519 00:23:07,723 --> 00:23:09,250 Audienca: Vendi i disk. 520 00:23:09,250 --> 00:23:12,390 >> Pulak Goyal: Pra actually-- kështu çfarë Unë do të thotë, është kur ne kemi int yll x, 521 00:23:12,390 --> 00:23:14,400 ne jemi duke thënë është krijuar një akrep, dhe ajo 522 00:23:14,400 --> 00:23:17,130 mund të ruajë adresën e një variabël kjo është një int, e drejtë? 523 00:23:17,130 --> 00:23:21,810 Pra me y yll char, ne jemi duke krijuar një akrep 524 00:23:21,810 --> 00:23:24,220 që mund të ruajë adresën e një variabël që është një char. 525 00:23:24,220 --> 00:23:26,270 Kështu që e bëjnë kuptim për të gjithë? 526 00:23:26,270 --> 00:23:29,600 OK, të ftohtë 527 00:23:29,600 --> 00:23:33,450 >> OK, kështu që me pointers, ka dy operacione të rëndësishme që mund të bëjmë. 528 00:23:33,450 --> 00:23:36,630 Ka referenca, dhe Ka dereferencing. 529 00:23:36,630 --> 00:23:37,130 Po? 530 00:23:37,130 --> 00:23:38,760 >> Audienca: A mund të shkoni pak më ngadalë? 531 00:23:38,760 --> 00:23:39,510 >> Pulak Goyal: Sigurisht. 532 00:23:39,510 --> 00:23:45,350 Po, so-- Po, të bëni pyetje si unë shkoj së bashku në qoftë se ju, duke filluar në qoftë se diçka është e paqartë. 533 00:23:45,350 --> 00:23:47,240 Pra, ne kemi referenca dhe dereferencing. 534 00:23:47,240 --> 00:23:51,680 Pra, kur ju doni të merrni adresën e një ndryshore, atëherë përdorni simbol të. 535 00:23:51,680 --> 00:23:53,620 Pra, le të thonë se unë kam shpallur int x diku. 536 00:23:53,620 --> 00:23:57,450 Dhe unë dua të të marrë adresën e që dhe të kalojë atë në, unë do të bëj ampersand x. 537 00:23:57,450 --> 00:24:01,260 Dhe kur ju doni të merrni Vlera e lidhur me një akrep, 538 00:24:01,260 --> 00:24:04,670 ju përdorni dereference operator, i cili është një yll. 539 00:24:04,670 --> 00:24:08,570 >> Kështu që lejon të thonë se unë kam int yll x, dhe Unë kisha atë duke treguar për diçka. 540 00:24:08,570 --> 00:24:13,510 Nëse unë dua të të marrë vlerën e asaj që është treguar, unë do të vetëm të bëjë yll x. 541 00:24:13,510 --> 00:24:14,960 A është kjo e qartë? 542 00:24:14,960 --> 00:24:16,390 Ndonjë pyetje në lidhje me këtë? 543 00:24:16,390 --> 00:24:18,129 Po. 544 00:24:18,129 --> 00:24:25,275 >> Audienca: Pra në përgjithësi, ju nuk do të jetë në gjendje të bëjë në x dhe yll 545 00:24:25,275 --> 00:24:27,135 x me të njëjtin x. 546 00:24:27,135 --> 00:24:28,740 Është e saktë? 547 00:24:28,740 --> 00:24:31,800 Sepse nëse x është një ndryshueshme, atëherë ju keni 548 00:24:31,800 --> 00:24:35,980 për të bërë në x për të marrë se kjo është një akrep. 549 00:24:35,980 --> 00:24:40,810 Por në qoftë se x është një tregues, atëherë ju keni nevojë për për të bërë yll x për të marrë ndryshueshme. 550 00:24:40,810 --> 00:24:43,240 >> Pulak Goyal: Po, kështu që Pyetja ishte rreth kur 551 00:24:43,240 --> 00:24:45,750 bëjmë ne përdorim një star-- kur do të ju përdorni yll, 552 00:24:45,750 --> 00:24:47,470 dhe kur ne përdorim simbol, dhe mund të kemi 553 00:24:47,470 --> 00:24:49,160 e përdorin atë me të njëjtin lloj të variabël? 554 00:24:49,160 --> 00:24:51,810 Pra, zakonisht, nëse ju keni, për shembull, një int x, 555 00:24:51,810 --> 00:24:55,170 ju më së shumti do të jetë duke përdorur simbol për të marrë adresën e që. 556 00:24:55,170 --> 00:24:58,220 Për shkak se ajo nuk ka të bëjë kuptim për respekt në x. 557 00:24:58,220 --> 00:25:04,220 Ndërsa, nëse do të kishim yll int x, ju do të jetë duke përdorur operacionin dereference 558 00:25:04,220 --> 00:25:07,910 sepse kjo do të kishte asnjë kuptim për të përdorur në x në këtë rast. 559 00:25:07,910 --> 00:25:09,582 A kjo ka kuptim? 560 00:25:09,582 --> 00:25:13,192 >> Audienca: Pra, ju nuk mund të dhe, dhe pastaj nje tregues? 561 00:25:13,192 --> 00:25:14,900 Pulak Goyal: Pra ju teknikisht, në të vërtetë 562 00:25:14,900 --> 00:25:16,870 mund të bëjë zëvendësojeni e një akrep. 563 00:25:16,870 --> 00:25:18,984 Por kjo është nga të Shtrirja e kësaj klase. 564 00:25:18,984 --> 00:25:21,900 Për purpose-- për djemtë tuaj ' qëllime, sa herë që ju keni pointers, 565 00:25:21,900 --> 00:25:25,191 ju doni të përdorni operatorin dereference për të marrë vlerën e shoqëruar me atë. 566 00:25:25,191 --> 00:25:27,380 Dhe kur ju keni të rregullt variabla, si një int x, 567 00:25:27,380 --> 00:25:31,410 ju doni të përdorni simbol të Operatori për të marrë adresën e që. 568 00:25:31,410 --> 00:25:31,910 NE RREGULL? 569 00:25:31,910 --> 00:25:35,670 570 00:25:35,670 --> 00:25:38,850 >> OK, kështu që le të shohim në pointers dhe se çfarë ndodh nën kapuç. 571 00:25:38,850 --> 00:25:42,640 Pra, gjëja e parë që kam bërë këtu është deklaruar int x është i barabartë me 5. 572 00:25:42,640 --> 00:25:48,460 Adresa e kësaj variable është 0x04, dhe vlera është 5. 573 00:25:48,460 --> 00:25:52,940 Pra, le të shohim se çfarë ndodh me linjë tjetër. 574 00:25:52,940 --> 00:25:55,130 Pra, tani që ne të deklarojë një akrep. 575 00:25:55,130 --> 00:26:01,450 Adresa e saj është 0x08, dhe e saj Vlera është adresa e x. 576 00:26:01,450 --> 00:26:05,220 A ka që e bëjnë kuptim për të gjithë? 577 00:26:05,220 --> 00:26:06,507 Ndonjë pyetje në lidhje me këtë? 578 00:26:06,507 --> 00:26:09,130 579 00:26:09,130 --> 00:26:13,080 >> OK, dhe tani le të shohim se çfarë ndodh me linjë tjetër. 580 00:26:13,080 --> 00:26:18,140 Pra, me këtë linjë tjetër, ne kemi adresa e kopje të qenë 0x10, 581 00:26:18,140 --> 00:26:20,780 dhe vlera e saj është 5. 582 00:26:20,780 --> 00:26:23,570 Pra, arsyeja që ne mori pesë është e thamë, ne dereference 583 00:26:23,570 --> 00:26:26,740 akrep, të cilat ne deklaruar një yll int. 584 00:26:26,740 --> 00:26:35,797 Dhe kështu went-- kur ne dereference saj, ajo tha: OK, ajo që është në slot 0x04. 585 00:26:35,797 --> 00:26:36,630 Dhe ajo shkoi në atë. 586 00:26:36,630 --> 00:26:40,785 Dhe çfarë x është një x0-- 0x04, dhe vlera është 5. 587 00:26:40,785 --> 00:26:41,660 A ka kjo kuptim? 588 00:26:41,660 --> 00:26:42,334 Po? 589 00:26:42,334 --> 00:26:50,090 >> Audienca: Pse është adresa kopja e vetëm 4 bytes mësipërme x akrep? 590 00:26:50,090 --> 00:26:52,318 >> Pulak Goyal: Po, ky është një gabim on-- 591 00:26:52,318 --> 00:26:55,304 >> CAMILLE REKHSON: Pra, po, mbani mend kjo është e shkruar në heksadecimal. 592 00:26:55,304 --> 00:26:56,220 Pulak Goyal: Oh, po. 593 00:26:56,220 --> 00:26:58,615 CAMILLE REKHSON: Pra kjo në fakt është 8 dhe pastaj 16 594 00:26:58,615 --> 00:27:00,960 sepse kemi thënë se: tregues, mos harroni, 595 00:27:00,960 --> 00:27:05,330 në IDE tonë do të jetë 8 bytes gjatë. 596 00:27:05,330 --> 00:27:06,080 Pulak Goyal: Po. 597 00:27:06,080 --> 00:27:09,160 598 00:27:09,160 --> 00:27:12,540 Pra, vetëm të jetë i qartë, pointers janë 8 bytes gjatë. 599 00:27:12,540 --> 00:27:14,160 Një int është 4 bytes. 600 00:27:14,160 --> 00:27:18,380 Pra, arsyeja pse çfarë kërceu nga 0x04 0x08 në 601 00:27:18,380 --> 00:27:20,980 është për shkak se kemi pasur për të bëjë një kërcim prej 8 bytes. 602 00:27:20,980 --> 00:27:24,396 Dhe pastaj for-- që prej Kopja është vetëm një int, 603 00:27:24,396 --> 00:27:26,020 është 4 bytes, e cila është gjysma e 8 bytes. 604 00:27:26,020 --> 00:27:29,970 Pra, ne vetëm të hidhen në 0x10, cila është dy larg nga 0x08. 605 00:27:29,970 --> 00:27:33,100 606 00:27:33,100 --> 00:27:34,570 Ndonjë pyetje të tjera? 607 00:27:34,570 --> 00:27:36,850 OK, let's-- vërtet? 608 00:27:36,850 --> 00:27:39,245 >> Audienca: Pse nuk është e vlera e kopjes int 609 00:27:39,245 --> 00:27:45,000 vetëm the-- pse është 5 në vend të 0x04? 610 00:27:45,000 --> 00:27:46,270 >> Pulak Goyal: OK, pse është 5? 611 00:27:46,270 --> 00:27:51,600 OK, kështu që kur the-- kështu që le të parë mendojnë për këtë në aspektin e llojeve. 612 00:27:51,600 --> 00:27:55,600 Kështu që unë jam duke thënë kopje int është e barabartë me yll tregues. 613 00:27:55,600 --> 00:27:57,490 Pra, çfarë është lloji i akrep? 614 00:27:57,490 --> 00:27:59,310 Ai është një yll int. 615 00:27:59,310 --> 00:28:03,850 Dhe kur unë dereference se, lloji bëhet një int. 616 00:28:03,850 --> 00:28:06,570 Pra, ajo që ne presim për të ruajtur këtu është në fakt një int. 617 00:28:06,570 --> 00:28:07,965 A ka kjo kuptim? 618 00:28:07,965 --> 00:28:09,090 Audienca: Sigurisht, pak. 619 00:28:09,090 --> 00:28:11,465 Pulak Goyal: Pra, zakonisht kur ju mendoni se në aspektin e llojeve, 620 00:28:11,465 --> 00:28:15,607 ajo ju ndihmon të kuptoni se çfarë është lloji i vlerës që duhet të shkojë atje. 621 00:28:15,607 --> 00:28:17,940 Kështu që ju mund të zakonisht përjashtojnë shumë nga këto gabime të zakonshme 622 00:28:17,940 --> 00:28:21,790 nga të menduarit në aspektin e llojeve. 623 00:28:21,790 --> 00:28:23,612 Më lejoni të shkoj nëpër një pak më shumë slides. 624 00:28:23,612 --> 00:28:26,070 Dhe ne mund të merrni në pyetje fundi i seksionit tregues. 625 00:28:26,070 --> 00:28:28,910 626 00:28:28,910 --> 00:28:32,290 OK, kështu që ne kemi një program buggy këtu. 627 00:28:32,290 --> 00:28:35,460 Dhe kështu ka anyone-- dikush mund të them mua se çfarë është e gabuar me këtë program? 628 00:28:35,460 --> 00:28:39,000 629 00:28:39,000 --> 00:28:40,820 E drejtë, kështu që ajo që ne jemi duke pritur për të bërë këtu 630 00:28:40,820 --> 00:28:44,520 is-- ajo që ne duam të bëjmë është marrë int ndryshueshme x 631 00:28:44,520 --> 00:28:48,350 dhe të kthehet it-- bëjnë të barabartë me 5 në vend të 3 dhe pastaj të shtypura atë. 632 00:28:48,350 --> 00:28:49,640 Por kjo nuk po ndodh. 633 00:28:49,640 --> 00:28:50,950 A mund dikush të më thoni pse? 634 00:28:50,950 --> 00:28:51,934 Po? 635 00:28:51,934 --> 00:28:54,840 >> Audienca: Kur funksioni to_five merr x si është argumenti, 636 00:28:54,840 --> 00:28:58,130 ajo nuk ka marrë x vete, por në vend që krijon një kopje, një, të saj. 637 00:28:58,130 --> 00:29:00,115 Dhe kjo formon operacione në atë. 638 00:29:00,115 --> 00:29:02,614 Por për shkak të kësaj, ju nuk e bëni të ndryshojë vlerën aktuale të x. 639 00:29:02,614 --> 00:29:03,970 Që ju jeni [e padëgjueshme]. 640 00:29:03,970 --> 00:29:07,950 >> Pulak Goyal: E drejta, e drejtë, kështu që kur ne e quajmë 641 00:29:07,950 --> 00:29:10,100 to_five funksion, çfarë ne jemi duke bërë është duke menduar, 642 00:29:10,100 --> 00:29:12,550 më jepni një kopje të Vlera për atë funksion. 643 00:29:12,550 --> 00:29:16,010 Se funksioni, atëherë, po shkon dhe duke bërë disa manipulime. 644 00:29:16,010 --> 00:29:21,260 Por sapo ajo kthehet, është tani jashtë e fushës së funksionit kryesor këtu. 645 00:29:21,260 --> 00:29:24,750 Dhe kështu x është ende, në fakt, e barabartë me 3, dhe ne printuar 3. 646 00:29:24,750 --> 00:29:26,445 OK, kështu që le të shohim se si ndodh kjo. 647 00:29:26,445 --> 00:29:29,430 648 00:29:29,430 --> 00:29:31,180 >> OK, kështu që nuk ka asgjë të deklaruar. 649 00:29:31,180 --> 00:29:34,490 Pastaj, ketu, x është e barabartë me 3. 650 00:29:34,490 --> 00:29:40,820 Dhe tani ajo is-- në pozicionin e dy, një ende nuk është në fushëveprimin. 651 00:29:40,820 --> 00:29:46,790 Dhe tani ne do të shkojmë në pozicionin tre, ku një tani merr vlerën e 3. 652 00:29:46,790 --> 00:29:49,380 Në katër, ne tani të ndryshojë një në 5. 653 00:29:49,380 --> 00:29:53,290 Por tani, kur hidhen përsëri në pesë, që është deklarata e shtypura, 654 00:29:53,290 --> 00:29:55,380 një është tani jashtë fushës. 655 00:29:55,380 --> 00:29:57,450 Dhe x është ende e barabartë me 3. 656 00:29:57,450 --> 00:29:59,700 A ka kjo kuptim për të gjithë? 657 00:29:59,700 --> 00:30:03,010 OK, kështu që tani le të flasim rreth asaj se si ne mund të përdorim pointers për të rregulluar këtë. 658 00:30:03,010 --> 00:30:06,140 A ka dikush ndonjë ide se si ne mund të rregullojmë këtë duke përdorur pointers? 659 00:30:06,140 --> 00:30:08,710 660 00:30:08,710 --> 00:30:11,490 >> Audienca: Ju merrni në një yll int në vend të një int për to_five. 661 00:30:11,490 --> 00:30:12,530 >> Pulak Goyal: Na vjen keq, mund të flasin? 662 00:30:12,530 --> 00:30:15,266 >> Audienca: Ju merrni në një yll int në vend të një int për to_five. 663 00:30:15,266 --> 00:30:16,140 Pulak Goyal: OK, po. 664 00:30:16,140 --> 00:30:20,250 Pra, le të pass-- në vend të kalimit të vetëm vlera, le të kalojë atë duke iu referuar. 665 00:30:20,250 --> 00:30:21,690 Ky funksion i ri, e drejtë? 666 00:30:21,690 --> 00:30:25,210 Dhe kështu duke kaluar adresën në, Ne mund të bëjnë manipulime në adresën. 667 00:30:25,210 --> 00:30:27,400 Dhe kështu që ne jemi në fakt, në fakt, duke ndryshuar x. 668 00:30:27,400 --> 00:30:30,570 Pra, le të shohim se si punon kjo. 669 00:30:30,570 --> 00:30:32,950 >> OK, kështu që në këtë shembull ne caktuar atë. 670 00:30:32,950 --> 00:30:38,000 Ne kemi ndryshuar firmën tonë i to_five për të marrë në një int 671 00:30:38,000 --> 00:30:40,540 yll në vend të vetëm një int këtu. 672 00:30:40,540 --> 00:30:45,470 Pastaj ne dereference këtë një dhe të caktojë 5 të saj. 673 00:30:45,470 --> 00:30:48,090 Dhe tani kjo do të, në fakt, të shtypura 5. 674 00:30:48,090 --> 00:30:51,960 Pra, le të shohim se si hapat punojnë këtu. 675 00:30:51,960 --> 00:30:55,200 >> Pra, me hapin e parë, nuk ka asgjë të shpallur ende. 676 00:30:55,200 --> 00:31:00,140 Kështu që këtu, me hapin e dytë, kemi thënë x është e barabartë me 3, 677 00:31:00,140 --> 00:31:03,970 por një është ende jashtë fushës. 678 00:31:03,970 --> 00:31:08,100 Tani nga linja e tretë, ne kemi x është ende e barabartë me tre. 679 00:31:08,100 --> 00:31:14,150 Dhe tani, ne kemi kaluar in-- çfarë është ruhet në një tani është adresa e x. 680 00:31:14,150 --> 00:31:16,760 A ka që e bëjnë kuptim për të gjithë, se si ne e mori atë? 681 00:31:16,760 --> 00:31:21,470 E drejtë, ne kemi amper-- që është si kemi kaluar simbolin komercial x të funksionit 682 00:31:21,470 --> 00:31:23,040 to_five. 683 00:31:23,040 --> 00:31:30,330 Dhe pastaj në rreshtin tjetër, çfarë ne bëjmë, është që ne dereference një. 684 00:31:30,330 --> 00:31:36,120 >> Dhe nga dereferencing një, ne jemi në gjendje për të ndryshuar vlerën e x nga 3 deri në 5. 685 00:31:36,120 --> 00:31:38,560 Sepse x jeton në atë 0x12 adresën. 686 00:31:38,560 --> 00:31:42,440 687 00:31:42,440 --> 00:31:45,810 Dhe pastaj, në fund, kur ne të kthehen prapa në kryesore, 688 00:31:45,810 --> 00:31:50,570 edhe pse kjo është një tani jashtë fushëveprimi, ne kemi, në fakt, ndryshoi x. 689 00:31:50,570 --> 00:31:51,570 Dhe kjo është 5. 690 00:31:51,570 --> 00:31:55,160 Çdo pyetje në lidhje me këtë? 691 00:31:55,160 --> 00:31:56,036 Po? 692 00:31:56,036 --> 00:31:58,185 >> Audienca: A mund të më thoni çfarë simbol x ishte? 693 00:31:58,185 --> 00:32:00,004 Mendova simbol ishte si dhe. 694 00:32:00,004 --> 00:32:03,480 695 00:32:03,480 --> 00:32:07,210 >> Pulak Goyal: Po, kështu që ne përdorim të njëjtën gjë Simbol për shumë gjëra të ndryshme. 696 00:32:07,210 --> 00:32:11,470 Kështu që këtu, kur ju have-- në këtë rast, kur ju keni, 697 00:32:11,470 --> 00:32:19,380 I guess-- kështu që në këtë rast, kur ju jeni që kanë të bëjnë me pointers, 698 00:32:19,380 --> 00:32:23,640 kur ju vënë simbol të para e një int, një int ndryshueshme, ose një char, 699 00:32:23,640 --> 00:32:28,609 ose një rrjedhë, çfarë ju jeni duke thënë është, më jepni adresën e kësaj. 700 00:32:28,609 --> 00:32:31,900 Por ajo që ju u menduar për të, kur të tjerët ju do të përdorni zëvendësojeni është, le të themi, 701 00:32:31,900 --> 00:32:33,180 në një në qoftë se deklarata. 702 00:32:33,180 --> 00:32:39,256 Ju keni një të vërtetë, dhe disa variabla që të vlerësojë në një farë Boolean, 703 00:32:39,256 --> 00:32:41,380 dhe disa variabla të tjera që provoj disa Boolean 704 00:32:41,380 --> 00:32:42,880 dhe ju doni të merrni dhe të atë. 705 00:32:42,880 --> 00:32:44,552 Pastaj ju do të përdorni simbol të. 706 00:32:44,552 --> 00:32:47,510 SPEAKER 1: Yeah, kështu që vetëm sot, ne kemi biseduar rreth tre përdorime të ndryshme 707 00:32:47,510 --> 00:32:48,250 i simbolin komercial. 708 00:32:48,250 --> 00:32:51,040 Ne kemi dy ampersands, i cili është çfarë Pulak ka përshkruar vetëm. 709 00:32:51,040 --> 00:32:53,420 Ne kemi një simbol të, e cila është ajo që Camille përshkroi 710 00:32:53,420 --> 00:32:54,897 parë, i cili është një simbol. 711 00:32:54,897 --> 00:32:56,685 Dhe kjo është për bitwise DHE. 712 00:32:56,685 --> 00:32:59,640 Dhe vini re se dy AND-- kushtëzuar ose, sorry, 713 00:32:59,640 --> 00:33:04,180 logjike DHE dhe bitwise DHE, ata kanë dy numra, e drejtë? 714 00:33:04,180 --> 00:33:07,354 Ajo ishte diçka simbol diçka simbol, 715 00:33:07,354 --> 00:33:09,350 diçka diçka simbol. 716 00:33:09,350 --> 00:33:13,862 Këtu, kur ne vetëm duhet simbol të diçka, që është dereferencing. 717 00:33:13,862 --> 00:33:15,830 >> Pulak Goyal: Po, pyetje e madhe. 718 00:33:15,830 --> 00:33:16,677 Po. 719 00:33:16,677 --> 00:33:21,150 >> Audienca: Pse në linjë 5a dhe yll një bëhet N / A? 720 00:33:21,150 --> 00:33:25,520 Pse nuk e ata vetëm lloj i ruajnë Vlerat e njëjtë nga rreshti i mëparshëm? 721 00:33:25,520 --> 00:33:28,000 >> Pulak Goyal: Sepse ne kemi dalë nga funksioni. 722 00:33:28,000 --> 00:33:30,894 Dhe kështu çfarë happens-- kështu what-- tani që ne jemi 723 00:33:30,894 --> 00:33:33,060 jashtë fushës së këtij funksioni, çfarë ndodh në fakt 724 00:33:33,060 --> 00:33:37,770 është ata janë hequr nga memoria. 725 00:33:37,770 --> 00:33:38,808 Po. 726 00:33:38,808 --> 00:33:42,982 >> Audienca: Midis 3 ose 4 yje një është e barabartë me 5. 727 00:33:42,982 --> 00:33:43,690 Pulak Goyal: Po. 728 00:33:43,690 --> 00:33:45,575 Audienca: Çfarë do që pikërisht treguar? 729 00:33:45,575 --> 00:33:46,950 Pulak Goyal: Çfarë do të thotë kjo? 730 00:33:46,950 --> 00:33:47,380 Audienca: Po. 731 00:33:47,380 --> 00:33:49,088 Pulak Goyal: Pra, Pyetja ishte, ajo që është 732 00:33:49,088 --> 00:33:52,300 that-- çfarë jeni duke bërë në internet kur themi, ylli është e barabartë me 5? 733 00:33:52,300 --> 00:33:55,210 Pra mbani mend Star Operatori dereference. 734 00:33:55,210 --> 00:33:58,640 Pra, kur një, në këtë rast, është një akrep. 735 00:33:58,640 --> 00:34:00,030 Është një yll int. 736 00:34:00,030 --> 00:34:03,710 Pra, kur ne dereference akt duke përdorur yll, ajo që ne jemi duke thënë 737 00:34:03,710 --> 00:34:11,250 po, shkoni në çdo gjë që është ruajtur në adresa, ruhet në a-- aq take-- kështu një, 738 00:34:11,250 --> 00:34:13,280 tani, ka disa Adresa e ruajtura në të. 739 00:34:13,280 --> 00:34:19,920 Go to se ku pikat drejtohet, dhe tani ndryshojë çfarëdo që është në pesë. 740 00:34:19,920 --> 00:34:20,420 Po. 741 00:34:20,420 --> 00:34:23,390 >> Audienca: A mund të thoni në terma të thjeshtë? 742 00:34:23,390 --> 00:34:27,360 Të ndryshuar adresën e një në 5. 743 00:34:27,360 --> 00:34:31,070 >> Pulak Goyal: Ne nuk jemi ndryshuar adresën e një në 5. 744 00:34:31,070 --> 00:34:36,340 A ka disa address në të, i cili është Adresa e variablit të interesit. 745 00:34:36,340 --> 00:34:39,570 Dhe kështu që ajo që ne jemi duke thënë kur ne dereference është, 746 00:34:39,570 --> 00:34:42,630 tani ne duam të change-- ne jemi tani referenca 747 00:34:42,630 --> 00:34:45,135 Interesi direkt variablit së. 748 00:34:45,135 --> 00:34:48,499 A kjo ka kuptim? 749 00:34:48,499 --> 00:34:52,280 >> SPEAKER 1: Një tjetër mënyrë për të menduar e ajo është go-- kështu që një është një adresë. 750 00:34:52,280 --> 00:34:55,310 Ylli thotë të shkojnë në atë trajtuar dhe të kërkoni në vlerën e saj. 751 00:34:55,310 --> 00:34:58,000 Dhe tani të vendosur vlerën e saj në 5. 752 00:34:58,000 --> 00:35:00,920 Pra, ajo thotë, të shkojnë në adresa e X, të cilat 753 00:35:00,920 --> 00:35:05,720 do të jetë ajo që është ruajtur në një, dhe për të ndryshuar atë në 5. 754 00:35:05,720 --> 00:35:06,470 Pulak Goyal: Po? 755 00:35:06,470 --> 00:35:10,817 Audienca: Pra, pozita është ku treguesin po shkon, adresën. 756 00:35:10,817 --> 00:35:14,270 Por vlera është një caktuar vlera e bazuar në adresën. 757 00:35:14,270 --> 00:35:15,020 Pulak Goyal: Po. 758 00:35:15,020 --> 00:35:18,076 759 00:35:18,076 --> 00:35:19,367 Çdo pyetje të tjera në lidhje me këtë? 760 00:35:19,367 --> 00:35:22,774 761 00:35:22,774 --> 00:35:23,940 Audienca: Unë kam një pyetje. 762 00:35:23,940 --> 00:35:25,664 Pulak Goyal: Po, sorry. 763 00:35:25,664 --> 00:35:30,324 Audienca: Pra, kur ju store-- kështu në qoftë se ju jeni duke thënë [e padëgjueshme] a. 764 00:35:30,324 --> 00:35:31,032 Pulak Goyal: Po. 765 00:35:31,032 --> 00:35:34,448 Audienca: A keni të dyqan x me simbolin komercial? 766 00:35:34,448 --> 00:35:37,376 Pse nuk mund të ju them vetëm x para int tuaj [e padëgjueshme]? 767 00:35:37,376 --> 00:35:40,562 768 00:35:40,562 --> 00:35:41,270 Pulak Goyal: So-- 769 00:35:41,270 --> 00:35:42,090 Audienca: [padëgjueshme]. 770 00:35:42,090 --> 00:35:43,673 Pulak Goyal: Pra, është question-- juaj oh. 771 00:35:43,673 --> 00:35:47,160 772 00:35:47,160 --> 00:35:51,300 Pra, pyetja juaj është, pse nuk mund të we-- në to_five funksionit, pse nuk mund të kemi 773 00:35:51,300 --> 00:35:52,590 vetëm të kalojë një x, apo jo? 774 00:35:52,590 --> 00:35:53,570 >> Audienca: E drejta. 775 00:35:53,570 --> 00:35:59,570 >> Pulak Goyal: OK, po, kështu që kjo përsëri shkon prapa në diskutimin tonë mbi lloje. 776 00:35:59,570 --> 00:36:06,080 Pra to_five funksion është tani në pritje të një lloj ylli int. 777 00:36:06,080 --> 00:36:07,660 Pra, çfarë është lloji i X? 778 00:36:07,660 --> 00:36:09,800 X është vetëm një int. 779 00:36:09,800 --> 00:36:13,530 Por ajo që ky funksion pret është një yll int. 780 00:36:13,530 --> 00:36:16,910 Pra, ajo pret një variabël që ka një adresë të depozituara në të. 781 00:36:16,910 --> 00:36:20,250 Pra, kjo është se si ju, duke vënë simbol, dhe kështu që kjo është 782 00:36:20,250 --> 00:36:22,560 se si ne të kalojë në adresa, e cila është now-- 783 00:36:22,560 --> 00:36:25,120 dhe që interpreton se si një yll int, po. 784 00:36:25,120 --> 00:36:26,700 Pyetje e madhe. 785 00:36:26,700 --> 00:36:29,300 Çdo pyetje të tjera në këtë? 786 00:36:29,300 --> 00:36:29,800 OK, i ftohtë. 787 00:36:29,800 --> 00:36:32,870 788 00:36:32,870 --> 00:36:37,020 >> OK, kështu që tani le të flasim për akrep aritmetikë. 789 00:36:37,020 --> 00:36:40,050 Kështu që këtu, duke shtuar dhe zbritur I rregullon akrep 790 00:36:40,050 --> 00:36:43,950 nga unë herë më i madh lloji i bytes akrep. 791 00:36:43,950 --> 00:36:46,170 Pra, le të shohim se si ajo duket si. 792 00:36:46,170 --> 00:36:49,640 Kështu që këtu, ne kemi deklaruar int x është e barabartë me një 5. 793 00:36:49,640 --> 00:36:56,120 Dhe tani ne jemi duke shkuar për të deklaruar një akrep y, dhe të kalojë në adresën e x atje. 794 00:36:56,120 --> 00:36:58,910 Pra, ne kemi atë. 795 00:36:58,910 --> 00:37:01,005 Pra, x është ruajtur në 0x04. 796 00:37:01,005 --> 00:37:03,960 Kështu tani y është e barabartë me këtë. 797 00:37:03,960 --> 00:37:12,260 Dhe mund dikush më tregoni se çfarë ata mendojnë do të ndodhë kur ne bëjmë y plus barabartë 1? 798 00:37:12,260 --> 00:37:19,100 799 00:37:19,100 --> 00:37:19,771 Po? 800 00:37:19,771 --> 00:37:24,010 >> Audienca: A do të ndryshojë në 0 herë 0 8? 801 00:37:24,010 --> 00:37:25,342 >> Pulak Goyal: Madhësia, dhe type-- 802 00:37:25,342 --> 00:37:27,789 >> Audienca: Ju jeni duke lëvizur adresën. 803 00:37:27,789 --> 00:37:29,080 Pulak Goyal: Po kjo was-- po. 804 00:37:29,080 --> 00:37:31,130 Drejtë So--. 805 00:37:31,130 --> 00:37:33,110 Pra, kjo do të ndryshojë në 0x08. 806 00:37:33,110 --> 00:37:38,750 Dhe because-- kështu që ju do të përdorni këtë formula, 1 herë madhësia e akrep 807 00:37:38,750 --> 00:37:42,354 dhe pointers janë të size-- 808 00:37:42,354 --> 00:37:44,050 >> [STUDENTËT shushurimë] 809 00:37:44,050 --> 00:37:45,190 >> Pulak Goyal: E drejta. 810 00:37:45,190 --> 00:37:46,150 >> [STUDENTËT shushurimë] 811 00:37:46,150 --> 00:37:49,230 >> SPEAKER 1: Pra, lloji që pikat Pointer to-- 812 00:37:49,230 --> 00:37:51,862 >> Pulak Goyal: A është, vërtet, Po, kjo është 4 bytes. 813 00:37:51,862 --> 00:37:53,930 >> SPEAKER 1: Pra Ints janë 4 bytes. 814 00:37:53,930 --> 00:38:01,260 >> Pulak Goyal: Pra, nëse do të kishim a-- le themi deklaruar, unë mendoj, një char. 815 00:38:01,260 --> 00:38:06,830 Çfarë do të that-- kështu që le të themi se kanë x char të barabarta për një apo diçka. 816 00:38:06,830 --> 00:38:14,400 Dhe ne kishim adresën e që në 0x04, çfarë do të y plus barabartë 1 bëjmë tani? 817 00:38:14,400 --> 00:38:14,960 Me fal, cfare? 818 00:38:14,960 --> 00:38:16,099 >> Audienca: 0x05. 819 00:38:16,099 --> 00:38:17,140 Pulak Goyal: 0x05, e drejtë. 820 00:38:17,140 --> 00:38:18,520 A të gjithë të shohin se? 821 00:38:18,520 --> 00:38:20,212 OK, dhe tani le të thonë se kjo është një noton. 822 00:38:20,212 --> 00:38:20,962 Çfarë do të ndodhë? 823 00:38:20,962 --> 00:38:25,210 824 00:38:25,210 --> 00:38:26,130 Çdokush? 825 00:38:26,130 --> 00:38:28,066 Pra, gjithandej janë si shumë bytes? 826 00:38:28,066 --> 00:38:28,860 >> Audienca: 4 bytes. 827 00:38:28,860 --> 00:38:29,651 >> Pulak Goyal: E drejta. 828 00:38:29,651 --> 00:38:32,661 Pra, kjo do të jetë e njëjta gjë si kjo. 829 00:38:32,661 --> 00:38:33,160 Ftohtë. 830 00:38:33,160 --> 00:38:36,230 831 00:38:36,230 --> 00:38:40,180 OK, dhe tani le të flasim për pointers dhe vargjeve. 832 00:38:40,180 --> 00:38:44,210 Pra, ju e panë këtë në dy grupe mëparshme P, 833 00:38:44,210 --> 00:38:48,570 ku ne mund të treat-- vargjeve kështu dhe pointers nuk janë e njëjta gjë. 834 00:38:48,570 --> 00:38:51,170 Por ne mund të trajtojë e vargjeve si pointers. 835 00:38:51,170 --> 00:38:55,550 Kështu që këtu, ne kemi këtë koleksion këtu, e cila ka tre lojëra elektronike. 836 00:38:55,550 --> 00:38:57,570 Në kemi parë slot-- kanë një, dy dhe tre. 837 00:38:57,570 --> 00:39:00,930 >> Pra, nëse we-- kështu që ne mund të caktojë se duke thënë, ne kemi rrjet, 838 00:39:00,930 --> 00:39:02,080 dereference se. 839 00:39:02,080 --> 00:39:04,579 Dhe atëherë kur ne dereference se, ajo që ne jemi të vërtetë duke bërë 840 00:39:04,579 --> 00:39:05,910 është e referuar në të njëjtin çarë. 841 00:39:05,910 --> 00:39:09,230 Pra grup yll është e barabartë me 1. 842 00:39:09,230 --> 00:39:11,020 Ne could- si mund kemi shkruar that-- çfarë është 843 00:39:11,020 --> 00:39:13,404 një mënyrë alternative ne mund të shkruani se? 844 00:39:13,404 --> 00:39:14,840 >> Audienca: Array 0 barabartë 1. 845 00:39:14,840 --> 00:39:17,100 >> Pulak Goyal: Pikërisht, bën të gjithë të shohin se? 846 00:39:17,100 --> 00:39:18,320 Pra, e njëjta gjë me këtu. 847 00:39:18,320 --> 00:39:24,060 Pra, kur ne kemi rrjet plus 1, ne do-- kështu even-- 848 00:39:24,060 --> 00:39:28,890 mos harroni me aritmetikë që ne vetëm biseduar rreth, kur ne bëjmë plus 1 849 00:39:28,890 --> 00:39:32,120 ose të lëvizin atë përsipër nga 4 bytes, e drejtë. 850 00:39:32,120 --> 00:39:33,170 A të gjithë të shohin se? 851 00:39:33,170 --> 00:39:35,753 Dhe kjo anë, kur ne dereference se, ne mund të vënë atë në 2. 852 00:39:35,753 --> 00:39:37,710 Dhe kjo është se si ne kemi vendosur bllok tjetër për 2. 853 00:39:37,710 --> 00:39:41,640 Dhe kështu një mënyrë alternative për të shkruar që gjithashtu do të jetë array kllapa 854 00:39:41,640 --> 00:39:44,436 0 kllapa është e barabartë me 1. 855 00:39:44,436 --> 00:39:47,070 >> Audienca: A keni nevojë kllapa? 856 00:39:47,070 --> 00:39:50,840 >> Pulak Goyal: Po, sepse ju jeni dereferencing tërë sasinë 857 00:39:50,840 --> 00:39:53,460 array plus 1. 858 00:39:53,460 --> 00:39:56,829 OK, dhe e njëjta gjë për grup plus 2. 859 00:39:56,829 --> 00:39:57,870 Çdo pyetje në lidhje me këtë? 860 00:39:57,870 --> 00:39:58,369 Po. 861 00:39:58,369 --> 00:40:01,340 Audienca: Pra array është vendosur automatikisht me 0? 862 00:40:01,340 --> 00:40:03,054 >> Pulak Goyal: Array is-- Na vjen keq, çfarë? 863 00:40:03,054 --> 00:40:03,962 >> Audienca: Array është 0. 864 00:40:03,962 --> 00:40:07,140 Adresa e array është vetëm 0. 865 00:40:07,140 --> 00:40:10,200 >> Pulak Goyal: Pra pyetja ishte, është adresa e grup vetëm 0? 866 00:40:10,200 --> 00:40:11,950 Pra, jo, array ka disa adresa. 867 00:40:11,950 --> 00:40:14,930 Pra, kur ne dereference saj, that's-- kështu që ju mund të mendoni? Për 868 00:40:14,930 --> 00:40:18,230 fjalë për fjalë si një duke treguar akrep në fillim të një grup. 869 00:40:18,230 --> 00:40:19,390 Kështu që ka disa adresa. 870 00:40:19,390 --> 00:40:20,580 Ne nuk e dimë se çfarë është. 871 00:40:20,580 --> 00:40:24,170 Por, kur ne dereference të, ne e dimë ky është fillimi i vektorit. 872 00:40:24,170 --> 00:40:25,980 Dhe kështu, kur ne shkojmë nga 1, ne jemi vetëm duke lëvizur 873 00:40:25,980 --> 00:40:29,090 në lidhje me ku se adresa ishte. 874 00:40:29,090 --> 00:40:30,480 Ndonjë pyetje të tjera? 875 00:40:30,480 --> 00:40:31,419 Po? 876 00:40:31,419 --> 00:40:35,559 >> Audienca: Pra, nëse ju bëni array kllapa plus 1-- 877 00:40:35,559 --> 00:40:37,350 Pulak Goyal: Na vjen keq, I-- mund të flasin? 878 00:40:37,350 --> 00:40:41,174 Audienca: Po, në qoftë se ju bëni array kllapa [e padëgjueshme]. 879 00:40:41,174 --> 00:40:45,227 Prandaj, nëse ju vendosni të pointer-- 880 00:40:45,227 --> 00:40:46,810 Pulak Goyal: Na vjen keq, unë nuk mund të dëgjoni ju. 881 00:40:46,810 --> 00:40:48,100 Mund të them atë një herë më shumë? 882 00:40:48,100 --> 00:40:49,470 >> Audienca: Ju jeni OK. 883 00:40:49,470 --> 00:40:50,870 >> Pulak Goyal: OK, Na vjen keq. 884 00:40:50,870 --> 00:40:51,420 OK, i ftohtë. 885 00:40:51,420 --> 00:40:52,200 Any-- vërtet. 886 00:40:52,200 --> 00:40:55,710 Pra, kur ju shkoni në array kllapa 3-- 887 00:40:55,710 --> 00:40:56,570 >> Pulak Goyal: Po. 888 00:40:56,570 --> 00:40:59,832 >> Audienca: --isn't there-- nuk do të jetë katër njolla si 0, 1, 2 dhe 3? 889 00:40:59,832 --> 00:41:02,630 Pse është mos int array 2? 890 00:41:02,630 --> 00:41:07,850 >> Pulak Goyal: Jo, kështu që vetëm konventa e C is-- kur ne shpallim array, 891 00:41:07,850 --> 00:41:12,010 we-- numrin kemi vënë atje është sa slots duam. 892 00:41:12,010 --> 00:41:16,970 Por indekset e vektorit janë në fakt array 0, array 1, dhe array 2. 893 00:41:16,970 --> 00:41:19,780 Pra, kjo është vetëm konventa se si ne shpalljen e vargjeve. 894 00:41:19,780 --> 00:41:20,880 Po, ndonjë pyetje tjetër? 895 00:41:20,880 --> 00:41:21,380 Po. 896 00:41:21,380 --> 00:41:23,750 Audienca: Pra, ne jemi ende duke folur për pointers, e drejtë? 897 00:41:23,750 --> 00:41:24,500 Pulak Goyal: Po. 898 00:41:24,500 --> 00:41:28,600 Audienca: Mund të ju ende bëni yll për array 0 është e barabartë me 1? 899 00:41:28,600 --> 00:41:32,870 Pulak Goyal: Jo, jo, so-- OK, kështu që pyetja ishte e mundur 900 00:41:32,870 --> 00:41:37,370 ju vetëm bëni yll kllapa array zero, dhe pastaj thotë se barabarte me 1. 901 00:41:37,370 --> 00:41:40,000 Pra, jo, ajo që ne jemi duke thënë këtu është se ne mund të think-- 902 00:41:40,000 --> 00:41:42,600 ne mund të trajtojë e vargjeve si pointers. 903 00:41:42,600 --> 00:41:44,970 Pra, ne have-- ajo që ne jemi duke thënë se është ne kemi dy mënyra 904 00:41:44,970 --> 00:41:47,370 tani referencë në të njëjtin bllok. 905 00:41:47,370 --> 00:41:52,270 Pra doing-- nëse keni rrjet zero, llojin e që tani është një int. 906 00:41:52,270 --> 00:41:55,264 Dhe në qoftë se ju merrni yll që, që ju të merrni një gjë e pavlefshme. 907 00:41:55,264 --> 00:41:57,680 Pra, ajo që ne jemi duke thënë se këtu është ka dy mënyra alternative 908 00:41:57,680 --> 00:41:59,100 t'i referohemi bllokut të njëjtë. 909 00:41:59,100 --> 00:42:01,860 Ju ose mund të bëni array kllapa 0 është e barabartë me 1. 910 00:42:01,860 --> 00:42:06,420 Ose ju mund të bëni dereference grup, dhe kanë që të barabartë me 0. 911 00:42:06,420 --> 00:42:08,621 Pra, vetëm dy mënyra të duke bërë të njëjtën gjë. 912 00:42:08,621 --> 00:42:09,120 Po. 913 00:42:09,120 --> 00:42:15,270 >> Audienca: Pse nuk është ajo Madhësia e int 1 të shtuar to-- 914 00:42:15,270 --> 00:42:17,650 >> Pulak Goyal: Madhësia e int 1. 915 00:42:17,650 --> 00:42:19,900 >> Audienca: Sepse kjo është në lëvizje një off. 916 00:42:19,900 --> 00:42:23,620 >> Pulak Goyal: Sepse kjo është vetëm mënyrë C funksionon. 917 00:42:23,620 --> 00:42:26,460 Kjo është vetëm mënyrë akrep aritmetik është përcaktuar. 918 00:42:26,460 --> 00:42:27,854 Ajo do të marrë treguesin. 919 00:42:27,854 --> 00:42:30,020 Dhe pastaj çdo gjë që ju të shtoni për të, ajo do të shumohen se 920 00:42:30,020 --> 00:42:34,770 nga madhësia e çfarëdo dyqan tregues është, vërtet. 921 00:42:34,770 --> 00:42:35,480 Po. 922 00:42:35,480 --> 00:42:39,595 >> Audienca: Pra, ju thoni që ne mund të trajtojmë pointers dhe vargjeve të njëjtë, 923 00:42:39,595 --> 00:42:40,720 por se ata janë të ndryshëm. 924 00:42:40,720 --> 00:42:41,950 Pra, ajo që i bën ata të ndryshëm? 925 00:42:41,950 --> 00:42:45,070 Çfarë nuk mund të bëjë të me një por jo tjetri? 926 00:42:45,070 --> 00:42:52,390 >> Pulak Goyal: Për qëllime të këtij klasë, unë mendoj it's-- çfarë ju, duke filluar 927 00:42:52,390 --> 00:42:56,270 >> SPEAKER 1: Pra, we-- OK, kështu që, për shembull, në qoftë se ju të ndajë kujtesës 928 00:42:56,270 --> 00:42:59,680 dhe ju keni një tregues për një numër i plotë, për shembull. 929 00:42:59,680 --> 00:43:01,890 Në qoftë se ju u përpoq për të filluar duke bërë pointer aritmetikë 930 00:43:01,890 --> 00:43:05,890 dhe shkojnë përtej sasinë e kujtesës që ju ndahen, ju do të kandidojë në gabime. 931 00:43:05,890 --> 00:43:08,250 Ne e dimë me vargjeve, ne them para kohe, OK, unë 932 00:43:08,250 --> 00:43:11,400 dua të allocate-- kjo në thelb thotë, unë dua të ndajë 933 00:43:11,400 --> 00:43:13,490 hapësirë ​​të mjaftueshme për tre integers. 934 00:43:13,490 --> 00:43:17,820 Dhe kështu që tani ne mund të trajtojnë kujtesën sikur ne kemi të gjithë këto tre integers. 935 00:43:17,820 --> 00:43:19,460 A këtë lloj kuptim? 936 00:43:19,460 --> 00:43:22,042 >> Pulak Goyal: Po. 937 00:43:22,042 --> 00:43:22,542 Po. 938 00:43:22,542 --> 00:43:24,778 >> Audienca: Pra, një yll array, është se caktimin e 1 939 00:43:24,778 --> 00:43:26,657 në indeksin e vektorit 0? 940 00:43:26,657 --> 00:43:27,365 Pulak Goyal: Po. 941 00:43:27,365 --> 00:43:31,160 942 00:43:31,160 --> 00:43:34,439 >> Audienca: Pra, çfarë është pas dy linja ardhshme në drejtim të the-- I 943 00:43:34,439 --> 00:43:36,980 e kuptoj se ju jeni duke u përpjekur për të përdorur akrep aritmetike këtu, 944 00:43:36,980 --> 00:43:39,355 por përsëri, unë nuk e kuptoj çfarë pointer aritmetikë është. 945 00:43:39,355 --> 00:43:43,869 Pra array plus 1, ju jeni duke thënë se ju jeni tani 946 00:43:43,869 --> 00:43:47,540 do të dua të flas për indeksi i parë në grup. 947 00:43:47,540 --> 00:43:50,050 >> Pulak Goyal: E drejta, dhe kështu Arsyeja që punon është grup, 948 00:43:50,050 --> 00:43:52,970 këtu, ne mund të mendoj si një yll int. 949 00:43:52,970 --> 00:43:56,110 Dhe kështu, kur ne nuk treguesin aritmetike në të, kujtojmë formulën ku 950 00:43:56,110 --> 00:43:59,020 ne kemi marrë the-- I guess çfarëdo adresa e tanishme është: 951 00:43:59,020 --> 00:44:02,100 dhe pastaj kur i shtojmë 1 në të, ne fakt 952 00:44:02,100 --> 00:44:06,620 shumohen 1 nga madhësia e gjë ne jemi duke manipuluar. 953 00:44:06,620 --> 00:44:09,090 Pra, në këtë rast, madhësia e një int. 954 00:44:09,090 --> 00:44:11,634 Dhe pastaj ne të lëvizin atë përcjellë nga kjo shumë. 955 00:44:11,634 --> 00:44:14,419 >> SPEAKER 1: Pra pretendojë ju keni yll array b. 956 00:44:14,419 --> 00:44:15,335 Pulak Goyal: OK, po. 957 00:44:15,335 --> 00:44:16,005 SPEAKER 1: me dorën tuaj. 958 00:44:16,005 --> 00:44:16,505 Shko këtu. 959 00:44:16,505 --> 00:44:18,350 Pulak Goyal: Ose unë mund të just-- vërtet. 960 00:44:18,350 --> 00:44:23,660 OK kështu here--, kështu pozicion para fillim, është vetëm e drejtë këtu. 961 00:44:23,660 --> 00:44:29,155 Pra, kur ne dereference grup, ishim vetëm duke iu referuar bllokun e parë këtu. 962 00:44:29,155 --> 00:44:36,620 Por tani, kur unë bëj rrjet plus 1, që is-- këtë shigjetë tani është e drejtë këtu. 963 00:44:36,620 --> 00:44:38,250 A kjo ka kuptim? 964 00:44:38,250 --> 00:44:46,690 E drejtë, sepse ky bllok është e madhësisë int, e cila është 4 bytes. 965 00:44:46,690 --> 00:44:53,540 Dhe kështu, ajo që ne po bëjmë është që ne jemi që lëviz kursorin me 4 bytes më shumë. 966 00:44:53,540 --> 00:44:56,080 Sa herë që ne bëjmë aritmetikë mbi të, ajo gjithmonë do të 967 00:44:56,080 --> 00:44:59,730 lëvizur atë nga increments prej 4 bytes. 968 00:44:59,730 --> 00:45:01,902 Sepse kjo është si një yll int. 969 00:45:01,902 --> 00:45:04,970 A ka kjo kuptim? 970 00:45:04,970 --> 00:45:05,470 NE RREGULL. 971 00:45:05,470 --> 00:45:07,770 >> Audienca: Pra, gjërat në grup ishin 5 bytes, ne do të lëvizin atë 5 bytes-- 972 00:45:07,770 --> 00:45:10,853 >> Pulak Goyal: E drejta, kështu që nëse do të kishim një Ylli char, ne do të lëvizin atë nga vetëm 1 bajt. 973 00:45:10,853 --> 00:45:13,670 Pra, në rastin e yjeve char, ajo do të jetë vetëm lëvizin atë përsipër nga 1. 974 00:45:13,670 --> 00:45:15,420 Audienca: Për të marrë tjetër ju keni nevojë për një yll. 975 00:45:15,420 --> 00:45:18,099 Pulak Goyal: Po, po, bën që ka kuptim? 976 00:45:18,099 --> 00:45:19,890 SPEAKER 1: Ne mund të bisedojnë në lidhje me të më vonë. 977 00:45:19,890 --> 00:45:21,530 Pulak Goyal: Po, po, me siguri. 978 00:45:21,530 --> 00:45:23,214 OK, i ftohtë. 979 00:45:23,214 --> 00:45:24,630 Le të lëvizin për në pjesën tjetër. 980 00:45:24,630 --> 00:45:27,182 981 00:45:27,182 --> 00:45:28,140 SPEAKER 1: Oh, OK ftohtë. 982 00:45:28,140 --> 00:45:29,205 Po, kjo është më. 983 00:45:29,205 --> 00:45:30,330 Të gjithë të drejtë, i tmerrshëm. 984 00:45:30,330 --> 00:45:35,064 OK, i ftohtë, kështu që tani ne jemi në një nivel pak shumë informacion të përgjithshëm në lidhje me kujtesën. 985 00:45:35,064 --> 00:45:37,730 Gjithashtu, unë vlerësoj faktin që ata ishin duke shkuar shumë shpejt. 986 00:45:37,730 --> 00:45:40,230 Kjo është një shumë e materialit të marrë përmes në një orë e gjysmë. 987 00:45:40,230 --> 00:45:42,880 Por nëse ka ndonjë temat që ju duan të shkojnë më shumë në thellësi në, 988 00:45:42,880 --> 00:45:44,630 ne do të kemi orarit të punës këtë javë 989 00:45:44,630 --> 00:45:46,340 ku ju mund të bisedojnë me ne një mbi një. 990 00:45:46,340 --> 00:45:49,240 Ose ju mund të vijë vetëm deri në nivel fund dhe ne do të bisedojnë për gjërat. 991 00:45:49,240 --> 00:45:52,130 Dhe si gjithmonë, të ndjehen të të lirë të bëni pyetje. 992 00:45:52,130 --> 00:45:52,695 Mbresëlënës. 993 00:45:52,695 --> 00:45:55,820 Kështu që këtu është foto tonë të kujtesës që ne kemi parë në leksionin një miliard herë. 994 00:45:55,820 --> 00:45:58,610 Dhe ne e dimë se kjo rafte rritet nga fundi 995 00:45:58,610 --> 00:46:00,214 dhe tog rritet poshtë. 996 00:46:00,214 --> 00:46:03,380 Dhe çfarë është dallimi në mes gjërave që ne të zbatojmë në grumbull dhe gjëra të 997 00:46:03,380 --> 00:46:05,981 që ne të zbatojmë në rafte? 998 00:46:05,981 --> 00:46:07,397 Dikush hedhin diçka atje. 999 00:46:07,397 --> 00:46:10,806 1000 00:46:10,806 --> 00:46:11,780 Po. 1001 00:46:11,780 --> 00:46:14,215 >> Audienca: A është rafte për gjëra që janë vetëm 1002 00:46:14,215 --> 00:46:18,095 Variablat fiksuar se ne jemi vetëm deklaruar përdorur funksione të caktuara? 1003 00:46:18,095 --> 00:46:19,220 SPEAKER 1: Bukur, po. 1004 00:46:19,220 --> 00:46:23,007 Pra, në çdo kohë, ku, le të thonë se ne jemi në një funksion, 1005 00:46:23,007 --> 00:46:24,590 dhe ne vetëm kemi disa variabla lokale. 1006 00:46:24,590 --> 00:46:26,214 Ata do të përfundojë deri në rafte. 1007 00:46:26,214 --> 00:46:30,020 Në qoftë se, në vend të kësaj, ne e quajmë malloc dhe në fakt të siguroj kujtesë, 1008 00:46:30,020 --> 00:46:32,290 që gjithmonë vjen nga plehrat. 1009 00:46:32,290 --> 00:46:35,100 Pra, vërtet Best? 1010 00:46:35,100 --> 00:46:38,672 >> Dhe kështu mos harroni se çdo kujtim që ju të ndajë përdorur malloc, 1011 00:46:38,672 --> 00:46:40,130 që do të përfundojë deri në grumbull. 1012 00:46:40,130 --> 00:46:42,019 Dhe në qoftë se ju harroni të ajo lirë, kompjuteri-së 1013 00:46:42,019 --> 00:46:43,810 nuk do të dinë se ju jeni bërë me të. 1014 00:46:43,810 --> 00:46:45,560 Pra, kjo është vetëm do të rri atje në kujtesën. 1015 00:46:45,560 --> 00:46:47,412 Dhe ju jeni në thelb rrjedh se kujtesës. 1016 00:46:47,412 --> 00:46:48,120 Ju jeni të humbur atë. 1017 00:46:48,120 --> 00:46:51,840 Sepse ju kurrë nuk tha kompjuter, hej unë jam bërë duke e përdorur atë, të ndjehen të lirë për të përdorur, 1018 00:46:51,840 --> 00:46:53,632 vënë gjëra të tjera atje. 1019 00:46:53,632 --> 00:46:54,470 Ftohtë. 1020 00:46:54,470 --> 00:46:55,928 Çdo pyetje atje? 1021 00:46:55,928 --> 00:46:56,428 Po. 1022 00:46:56,428 --> 00:46:58,808 >> Audienca: Pra, çfarë lloji e kujtesës është rafte? 1023 00:46:58,808 --> 00:46:59,974 Ushqim jo dinamik, i deleguar? 1024 00:46:59,974 --> 00:47:01,200 Çfarë do të thërrasë atë? 1025 00:47:01,200 --> 00:47:03,870 >> SPEAKER 1: Sigurisht, kështu që ju mund të të mendojnë për atë si ndryshore lokale. 1026 00:47:03,870 --> 00:47:10,137 Thirrjet aktuale për funksionet do të rafte. 1027 00:47:10,137 --> 00:47:10,720 Ndonje gje tjeter? 1028 00:47:10,720 --> 00:47:11,220 Po? 1029 00:47:11,220 --> 00:47:14,627 Audienca: Si mendoni ju falas memorie ju shtuar në the-- 1030 00:47:14,627 --> 00:47:17,710 SPEAKER 1: Sigurisht, kështu që kur ju të ndajë kujtesës në grumbull, ju e quani malloc. 1031 00:47:17,710 --> 00:47:20,543 Dhe kështu që atëherë që ju jep përsëri një treguesin në një adresë në kujtesë. 1032 00:47:20,543 --> 00:47:22,630 Pra, thonë se ju quajti këtë tregues, e drejtë? 1033 00:47:22,630 --> 00:47:24,970 Pastaj, ju them vetëm treguesin e lirë. 1034 00:47:24,970 --> 00:47:27,351 Dhe kjo liron kujtesën. 1035 00:47:27,351 --> 00:47:27,850 Ftohtë. 1036 00:47:27,850 --> 00:47:28,660 Pyetje të tjera? 1037 00:47:28,660 --> 00:47:28,880 Po. 1038 00:47:28,880 --> 00:47:30,838 >> Audienca: Çfarë bën dinamike ndarë do të thotë? 1039 00:47:30,838 --> 00:47:32,345 1040 00:47:32,345 --> 00:47:35,381 >> SPEAKER 1: alokuar dinamike do të thotë, në rrjedhën e programit tuaj. 1041 00:47:35,381 --> 00:47:37,630 Pra, kur ju telefononi malloc në mes të programit tuaj, 1042 00:47:37,630 --> 00:47:40,510 në fillim të programit, nuk ka asnjë kujtim ndarë. 1043 00:47:40,510 --> 00:47:42,600 Dhe si kompjuter hap nëpër atë kod, 1044 00:47:42,600 --> 00:47:44,280 ajo do të ndajë kujtesën. 1045 00:47:44,280 --> 00:47:46,507 Pra, kjo është ajo që ne kuptojmë me dinamike. 1046 00:47:46,507 --> 00:47:47,090 Pyetje e mirë. 1047 00:47:47,090 --> 00:47:48,309 Po? 1048 00:47:48,309 --> 00:47:50,809 Audienca: Kur ju të përcaktojë një grup me kllapa katrore, 1049 00:47:50,809 --> 00:47:54,154 bën që ende [e padëgjueshme]? 1050 00:47:54,154 --> 00:47:55,570 SPEAKER 1: Kjo është një pyetje e mirë. 1051 00:47:55,570 --> 00:48:00,320 Unë mendoj se kur ju të ndajë një grup, ai në fakt e vë atë në rafte. 1052 00:48:00,320 --> 00:48:03,008 Unë nuk jam pozitive për që, kështu që nuk do të japin kuotën e mua. 1053 00:48:03,008 --> 00:48:04,430 >> SPEAKER 2: Unë mendoj it-- vërtet ajo e vë atë në rafte. 1054 00:48:04,430 --> 00:48:05,763 >> SPEAKER 1: Vë atë në rafte. 1055 00:48:05,763 --> 00:48:07,044 OK, i ftohtë, i konfirmuar. 1056 00:48:07,044 --> 00:48:07,710 Pyetje të tjera? 1057 00:48:07,710 --> 00:48:08,030 Po? 1058 00:48:08,030 --> 00:48:10,946 >> Audienca: Kur ti delegojë malloc, nuk kompjuteri automatikisht 1059 00:48:10,946 --> 00:48:12,910 kujtesës për variablat tuaj? 1060 00:48:12,910 --> 00:48:14,660 SPEAKER 1: Po, sepse variabla tuaj lokal, 1061 00:48:14,660 --> 00:48:16,724 ajo automatikisht e vë kujtesës në rafte. 1062 00:48:16,724 --> 00:48:18,640 Audienca: Pra, çfarë është Pika e përdorimit malloc? 1063 00:48:18,640 --> 00:48:19,840 SPEAKER 1: Çfarë është Pika e përdorimit malloc? 1064 00:48:19,840 --> 00:48:22,850 Pra, ne pamë një bandë e shembujve, si, për shembull, duke përdorur swap, 1065 00:48:22,850 --> 00:48:25,690 ku ne duam fushëveprimin e variabli të jetë diçka 1066 00:48:25,690 --> 00:48:27,940 përtej vetëm thirrje e saj funksion. 1067 00:48:27,940 --> 00:48:29,875 Dhe ne duam diçka që ne mund të kalojë rreth 1068 00:48:29,875 --> 00:48:31,750 dhe që ne mund të hyni nga vende të ndryshme. 1069 00:48:31,750 --> 00:48:33,791 Kjo është ajo ku ne do të duan të vënë kujtesës në grumbull. 1070 00:48:33,791 --> 00:48:37,835 Kështu që të gjitha këto të ndryshëm Funksionet mund të përdorni atë. 1071 00:48:37,835 --> 00:48:40,510 >> Audienca: A mund të shpjegoni këtë? 1072 00:48:40,510 --> 00:48:44,770 >> SPEAKER 1: Pra, një opsion is-- kështu pyetja ishte, mund të jemi vetëm allocate-- 1073 00:48:44,770 --> 00:48:47,660 vjen keq, mund të deklarojë një globale variabel, në thelb. 1074 00:48:47,660 --> 00:48:48,560 Ky është një opsion. 1075 00:48:48,560 --> 00:48:50,893 Por, me një shumë prej atyre, ata kanë tendencë për të marrë të vërtetë çrregullt. 1076 00:48:50,893 --> 00:48:52,847 Dhe ne zakonisht mendojmë e atij dizajnit si të keqe. 1077 00:48:52,847 --> 00:48:53,821 Po. 1078 00:48:53,821 --> 00:48:56,580 Cool, ndonjë pyetje tjetër? 1079 00:48:56,580 --> 00:48:57,140 Mbresëlënës. 1080 00:48:57,140 --> 00:48:58,789 OK, duke lëvizur në. 1081 00:48:58,789 --> 00:49:00,580 Pra, kjo është në fakt se si ne të ndajë kujtesës. 1082 00:49:00,580 --> 00:49:02,670 Ne biseduam në lidhje me këtë pak. 1083 00:49:02,670 --> 00:49:04,240 Ne përdorim këtë funksion të quajtur malloc. 1084 00:49:04,240 --> 00:49:07,850 Dhe ju them se sa shumë bytes në kujtesës, kështu që si shumë bytes në grumbull, 1085 00:49:07,850 --> 00:49:08,610 ti deshiron. 1086 00:49:08,610 --> 00:49:13,120 Dhe ajo do të kthehet adresën, kështu një tregues të, një pjesë e kujtesës 1087 00:49:13,120 --> 00:49:14,500 se ajo është ndarë për ju. 1088 00:49:14,500 --> 00:49:17,080 Pra, lloji do të jetë ylli i pavlefshëm. 1089 00:49:17,080 --> 00:49:21,310 Ajo do të jetë një tregues për Çfarëdo që ju vendosni për të vënë në atje. 1090 00:49:21,310 --> 00:49:23,530 Çdo herë që ju e quani malloc, ne tashmë ka thënë 1091 00:49:23,530 --> 00:49:25,640 ju duhet për të liruar atë kështu që ne nuk kanë rrjedhjet e kujtesës. 1092 00:49:25,640 --> 00:49:27,170 >> Çfarë është gjëja tjetër që ju absolutisht 1093 00:49:27,170 --> 00:49:29,185 duhet të bëni çdo të vetme herë ju e quani malloc? 1094 00:49:29,185 --> 00:49:31,210 1095 00:49:31,210 --> 00:49:32,210 OK, ju duhet për të liruar atë. 1096 00:49:32,210 --> 00:49:34,010 Çfarë është gjë tjetër? 1097 00:49:34,010 --> 00:49:35,890 Kontrollo për null, e bukur. 1098 00:49:35,890 --> 00:49:38,850 Pra, vërtet, kjo është e drejtë atje lart në bord. 1099 00:49:38,850 --> 00:49:42,120 Në qoftë se ju do të përpiqet të ndajë kujtesës dhe ju kanë lënë asnjë kujtim, 1100 00:49:42,120 --> 00:49:44,940 kompjuteri do të thotë, Nuk kam asgjë për të ju jap. 1101 00:49:44,940 --> 00:49:47,650 Dhe kjo ju jep përsëri null. 1102 00:49:47,650 --> 00:49:48,400 Pyetje për këtë? 1103 00:49:48,400 --> 00:49:49,290 Po. 1104 00:49:49,290 --> 00:49:52,995 >> Audienca: Pse do të doni ndonjëherë të të deklarojë një tregues me një lloj të veçantë 1105 00:49:52,995 --> 00:49:56,329 kur ylli i pavlefshëm mund të trajtojë Të gjitha llojet Pointer anyways? 1106 00:49:56,329 --> 00:49:57,370 SPEAKER 1: Pyetje e mirë. 1107 00:49:57,370 --> 00:50:00,590 Pse do të themi yllin int në krahasim me të pavlefshme yll 1108 00:50:00,590 --> 00:50:03,740 kur ylli i pavlefshëm mund të trajtojë çdo gjë? 1109 00:50:03,740 --> 00:50:06,390 Pra, ne nuk duam të ndonjëherë të hedhura në mënyrë eksplicite pointers. 1110 00:50:06,390 --> 00:50:07,940 Kjo është vetëm praktikë e keqe. 1111 00:50:07,940 --> 00:50:11,850 Por ne do të flasim për yjet e int ashtu si një kuptim i, 1112 00:50:11,850 --> 00:50:14,195 ky është një tregues për një numër të plotë. 1113 00:50:14,195 --> 00:50:14,850 >> Audienca: OK. 1114 00:50:14,850 --> 00:50:17,558 >> SPEAKER 1: Po, dhe kjo i lejon ju për të manipuluar vlerat në të 1115 00:50:17,558 --> 00:50:18,667 si integers. 1116 00:50:18,667 --> 00:50:20,008 >> Audienca: Oh, OK. 1117 00:50:20,008 --> 00:50:22,250 Dhe ylli i pavlefshëm nuk do të ju lejojnë të bëni këtë? 1118 00:50:22,250 --> 00:50:25,070 >> SPEAKER 1: Kjo varet nga Konteksti Yeah, kështu që mos u bëni merak 1119 00:50:25,070 --> 00:50:28,460 mos u shqetësoni shumë për llojin atje. 1120 00:50:28,460 --> 00:50:32,620 Vetëm e di se, në përgjithësi, malloc kthen një tregues për diçka. 1121 00:50:32,620 --> 00:50:33,520 Pyetje e mirë. 1122 00:50:33,520 --> 00:50:37,260 >> Audienca: Përse shumohen ajo herë 10? [Padëgjueshme]. 1123 00:50:37,260 --> 00:50:40,150 >> SPEAKER 1: Sigurisht, kështu që unë kam qenë vetëm duke bërë shembull rastit këtu ku 1124 00:50:40,150 --> 00:50:42,840 Doja që të ndajë të mjaftueshme dhomë për të ruajtur 10 integers. 1125 00:50:42,840 --> 00:50:44,320 Vetëm një zgjedhje e rastësishme. 1126 00:50:44,320 --> 00:50:45,250 Po. 1127 00:50:45,250 --> 00:50:45,440 Po, çfarë është lart? 1128 00:50:45,440 --> 00:50:47,440 >> Audienca: Çfarë bëni ju do të thotë duke kontrolluar for null? 1129 00:50:47,440 --> 00:50:51,351 A doni të kontrolloni akrep for null apo malloc? 1130 00:50:51,351 --> 00:50:52,350 SPEAKER 1: Po, pikërisht. 1131 00:50:52,350 --> 00:50:54,599 Pra, pyetja është, çfarë kuptojmë me kontroll nga null? 1132 00:50:54,599 --> 00:50:57,880 Ne duam to-- kurdo ne e quajmë malloc dhe ne jemi kthyer një tregues, 1133 00:50:57,880 --> 00:51:01,110 ne duam të themi është tregues të barabartë me null? 1134 00:51:01,110 --> 00:51:02,610 Kështu që fjalë për fjalë PTR. 1135 00:51:02,610 --> 00:51:05,620 A është PTR e barabartë me null. 1136 00:51:05,620 --> 00:51:06,958 Po. 1137 00:51:06,958 --> 00:51:08,832 Audienca: Pra, unë kam qenë i sjellshëm e pyesin, në qoftë se ju 1138 00:51:08,832 --> 00:51:14,013 nisja treguesin në malloc, bën ajo pikë në fillim të malloc? 1139 00:51:14,013 --> 00:51:15,097 Sepse në qoftë se kjo është një array-- 1140 00:51:15,097 --> 00:51:16,554 SPEAKER 1: Kjo është një pyetje e madhe. 1141 00:51:16,554 --> 00:51:19,200 Po, në qoftë se ju e quani malloc, The tregues se it-- le të themi, 1142 00:51:19,200 --> 00:51:21,700 kështu që këtu ne të ndajë 10 byte memorje. 1143 00:51:21,700 --> 00:51:23,830 Pra, unë jam i keq, e mjaftueshme dhomë për 10 integers, 1144 00:51:23,830 --> 00:51:28,220 ne jemi duke shkuar për të marrë adresën e se pjesa e parë e kujtesës. 1145 00:51:28,220 --> 00:51:29,880 Kjo është një pyetje e mirë. 1146 00:51:29,880 --> 00:51:30,481 Po. 1147 00:51:30,481 --> 00:51:34,810 >> Audienca: Me ndarjen e 10 integers përhapura, 1148 00:51:34,810 --> 00:51:38,177 ju në fakt mund të përdorni atë akrep si like-- pothuaj 1149 00:51:38,177 --> 00:51:39,372 si një rrjet të integers? 1150 00:51:39,372 --> 00:51:41,830 SPEAKER 1: Yeah, kështu që mund të ju e përdorin atë si një grup i integers? 1151 00:51:41,830 --> 00:51:45,970 Po, pikërisht, kjo është ajo që Pulak vetëm tregoi ju on-- një çift slides më parë, 1152 00:51:45,970 --> 00:51:48,680 ku ne themi, OK, kjo është vërtetë vetëm lloji of-- ne 1153 00:51:48,680 --> 00:51:50,805 mund të mendojnë për atë si një grup prej 10 integers. 1154 00:51:50,805 --> 00:51:52,222 Ajo vetëm ndodh të jetë në grumbull. 1155 00:51:52,222 --> 00:51:54,971 Audienca: Por ju nuk mund të qasjes ajo me katror simbol kllapa? 1156 00:51:54,971 --> 00:51:58,220 SPEAKER 1: Ju në fakt mund të hyni ajo me katror simbol kllapa, po. 1157 00:51:58,220 --> 00:52:00,221 Ju mund ta trajtoni ata të njëjtën gjë. 1158 00:52:00,221 --> 00:52:00,720 Po. 1159 00:52:00,720 --> 00:52:02,420 >> Audienca: Pse do tregues ndonjëherë të jetë i pavlefshëm? 1160 00:52:02,420 --> 00:52:04,170 >> SPEAKER 1: Pse do tregues ndonjëherë të jetë i pavlefshëm? 1161 00:52:04,170 --> 00:52:06,570 Në qoftë se ju do të përdorë të gjitha kujtesës në grumbull tuaj. 1162 00:52:06,570 --> 00:52:09,141 Nëse programi juaj është të hahet lart, hahet deri, hahet deri kujtesës, 1163 00:52:09,141 --> 00:52:11,890 dhe nuk ka asgjë të majtë, atëherë malloc do të say-- qoftë se ju thonë: 1164 00:52:11,890 --> 00:52:14,760 Dua 100 bytes më tepër, ajo do për të thënë, unë nuk kam 100 bytes. 1165 00:52:14,760 --> 00:52:15,740 Ja null. 1166 00:52:15,740 --> 00:52:18,780 Që do të thotë, unë dështuar. 1167 00:52:18,780 --> 00:52:20,516 Po. 1168 00:52:20,516 --> 00:52:22,830 >> Audienca: Në këtë rast, null nuk është asgjë, e drejtë? 1169 00:52:22,830 --> 00:52:24,110 >> SPEAKER 1: Po, në se rast, nuk është asgjë null. 1170 00:52:24,110 --> 00:52:24,943 Ju nuk keni adresë. 1171 00:52:24,943 --> 00:52:28,065 Nuk ka asnjë kujtim. 1172 00:52:28,065 --> 00:52:31,500 Të gjithë të drejtë, duke lëvizur në. 1173 00:52:31,500 --> 00:52:34,976 OK, le të flasim me të vërtetë shpejt për tampon del nga shtrati. 1174 00:52:34,976 --> 00:52:38,210 Kur mund të hasim buffer overflow? 1175 00:52:38,210 --> 00:52:42,980 Le të themi se kemi a-- ne akordojë një copë e kujtesës, 1176 00:52:42,980 --> 00:52:44,720 dhe ne jemi duke shkuar për të shkruar string në. 1177 00:52:44,720 --> 00:52:47,240 Dhe ne jemi duke shkuar për të thënë, OK, unë jam duke shkuar për të alokuar 1178 00:52:47,240 --> 00:52:49,320 vend të mjaftueshëm për gjashtë karaktere. 1179 00:52:49,320 --> 00:52:51,680 Dhe unë jam duke shkuar për të pyetur përdoruesi për disa të dhëna. 1180 00:52:51,680 --> 00:52:54,470 Dhe inputet e përdoruesit, për shembull, përshëndetje. 1181 00:52:54,470 --> 00:52:56,430 Dhe që i përshtatet të përkryer mirë, sepse ne kemi 1182 00:52:56,430 --> 00:53:00,790 vend për të gjithë personazhet e hello, dhe karakteri null ndërprerjen. 1183 00:53:00,790 --> 00:53:02,840 Mjaft hapësirë, nuk ka problem. 1184 00:53:02,840 --> 00:53:08,010 >> Por, çfarë nëse ne japim mundësi për një përdorues i keq për të përdorur programin tonë, 1185 00:53:08,010 --> 00:53:13,152 dhe ata nuk shkruani në gjashtë karaktere, apo jo pesë karaktere, por një milion. 1186 00:53:13,152 --> 00:53:15,860 Ata mbajnë shtypni, dhe shtypni, dhe typing, çfarë do të ndodhë? 1187 00:53:15,860 --> 00:53:18,220 E pra ne vetëm jap enough-- kompjuter apo keq, 1188 00:53:18,220 --> 00:53:23,350 ne vetëm i dha këtë varg hapësirë ​​të mjaftueshme për 5 karaktere. 1189 00:53:23,350 --> 00:53:28,300 Pra, ne jemi duke shkuar për të marrë diçka si ky, ku personi i keq i cili është 1190 00:53:28,300 --> 00:53:31,750 shtypja në të dhëna mund të prishësh madhësia e tampon, 1191 00:53:31,750 --> 00:53:35,922 dhe mund të shkojnë në fakt e kaluara e shumës se ajo është ndarë fillimisht. 1192 00:53:35,922 --> 00:53:38,380 Dhe pastaj çfarë ju mund të bëni, aq më gjë që me të vërtetë e keqe që ju mund të bëni, 1193 00:53:38,380 --> 00:53:40,260 është prishësh adresën e kthimit. 1194 00:53:40,260 --> 00:53:42,010 E cila në thelb do të thotë ju mund të lloj i marrë 1195 00:53:42,010 --> 00:53:45,110 kontrolli i sjelljes së programit. 1196 00:53:45,110 --> 00:53:47,880 Pra, në një nivel shumë të lartë buffer overflow është kur 1197 00:53:47,880 --> 00:53:49,960 ju ndajë disa sasinë e kujtesës. 1198 00:53:49,960 --> 00:53:53,060 Dhe pastaj ju, duke filluar kjo për shkak se ju jeni duke marrë të dhëna përdoruesi ose diçka 1199 00:53:53,060 --> 00:53:57,190 si that-- ju shkoni mbi kufijtë për atë që keni ndarë fillimisht 1200 00:53:57,190 --> 00:53:59,955 dhe të fillojnë messing deri programin tuaj. 1201 00:53:59,955 --> 00:54:00,455 Po? 1202 00:54:00,455 --> 00:54:03,220 >> Audienca: Pse nuk do që vetëm kthehen një defekt segmentimit? 1203 00:54:03,220 --> 00:54:05,594 >> SPEAKER 1: Pse nuk dua që kthehen një defekt segmentimit? 1204 00:54:05,594 --> 00:54:06,570 Ajo mund. 1205 00:54:06,570 --> 00:54:10,030 Ndonjëherë përpilues apo gjatë një prej Runtime tuaj 1206 00:54:10,030 --> 00:54:11,430 është në të vërtetë duke shkuar për të kontrolluar atë. 1207 00:54:11,430 --> 00:54:13,890 Në qoftë se disa gjëra ndodhin, dhe kjo është lloj i nivelit më të ulët, 1208 00:54:13,890 --> 00:54:15,610 atëherë ju duhet të dini. 1209 00:54:15,610 --> 00:54:18,820 Por në qoftë se ju nuk e projektimit këto sisteme duhet, 1210 00:54:18,820 --> 00:54:21,170 atëherë ju keni mundësi e nuk infektues atë dhe vetëm 1211 00:54:21,170 --> 00:54:24,844 duke lejuar kompjuterin take-- Personi i keq për të kontrolluar kompjuterin tuaj. 1212 00:54:24,844 --> 00:54:25,344 Po. 1213 00:54:25,344 --> 00:54:26,260 >> Audienca: [padëgjueshme]? 1214 00:54:26,260 --> 00:54:28,934 1215 00:54:28,934 --> 00:54:29,600 SPEAKER 1: Sigurisht. 1216 00:54:29,600 --> 00:54:33,800 Oh, kur unë them tampon, unë vetëm do të thotë Shuma e kujtesës që e keni ndarë. 1217 00:54:33,800 --> 00:54:39,090 Kështu që këtu kam thënë, oh, ne kemi ndarë gjashtë char-- vend të mjaftueshëm për gjashtë karaktere. 1218 00:54:39,090 --> 00:54:42,880 Dhe unë vetëm thirrje që tampon tim ku unë mund të shkruaj informacion. 1219 00:54:42,880 --> 00:54:44,390 Po. 1220 00:54:44,390 --> 00:54:46,791 Çdo pyetje të tjera në këtë? 1221 00:54:46,791 --> 00:54:47,290 Po. 1222 00:54:47,290 --> 00:54:49,150 >> Audienca: Si mund të ndaluar atë? 1223 00:54:49,150 --> 00:54:50,274 Si mund të ndaluar atë? 1224 00:54:50,274 --> 00:54:51,440 SPEAKER 1: pyetje mbresëlënës. 1225 00:54:51,440 --> 00:54:52,240 Si mund të ndaluar atë? 1226 00:54:52,240 --> 00:54:54,110 Si mund të parandaluar tampon del nga shtrati? 1227 00:54:54,110 --> 00:54:59,160 Edhe një mënyrë për të bërë atë është diçka si GetString, ku ne vazhdimisht të rritur 1228 00:54:59,160 --> 00:55:03,200 sasia e kujtesës që ne të ndajë nëse përdoruesi hyn një shumë të tekstit. 1229 00:55:03,200 --> 00:55:07,570 Një tjetër gjë është, në qoftë se ju vetëm dua gjashtë karaktere, të bëjë një kontroll të shpejtë. 1230 00:55:07,570 --> 00:55:11,220 Thuaj input vetëm gjashtë shkronja. 1231 00:55:11,220 --> 00:55:12,444 Po. 1232 00:55:12,444 --> 00:55:14,360 Pra, le të thonë se ju ishit duke punuar on-- ne jemi duke shkuar 1233 00:55:14,360 --> 00:55:16,985 për të shkuar në faqen e gjëra pak më vonë në course-- por le të 1234 00:55:16,985 --> 00:55:21,422 thonë se ju jeni duke punuar në një formular, ju do të vetëm kufizojnë sa mund të dorëzohet në. 1235 00:55:21,422 --> 00:55:22,378 Po. 1236 00:55:22,378 --> 00:55:24,768 >> Audienca: getString tërheq kujtim nga rafte, e drejtë? 1237 00:55:24,768 --> 00:55:25,444 Vetëm për të sqaruar? 1238 00:55:25,444 --> 00:55:26,485 SPEAKER 1: Një herë më shumë? 1239 00:55:26,485 --> 00:55:28,400 Audienca: A getString të kujtesës nga rafte? 1240 00:55:28,400 --> 00:55:31,210 SPEAKER 1: Unë besoj Getm-- get int merr kujtesën nga plehrat 1241 00:55:31,210 --> 00:55:32,911 sepse ai e quan alloc. 1242 00:55:32,911 --> 00:55:33,452 Audienca: Oh. 1243 00:55:33,452 --> 00:55:33,951 NE RREGULL. 1244 00:55:33,951 --> 00:55:35,750 SPEAKER 1: Po, malloc dhe risigurimi. 1245 00:55:35,750 --> 00:55:37,120 Pyetje të tjera? 1246 00:55:37,120 --> 00:55:37,803 Po. 1247 00:55:37,803 --> 00:55:40,650 >> Audienca: Pra, duke përcaktuar madhësia e buffering, 1248 00:55:40,650 --> 00:55:42,733 ju parandaluar dikë nga duke qenë në gjendje për të injektuar kodin 1249 00:55:42,733 --> 00:55:45,700 që mund të rrëshqitje e kaluara [e padëgjueshme]. 1250 00:55:45,700 --> 00:55:48,130 >> SPEAKER 1: Pra, duke përcaktuar madhësia e tampon, 1251 00:55:48,130 --> 00:55:50,760 ju keni thënë, OK këtu është se si sa memorie ne mund të përdorim. 1252 00:55:50,760 --> 00:55:55,550 Nëse ju lejojnë përdoruesit për të shkruar mbi të, atëherë ju jeni do të kandidojë në probleme. 1253 00:55:55,550 --> 00:55:57,930 Ka kuptim. 1254 00:55:57,930 --> 00:55:59,370 Mbresëlënës. 1255 00:55:59,370 --> 00:56:00,640 Le të lëvizin së bashku. 1256 00:56:00,640 --> 00:56:02,320 Në rregull. 1257 00:56:02,320 --> 00:56:06,652 Duke folur për gabimet, këtu janë disa mesazhet e gabimit të përbashkët 1258 00:56:06,652 --> 00:56:09,860 që mund të kanë treguar deri ndërsa ju ishit kodim, duke punuar në grupe tuaj problemit. 1259 00:56:09,860 --> 00:56:12,320 Shans të mirë që prej këto tregon deri në quiz 1260 00:56:12,320 --> 00:56:15,090 në qoftë se vitet e fundit janë ndonjë indikacion. 1261 00:56:15,090 --> 00:56:17,580 Pra, përgjigjet janë lloj i deri këtu në bord. 1262 00:56:17,580 --> 00:56:19,510 Por të ndjehen të lirë të thirrura nga disa më shumë. 1263 00:56:19,510 --> 00:56:21,280 >> Pse mund të ndodhë një faji segmentimit? 1264 00:56:21,280 --> 00:56:24,279 Pse mund të merrni një defekt segmentimit kur ju po xhironi programin tuaj? 1265 00:56:24,279 --> 00:56:26,760 1266 00:56:26,760 --> 00:56:28,230 >> Audienca: [padëgjueshme]. 1267 00:56:28,230 --> 00:56:29,500 >> SPEAKER 1: Mirë. 1268 00:56:29,500 --> 00:56:32,820 Po, në qoftë se ne të përpiqemi për qasje kujtesës që nuk është dhënë për të na. 1269 00:56:32,820 --> 00:56:34,610 Në qoftë se ne dereference një tregues null. 1270 00:56:34,610 --> 00:56:38,610 Për shembull, në qoftë se ne e quajmë malloc, dhe të harrojmë për të parë nëse është i pavlefshëm, 1271 00:56:38,610 --> 00:56:42,250 dhe ne vetëm përpiqemi duke e përdorur atë, kompjuteri-së do të na japin një defekt segmentimit. 1272 00:56:42,250 --> 00:56:42,750 Të mirë. 1273 00:56:42,750 --> 00:56:46,680 Po në lidhje me nënkuptuar Deklarimi i funksionit? 1274 00:56:46,680 --> 00:56:48,589 Cfare do te thote ajo? 1275 00:56:48,589 --> 00:56:51,380 Audienca: Ju jeni duke u përpjekur për të përdorur një funksion që ju nuk e keni definuar. 1276 00:56:51,380 --> 00:56:52,130 SPEAKER 1: Mirë. 1277 00:56:52,130 --> 00:56:54,504 Ju jeni duke u përpjekur për të përdorur një funksion që ju nuk keni përcaktuar. 1278 00:56:54,504 --> 00:56:56,000 Kështu që mund të jetë një nga dy gjëra. 1279 00:56:56,000 --> 00:56:59,320 Ndoshta kjo ishte si shembulli Camille ju tregoi më herët. 1280 00:56:59,320 --> 00:57:02,330 Dhe ju keni një funksion kryesor që e quan diçka të quajtur kubike. 1281 00:57:02,330 --> 00:57:04,371 Dhe le të thonë se ju e harruat për të shkruar këtë prototip. 1282 00:57:04,371 --> 00:57:07,540 Keni harruar për të thënë, hej kompjuter, Unë kam këtë funksion të quajtur kubike. 1283 00:57:07,540 --> 00:57:09,380 Ju do të shihni atë më vonë. 1284 00:57:09,380 --> 00:57:12,440 Le të thonë se keni harruar të shkruani prototip, ju mund të merrni këtë gabim. 1285 00:57:12,440 --> 00:57:14,820 Një tjetër gjë është, le të themi ju u përpoq për të përdorur printf, 1286 00:57:14,820 --> 00:57:16,880 dhe harruar të përfshijë biblioteka standarde, 1287 00:57:16,880 --> 00:57:20,240 atëherë ajo do të thonë se nënkuptuar Deklarimi i funksionit. 1288 00:57:20,240 --> 00:57:22,800 Dhe e fundit, por jo më pak, identifikues padeklaruar. 1289 00:57:22,800 --> 00:57:23,300 Po. 1290 00:57:23,300 --> 00:57:24,841 >> Audienca: Ju keni marrë një fushë të problemit. 1291 00:57:24,841 --> 00:57:28,728 Ashtu si ndoshta ju jeni duke u përpjekur për thërrasë një variabël lokale që është 1292 00:57:28,728 --> 00:57:30,884 në një lloj të ndryshme të zonës. 1293 00:57:30,884 --> 00:57:33,550 SPEAKER 1: Madh, kështu që nëse keni një variabël që nuk është në fushëveprimin, 1294 00:57:33,550 --> 00:57:36,890 dhe ju jeni duke u përpjekur të përdorin atë, ju jeni do të merrni në telashe. 1295 00:57:36,890 --> 00:57:40,960 Dhe vetëm më në përgjithësi, le të themi ju përpiqeni të përdorni x, me gjithnjë e duke thënë int 1296 00:57:40,960 --> 00:57:45,140 x është e barabartë me 5, atëherë ju jeni do të kandidojë në telashe. 1297 00:57:45,140 --> 00:57:47,640 Më falni, pyetje mbi këtë? 1298 00:57:47,640 --> 00:57:49,330 Awesome, chugging drejtë së bashku. 1299 00:57:49,330 --> 00:57:55,692 >> OK, recursion, pse might-- le see-- I Lost My sch-- oh këtu ne do të shkojmë, 1300 00:57:55,692 --> 00:57:57,400 vetëm sigurohuni që ne jemi afërsisht në orar. 1301 00:57:57,400 --> 00:57:59,060 Të gjithë të drejtë, të ftohtë. 1302 00:57:59,060 --> 00:58:03,150 OK, recursion, ideja e përgjithshme e recursion, një funksion gjithkund rekursive 1303 00:58:03,150 --> 00:58:05,380 është një funksion që e quan veten. 1304 00:58:05,380 --> 00:58:08,170 OK, kështu që është ajo që kam do të thotë nga një koncept i programit 1305 00:58:08,170 --> 00:58:11,130 ku një funksion e quan veten. 1306 00:58:11,130 --> 00:58:16,210 Çfarë do të jetë some-- çfarë është një arsye e mirë për të përdorur recursion? 1307 00:58:16,210 --> 00:58:17,550 Kur mund të jetë e dobishme? 1308 00:58:17,550 --> 00:58:20,926 Ose whats e një program që me të vërtetë jep veten për recursion? 1309 00:58:20,926 --> 00:58:22,330 >> Audienca: kërko Binary. 1310 00:58:22,330 --> 00:58:25,500 >> SPEAKER 1: kërko Binary jep veten për recursion, 1311 00:58:25,500 --> 00:58:29,060 sepse ju e keni këtë problem që ju mund të prishen në copa të vogla, 1312 00:58:29,060 --> 00:58:32,330 dhe vazhdimisht të kryejë e njëjta algorithm mbi të. 1313 00:58:32,330 --> 00:58:37,790 Kjo çon në, në shumë raste, më shumë Kodi elegante që është më i saktë. 1314 00:58:37,790 --> 00:58:40,500 Ne vetëm janë shembulli e kërkimit binar. 1315 00:58:40,500 --> 00:58:43,100 Një shembull tjetër është të bashkojë lloj. 1316 00:58:43,100 --> 00:58:45,920 Ndonjëherë, kur ju mendoni se e një algoritmi, si faktorial, 1317 00:58:45,920 --> 00:58:47,410 ajo vetëm ndjehet gjithkund rekursive, e drejtë? 1318 00:58:47,410 --> 00:58:52,440 Sepse ne e dimë se faktorial i 5 është një faktorial 4 herë 5. 1319 00:58:52,440 --> 00:58:56,080 Dhe kështu, kur ju të ngritur një problem Në këtë mënyrë, ajo vetëm ndjehet rekursive. 1320 00:58:56,080 --> 00:58:58,530 Kështu që do të jetë një mënyrë e madhe për të shkruar atë. 1321 00:58:58,530 --> 00:58:59,425 Pyetje? 1322 00:58:59,425 --> 00:59:00,395 Po. 1323 00:59:00,395 --> 00:59:01,850 >> Audienca: Çfarë është një rast bazë? 1324 00:59:01,850 --> 00:59:02,770 >> SPEAKER 1: Oh çfarë është një rast bazë? 1325 00:59:02,770 --> 00:59:04,680 Unë i thashë, mos harroni për të përfshirë një rast bazë. 1326 00:59:04,680 --> 00:59:07,690 Le të themi se ishin të shkruar një funksion faktorial, 1327 00:59:07,690 --> 00:59:09,620 dhe ne ishim duke bërë faktorial prej 5. 1328 00:59:09,620 --> 00:59:12,352 Dhe ne e dimë një faktorial prej 5 është 5 herë një faktorial i 4, 1329 00:59:12,352 --> 00:59:13,310 blah, blah, blah, blah. 1330 00:59:13,310 --> 00:59:14,360 Si mund ta dimë kur do të ndalet? 1331 00:59:14,360 --> 00:59:16,276 Si mund ta dimë se ne në fakt kanë një numër? 1332 00:59:16,276 --> 00:59:20,180 Sepse në qoftë se ne kemi mbajtur quajtur faktorial, atëherë ne kurrë nuk do të merrni një përgjigje, apo jo? 1333 00:59:20,180 --> 00:59:24,470 Pra, kur e dimë se si për të ndaluar në shembull faktorial. 1334 00:59:24,470 --> 00:59:25,460 Çdokush, vërtet. 1335 00:59:25,460 --> 00:59:27,764 >> Audienca: Kur 1 faktorial është 1. 1336 00:59:27,764 --> 00:59:28,430 SPEAKER 1: Mirë. 1337 00:59:28,430 --> 00:59:29,530 Pra, ne e dimë. 1338 00:59:29,530 --> 00:59:33,400 Ne mund të marrë për të dhënë se 1 faktorial është e barabartë me 1. 1339 00:59:33,400 --> 00:59:36,570 Pra, në qoftë se ne të merrni në pikën ku ne jemi duke bërë thirrje faktoriale në 1, 1340 00:59:36,570 --> 00:59:38,050 thjesht shkoni përpara dhe të kthehet 1. 1341 00:59:38,050 --> 00:59:39,180 Dhe kjo është çështja juaj bazë. 1342 00:59:39,180 --> 00:59:45,040 Sepse ne e dimë se dikur ne hit, dhe ne gjithmonë do të goditur atë, ne do të never-- 1343 00:59:45,040 --> 00:59:48,800 ne nuk do të vetëm të mbajë përgjithmonë. 1344 00:59:48,800 --> 00:59:50,700 Çdo pyetje të tjera në recursion? 1345 00:59:50,700 --> 00:59:51,630 Po. 1346 00:59:51,630 --> 00:59:54,420 >> Audienca: Pra, kur ju kthehen 1, ajo vetëm automatikisht 1347 00:59:54,420 --> 00:59:56,290 do të ndalojë programin, e drejtë? 1348 00:59:56,290 --> 00:59:59,390 >> SPEAKER 1: Po kështu kur ju quajnë kthim 1, if-- le të themi, 1349 00:59:59,390 --> 01:00:04,480 le të themi faktorial i 2 thirrjeve faktorial i 1, faktorial e 1 1350 01:00:04,480 --> 01:00:06,120 vetëm do të ktheni 1. 1351 01:00:06,120 --> 01:00:12,790 Dhe tani faktorial i 2 do të thonë OK, 2 herë 1 është 2, dhe kthimi se përgjigje. 1352 01:00:12,790 --> 01:00:14,260 Po. 1353 01:00:14,260 --> 01:00:16,710 >> Audienca: A kemi për t'u shqetësuar për qëllimin në recursion 1354 01:00:16,710 --> 01:00:20,150 kur ju shkoni në një algoritmi? 1355 01:00:20,150 --> 01:00:21,880 >> SPEAKER 1: Ah, po. 1356 01:00:21,880 --> 01:00:25,060 Po, ju keni për t'u shqetësuar në lidhje me Shtrirja në kontekstin e recursion. 1357 01:00:25,060 --> 01:00:29,820 Pra, vetëm variablat të përcaktuara në atë afat e funksionit 1358 01:00:29,820 --> 01:00:32,170 do të jenë të dobishme. 1359 01:00:32,170 --> 01:00:33,792 Po pyetje e mirë. 1360 01:00:33,792 --> 01:00:35,250 Në rregull, le të mbani lëviz së bashku. 1361 01:00:35,250 --> 01:00:37,320 Sepse ne kemi një shumë të material për të marrë përmes. 1362 01:00:37,320 --> 01:00:41,080 Por, siç thashë, të ndjehen të lirë për të goditur deri orarit të punës, ose na pas faktit. 1363 01:00:41,080 --> 01:00:42,850 >> Kjo është vetëm një rrëshqitje të vërtetë të shpejtë. 1364 01:00:42,850 --> 01:00:45,150 Ne kemi mësuar shumë në lidhje me kërkimet dhe llojet. 1365 01:00:45,150 --> 01:00:47,400 Ju lutem, ju lutem, ju lutem, Këto seksione janë në internet, 1366 01:00:47,400 --> 01:00:51,240 Unë besoj në cs50.net/quizzes~~pobj. 1367 01:00:51,240 --> 01:00:53,762 Kështu që të shkojnë të marrë këtë tabelë dhe vënë atë në fletë tuaj shqyrtues, 1368 01:00:53,762 --> 01:00:55,470 sepse nuk do të jetë një pyetje për këtë. 1369 01:00:55,470 --> 01:00:56,682 Ju lutem mos merrni atë të gabuar. 1370 01:00:56,682 --> 01:00:58,390 Vetëm shumë shpejt, çfarë do të thotë kjo tabelë, 1371 01:00:58,390 --> 01:01:04,370 është ajo flet o për të madhe, të cilën ne e dimë të jetë e sipërme detyruar i një algoritme 1372 01:01:04,370 --> 01:01:05,150 running kohë. 1373 01:01:05,150 --> 01:01:08,080 Dhe ne kemi omega, i cili është do të jetë më e ulët lidhur 1374 01:01:08,080 --> 01:01:10,290 i një Runtime algoritme. 1375 01:01:10,290 --> 01:01:10,840 NE RREGULL? 1376 01:01:10,840 --> 01:01:12,480 >> Audienca: [padëgjueshme]. 1377 01:01:12,480 --> 01:01:12,800 >> SPEAKER 1: Po, çfarë është gjëja e fundit? 1378 01:01:12,800 --> 01:01:13,380 Çfarë është theta? 1379 01:01:13,380 --> 01:01:16,850 Kjo është në qoftë se we-- ne jemi vetëm do të intereson në këtë klasë në rastin 1380 01:01:16,850 --> 01:01:19,381 ku tonë sipërme detyruar dhe lidhur ynë ulëta janë të njëjta. 1381 01:01:19,381 --> 01:01:22,005 Po, kjo është hera e vetme është duke shkuar për të ardhur deri në këtë klasë. 1382 01:01:22,005 --> 01:01:23,320 OK, unë jam duke shkuar për të do të mbajë. 1383 01:01:23,320 --> 01:01:26,490 Nëse ju nuk e keni marrë foton tuaj, Unë premtoj këto do të jenë online. 1384 01:01:26,490 --> 01:01:28,220 >> OK, awesome, structs. 1385 01:01:28,220 --> 01:01:29,810 Pse mund duam structs? 1386 01:01:29,810 --> 01:01:34,110 Çfarë është një arsye e dobishme ne mund të dëshironi structs. 1387 01:01:34,110 --> 01:01:36,277 Dikush bërtas diçka jashtë. 1388 01:01:36,277 --> 01:01:38,110 E pra, le të shohim në Shembulli në bord. 1389 01:01:38,110 --> 01:01:41,090 Le të themi se kemi të bëjmë me të gjithë këta studentë. 1390 01:01:41,090 --> 01:01:44,900 Nëse ne jemi duke bërë një program për CS50, ka si 800 njerëz. 1391 01:01:44,900 --> 01:01:47,890 Ne kemi nevojë për write-- ne jemi duke shkuar për të nevojë për të trajtuar një shumë informacion 1392 01:01:47,890 --> 01:01:49,020 për studentët. 1393 01:01:49,020 --> 01:01:50,990 Ajo do të jetë mirë në qoftë se ne mund të lloj i grupit 1394 01:01:50,990 --> 01:01:54,460 this-- të gjithë informacionin që ka të bëjë me një nxënës të veçantë 1395 01:01:54,460 --> 01:01:56,027 në një lloj të dhënave. 1396 01:01:56,027 --> 01:01:58,360 Por ne e dimë se nuk ka të dhëna lloji i quajtur, Student, e drejtë? 1397 01:01:58,360 --> 01:02:01,890 Ne kemi një numër të plotë, ne kemi një noton, ne kemi një varg, ose një yll char, 1398 01:02:01,890 --> 01:02:03,920 por ne nuk kemi, një student. 1399 01:02:03,920 --> 01:02:08,680 >> Pra, ne mund të bëjmë në fakt është lloj i përcaktojnë vet struktura jonë, e quajti atë student, 1400 01:02:08,680 --> 01:02:12,440 dhe ne mund të shoqërojnë disa fusha të ndryshme me këtë struct. 1401 01:02:12,440 --> 01:02:14,410 Pra, në këtë rast, le të thonë se ne kemi një nxënës. 1402 01:02:14,410 --> 01:02:17,350 Dhe gjërat që kemi kujdes lidhje janë numri ID studenti 1403 01:02:17,350 --> 01:02:19,500 dhe emri i nxënësit. 1404 01:02:19,500 --> 01:02:24,175 Dhe tani ne mund të shoqërojnë këtë ID dhe ky emër me një student të caktuar. 1405 01:02:24,175 --> 01:02:25,300 Pra, le të shohim disa shembuj. 1406 01:02:25,300 --> 01:02:28,860 1407 01:02:28,860 --> 01:02:33,490 >> OK, kështu që këtu unë them, OK, le të thonë se ne duam të bëjë një student. 1408 01:02:33,490 --> 01:02:35,050 Unë e quaj atë studenti 1. 1409 01:02:35,050 --> 01:02:38,850 Dhe numri i tij ID, në ky rast, ne mund të hyni 1410 01:02:38,850 --> 01:02:45,200 duke bërë vetëm emrin e studentit dot në fushë ne duam për të hyrë. 1411 01:02:45,200 --> 01:02:49,110 Pra, kjo do të jetë vetëm nxënës 1 pikë ID, dhe ne vendosur ajo e barabartë me 1. 1412 01:02:49,110 --> 01:02:52,300 Sepse mos harroni, kemi thënë se ID do të jetë një numër të plotë. 1413 01:02:52,300 --> 01:02:56,540 Dhe shumë të ngjashme, mund të themi, kjo emri i studentit do të jetë Davin, 1414 01:02:56,540 --> 01:02:57,760 për shembull. 1415 01:02:57,760 --> 01:03:01,420 Pra, ne mund vetëm të hyni në fushë e një struct duke përdorur këtë dot. 1416 01:03:01,420 --> 01:03:03,098 Pyetje për këtë? 1417 01:03:03,098 --> 01:03:03,598 Po. 1418 01:03:03,598 --> 01:03:05,582 >> Audienca: A ka ndonjë mënyrë për të mbrojtur variablave tuaj? 1419 01:03:05,582 --> 01:03:08,560 A ka ndonjë mënyrë për të mbrojtur variablave nga të qenit të arrihen nga jashtë? 1420 01:03:08,560 --> 01:03:10,726 >> SPEAKER 1: A ka gjithsesi për të mbrojtur variablave tuaj 1421 01:03:10,726 --> 01:03:12,680 nga të qenit të arrihen nga jashtë? 1422 01:03:12,680 --> 01:03:13,750 Jo në fushën e CS50. 1423 01:03:13,750 --> 01:03:16,680 1424 01:03:16,680 --> 01:03:17,977 Pyetje të tjera? 1425 01:03:17,977 --> 01:03:18,476 Po. 1426 01:03:18,476 --> 01:03:18,942 >> Audienca: Çfarë është typedef struct? 1427 01:03:18,942 --> 01:03:20,192 Çfarë do të thotë çdo komponent? 1428 01:03:20,192 --> 01:03:22,937 1429 01:03:22,937 --> 01:03:24,520 SPEAKER 1: Ah, çfarë është typedef struct? 1430 01:03:24,520 --> 01:03:26,240 Çfarë e bën çdo komponent do të thotë e këtë djalë? 1431 01:03:26,240 --> 01:03:26,850 >> Audienca: Po. 1432 01:03:26,850 --> 01:03:27,683 >> SPEAKER 1: OK, cool. 1433 01:03:27,683 --> 01:03:31,200 Pra kjo thotë, hej kompjuter, unë duan të krijojnë një strukturë të re. 1434 01:03:31,200 --> 01:03:34,970 Dhe unë jam duke shkuar për të përcaktuar një përkufizim për të, të tilla që unë mund të përdorni atë 1435 01:03:34,970 --> 01:03:37,520 sikur të ishte një lloj gjatë gjithë programin tim. 1436 01:03:37,520 --> 01:03:39,300 OK, kështu që unë dua të përcaktojë një strukturë. 1437 01:03:39,300 --> 01:03:41,650 Dhe unë jam tani do të jetë gjendje ta përdorin atë si një lloj. 1438 01:03:41,650 --> 01:03:43,400 Dhe emri i tij është studente. 1439 01:03:43,400 --> 01:03:45,730 Dhe këtu janë fusha të saj. 1440 01:03:45,730 --> 01:03:48,130 >> Audienca: Pra, është se typedef struct [e padëgjueshme]? 1441 01:03:48,130 --> 01:03:50,592 1442 01:03:50,592 --> 01:03:53,800 SPEAKER 1: Nëse ju doni të jenë në gjendje të përdorin këtë e strukturës në të gjithë programin tuaj, 1443 01:03:53,800 --> 01:03:57,910 dhe në shumicën e rasteve në CS50 ne bëjmë, ne duhet të themi tipit Def. 1444 01:03:57,910 --> 01:04:01,190 Dhe se e lejon atë që të përdorin atë të njëjtën gjë mënyrë që ne përdorim si int apo noton. 1445 01:04:01,190 --> 01:04:04,168 Kompjuteri do të gjithmonë e di se çfarë është ajo. 1446 01:04:04,168 --> 01:04:04,668 Po. 1447 01:04:04,668 --> 01:04:06,560 >> Audienca: A mund të të shkruaj kjo në header dosje? 1448 01:04:06,560 --> 01:04:07,060 >> SPEAKER 1: Oh, sorry. 1449 01:04:07,060 --> 01:04:08,600 A e kemi shkruar këtë në header dosje? 1450 01:04:08,600 --> 01:04:11,410 Ju mund të shkruaj këtë në krye të tuaj Programi, në krye të programit tuaj c. 1451 01:04:11,410 --> 01:04:13,010 Po, kjo do të jetë më vend i arsyeshëm për të. 1452 01:04:13,010 --> 01:04:13,509 Atje. 1453 01:04:13,509 --> 01:04:15,704 Audienca: Same pyetje, kështu që para kryesore? 1454 01:04:15,704 --> 01:04:18,870 SPEAKER 1: E drejta, ju duhet kjo të jetë diku që të gjithë mund të përdorni atë. 1455 01:04:18,870 --> 01:04:20,612 Pra, para se të kryesor në rastin tuaj, vërtet. 1456 01:04:20,612 --> 01:04:23,820 Audienca: A ka ndonjë dallim në mes vënë nxënësin në krye dhe në fund? 1457 01:04:23,820 --> 01:04:25,810 SPEAKER 1: Ah, a ka një Dallimi në mes vënien studentit 1458 01:04:25,810 --> 01:04:26,840 në krye apo në fund? 1459 01:04:26,840 --> 01:04:29,650 Let-- shpëtuar kësaj pyetjeje, dhe kur ne të merrni për listat e lidhura, 1460 01:04:29,650 --> 01:04:31,020 ne do të shohim se, në rregull? 1461 01:04:31,020 --> 01:04:32,750 Pra, të mbajë në të atë për një të dytë. 1462 01:04:32,750 --> 01:04:37,080 Gjëja e fundit që dua të përmend këtu, është në vend të një strukturë, 1463 01:04:37,080 --> 01:04:41,180 ne kemi një tregues për një strukturë, ne mund të ndryshojmë simbol tonë 1464 01:04:41,180 --> 01:04:42,480 të jetë nicer pak. 1465 01:04:42,480 --> 01:04:45,810 >> Ne mund të themi, le të themi që kemi një tregues për një student në vend se vetëm 1466 01:04:45,810 --> 01:04:47,040 një student. 1467 01:04:47,040 --> 01:04:52,460 Në qoftë se ne duam qasje në një fushë, në vend të duke bërë, edhe shko dereference treguesin, 1468 01:04:52,460 --> 01:04:54,100 dhe pastaj hyni emrin fushë. 1469 01:04:54,100 --> 01:04:57,310 Ky simbol duket pak çrregullt me ​​yll në këtë pikë. 1470 01:04:57,310 --> 01:05:00,790 Krejtësisht e saktë, por një lloj rruga e pastër për të bërë atë, 1471 01:05:00,790 --> 01:05:03,280 është vetëm për të thënë emrin akrep shigjetë. 1472 01:05:03,280 --> 01:05:11,460 Dhe që në fakt kombinon dereferencing dhe qasjen në një simbol të bukur. 1473 01:05:11,460 --> 01:05:12,470 Pyetje për këtë? 1474 01:05:12,470 --> 01:05:13,760 >> Audienca: them vetëm se një herë më shumë. 1475 01:05:13,760 --> 01:05:14,480 >> SPEAKER 1: thonë se një herë më shumë. 1476 01:05:14,480 --> 01:05:16,021 >> Audienca: Pikërisht ajo që ju sapo tha. 1477 01:05:16,021 --> 01:05:17,870 SPEAKER 1: Sigurisht, pikërisht që sapo thashë. 1478 01:05:17,870 --> 01:05:21,580 Në qoftë se ne kemi një tregues për një student sesa nxënësit vetë, 1479 01:05:21,580 --> 01:05:25,410 ne can-- një mënyrë që ne mund të hyni në fushë është dereference te tij, dhe pastaj 1480 01:05:25,410 --> 01:05:27,110 Emri qasje. 1481 01:05:27,110 --> 01:05:29,040 Një tjetër, mënyrë nicer ne mund ta bëjë këtë, e cila është vetëm 1482 01:05:29,040 --> 01:05:33,550 pak sheqer sintaksore, është vetëm për të bërë treguesin shigjetë emrin. 1483 01:05:33,550 --> 01:05:38,190 Dhe kjo do të kombinohen dereferencing dhe aksesimit. 1484 01:05:38,190 --> 01:05:40,400 Po, pretty cool. 1485 01:05:40,400 --> 01:05:41,260 Në rregull. 1486 01:05:41,260 --> 01:05:44,390 >> Pra, le të flasim për pyetjen tjetër. 1487 01:05:44,390 --> 01:05:46,520 Le të hidhen në nyje, të cilat ne jemi duke shkuar për të përdorur 1488 01:05:46,520 --> 01:05:49,120 në listat e lidhur në vetëm një të dytë. 1489 01:05:49,120 --> 01:05:53,580 Kështu që këtu, ju do të vëreni se ka është fjala nyja si në pjesën e poshtme, 1490 01:05:53,580 --> 01:05:55,160 dhe në majë. 1491 01:05:55,160 --> 01:05:59,040 Para, kur ne ishim përcaktimin student, ne vetëm kishte nxënës në pjesën e poshtme. 1492 01:05:59,040 --> 01:06:00,470 Ne nuk kemi nxënës në krye. 1493 01:06:00,470 --> 01:06:01,902 Çdokush e di pse kjo mund të jetë? 1494 01:06:01,902 --> 01:06:02,860 Çfarë është dallimi? 1495 01:06:02,860 --> 01:06:03,360 Po. 1496 01:06:03,360 --> 01:06:06,212 Audienca: Pra, ju përdorni nyje është përcaktimi i nyjeve, 1497 01:06:06,212 --> 01:06:08,254 kështu që kjo është një gjë rekursive? 1498 01:06:08,254 --> 01:06:08,920 SPEAKER 1: Mirë. 1499 01:06:08,920 --> 01:06:13,230 Po, ne kemi nevojë për nyjet tona për kanë tregues për nyjet e tjera. 1500 01:06:13,230 --> 01:06:17,640 Kështu që ne e përdorim këtë lloj para se të përcaktohet në fakt, 1501 01:06:17,640 --> 01:06:20,613 ne kemi nevojë për të vënë atë në krye vetëm kështu që e di se çfarë është ajo. 1502 01:06:20,613 --> 01:06:22,446 Audienca: Pra, ne ende nevojë për të në fund? 1503 01:06:22,446 --> 01:06:23,338 SPEAKER 1: Po. 1504 01:06:23,338 --> 01:06:24,754 Audienca: Pra, gjithmonë në fund. 1505 01:06:24,754 --> 01:06:26,090 SPEAKER 1: Gjithmonë në fund. 1506 01:06:26,090 --> 01:06:29,410 Kështu që të gjithë e juaja do të kanë atë në fund. 1507 01:06:29,410 --> 01:06:30,720 Ndonjë pyetje të tjera? 1508 01:06:30,720 --> 01:06:33,511 Të gjithë të drejtë, kështu që lejon të vërtetë flasin në lidhje me listat e lidhur me të vërtetë shpejt. 1509 01:06:33,511 --> 01:06:36,510 Pra, listat e lidhura are-- ne i përdorim ato në vend të vargjeve në disa raste, 1510 01:06:36,510 --> 01:06:40,030 sepse ne e dimë se vargjeve janë një gjatësi fikse, kurse listat e lidhura 1511 01:06:40,030 --> 01:06:42,670 ne mund të rritet dhe tkurret si ne duam. 1512 01:06:42,670 --> 01:06:45,790 Pra, ky është një shembull i asaj që një listë e lidhur mund të duket si. 1513 01:06:45,790 --> 01:06:48,590 Ajo që ne duhet të shohim është kreu i listës. 1514 01:06:48,590 --> 01:06:50,330 Pra, ku lista fillon. 1515 01:06:50,330 --> 01:06:53,010 Dhe pastaj ai nyje, secila nyje mëvonshëm, është 1516 01:06:53,010 --> 01:06:55,880 përgjegjës për njohjen ku nyja tjetër është. 1517 01:06:55,880 --> 01:07:00,950 Pra, në këtë rast, nyja që ruan 1 është përgjegjës për të ditur se ku 3 është. 1518 01:07:00,950 --> 01:07:04,540 Personi që ruan 3 është përgjegjës për ditur se ku është 9. 1519 01:07:04,540 --> 01:07:06,230 Dhe 9 ka askush tjetër për pikë për të. 1520 01:07:06,230 --> 01:07:08,750 Është fundi i listës, kështu që ai vetëm i thotë null. 1521 01:07:08,750 --> 01:07:09,250 NE RREGULL? 1522 01:07:09,250 --> 01:07:10,530 >> Audienca: Cila është pika e kjo? 1523 01:07:10,530 --> 01:07:11,480 >> SPEAKER 1: Cila është pika e kjo? 1524 01:07:11,480 --> 01:07:12,105 >> Audienca: Po. 1525 01:07:12,105 --> 01:07:15,390 SPEAKER 1: Sepse, le të them se ne kemi disa të dhëna. 1526 01:07:15,390 --> 01:07:18,480 Dhe ne nuk e dimë saktësisht se si shumë të dhëna që ne duam para kohe. 1527 01:07:18,480 --> 01:07:22,479 Pra, me një grup, le të themi, ku ne duan për të numëruar njerëzve në radhë të parë. 1528 01:07:22,479 --> 01:07:24,020 Shanset janë se nuk do të ndryshojë. 1529 01:07:24,020 --> 01:07:28,120 Ne mund të themi vetëm, OK, unë duan një rrjet të madhësisë gjashtë. 1530 01:07:28,120 --> 01:07:30,120 Por në qoftë se ne duam diçka që do të ndryshojë. 1531 01:07:30,120 --> 01:07:32,900 >> Për shembull, le të thonë se unë kam qenë duke u përpjekur të mbajnë gjurmët e nxënësve 1532 01:07:32,900 --> 01:07:35,330 si ata të vijnë në sallën e për seancën e shqyrtimit. 1533 01:07:35,330 --> 01:07:38,420 Unë nuk kam asnjë ide se si shumë prej jush njerëzit janë duke shkuar për të treguar deri. 1534 01:07:38,420 --> 01:07:43,094 Kështu që unë mund të dua një strukturë të dhënave që unë mund të zgjerohet dhe tkurret. 1535 01:07:43,094 --> 01:07:45,510 Sepse ndoshta dikush do të largohen, ndoshta dikush do të vijë. 1536 01:07:45,510 --> 01:07:48,386 Dhe kështu, në çdo kohë, ne mund të shtoni ose hiqni nyje. 1537 01:07:48,386 --> 01:07:49,771 Cool, pyetje e madhe. 1538 01:07:49,771 --> 01:07:50,270 Po. 1539 01:07:50,270 --> 01:07:52,311 >> Audienca: Në qoftë se ju mund të përdorni diçka si getString 1540 01:07:52,311 --> 01:07:55,750 që mban lejuar që ju të merrni më shumë të dhëna si ju keni nevojë për atë, pse nuk keni nevojë për këtë shumë? 1541 01:07:55,750 --> 01:07:57,625 >> SPEAKER 1: Pse do ju përdorni listës kur i lidhur 1542 01:07:57,625 --> 01:07:59,440 ju mund të përdorni diçka si getString? 1543 01:07:59,440 --> 01:08:01,640 Kjo është një pyetje e mirë. 1544 01:08:01,640 --> 01:08:04,240 Mos harroni se Get-- një e downfalls e getString 1545 01:08:04,240 --> 01:08:06,750 është se ne nuk e ka bërë një shumë të punë e mirë e liruar atë kujtesës, 1546 01:08:06,750 --> 01:08:09,320 dhe ne kemi prezantuar një bandë e kujtim rrjedhjet në programin tuaj? 1547 01:08:09,320 --> 01:08:15,037 Ju mund të marrë atë një mënyrë statike array mesme dhe të vazhdojë të rritet atë. 1548 01:08:15,037 --> 01:08:16,870 Por ju do të keni për të gjetur vende të reja në kujtesë. 1549 01:08:16,870 --> 01:08:18,359 Ajo do të jetë vetëm një shumë të lart. 1550 01:08:18,359 --> 01:08:21,050 >> Një nga gjërat e këndshme për të lidhur listat në krahasim me vargjeve, është vargjeve 1551 01:08:21,050 --> 01:08:22,830 janë të gjitha në të njëjtin vend në kujtesë. 1552 01:08:22,830 --> 01:08:25,540 Ajo duhet të jetë e vazhdueshme chunks e kujtesës. 1553 01:08:25,540 --> 01:08:29,920 Ndërsa listat e lidhura, 2 dhe 3 maj të jetë plotësisht në vende të ndryshme. 1554 01:08:29,920 --> 01:08:31,880 Ashtu si 2 është këtu, dhe 3 është këtu. 1555 01:08:31,880 --> 01:08:34,421 Dhe për aq kohë sa ata kanë një tregues për njëri-tjetrin, kjo është në rregull. 1556 01:08:34,421 --> 01:08:35,830 Ne e dimë se ne mund të gjeni ato. 1557 01:08:35,830 --> 01:08:37,084 Pyetje atje? 1558 01:08:37,084 --> 01:08:40,563 >> Audienca: getString është një funksion në bibliotekë CS50, e drejtë? 1559 01:08:40,563 --> 01:08:42,060 Ajo nuk ekziston në programe reale. 1560 01:08:42,060 --> 01:08:42,851 >> SPEAKER 1: Correct. 1561 01:08:42,851 --> 01:08:44,130 E drejtë, kjo është gjë tjetër. 1562 01:08:44,130 --> 01:08:47,210 GetString nuk ekziston jashtë kontekstit të CS50. 1563 01:08:47,210 --> 01:08:47,710 Po. 1564 01:08:47,710 --> 01:08:54,556 >> Audienca: Pra, e bën fakti se dy mund të jetë me të vërtetë shumë larg, 1565 01:08:54,556 --> 01:08:59,859 bën që ndikojnë në efikasitetin e qasjen elementet në listë? 1566 01:08:59,859 --> 01:09:01,359 SPEAKER 1: Kjo është një pyetje e madhe. 1567 01:09:01,359 --> 01:09:04,278 Pyetja ishte, e bën këtë ndikim efikasiteti i qasjes 1568 01:09:04,278 --> 01:09:05,819 këto elemente të ndryshme në listën. 1569 01:09:05,819 --> 01:09:06,930 Në fakt, po. 1570 01:09:06,930 --> 01:09:09,569 Sepse ne e dimë if-- le thonë se ne duam për të hyrë në 1571 01:09:09,569 --> 01:09:14,520 elementi i dytë i grup, ne e dimë ne mund të bëjmë vetëm array kllapa 1, e drejtë. 1572 01:09:14,520 --> 01:09:16,630 Ajo gjithmonë do të jetë i njëjtë vendndodhjen. 1573 01:09:16,630 --> 01:09:20,720 Por në qoftë se ne duam që të merrni në atë 3, ne nuk mund të them vetëm, shkoni merrni atë 3. 1574 01:09:20,720 --> 01:09:24,009 Ne kemi për të thënë, OK, të fillojë në fillimi i listës, 1575 01:09:24,009 --> 01:09:26,050 dhe tani ne fakt kemi të ecin nëpër derisa ne 1576 01:09:26,050 --> 01:09:28,149 gjeni numrin ne jemi të interesuar në. 1577 01:09:28,149 --> 01:09:30,790 >> Pra, në këtë rast themi, OK ky është numri i pari. 1578 01:09:30,790 --> 01:09:32,207 Pra, në thelb, kjo është indeksi 0. 1579 01:09:32,207 --> 01:09:33,790 Tani ne duhet të gjejmë numrin e dytë. 1580 01:09:33,790 --> 01:09:34,740 Kjo është indeksi 1. 1581 01:09:34,740 --> 01:09:39,180 Kështu që është në të vërtetë ndodh to-- vetëm qasjes, do të marrë kohë N. 1582 01:09:39,180 --> 01:09:42,027 Cool, N. madh i vjetër Po. 1583 01:09:42,027 --> 01:09:43,903 >> Audienca: Cilat janë secili prej listave? 1584 01:09:43,903 --> 01:09:45,401 A janë ata secili vargjeve, apo çfarë? 1585 01:09:45,401 --> 01:09:46,859 SPEAKER 1: Kjo është një pyetje e madhe. 1586 01:09:46,859 --> 01:09:48,950 Cilat janë secilin nga struktura që unë kam tërhequr? 1587 01:09:48,950 --> 01:09:51,649 Ata janë nyje. 1588 01:09:51,649 --> 01:09:53,720 Pra, secili nga këto pak Struktura ka dy pjesë. 1589 01:09:53,720 --> 01:09:55,264 Ajo ka një numër të plotë që mban. 1590 01:09:55,264 --> 01:09:57,180 Kjo është të dhënat aktuale se ajo e mban mbi. 1591 01:09:57,180 --> 01:09:58,770 Kjo është lloj i një pjese të dobishme. 1592 01:09:58,770 --> 01:10:00,820 Dhe, kjo është ajo që e bën atë një listë e lidhur, 1593 01:10:00,820 --> 01:10:03,690 ajo ka një tregues për nyjen e ardhshme. 1594 01:10:03,690 --> 01:10:05,260 Pyetje mbresëlënës. 1595 01:10:05,260 --> 01:10:11,320 Të gjithë të drejtë, kështu që le të shohim shumë shpejt të shohim disa shembuj të asaj që 1596 01:10:11,320 --> 01:10:12,820 ne mund të bëjë me listat e lidhura. 1597 01:10:12,820 --> 01:10:16,920 >> Pra, një shembull shumë i shpejtë është, mendoj që ne duam të bëjmë një kërkim. 1598 01:10:16,920 --> 01:10:20,240 Çfarë lloj i kërkimit nuk mund ne bëjmë në listat e lidhura? 1599 01:10:20,240 --> 01:10:21,150 >> Audienca: Binary. 1600 01:10:21,150 --> 01:10:21,900 >> SPEAKER 1: Binary. 1601 01:10:21,900 --> 01:10:23,408 Pse nuk mund të përdorim kërkimin binar? 1602 01:10:23,408 --> 01:10:25,181 >> Audienca: [padëgjueshme]. 1603 01:10:25,181 --> 01:10:28,180 SPEAKER 1: E drejta, sepse me binar kërko, kemi dashur të mbështetet në faktin 1604 01:10:28,180 --> 01:10:31,300 që ne mund vetëm të kërcejnë në grup në çdo moment. 1605 01:10:31,300 --> 01:10:33,420 Ne mund të themi vetëm, të shkojnë në elementin e mesit. 1606 01:10:33,420 --> 01:10:35,550 Me këtu, siç thamë pak më herët, 1607 01:10:35,550 --> 01:10:37,270 ne nuk mund vetëm të kërcejnë në elementi mesme. 1608 01:10:37,270 --> 01:10:38,978 Në mënyrë që të gjeni ndonjë element, ne fakt 1609 01:10:38,978 --> 01:10:40,780 duhet të ecin nëpër të gjithë listën tonë. 1610 01:10:40,780 --> 01:10:43,910 >> Pra, nëse ne të kërkuar për të bërë një kërkim, The më të mirë ne mund të bëjmë është vetëm një kërkim linear. 1611 01:10:43,910 --> 01:10:45,910 Ne të fillojë në krye, ne check-- le të thonë se ne jemi 1612 01:10:45,910 --> 01:10:47,790 kërkoni për 9-- ne të fillojë në krye. 1613 01:10:47,790 --> 01:10:49,200 Ne themi, është kjo 9? 1614 01:10:49,200 --> 01:10:49,710 Jo. 1615 01:10:49,710 --> 01:10:50,430 A është ky 9? 1616 01:10:50,430 --> 01:10:50,930 Jo. 1617 01:10:50,930 --> 01:10:51,620 A është ky 9? 1618 01:10:51,620 --> 01:10:53,730 Po, kemi gjetur atë. 1619 01:10:53,730 --> 01:10:56,350 OK, kjo është e gjitha ajo. 1620 01:10:56,350 --> 01:10:57,940 Këtu është pak e pseudo-kod. 1621 01:10:57,940 --> 01:11:01,420 Unë jam duke shkuar për të lënë këtë për ju djema për të dybek gjatë në tuaj, 1622 01:11:01,420 --> 01:11:04,370 vetëm për shkak se ne jemi duke pak të shkurtër në kohë. 1623 01:11:04,370 --> 01:11:05,610 >> Lejon të flasim për futje. 1624 01:11:05,610 --> 01:11:08,644 Ne pamë një demo të vërtetë të ftohtë e kjo në leksion, ku kemi thënë, 1625 01:11:08,644 --> 01:11:11,560 OK, ne kemi këtë listë e lidhur ku të gjithë është duke treguar për njëri-tjetrin, 1626 01:11:11,560 --> 01:11:13,400 dhe dikush vjen në skenë. 1627 01:11:13,400 --> 01:11:17,050 Si nuk kemi futur se Personi në listën tonë të lidhura? 1628 01:11:17,050 --> 01:11:20,150 E pra, një mënyrë e gabuar për të bërë, e cila po unë mendoj se ajo që pamë në fillim, 1629 01:11:20,150 --> 01:11:22,740 është kur personi në front automatikisht 1630 01:11:22,740 --> 01:11:25,270 vuri në dukje person të ri. 1631 01:11:25,270 --> 01:11:29,057 Dhe pastaj ne lloj i braktisur gjysma e dytë e listës, e drejtë? 1632 01:11:29,057 --> 01:11:31,390 Sepse ne nuk e dimë se ku ajo eshte ne memorien më. 1633 01:11:31,390 --> 01:11:34,750 Pra, të jenë shumë të kujdesshëm në lidhje me mënyrë në të cilën ne të futur gjëra. 1634 01:11:34,750 --> 01:11:37,860 >> Kështu që këtu, le të thonë se ne duam të vënë 1 në pjesën e përparme të listës sonë. 1635 01:11:37,860 --> 01:11:42,190 Së pari, ne kemi 1 pikë në dytë element-- ose element 1636 01:11:42,190 --> 01:11:44,170 që përmban 1. 1637 01:11:44,170 --> 01:11:47,210 Pra, ne bëjmë atë, vetëm kështu ne nuk jemi shkuar për të humbur në gjysmën e dytë. 1638 01:11:47,210 --> 01:11:51,020 Dhe tani, ne mund të kemi pikë kokë me 1. 1639 01:11:51,020 --> 01:11:52,930 Pra, përsëri, kjo është vetëm si nivel super të lartë. 1640 01:11:52,930 --> 01:11:55,290 Kjo është se si ne do të futur një nyje. 1641 01:11:55,290 --> 01:11:57,337 Ne kemi një shumë të pseudo-kod here-- keq, 1642 01:11:57,337 --> 01:11:59,170 Unë nuk e di pse unë jam duke e quajtur atë pseudo-kod. 1643 01:11:59,170 --> 01:12:00,350 Kjo është kodi aktual. 1644 01:12:00,350 --> 01:12:02,570 Ju mund të shkoni check it out më vonë. 1645 01:12:02,570 --> 01:12:04,870 >> Të gjithë të drejtë, le shumë quickly-- ndonjë pyetje më shumë 1646 01:12:04,870 --> 01:12:07,120 në listat e lidhura para se të lëvizin mbi një tjetër çift të dhënave 1647 01:12:07,120 --> 01:12:08,450 Strukturat në 10 minuta tona të fundit. 1648 01:12:08,450 --> 01:12:10,340 >> Audienca: A kemi nevojë për të tani sa për të shkruar atë në një provë? 1649 01:12:10,340 --> 01:12:11,040 >> SPEAKER 1: A kemi nevojë të dini se si to-- 1650 01:12:11,040 --> 01:12:12,030 >> Audienca: Shkruani atë në një provë. 1651 01:12:12,030 --> 01:12:14,071 >> SPEAKER 1: Ne kemi nevojë për to-- ju duhet të jenë të përgatitur 1652 01:12:14,071 --> 01:12:18,870 për të shkruar, insert, hequr, dhe kërkoni për listat e lidhura në provë. 1653 01:12:18,870 --> 01:12:21,480 Kjo është diçka që ne e mund të presin që ju të bëni. 1654 01:12:21,480 --> 01:12:22,750 Thjesht shkoni mbi të. 1655 01:12:22,750 --> 01:12:26,460 Nëse keni ndonjë pyetje në Kodi, xhiruar TF tuaj një e-mail, 1656 01:12:26,460 --> 01:12:27,750 vijnë për të orarit të punës. 1657 01:12:27,750 --> 01:12:30,041 Ka ende shumë kohë për të studiuar, për të mos u shqetësoni. 1658 01:12:30,041 --> 01:12:32,290 Të gjithë të drejtë, ndonjë tjetër pyetje në lidhje me listat e lidhura? 1659 01:12:32,290 --> 01:12:32,986 Po. 1660 01:12:32,986 --> 01:12:37,360 >> Audienca: Pra, nëse ju nuk e përdorni tregues për të shkuar në një në të djathtë 1661 01:12:37,360 --> 01:12:41,308 para se të përdorni treguesin për ai në të majtë, kjo është 1662 01:12:41,308 --> 01:12:43,211 ekuivalente e fshirjes çdo gjë, e drejtë? 1663 01:12:43,211 --> 01:12:43,877 SPEAKER 1: Po. 1664 01:12:43,877 --> 01:12:44,820 Audienca: [padëgjueshme]. 1665 01:12:44,820 --> 01:12:47,570 SPEAKER 1: E drejta, pasi ne nuk mund të marrë atë, kjo është në fakt edhe më keq. 1666 01:12:47,570 --> 01:12:50,690 Sepse jo vetëm që nuk e dimë aty ku është, ne nuk mund të përdorë atë, 1667 01:12:50,690 --> 01:12:53,580 por we've-- ne nuk jemi liruar atë memorie më. 1668 01:12:53,580 --> 01:12:58,570 Pra, kjo është vetëm lartësi rreth dhe jo të jetë e dobishme, sepse ne nuk mund të gjeni atë. 1669 01:12:58,570 --> 01:12:59,580 Po, pyetje ftohtë. 1670 01:12:59,580 --> 01:13:01,280 >> Të gjithë të drejtë, le të flasim për oxhaqet. 1671 01:13:01,280 --> 01:13:03,230 Ne pamë shumë paratë shumë shpejt. 1672 01:13:03,230 --> 01:13:06,280 Ata janë parë në të fundit Strukturat jashtë të dhënave. 1673 01:13:06,280 --> 01:13:10,664 Pra, ne mendojmë për oxhaqet në Annenberg e tabaka ku ne pirg gjëra në krye. 1674 01:13:10,664 --> 01:13:12,580 Dhe në qoftë se ju jeni do të të vijë të marrë një tabaka, ju jeni 1675 01:13:12,580 --> 01:13:15,870 gjithmonë do të marrë atë në të lartë, e cila është më e recently-- 1676 01:13:15,870 --> 01:13:18,840 e cila është gjëja që më vënë kohët e fundit në krye të rafte. 1677 01:13:18,840 --> 01:13:22,680 Kështu që ju mund të lloj të mendojnë për këtë lloj të vizuale kur ju jeni duke menduar e oxhaqet. 1678 01:13:22,680 --> 01:13:26,010 Dhe atëherë, ne kemi popped diçka off majë të pirg. 1679 01:13:26,010 --> 01:13:29,850 >> Nëse ne are-- oh, dhe fjalët që ne përdorin kur ne jemi duke folur për këto të dhëna 1680 01:13:29,850 --> 01:13:32,680 Strukturat është zakonisht, nëse ne vënë diçka në rafte, 1681 01:13:32,680 --> 01:13:34,550 ne themi ne jemi shtyjnë atë në rafte. 1682 01:13:34,550 --> 01:13:38,450 Dhe nëse marrim diçka jashtë rafte, ne themi ne jemi popping off rafte. 1683 01:13:38,450 --> 01:13:41,470 Nëse ju jeni duke shkuar për të zbatuar një stack-- që unë patjetër 1684 01:13:41,470 --> 01:13:44,840 ju rekomandojmë që të provoni out-- ju jeni do të duan të mbajnë gjurmët e, 1685 01:13:44,840 --> 01:13:46,669 le të thonë se ju jeni duke përdorur një rrjet. 1686 01:13:46,669 --> 01:13:48,960 Unë e di se në leksion ne biseduam rreth përdorimit të dy vargjeve 1687 01:13:48,960 --> 01:13:51,120 ose listat e lidhura për të zbatuar një pirg. 1688 01:13:51,120 --> 01:13:53,490 Nëse jeni duke përdorur një grup, ju keni nevojë për keep-- 1689 01:13:53,490 --> 01:13:56,750 justifikim me-- ne duhet të mbajnë gjurmët e madhësisë dhe kapacitetit. 1690 01:13:56,750 --> 01:14:00,820 Kështu numrin maksimal që rafte ynë mund të mbajë. 1691 01:14:00,820 --> 01:14:03,240 Pyetjet për oxhaqet? 1692 01:14:03,240 --> 01:14:05,657 >> Audienca: Cila është diferenca në mes të madhësisë dhe kapacitetit? 1693 01:14:05,657 --> 01:14:08,573 SPEAKER 1: Dallimi në mes Madhësia dhe kapaciteti, pyetje tmerrshëm. 1694 01:14:08,573 --> 01:14:10,330 Pra, le të thonë se ne jemi të duke përdorur një rrjet, dhe ne 1695 01:14:10,330 --> 01:14:13,340 ndajë vend të mjaftueshëm për 10 integers. 1696 01:14:13,340 --> 01:14:15,050 Dhe ne të fillojnë për të mbushur atë lart. 1697 01:14:15,050 --> 01:14:17,330 Dhe ne të shtyjë gjërat në, dhe ne pop gjërat off. 1698 01:14:17,330 --> 01:14:21,060 Ne duam që të mbajnë gjurmët e në maksimum Numri ne mund të mbajë, kjo është kapaciteti. 1699 01:14:21,060 --> 01:14:24,790 Dhe ne duam të mbajnë gjurmët e të Numri aktual që kemi, kjo është madhësia. 1700 01:14:24,790 --> 01:14:26,530 Pyetje e mirë. 1701 01:14:26,530 --> 01:14:28,720 Çdo gjë tjetër në oxhaqet? 1702 01:14:28,720 --> 01:14:31,260 Të gjithë të drejtë, le të flasim për befasi, rradhë. 1703 01:14:31,260 --> 01:14:37,034 >> Ndryshe nga oxhaqet, të cilat janë parë në të fundit jashtë, këto janë parë në, nga e para. 1704 01:14:37,034 --> 01:14:38,450 Pra, kjo është like-- mendojnë për një linjë. 1705 01:14:38,450 --> 01:14:41,530 Mendoni për rreshtim deri në Apple Dyqan për të marrë çfarëdo produkti. 1706 01:14:41,530 --> 01:14:44,540 Dhe personi i parë në linjë duhet të të jetë personi i parë i cili e ka ndihmuar. 1707 01:14:44,540 --> 01:14:48,270 Gjëja e parë kështu që është shtyrë është kjo Gjëja e parë që është popped. 1708 01:14:48,270 --> 01:14:49,460 Ftohtë? 1709 01:14:49,460 --> 01:14:52,890 Shumë similarly-- Oh, fjalët që ne përdorim në vend të shtytje dhe pop-- 1710 01:14:52,890 --> 01:14:55,060 që unë vetëm përdorur, Unë jam sorry-- është të themi, 1711 01:14:55,060 --> 01:14:58,170 në qoftë se ne jemi duke vënë diçka në radhë, ne themi enqueued atë. 1712 01:14:58,170 --> 01:15:00,795 Nëse ne jemi duke marrë diçka nga radhë, themi ne dequeued. 1713 01:15:00,795 --> 01:15:01,950 Ajo. 1714 01:15:01,950 --> 01:15:05,454 Unë mund të shqiptimit ato gabuar, por ju merrni ide. 1715 01:15:05,454 --> 01:15:08,370 Dhe pastaj përsëri, ashtu si oxhaqet, në qoftë se ne jemi implementimit këtë si grup, 1716 01:15:08,370 --> 01:15:12,350 ne duhet të mbajnë gjurmët e të madhësia, kapaciteti, dhe kreu. 1717 01:15:12,350 --> 01:15:13,570 Çfarë dua të them me kokë? 1718 01:15:13,570 --> 01:15:15,278 Pse nuk kemi nevojë për të mbajtur gjurmët e kokës? 1719 01:15:15,278 --> 01:15:18,549 1720 01:15:18,549 --> 01:15:21,685 >> Audienca: Sepse kjo është ajo ku fillimi i listën tuaj është. 1721 01:15:21,685 --> 01:15:24,810 SPEAKER 1: Po, në thelb koka është ku fillimi i radhës tonë është. 1722 01:15:24,810 --> 01:15:29,460 Sepse ne e dimë, ndryshe nga oxhaqet, which-- Unë jam duke shkuar në përpjekje për t'u përballur me këtë way-- 1723 01:15:29,460 --> 01:15:33,570 ne e dimë se ajo gjithmonë do të tkurret në këtë mënyrë dhe të rritet në këtë mënyrë. 1724 01:15:33,570 --> 01:15:37,840 Radhët, njerëzit vijnë në fund dhe të largohet nga fillimi, 1725 01:15:37,840 --> 01:15:40,620 kështu që ne duhet të mbajnë gjurmët e ku fillimi është. 1726 01:15:40,620 --> 01:15:43,540 Kjo është ajo që dua të them me ne duhet të mbajnë gjurmët e ku koka është. 1727 01:15:43,540 --> 01:15:45,190 Ftohtë? 1728 01:15:45,190 --> 01:15:46,440 Në rregull. 1729 01:15:46,440 --> 01:15:49,250 Tetë minuta, çift më shumë tema, ne mund të bëjmë atë. 1730 01:15:49,250 --> 01:15:51,240 >> Të gjithë të drejtë, tryezë hash. 1731 01:15:51,240 --> 01:15:53,095 Ne biseduam shkurtimisht për tabelat hash. 1732 01:15:53,095 --> 01:15:55,720 Për quiz, ju vetëm duhet të kuptojmë ato në një nivel të lartë. 1733 01:15:55,720 --> 01:15:58,330 Ideja themelore është që ju të keni këto të dhëna. 1734 01:15:58,330 --> 01:16:02,570 Dhe ne duam të hyni në atë në kohën që është më shpejt se diçka si një i lidhur 1735 01:16:02,570 --> 01:16:03,070 lista. 1736 01:16:03,070 --> 01:16:05,290 Sepse kemi thënë, në qoftë se ne ishim duke kërkuar nëpër një listë të lidhura, 1737 01:16:05,290 --> 01:16:06,248 që mund të marrë kohë N. 1738 01:16:06,248 --> 01:16:08,810 Edhe qasjes mund të marrë Ora N në një listë të lidhura. 1739 01:16:08,810 --> 01:16:12,930 Tabelat hash na japin një mënyrë që ne mund të më shpejt të hyrë gjëra, dhe më shumë 1740 01:16:12,930 --> 01:16:16,970 shpejt të kërkoni për gjëra, pa duke pasur kufizimet e një sërë 1741 01:16:16,970 --> 01:16:19,030 ku ne kemi caktuar madhësi. 1742 01:16:19,030 --> 01:16:23,950 >> Pra, ne mendojmë për një strukturë të dhënave ku, ku ne kemi vënë atë në strukturën e të dhënave 1743 01:16:23,950 --> 01:16:26,620 varet nga kjo Funksioni magjike hash. 1744 01:16:26,620 --> 01:16:30,630 Pra, në këtë rast, të hash magjike funksion është vetëm duke marrë një fjalë, 1745 01:16:30,630 --> 01:16:34,027 kontrolluar se çfarë letra e parë është, dhe atëherë vetëm zgjidhja atë sipas rendit alfabetik. 1746 01:16:34,027 --> 01:16:36,110 Pra, ne thelb vënë ato në kova të ndryshme. 1747 01:16:36,110 --> 01:16:39,510 Kur ne shohim banane, të themi, OK, le të vënë në B kovë. 1748 01:16:39,510 --> 01:16:41,820 Kur ne shohim Apple, le të e vënë atë në një kovë. 1749 01:16:41,820 --> 01:16:44,744 Nëse ne pamë kajsi, le të vënë në një kovë. 1750 01:16:44,744 --> 01:16:45,600 NE RREGULL? 1751 01:16:45,600 --> 01:16:51,090 >> Kështu që mendoj unë po kërkoni for-- I nuk e di, çfarë është tjetër fruta? 1752 01:16:51,090 --> 01:16:52,920 Mendoj unë isha duke kërkuar për portokalli. 1753 01:16:52,920 --> 01:16:55,340 Ku duhet të shikoni? 1754 01:16:55,340 --> 01:16:56,420 Në O kovë. 1755 01:16:56,420 --> 01:17:01,450 Po, ka vetëm një vend se portokalli mund të jetë, në rregull? 1756 01:17:01,450 --> 01:17:05,370 Kështu që unë thashë më parë se çfarë ndodh if-- edhe thashë më parë, 1757 01:17:05,370 --> 01:17:10,030 le të thonë se ne kemi vënë in-- kajsi, por unë me të vërtetë të adresuar faktin se, oh jo, 1758 01:17:10,030 --> 01:17:14,990 në qoftë se unë do të vënë kokrra të kuqe në, është do të bien ndesh me banane. 1759 01:17:14,990 --> 01:17:20,160 Ku ne kemi vënë atë në qoftë se ka tashmë diçka në tabelën tonë? 1760 01:17:20,160 --> 01:17:22,760 E pra, ne kemi një mundësi çift. 1761 01:17:22,760 --> 01:17:26,160 >> Opsioni numër një është linear probing, që do të thotë në thelb, 1762 01:17:26,160 --> 01:17:28,690 le të thonë se unë dua të provoni të vënë kokrra të kuqe, dhe unë shoh, oh jo, 1763 01:17:28,690 --> 01:17:31,170 banane tashmë atje, Unë vetëm them OK, le të 1764 01:17:31,170 --> 01:17:33,810 më shikoni për vendin tjetër në dispozicion. 1765 01:17:33,810 --> 01:17:36,744 Kështu që unë ecin poshtë, unë them, oh, nuk ka asgjë në D kovë. 1766 01:17:36,744 --> 01:17:39,410 Unë nuk mund të vërtetë të mendojnë për ndonjë frutave që fillojnë me shkronjën D, 1767 01:17:39,410 --> 01:17:41,620 kështu që unë jam vetëm duke shkuar për të vënë kokrra të kuqe në atje. 1768 01:17:41,620 --> 01:17:42,650 Durian. 1769 01:17:42,650 --> 01:17:44,590 OK, kështu që nuk ka asgjë në atje akoma, 1770 01:17:44,590 --> 01:17:47,020 Unë mund edhe të përdorin vetëm atë vend. 1771 01:17:47,020 --> 01:17:48,805 Çfarë është Disavantazhi i kësaj? 1772 01:17:48,805 --> 01:17:49,300 >> Audienca: Kjo është jashtë funksionit. 1773 01:17:49,300 --> 01:17:50,008 >> SPEAKER 1: Na vjen keq? 1774 01:17:50,008 --> 01:17:51,280 Audienca: Kjo është jashtë funksionit. 1775 01:17:51,280 --> 01:17:53,113 >> SPEAKER 1: Është out-- e drejtë, ne mund të përfundojë 1776 01:17:53,113 --> 01:17:56,380 me gjëra që nuk janë të in-- ruhen në kova në rrugë 1777 01:17:56,380 --> 01:17:57,790 që ne presim që ata të jenë. 1778 01:17:57,790 --> 01:18:00,670 Pra, nëse ne kemi qenë në kërkim për kokrra të kuqe, para se të thënë: 1779 01:18:00,670 --> 01:18:02,000 oh ne mund të shikojmë në një kovë. 1780 01:18:02,000 --> 01:18:03,650 Kjo mund të jetë vetëm në një kovë. 1781 01:18:03,650 --> 01:18:07,380 Por tani, me të vërtetë, ajo mund të jetë në të gjitha kova, e drejtë? 1782 01:18:07,380 --> 01:18:10,400 >> OK, këtu është një tjetër alternativë, chaining-- veçantë 1783 01:18:10,400 --> 01:18:16,630 e cila është ideja që ne jemi duke shkuar për të përdorur një pak më vonë në P vendosur 5. 1784 01:18:16,630 --> 01:18:19,340 Në vend se vetëm duhet një hapësirë ​​në çdo kovë, 1785 01:18:19,340 --> 01:18:23,610 pse nuk kemi çdo kovë të jetë një tregues për një listë të lidhura? 1786 01:18:23,610 --> 01:18:28,570 Ku ne themi, OK, ka një kovë për çdo gjë që fillon me A. 1787 01:18:28,570 --> 01:18:31,990 Dhe nuk është vetëm do të jetë një i lidhur Lista e frutave që fillojnë me A. 1788 01:18:31,990 --> 01:18:36,240 Pra, në qoftë se ne të merrni një fryt të ri, le të themi ne get-- ne avokado, ne kemi mollë, 1789 01:18:36,240 --> 01:18:39,530 le të thonë se ne kemi marrë kajsi, si do ne kemi vënë në listë? 1790 01:18:39,530 --> 01:18:43,330 E pra ne do të shkojnë në kovë 0, dhe ne do të vetëm futur atë në listën tonë të pëlqyer, 1791 01:18:43,330 --> 01:18:45,320 thjeshtë si ajo. 1792 01:18:45,320 --> 01:18:47,160 >> Tani unë mbaj duke thënë kovë. 1793 01:18:47,160 --> 01:18:49,470 Ne mund të zbatojë këtë në një numër mënyrash. 1794 01:18:49,470 --> 01:18:52,040 Një mënyrë tipike se kjo lloj foto sugjeron, 1795 01:18:52,040 --> 01:18:55,580 po ndoshta duke pasur një rrjet të pointers në listat e lidhura. 1796 01:18:55,580 --> 01:18:58,174 Kjo është një mënyrë që ne mund të zbatojë një tabelë hash. 1797 01:18:58,174 --> 01:19:01,090 Audienca: A do të duhet një tjetër Lista shkak banane dhe kokrra të kuqe janë jashtë 1798 01:19:01,090 --> 01:19:01,591 e rendit? 1799 01:19:01,591 --> 01:19:03,298 SPEAKER 1: do ju need-- ah, do të 1800 01:19:03,298 --> 01:19:06,310 nevojë për një listë për shkak se banane dhe kokrra të kuqe janë jashtë funksionit? 1801 01:19:06,310 --> 01:19:09,880 Në këtë rast, funksioni ynë hash, e cila na tregon se ku për të vënë gjërat 1802 01:19:09,880 --> 01:19:11,647 nuk kujdeset për letrën e dytë. 1803 01:19:11,647 --> 01:19:14,730 Ajo nuk kujdeset për alfabetizohen, ajo vetëm kujdeset për letrën e parë. 1804 01:19:14,730 --> 01:19:15,672 Pyetje? 1805 01:19:15,672 --> 01:19:18,947 >> Audienca: Cili është përkufizimi i që funksion, dhe çfarë e bën atë të duket si? 1806 01:19:18,947 --> 01:19:19,780 SPEAKER 1: Ah, mirë. 1807 01:19:19,780 --> 01:19:22,450 OK, kështu që ne nuk kemi nevojë të shqetësoni shumë për këtë quiz. 1808 01:19:22,450 --> 01:19:23,700 Kështu që unë nuk e kam vënë në slides. 1809 01:19:23,700 --> 01:19:26,320 Ne jemi duke shkuar për t'u futur për atë për P vendosur 5. 1810 01:19:26,320 --> 01:19:31,520 Por në thelb, ajo thotë se, duke pasur parasysh një element i ri, ku duhet të vënë atë? 1811 01:19:31,520 --> 01:19:35,450 Ose, le të thonë se unë jam duke kërkuar për një element, ku mund të jetë ai? 1812 01:19:35,450 --> 01:19:37,860 Po, pyetje e madhe. 1813 01:19:37,860 --> 01:19:40,870 >> OK, shumë shpejt, pemë dhe përpiqet. 1814 01:19:40,870 --> 01:19:44,779 Pra, një pemë është vetëm ndonjë lloj i strukturës së të dhënave të organizuar. 1815 01:19:44,779 --> 01:19:47,820 Dhe ne jemi duke shkuar për të parë një shumë prej fotografive që do të bëjë ky super të qartë. 1816 01:19:47,820 --> 01:19:51,180 Dhe një Trie, që pamë në klasë, është një lloj shumë i veçantë i pemës 1817 01:19:51,180 --> 01:19:53,440 që në thelb punon si një tabelë hash multi-nivel. 1818 01:19:53,440 --> 01:19:54,390 Është super cool. 1819 01:19:54,390 --> 01:19:56,030 Ne jemi duke shkuar për të parë atë në vetëm një sec. 1820 01:19:56,030 --> 01:19:57,821 Të gjithë të drejtë, kështu që le të flasim për pemët e parë. 1821 01:19:57,821 --> 01:20:01,040 Pra, kjo është me të vërtetë shembull tipik i një pemë, ku ne kemi disa hierarki. 1822 01:20:01,040 --> 01:20:03,220 Ju shihni se njëra është në shumë të lartë, e drejtë? 1823 01:20:03,220 --> 01:20:06,190 Dhe unë mund të them lartë, sepse nuk ka në mënyrë të qartë një urdhërimin sepse ne 1824 01:20:06,190 --> 01:20:08,260 kanë këto shigjeta duke shkuar poshtë. 1825 01:20:08,260 --> 01:20:11,740 Kështu që, gjëja në krye, Unë e quaj se nyjen rrënjë. 1826 01:20:11,740 --> 01:20:13,080 Pra, një është nyja rrënja. 1827 01:20:13,080 --> 01:20:17,330 Dhe gjërat në fund, të cilat kanë asgjë nuk vijnë jashtë tyre, 1828 01:20:17,330 --> 01:20:18,783 Unë them këto janë nyje fletë. 1829 01:20:18,783 --> 01:20:22,730 Kështu 8,9 5, 6, 7, në rregull. 1830 01:20:22,730 --> 01:20:27,740 Dhe zakonisht terminologjia ne mund të them është, 1 është prind 3-it. 1831 01:20:27,740 --> 01:20:30,740 Pra, kjo është gjëja që vjen një nivel mbi të, dhe pikë për të. 1832 01:20:30,740 --> 01:20:32,710 Dhe 3 është fëmija 1 s. 1833 01:20:32,710 --> 01:20:34,505 Kjo është gjëja që 1 pikë për të. 1834 01:20:34,505 --> 01:20:35,005 Pyetje? 1835 01:20:35,005 --> 01:20:36,414 >> Audienca: A mund të kthehemi në rrëshqitje mëparshme, ju lutem? 1836 01:20:36,414 --> 01:20:37,388 >> SPEAKER 1: A mund të kthehem në rrëshqitje mëparshme? 1837 01:20:37,388 --> 01:20:37,888 I sigurt. 1838 01:20:37,888 --> 01:20:40,640 1839 01:20:40,640 --> 01:20:41,390 Pyetje për këtë? 1840 01:20:41,390 --> 01:20:42,764 Ose ju vetëm të kërkuar për të parë atë? 1841 01:20:42,764 --> 01:20:44,650 Audienca: Unë thjesht nuk e kam marrë nëpërmjet saj. 1842 01:20:44,650 --> 01:20:47,100 >> SPEAKER 1: OK, cool, po. 1843 01:20:47,100 --> 01:20:49,846 Këto do të jenë në internet kështu që nuk bëjnë shqetësohen për marrjen e çdo fjalë. 1844 01:20:49,846 --> 01:20:51,720 Dhe në interes të herë, unë jam duke shkuar për të shkuar. 1845 01:20:51,720 --> 01:20:53,270 A është kjo në rregull? 1846 01:20:53,270 --> 01:20:53,790 Mbresëlënës. 1847 01:20:53,790 --> 01:20:55,720 OK, i ftohtë. 1848 01:20:55,720 --> 01:20:57,790 Pra, le të flasim për një kind-- shumë specifike 1849 01:20:57,790 --> 01:20:59,710 kështu që ne kemi këto të përgjithshme Struktura e pemëve, 1850 01:20:59,710 --> 01:21:02,876 e cila është vetëm diçka që na lejon llojit të rangut gjërave hierarkike. 1851 01:21:02,876 --> 01:21:06,000 1852 01:21:06,000 --> 01:21:11,110 >> Pemë binare janë gjëra ku çdo nyjë ka jo më shumë se dy fëmijë. 1853 01:21:11,110 --> 01:21:11,690 NE RREGULL? 1854 01:21:11,690 --> 01:21:14,560 Atëherë unë thashë: OK, kështu që duket të përshtaten këtij përshkrimi. 1855 01:21:14,560 --> 01:21:16,830 Unë i thashë nyje, nuk është një pemë binare e kërkimit. 1856 01:21:16,830 --> 01:21:19,720 Çfarë është një pemë binare e kërkimit? 1857 01:21:19,720 --> 01:21:20,440 Është e renditura. 1858 01:21:20,440 --> 01:21:22,890 Kështu që ju e dini se në një pemë binare e kërkimit, 1859 01:21:22,890 --> 01:21:26,580 gjithçka për çdo gjë tree-- në nyjet e majtë është më e vogël, 1860 01:21:26,580 --> 01:21:28,830 dhe çdo gjë të nyjet e drejtë është më e madhe. 1861 01:21:28,830 --> 01:21:30,620 Pra, kjo nuk është një pemë binare e kërkimit. 1862 01:21:30,620 --> 01:21:32,770 Kjo është vetëm një pemë binare. 1863 01:21:32,770 --> 01:21:35,910 Pra, ne kemi kategorinë e madhe e pemë, kategoria pak më e vogël 1864 01:21:35,910 --> 01:21:40,106 e pemëve binare, kërko nga Pemët a-- kërkimit binar. 1865 01:21:40,106 --> 01:21:41,540 Ftohtë? 1866 01:21:41,540 --> 01:21:44,410 Në rregull. 1867 01:21:44,410 --> 01:21:47,380 >> Dhe tani, më të fun të të gjithë, ne kemi përpiqet tona. 1868 01:21:47,380 --> 01:21:49,500 Ju djema e pa këtë foto në leksion? 1869 01:21:49,500 --> 01:21:51,790 Po, ajo duhet të duken super të njohur. 1870 01:21:51,790 --> 01:21:54,252 Le të shohim se si ne mund të në fakt të zbatojë këtë. 1871 01:21:54,252 --> 01:21:56,210 Ose në të vërtetë, le të shohim, bën që edhe të dalë? 1872 01:21:56,210 --> 01:21:56,731 Jo. 1873 01:21:56,731 --> 01:21:59,480 Të gjithë të drejtë, ne nuk kemi as të shqetësohen për atë stuff nivelit të ulët. 1874 01:21:59,480 --> 01:22:02,320 Ne do të keni mjaft kohë për të adresuar pastaj P vendosur 5. 1875 01:22:02,320 --> 01:22:05,780 Por tani për tani, vetëm të nivelit shumë të lartë, ne e dinë se kjo është ajo që duket si. 1876 01:22:05,780 --> 01:22:08,530 Ne e përshkroi atë si lloj një tabelë hash multi-nivel 1877 01:22:08,530 --> 01:22:12,264 where-- Çfarë e bën këtë dyqan? 1878 01:22:12,264 --> 01:22:14,430 Kjo ruan emrat e Shkencëtarët që ne mund të vërtetë të 1879 01:22:14,430 --> 01:22:20,690 shikoni për nga lloji i vetëm duke ndjekur tavolina të ndryshme hash poshtë, të gjithë të drejtë? 1880 01:22:20,690 --> 01:22:24,730 >> Dhe qëllimi i kësaj është, në teori, ato ofrojnë kohë konstante Look up. 1881 01:22:24,730 --> 01:22:29,630 Pra, nëse unë dua të kontrolloni se, për shembull, i cili është someone-- 1882 01:22:29,630 --> 01:22:33,410 që Mandel është në këtë Trie, unë mund shumë shpejt 1883 01:22:33,410 --> 01:22:36,260 në linear-- unë jam i keq, në kohë konstante, të kuptoj se 1884 01:22:36,260 --> 01:22:39,010 nëse janë apo jo kjo është në Trie. 1885 01:22:39,010 --> 01:22:41,500 Por një con, është të shohim se si e madhe është kjo. 1886 01:22:41,500 --> 01:22:44,120 Ne nuk jemi as ruajtjen që shumë të dhëna, dhe ai është i madh. 1887 01:22:44,120 --> 01:22:47,950 Pra, një con i madh është se ai përdor një sasi të madhe të kujtesës. 1888 01:22:47,950 --> 01:22:48,746 Po. 1889 01:22:48,746 --> 01:22:50,610 >> Audienca: Pse nuk është të sigurojë kohë konstante, saktësisht? 1890 01:22:50,610 --> 01:22:51,376 >> SPEAKER 1: Një herë më shumë? 1891 01:22:51,376 --> 01:22:53,360 >> Audienca: Çfarë është intuita Pse ai jep kohë të vazhdueshme? 1892 01:22:53,360 --> 01:22:54,610 >> SPEAKER 1: pyetje e shkëlqyer. 1893 01:22:54,610 --> 01:22:56,030 Pse e bën atë të sigurojë kohë të vazhdueshme? 1894 01:22:56,030 --> 01:22:59,280 Pra, çfarë mund të bëjmë është, le të thonë se ne jemi duke kërkuar për Mandel. 1895 01:22:59,280 --> 01:23:02,830 Ne e dimë se ne duam të fillojë në nivelin e parë në M. 1896 01:23:02,830 --> 01:23:06,890 Ne e dimë se ne duam të ndjekim atë të E. Pra kjo është marrë një hap, dy hapa, apo jo? 1897 01:23:06,890 --> 01:23:10,710 Ne ndjekim atë N. Ne ndjekim atë D. Ne ndjekim atë për E. Ne ndjekim atë L. 1898 01:23:10,710 --> 01:23:15,100 Dhe pastaj gjë tjetër që ne të kontrolloni says-- kjo delta thotë: Po, kjo është e 1899 01:23:15,100 --> 01:23:15,990 në tabelën tonë. 1900 01:23:15,990 --> 01:23:16,880 Kjo është një fjalë. 1901 01:23:16,880 --> 01:23:19,900 Kjo është një hyrje e vlefshme në Trie tonë. 1902 01:23:19,900 --> 01:23:22,450 Pra, ju jeni duke thënë, OK, që mori shtatë hapa. 1903 01:23:22,450 --> 01:23:27,200 Por nëse kemi shtuar si një miliona më shumë Shkencëtarët në këtë strukturë të të dhënave, 1904 01:23:27,200 --> 01:23:29,470 ne nuk do të duhet të kontrolloni një miliona më shumë gjëra. 1905 01:23:29,470 --> 01:23:33,580 Ne jemi vetëm ndonjëherë do të duhet të marrë shtatë shkallore, gjatësia e person-së 1906 01:23:33,580 --> 01:23:35,260 Emri. 1907 01:23:35,260 --> 01:23:39,350 >> Pra, ne si të mendojnë e kohën e duhur si, mendoj 1908 01:23:39,350 --> 01:23:42,340 ne të rritur madhësinë e tonë Struktura e të dhënave, sa më të gjatë 1909 01:23:42,340 --> 01:23:44,580 është ajo do të marrë? 1910 01:23:44,580 --> 01:23:47,372 Në këtë rast, në qoftë se ne shtoni një bandë më shumë shkencëtarët, kjo nuk ka rëndësi. 1911 01:23:47,372 --> 01:23:49,413 Është ende do të marrë të njëjtën sasi e kohës. 1912 01:23:49,413 --> 01:23:50,350 Është koha konstante. 1913 01:23:50,350 --> 01:23:50,850 Po. 1914 01:23:50,850 --> 01:23:53,557 >> Audienca: Si mund të nuk e di për të scan mbi numrat e tjerë? 1915 01:23:53,557 --> 01:23:54,932 SPEAKER 1: Si mund ta di se si to-- 1916 01:23:54,932 --> 01:23:58,236 Audienca: Ashtu si nuk e dini ju shkoni direkt nga M në E dhe jo për M në A? 1917 01:23:58,236 --> 01:23:59,069 SPEAKER 1: Oh, i sigurt. 1918 01:23:59,069 --> 01:24:01,620 Sepse unë e dija se ishte kërkoni për fjalën Mandel, 1919 01:24:01,620 --> 01:24:04,195 dhe unë vetëm e di se është M-E. Pra that-- vërtet, të shkojnë përpara. 1920 01:24:04,195 --> 01:24:06,528 Audienca: A nuk do që ju keni për të parë në letrat e tjera 1921 01:24:06,528 --> 01:24:07,870 në pjesën tjetër të [e padëgjueshme]? 1922 01:24:07,870 --> 01:24:10,020 >> SPEAKER 1: Ah, nuk do të kam për të parë në the-- OK, i madh. 1923 01:24:10,020 --> 01:24:10,790 Kjo është një pyetje e madhe. 1924 01:24:10,790 --> 01:24:12,170 Kjo varet se si ne e zbatojnë atë. 1925 01:24:12,170 --> 01:24:15,350 Nëse ne zbatojë atë si vetëm si një seri e vargjeve 1926 01:24:15,350 --> 01:24:18,100 ku ne e dimë se është e E gjithmonë në pozicionin 0, 1927 01:24:18,100 --> 01:24:21,270 Unë nuk e di, çfarë Indeksi numër është në. 1928 01:24:21,270 --> 01:24:24,901 Po, ne vetëm mund të bëjmë konstante kohë, do, do, do, bëj. 1929 01:24:24,901 --> 01:24:25,400 Ftohtë. 1930 01:24:25,400 --> 01:24:27,556 Pyetje atje? 1931 01:24:27,556 --> 01:24:30,927 >> Audienca: A është koha konstante e njëjta gjë si kohë reale? 1932 01:24:30,927 --> 01:24:33,260 SPEAKER 1: A është koha konstante e njëjta gjë është në kohë reale? 1933 01:24:33,260 --> 01:24:34,799 Unë nuk jam shumë i sigurt në kohë reale është. 1934 01:24:34,799 --> 01:24:36,965 Audienca: kohë si kjo fjalë për fjalë përparon dytë 1935 01:24:36,965 --> 01:24:40,150 nga të dytë në krahasim me të qenit një variabël i pavarur. 1936 01:24:40,150 --> 01:24:42,960 >> SPEAKER 1: Oh, po, ju mund të mendojnë për atë në këtë mënyrë. 1937 01:24:42,960 --> 01:24:46,240 Me fjalë të tjera, ajo nuk është e varur të madhësisë së strukturës së të dhënave. 1938 01:24:46,240 --> 01:24:48,310 Kjo është një mënyrë për të menduar për këtë. 1939 01:24:48,310 --> 01:24:50,510 Ndonjë pyetje të tjera? 1940 01:24:50,510 --> 01:24:53,120 Ndoshta në të parën herë në histori, kemi mbaruar me kohë. 1941 01:24:53,120 --> 01:24:57,080 Nëse keni ndonjë pyetje, mos lirë për të ardhur të na pyesin, të shkojnë në seksionin, 1942 01:24:57,080 --> 01:25:00,190 bisedoni me TFS tuaj, zyra Orët janë të 08:00 dhe 08:30 1943 01:25:00,190 --> 01:25:03,985 në ora 11:00 të hënën dhe të martën, kështu që kjo është një pak kohë të ndryshme, 1944 01:25:03,985 --> 01:25:05,110 prandaj sigurohuni që ju të vini re se. 1945 01:25:05,110 --> 01:25:06,048 Po. 1946 01:25:06,048 --> 01:25:08,673 >> Audienca: A kemi nevojë të dimë stuff like argumente command line, 1947 01:25:08,673 --> 01:25:10,360 ls dash, dash çfarëdo? 1948 01:25:10,360 --> 01:25:11,840 >> SPEAKER 1: Command line argumentet, dhe komandat Linux, 1949 01:25:11,840 --> 01:25:13,010 Po, ju duhet të dini ato. 1950 01:25:13,010 --> 01:25:18,234 Very-- është si lloj i nivelit gjëra kemi mbuluar në seksionin 0, 1951 01:25:18,234 --> 01:25:19,400 aq sa Linux komandat shkojnë. 1952 01:25:19,400 --> 01:25:20,942 >> Audienca: A janë orë në Annenberg? 1953 01:25:20,942 --> 01:25:23,525 SPEAKER 1: Orari i punës, unë nuk jam plotësisht i sigurt ku ata janë. 1954 01:25:23,525 --> 01:25:25,980 Por ju mund të kontrolloni faqen e internetit, dhe ajo do të ju them. 1955 01:25:25,980 --> 01:25:27,499