1 00:00:00,000 --> 00:00:02,670 >> [THEME MUSIC] 2 00:00:02,670 --> 00:00:11,834 3 00:00:11,834 --> 00:00:13,365 >> SPIKA 1: Hi, kila mtu. 4 00:00:13,365 --> 00:00:14,365 Karibu tena kwa sehemu. 5 00:00:14,365 --> 00:00:15,700 6 00:00:15,700 --> 00:00:18,700 Lovely siku out-- ambayo ni kwa nini, mimi nina uhakika, kuna nne tu ya wewe hapa 7 00:00:18,700 --> 00:00:21,180 na si pakiti yetu ya kawaida. 8 00:00:21,180 --> 00:00:22,670 Nimekuwa mgonjwa mwishoni mwa wiki hii. 9 00:00:22,670 --> 00:00:24,294 Hivyo sina Starburst kwa nyie. 10 00:00:24,294 --> 00:00:26,400 Na mimi inaweza kuanza kukohoa sana katika hili. 11 00:00:26,400 --> 00:00:27,790 Hivyo tu kuzaa na mimi. 12 00:00:27,790 --> 00:00:30,624 Mimi nina kwenda kweli kujaribu na kupata njia hii ya kwanza, 13 00:00:30,624 --> 00:00:32,290 ingawa, kabla ya mimi kuwa mashambulizi kukohoa. 14 00:00:32,290 --> 00:00:33,410 15 00:00:33,410 --> 00:00:37,390 Lakini tu kuwa rahisi juu yangu kidogo bit-- kwamba wote mimi kuuliza. 16 00:00:37,390 --> 00:00:39,370 17 00:00:39,370 --> 00:00:44,289 >> Hivyo ajenda yetu kwa today-- tu reminder-- Jaribio yako ni wiki ijayo. 18 00:00:44,289 --> 00:00:46,830 Niliwaambia wiki hii iliyopita hivyo bila kukamata wewe mbali ulinzi. 19 00:00:46,830 --> 00:00:47,954 Hivyo mimi nina kuwakumbusha tena. 20 00:00:47,954 --> 00:00:49,180 Wiki ijayo jaribio yako. 21 00:00:49,180 --> 00:00:52,730 Hadi mwisho, wiki ijayo Sehemu itakuwa bora zaidi 22 00:00:52,730 --> 00:00:55,180 of-- mimi itabidi kujaribu na kazi katika baadhi ya marekebisho. 23 00:00:55,180 --> 00:00:58,130 Hivyo kama wewe guys inaweza kusaidia yangu nje kwa kutuma mimi 24 00:00:58,130 --> 00:01:00,990 mambo ambayo wewe ni starehe na kwamba wewe ni wasiwasi kuhusu, 25 00:01:00,990 --> 00:01:03,530 mada kwamba Ningependa kwa mimi kufunika, kwamba d kuwa kubwa. 26 00:01:03,530 --> 00:01:05,740 Hivyo siwezi kujaribu na kazi yao katika sehemu yetu ya wiki ijayo 27 00:01:05,740 --> 00:01:11,540 au kutuma wewe nyenzo za ziada au prep kwamba wanaweza kupata mahali pengine. 28 00:01:11,540 --> 00:01:12,150 >> Yeah! 29 00:01:12,150 --> 00:01:13,520 Zaidi ya watu ni kuja! 30 00:01:13,520 --> 00:01:17,320 Nilidhani, je, mimi kufanya hivyo vibaya iliyopita wiki, kwamba hakuna mtu anataka kurudi? 31 00:01:17,320 --> 00:01:18,065 Mimi nina hofu. 32 00:01:18,065 --> 00:01:18,892 33 00:01:18,892 --> 00:01:21,100 Hivyo mambo mengine matatu kwamba sisi ni kwenda kwenda juu 34 00:01:21,100 --> 00:01:24,850 ni redirection, faili I / O, na kisha kuyatumia na kumbukumbu ya nguvu. 35 00:01:24,850 --> 00:01:29,160 Mimi nina uhakika wewe ni wote super msisimko juu ya pointers-- favorite mada ya kila mtu, 36 00:01:29,160 --> 00:01:31,310 rahisi kuelewa. 37 00:01:31,310 --> 00:01:33,130 Mimi nina uhakika guys wote got kwamba, haki? 38 00:01:33,130 --> 00:01:39,510 >> Mambo ya kwanza ya kwanza, redirection-- hii ni kimsingi tu njia 39 00:01:39,510 --> 00:01:42,920 kudhibiti jinsi pembejeo mambo katika mpango wako, 40 00:01:42,920 --> 00:01:44,606 jinsi mambo pato kutoka mpango wako. 41 00:01:44,606 --> 00:01:46,980 njia kuu kwamba wewe guys wamekuwa mazungumzo na yake 42 00:01:46,980 --> 00:01:51,650 ni tu kwa njia ya kiwango nje na magazeti screen yako hapa. 43 00:01:51,650 --> 00:01:55,940 Lakini kuna njia ya pipe-- kama tunaona hapa 44 00:01:55,940 --> 00:01:58,980 ni moja ya aina yetu words-- ya bomba kwamba habari 45 00:01:58,980 --> 00:02:02,850 au kwamba data katika faili kutoka faili. 46 00:02:02,850 --> 00:02:05,820 Ni njia tofauti tu ya kupata mambo katika mpango wako 47 00:02:05,820 --> 00:02:10,681 na nje ya mpango wako, badala ya tu uchapishaji wao screen hii 48 00:02:10,681 --> 00:02:12,430 au inputting mambo kutoka mstari amri. 49 00:02:12,430 --> 00:02:13,760 50 00:02:13,760 --> 00:02:18,030 >> Hivyo moja ya kwanza ni kidogo kubwa kuliko kareti. 51 00:02:18,030 --> 00:02:22,085 Hivyo output-- tu Prints pato na faili badala ya screen yako. 52 00:02:22,085 --> 00:02:23,620 53 00:02:23,620 --> 00:02:29,500 Hivyo kama wewe alikuwa na kitu kwamba kuchapishwa "Hello, ulimwengu!" screen, 54 00:02:29,500 --> 00:02:32,400 kama wewe kuweka badala kwa output.text, kwamba 55 00:02:32,400 --> 00:02:35,220 inajenga faili hili iitwayo output.text. 56 00:02:35,220 --> 00:02:38,550 Na wakati wa kufungua yake, itabidi kusema "Hello, ulimwengu!" huko. 57 00:02:38,550 --> 00:02:41,410 Hii inaweza kuwa super manufaa kama una tani ya makosa 58 00:02:41,410 --> 00:02:43,430 kweli, kama sisi kuona katika hii moja. 59 00:02:43,430 --> 00:02:46,810 Kama wewe kufanya mbili kareti, ni itabidi magazeti ujumbe wa makosa. 60 00:02:46,810 --> 00:02:52,090 >> Hivyo kama wewe ni kuwa na tatizo na kuandaa, ina mengi ya makosa 61 00:02:52,090 --> 00:02:56,770 na wewe ni kupata bogged chini katika kujaribu na kitabu kupitia katika mstari amri yako 62 00:02:56,770 --> 00:02:59,110 njia zote wao, unaweza tu magazeti yao na faili, 63 00:02:59,110 --> 00:03:02,130 kufungua faili ili unaweza kitabu kupitia yao rahisi. 64 00:03:02,130 --> 00:03:05,160 Mimi kwa kweli kutumika kwamba mengi wakati mimi nilikuwa debugging 65 00:03:05,160 --> 00:03:07,970 yangu 181 psets kwa kujifunza mashine. 66 00:03:07,970 --> 00:03:10,000 Hivyo inaweza kuwa super manufaa ya baadaye. 67 00:03:10,000 --> 00:03:18,370 Ni pia muhimu kama una mpango kwamba labda ni kuzalisha maktaba 68 00:03:18,370 --> 00:03:20,430 au kuzalisha baadhi ya kuweka ya masharti, na wewe 69 00:03:20,430 --> 00:03:22,846 haja ya kuwa na uwezo wa kuona kwamba ni kuzalisha yao vizuri. 70 00:03:22,846 --> 00:03:23,860 71 00:03:23,860 --> 00:03:25,160 Hii ni njia ya kufanya hivyo. 72 00:03:25,160 --> 00:03:28,280 >> Hivyo kama wewe magazeti yao na faili, unaweza urahisi zaidi kuchunguza yao, haki? 73 00:03:28,280 --> 00:03:30,930 Dhidi ya kujaribu na kitabu kupitia mstari amri yako. 74 00:03:30,930 --> 00:03:32,740 75 00:03:32,740 --> 00:03:35,820 Na kisha jambo moja kwa kutambua ni kwamba pamoja na tu zaidi 76 00:03:35,820 --> 00:03:40,090 kuliko kareti, kama wewe ni kuandika na faili kwamba tayari exists-- 77 00:03:40,090 --> 00:03:44,990 hivyo kama kama sisi mbio hii ya kwanza muda, sisi kuweka kwa output.text, 78 00:03:44,990 --> 00:03:49,970 na kisha tulikuwa na mpango wa pili kwamba kuchapishwa hii kama mpango wa mbili 79 00:03:49,970 --> 00:03:54,250 na alifanya zaidi kuliko output.text, itakuwa overwrite that-- hivyo 80 00:03:54,250 --> 00:03:56,715 overwrite nini ilikuwa milele katika faili kwamba kwa kuanzia. 81 00:03:56,715 --> 00:03:57,720 82 00:03:57,720 --> 00:04:00,750 >> Hivyo kama unataka append na faili, kama sisi kuona hapa, 83 00:04:00,750 --> 00:04:04,779 wewe tu kufanya mbili zaidi kuliko ishara. 84 00:04:04,779 --> 00:04:05,820 Na itakuwa append yake. 85 00:04:05,820 --> 00:04:06,750 Itakuwa si overwrite yake. 86 00:04:06,750 --> 00:04:09,770 Hivyo kama unahitaji kuendesha nyingi mipango na aina ya kuweka 87 00:04:09,770 --> 00:04:13,170 wimbo wa nini wote ni kurudi katika faili, 88 00:04:13,170 --> 00:04:14,190 hiyo ndiyo njia ya kufanya hivyo. 89 00:04:14,190 --> 00:04:17,231 Kama hawajali nini katika faili yako na ni kuruhusiwa kuwa overwritten, 90 00:04:17,231 --> 00:04:19,204 unaweza kutumia tu zaidi kuliko single. 91 00:04:19,204 --> 00:04:20,600 Je, hiyo mantiki kwa kila mtu? 92 00:04:20,600 --> 00:04:23,205 93 00:04:23,205 --> 00:04:31,140 >> Watazamaji: Kama dot kufyeka hujambo zaidi kuliko pato dot maandishi, kama mara mbili, 94 00:04:31,140 --> 00:04:34,030 utakuwa tu kuonyesha tu kwenye pato dot Nakala time-- pili 95 00:04:34,030 --> 00:04:34,810 >> SPIKA 1: Haki. 96 00:04:34,810 --> 00:04:40,450 Hivyo ingekuwa kimsingi tu kabisa overwrite nini huko kwa kuanzia. 97 00:04:40,450 --> 00:04:44,260 Kama faili hii hapa, output.text tayari 98 00:04:44,260 --> 00:04:48,230 lipo, kimsingi chochote kuwaita tena na zaidi single 99 00:04:48,230 --> 00:04:51,920 kuliko unaweza tu kufikiria ni kama kama ni kubadilishwa faili. 100 00:04:51,920 --> 00:04:54,824 Kama wakati wewe ni kuokoa Neno hati na huna kuokoa kama, 101 00:04:54,824 --> 00:04:57,365 na kuweka jina moja, na kabisa overwrites it-- 102 00:04:57,365 --> 00:04:58,680 hii ni aina moja ya jambo. 103 00:04:58,680 --> 00:05:00,380 104 00:05:00,380 --> 00:05:03,550 Mtu yeyote una maswali yoyote juu ya outputting tu faili? 105 00:05:03,550 --> 00:05:05,051 106 00:05:05,051 --> 00:05:05,550 Kutisha. 107 00:05:05,550 --> 00:05:11,440 >> Hivyo ni wazi, kama wewe kubadili mshale mwelekeo, inaweza kufanya pembejeo. 108 00:05:11,440 --> 00:05:13,090 109 00:05:13,090 --> 00:05:19,960 Hivyo wakati wewe guys alikuwa kama Kaisari au Visioneer 110 00:05:19,960 --> 00:05:23,195 na wewe alikuwa na pembejeo kitu, alikuwa amri hoja line 111 00:05:23,195 --> 00:05:24,960 kwamba kweli pembejeo yake. 112 00:05:24,960 --> 00:05:27,410 Hii ni njia nyingine ya kufanya hivyo. 113 00:05:27,410 --> 00:05:30,520 Hivyo badala ya kusubiri kwa amri ya haraka, 114 00:05:30,520 --> 00:05:33,800 kama wakati wewe aliuliza kwa yako ujumbe katika Kaisari au Visioneer, 115 00:05:33,800 --> 00:05:36,490 kama alikuwa Nakala faili kwamba alikuwa na ujumbe wako, 116 00:05:36,490 --> 00:05:38,280 unaweza tu aina yake katika hilo. 117 00:05:38,280 --> 00:05:44,930 >> Hivyo kama hii walikuwa kama dot kufyeka Kaisari 3 chini ya mshale pembejeo Nakala, ambayo 118 00:05:44,930 --> 00:05:47,240 ni ujumbe wako, kwamba ingekuwa kukimbia faini tu. 119 00:05:47,240 --> 00:05:51,310 120 00:05:51,310 --> 00:05:54,020 Wakati mpango wako Kaisari kweli aliuliza kwa ajili ya pembejeo kutoka kwa mtumiaji, 121 00:05:54,020 --> 00:05:57,360 ingekuwa tayari kuwa ni kwa sababu umefanya typed katika faili hii. 122 00:05:57,360 --> 00:05:58,830 Hiyo ni njia nyingine tu. 123 00:05:58,830 --> 00:06:02,445 Ni kinyume na output-- pembejeo tu kwa data zako. 124 00:06:02,445 --> 00:06:04,570 125 00:06:04,570 --> 00:06:06,680 >> Na kisha moja ya mwisho ni bomba. 126 00:06:06,680 --> 00:06:07,780 Hivyo hii moja ya pretty baridi. 127 00:06:07,780 --> 00:06:09,890 Kwa sababu inaruhusu wewe kuchukua pato la moja 128 00:06:09,890 --> 00:06:13,695 mpango na kuiweka kama pembejeo kwa mpango mwingine. 129 00:06:13,695 --> 00:06:15,250 130 00:06:15,250 --> 00:06:18,630 Mimi sijui kama yoyote ya wewe alicheza na decipher 131 00:06:18,630 --> 00:06:20,590 kwamba CS50 anaweza kuwa kupeni, lakini ingekuwa 132 00:06:20,590 --> 00:06:27,380 kuruhusu kuchukua baadhi ya sampuli faili, aina yake katika encryption yako, 133 00:06:27,380 --> 00:06:30,350 na kisha kutoka huko aina kwamba katika decryption yako 134 00:06:30,350 --> 00:06:32,470 kuhakikisha aligeuka sawa. 135 00:06:32,470 --> 00:06:34,050 Hivyo ni aina ya kama njia tatu kitanzi. 136 00:06:34,050 --> 00:06:38,400 137 00:06:38,400 --> 00:06:39,423 Kwenda kwa hayo. 138 00:06:39,423 --> 00:06:41,785 >> Watazamaji: Kama mpango ina pembejeo nyingi, 139 00:06:41,785 --> 00:06:47,646 kuna njia ya kuwaambia ambayo pembejeo kutumia faili maandishi au pato kwa? 140 00:06:47,646 --> 00:06:49,325 >> SPIKA 1: Ni pembejeo nyingi. 141 00:06:49,325 --> 00:06:52,190 142 00:06:52,190 --> 00:07:00,430 Chochote faili input-- yako wakati ni kuuliza kwa ajili ya pembejeo wakati huo kwanza, ni 143 00:07:00,430 --> 00:07:03,240 kwenda kudhani, nadhani, ni kwenda bomba katika faili nzima. 144 00:07:03,240 --> 00:07:03,979 145 00:07:03,979 --> 00:07:07,145 Hivyo kama una pembejeo nyingi, wewe ni kwenda kuwa piping katika faili nyingi. 146 00:07:07,145 --> 00:07:08,190 147 00:07:08,190 --> 00:07:12,390 Hivyo kama wewe ni kuuliza kwa ajili ya ujumbe mara tatu katika kanuni yako, 148 00:07:12,390 --> 00:07:15,230 wewe kwenda kuwa na kuweka katika mafaili tatu tofauti. 149 00:07:15,230 --> 00:07:15,980 Na anapata mambo. 150 00:07:15,980 --> 00:07:18,188 Na unapaswa kuwa na wasiwasi kuhusu kwamba hivi sasa. 151 00:07:18,188 --> 00:07:19,150 Lakini hiyo ni wazo. 152 00:07:19,150 --> 00:07:20,680 153 00:07:20,680 --> 00:07:26,822 >> Hivyo yeah, bomba ni pato tu ya moja mpango wa matumizi pembejeo katika nyingine. 154 00:07:26,822 --> 00:07:27,665 Kila mtu nzuri huko? 155 00:07:27,665 --> 00:07:28,565 156 00:07:28,565 --> 00:07:29,065 Baridi. 157 00:07:29,065 --> 00:07:30,170 158 00:07:30,170 --> 00:07:30,932 OK. 159 00:07:30,932 --> 00:07:32,890 Pengine si kuwa kufanya sana na ni. 160 00:07:32,890 --> 00:07:35,670 Lakini unapaswa kuelewa njia unaweza kutumia hii. 161 00:07:35,670 --> 00:07:38,910 Na kuna baadhi ya kesi ambazo unaweza kutaka kutumia hiyo. 162 00:07:38,910 --> 00:07:44,590 >> Hivyo faili I / O-- Mimi najua kile wewe ni saying-- sisi ni kutumika kusoma kutoka 163 00:07:44,590 --> 00:07:50,500 na kuandika kwa screen zetu huko, ambayo ni ya kiwango katika na kiwango nje. 164 00:07:50,500 --> 00:07:54,370 Na kwamba ni nini nyie wamekuwa kufanya tangu mwanzo wa darasa hapa. 165 00:07:54,370 --> 00:07:58,220 Lakini pia unaweza kusoma na kuandika files, ambayo ni faili yote I / O-- hivyo faili pembejeo, 166 00:07:58,220 --> 00:07:59,850 pato ni wote anasimama kwa. 167 00:07:59,850 --> 00:08:00,930 168 00:08:00,930 --> 00:08:04,360 Hivyo hii kimsingi ina maana kwamba unaweza kuhifadhi data yako sasa. 169 00:08:04,360 --> 00:08:08,460 >> Wakati wewe tu magazeti kwa screen, ni kimsingi wamekwenda, haki? 170 00:08:08,460 --> 00:08:12,507 Haraka kama wewe kufanya "Hello dunia "na kukimbia" Hello dunia " 171 00:08:12,507 --> 00:08:14,090 prints "Hello dunia" kwa screen. 172 00:08:14,090 --> 00:08:16,370 Lakini huwezi kweli kufanya na chochote kutoka huko. 173 00:08:16,370 --> 00:08:18,950 Kama kuhifadhi katika maandishi faili, kisha ghafla 174 00:08:18,950 --> 00:08:22,789 una data hii kwamba wewe ni kuruhusiwa kuendesha au kuiweka katika faili, 175 00:08:22,789 --> 00:08:24,080 au kuiweka katika mpango baadaye. 176 00:08:24,080 --> 00:08:26,370 177 00:08:26,370 --> 00:08:29,290 Moja ya sababu nini sisi kufanya hivyo ni tu 178 00:08:29,290 --> 00:08:31,560 kama njia ya kuhifadhi data kwa matumizi ya baadaye. 179 00:08:31,560 --> 00:08:34,790 180 00:08:34,790 --> 00:08:37,279 >> Mimi kuwa wanandoa wa hatua hapa tu kutembea kwa njia ya kiwango 181 00:08:37,279 --> 00:08:39,450 I / O. Katika hatua moja, wewe haja ya kuunda kumbukumbu 182 00:08:39,450 --> 00:08:43,480 na faili na wote kofia FILE nyota faili. 183 00:08:43,480 --> 00:08:45,740 Hivyo kwamba inajenga pointer faili. 184 00:08:45,740 --> 00:08:48,080 185 00:08:48,080 --> 00:08:49,650 Hivyo basi unataka kufungua yake. 186 00:08:49,650 --> 00:08:52,940 Na kusema, literally, faili tu sawa na fopen. 187 00:08:52,940 --> 00:08:57,400 Na hii ni kwenda na kurudi pointer faili wewe tu kufunguliwa. 188 00:08:57,400 --> 00:08:59,610 189 00:08:59,610 --> 00:09:01,460 Niliona michache unaweza guys katika masaa ya ofisi. 190 00:09:01,460 --> 00:09:07,400 >> Lakini moja ya mambo ni kuyatumia remember-- 191 00:09:07,400 --> 00:09:10,409 inaweza kuwa baadhi anwani au null, haki? 192 00:09:10,409 --> 00:09:12,700 Kama sisi milele na kesi ambapo kitu unaweza kurudi null, 193 00:09:12,700 --> 00:09:14,990 nini tuna kufanya kabla ya sisi milele kutumia? 194 00:09:14,990 --> 00:09:16,220 195 00:09:16,220 --> 00:09:19,000 Tunahitaji kuangalia kama ni null au si, haki? 196 00:09:19,000 --> 00:09:23,600 Kwa sababu baadhi ya unaweza kuwa alikuwa Suala ambapo chochote kitu 197 00:09:23,600 --> 00:09:26,110 mara kuwa akarudi katika kuzuka alikuwa null. 198 00:09:26,110 --> 00:09:28,170 Alijaribu kufanya baadhi ya kazi juu yake. 199 00:09:28,170 --> 00:09:29,770 Na tovuti yako kompyuta faulted. 200 00:09:29,770 --> 00:09:30,725 Haki? 201 00:09:30,725 --> 00:09:33,640 I bet michache unaweza inaweza kuwa na kwamba suala hilo. 202 00:09:33,640 --> 00:09:38,890 >> Hivyo pamoja na fopen, fopen ama kurudi pointer faili, 203 00:09:38,890 --> 00:09:41,200 au kama kitu fulani kitaenda vibaya, ni kwenda na kurudi null. 204 00:09:41,200 --> 00:09:45,980 Hivyo daima haja ya kuangalia kwamba ina si kurudi null 205 00:09:45,980 --> 00:09:47,880 kabla ya kujaribu kufanya kitu kingine chochote. 206 00:09:47,880 --> 00:09:49,110 207 00:09:49,110 --> 00:09:51,974 Hii ni kama dhana ya kiwango kwamba wewe ni kwenda haja hapa. 208 00:09:51,974 --> 00:09:54,390 Kama kuna milele nafasi ya kuwa kitu inaweza kurudi null, 209 00:09:54,390 --> 00:09:56,590 kuangalia kuhakikisha haina kabla ya kuendelea. 210 00:09:56,590 --> 00:09:58,911 Vinginevyo, wewe ni kwenda kupata lovely tovuti makosa. 211 00:09:58,911 --> 00:10:00,410 Na hakuna mtu anapenda ili kukabiliana na wale. 212 00:10:00,410 --> 00:10:03,180 213 00:10:03,180 --> 00:10:06,410 >> Hivyo kama sisi kuona hapa, hoja ya kwanza ni tu njia ya faili. 214 00:10:06,410 --> 00:10:09,380 Kama faili kwamba haipo, ni kwenda kujenga faili hilo. 215 00:10:09,380 --> 00:10:10,713 Na ni tu kwenda kuwa tupu. 216 00:10:10,713 --> 00:10:10,789 217 00:10:10,789 --> 00:10:13,080 Na kisha hoja ya pili ni mode kwamba unataka. 218 00:10:13,080 --> 00:10:14,610 Je, tunataka kusoma kutoka faili hili? 219 00:10:14,610 --> 00:10:15,560 Je, unataka kuandika kutoka humo? 220 00:10:15,560 --> 00:10:16,476 Je, unataka append? 221 00:10:16,476 --> 00:10:17,600 222 00:10:17,600 --> 00:10:20,670 Hivyo kweli nini mimi tu said-- kama faili haipo 223 00:10:20,670 --> 00:10:23,400 na wewe ni kujaribu kusoma kutoka hivyo, ni kwenda kutupa makosa. 224 00:10:23,400 --> 00:10:26,890 Kama faili name-- kama kama file.text haipo bado 225 00:10:26,890 --> 00:10:29,250 na unataka kuandika kwa hiyo, itakuwa kujenga 226 00:10:29,250 --> 00:10:33,110 faili tupu aitwaye file.text kwa ajili yenu. 227 00:10:33,110 --> 00:10:36,612 Na kama unataka append, unapaswa kufanya kitu kimoja. 228 00:10:36,612 --> 00:10:38,081 Je, hiyo mantiki? 229 00:10:38,081 --> 00:10:40,580 Kama wewe ni kujaribu kusoma kutoka faili kwamba haipo bado, 230 00:10:40,580 --> 00:10:41,590 utakuwa kutupa makosa. 231 00:10:41,590 --> 00:10:44,340 Vinginevyo, itakuwa kuunda faili kwa kufanya nini unataka yake. 232 00:10:44,340 --> 00:10:45,970 233 00:10:45,970 --> 00:10:46,470 Baridi. 234 00:10:46,470 --> 00:10:47,510 235 00:10:47,510 --> 00:10:48,880 Sasa tunaweza kusoma kutoka faili. 236 00:10:48,880 --> 00:10:52,570 Na hii ni aina tu ya kwenda kupitia kazi mbalimbali 237 00:10:52,570 --> 00:10:58,980 kwamba tuna kwa ajili ya faili I / O. Hii mapenzi kuwa muhimu katika pset wiki hii, 238 00:10:58,980 --> 00:11:00,505 kama mimi kukumbuka kwa usahihi. 239 00:11:00,505 --> 00:11:02,880 Ndiyo, kabisa itakuwa muhimu katika pset wiki hii. 240 00:11:02,880 --> 00:11:04,260 241 00:11:04,260 --> 00:11:07,010 Hivyo fgetc anarudi tabia ya pili. 242 00:11:07,010 --> 00:11:08,350 243 00:11:08,350 --> 00:11:10,300 fgets anarudi tu mstari wa maandishi. 244 00:11:10,300 --> 00:11:11,790 245 00:11:11,790 --> 00:11:14,610 Atarudi kitu chochote hadi line mpya, na kuvunja. 246 00:11:14,610 --> 00:11:15,950 247 00:11:15,950 --> 00:11:18,700 Hivyo fread wasomaji fulani idadi ya ka na maeneo yao 248 00:11:18,700 --> 00:11:20,700 ndani ya safu, ambayo ni kitu unaweza 249 00:11:20,700 --> 00:11:25,485 wanataka kufanya na re-size-- inaweza kuwa na manufaa. 250 00:11:25,485 --> 00:11:26,550 251 00:11:26,550 --> 00:11:29,290 >> Jinsi watu wengi kusoma pset spec, kwa njia? 252 00:11:29,290 --> 00:11:30,980 253 00:11:30,980 --> 00:11:32,261 OK. 254 00:11:32,261 --> 00:11:32,760 [Inaudible] 255 00:11:32,760 --> 00:11:35,380 256 00:11:35,380 --> 00:11:36,580 >> SPIKA 1: OK. 257 00:11:36,580 --> 00:11:37,530 Wote haki. 258 00:11:37,530 --> 00:11:41,940 Dhahiri kusoma that-- ni pset furaha. 259 00:11:41,940 --> 00:11:51,320 Kupata nafuu kumbukumbu ilifutwa card-- kweli kusisimua wakati ni kazi. 260 00:11:51,320 --> 00:11:54,100 Lakini dhahiri, kuanza kusoma hiyo. 261 00:11:54,100 --> 00:11:56,280 Kuja kuzungumza na mimi kama wewe una maswali kuhusu hilo. 262 00:11:56,280 --> 00:11:59,290 >> OK, hivyo kama mimi alikuwa akisema, fread anayesoma idadi fulani ya ka. 263 00:11:59,290 --> 00:12:01,340 264 00:12:01,340 --> 00:12:03,590 Hayo ni baadhi ya idadi holela kwamba wewe ni kwenda kuweka. 265 00:12:03,590 --> 00:12:05,990 266 00:12:05,990 --> 00:12:08,260 Na kisha fseek hatua tu kwa nafasi fulani. 267 00:12:08,260 --> 00:12:11,150 Hivyo labda hawajali kuhusu 10 ijayo ka. 268 00:12:11,150 --> 00:12:12,880 Unataka tu ruka mbele. 269 00:12:12,880 --> 00:12:14,030 Hawajali kuhusu wale. 270 00:12:14,030 --> 00:12:16,280 Unataka kusoma kuanzia saa Byte 11. 271 00:12:16,280 --> 00:12:18,252 fseek utapata kufanya hivyo. 272 00:12:18,252 --> 00:12:20,710 Hivyo utapata kuwa kuwachagua kuhusu nini wewe ni kusoma. 273 00:12:20,710 --> 00:12:25,880 Kwa sababu fgetc, fgets, na fread kusoma kutoka mahali fulani katika faili. 274 00:12:25,880 --> 00:12:27,260 275 00:12:27,260 --> 00:12:35,090 >> njia ya kufikiri juu ya hili ni kama hii ni faili wetu, wakati wewe kwanza kufungua, 276 00:12:35,090 --> 00:12:41,140 una nafasi hii katika faili kwamba kuanza mwanzoni. 277 00:12:41,140 --> 00:12:45,040 Kila wewe kuwaita fgetc, fgetf, au fread, 278 00:12:45,040 --> 00:12:48,875 ni kwenda kuanza kutoka hii marker msimamo. 279 00:12:48,875 --> 00:12:51,340 280 00:12:51,340 --> 00:12:55,245 Hebu kusema unataka tu kusoma chunk hii ya kumbukumbu zaidi ya hapa. 281 00:12:55,245 --> 00:12:56,300 282 00:12:56,300 --> 00:12:57,960 Huwezi simu. 283 00:12:57,960 --> 00:13:02,430 Una kutafuta juu hapa na kisha kusoma kutoka huko 284 00:13:02,430 --> 00:13:06,540 au kusoma, anapata, au getc, kutegemea na nini unataka. 285 00:13:06,540 --> 00:13:09,310 Hivyo kutafuta tu utapata ruka sehemu ya kumbukumbu. 286 00:13:09,310 --> 00:13:11,590 Na kwamba tu njia unaweza ruka mambo 287 00:13:11,590 --> 00:13:14,012 bila kusoma yao katika buffer yako. 288 00:13:14,012 --> 00:13:15,470 Je, hiyo mantiki kwa kila mtu? 289 00:13:15,470 --> 00:13:21,110 290 00:13:21,110 --> 00:13:24,780 >> Ni wazi, kuna mengi ya sambamba here-- 291 00:13:24,780 --> 00:13:27,780 pato, au pembejeo yetu redirection, una kusoma na kuandika. 292 00:13:27,780 --> 00:13:31,800 Hivyo fputc anaandika tu tabia katika faili. 293 00:13:31,800 --> 00:13:33,655 fputs anaandika line. 294 00:13:33,655 --> 00:13:35,030 295 00:13:35,030 --> 00:13:37,420 Fprintf Prints pato formatted. 296 00:13:37,420 --> 00:13:41,190 Hivyo kama una tabo, au nafasi, au whatnot. 297 00:13:41,190 --> 00:13:44,180 Na kisha fwrite anaandika baadhi safu ya ka na faili. 298 00:13:44,180 --> 00:13:48,860 Hivyo hii ni njia moja fwrite na fread ni sawa 299 00:13:48,860 --> 00:13:57,550 fgets opposites--, fputs, na basi fputc na fgetc-- kura 300 00:13:57,550 --> 00:14:00,710 ya mambo, mambo ya haraka. 301 00:14:00,710 --> 00:14:05,300 >> Tu aina ya kuweka handy-- hii itabidi nyakati tofauti 302 00:14:05,300 --> 00:14:08,680 ambapo labda unataka tu tabia moja kwa wakati. 303 00:14:08,680 --> 00:14:09,890 Labda unataka line nzima. 304 00:14:09,890 --> 00:14:14,320 Na kamusi pset-- yako ambayo ni katika psets mbili, 305 00:14:14,320 --> 00:14:19,690 Naamini, sisi kukupa yote kamusi katika format Nakala 306 00:14:19,690 --> 00:14:22,252 ambayo ina kila neno kutengwa kwa line. 307 00:14:22,252 --> 00:14:24,210 Hivyo kama wewe alitaka kusoma katika neno moja kwa wakati mmoja, 308 00:14:24,210 --> 00:14:31,769 nini kinaweza kutumia kama wewe ni kusoma na wao ni wote kutengwa juu ya mistari mpya, 309 00:14:31,769 --> 00:14:33,310 na unataka tu neno moja kwa wakati mmoja? 310 00:14:33,310 --> 00:14:35,320 311 00:14:35,320 --> 00:14:36,040 >> Watazamaji: Fgets 312 00:14:36,040 --> 00:14:36,748 >> SPIKA 1: Haki. 313 00:14:36,748 --> 00:14:39,960 Fgets-- sababu kwamba anarudi chochote ni juu ya mstari mmoja. 314 00:14:39,960 --> 00:14:42,750 Na kama kila neno ni wake line mwenyewe, tunaweza kutumia fgets. 315 00:14:42,750 --> 00:14:44,511 316 00:14:44,511 --> 00:14:45,010 Baridi. 317 00:14:45,010 --> 00:14:47,290 Je, hiyo mantiki, kila mtu? 318 00:14:47,290 --> 00:14:48,020 Baridi? 319 00:14:48,020 --> 00:14:50,020 Yeah, sisi ni kwenda kupata sehemu ya furaha na kuyatumia 320 00:14:50,020 --> 00:14:51,728 haraka sana, ambapo kupata kufanya baadhi math. 321 00:14:51,728 --> 00:14:52,776 Na utakuwa mkubwa. 322 00:14:52,776 --> 00:14:55,690 323 00:14:55,690 --> 00:14:57,740 >> Mwisho step-- kuifunga faili yako. 324 00:14:57,740 --> 00:15:01,090 Na mambo mengi hapa, moja ya dhana yetu 325 00:15:01,090 --> 00:15:03,550 ni kama inaweza kurudi null, kuangalia kwa null. 326 00:15:03,550 --> 00:15:06,160 Kama wewe kufungua kitu, wewe d bora karibu yake. 327 00:15:06,160 --> 00:15:10,419 OK, hivyo wewe si kosa mpaka uko kosa isipokuwa wameweza imefungwa hilo. 328 00:15:10,419 --> 00:15:12,585 Aina ya kama si zaidi ya mpaka mwanamke mafuta kuimba. 329 00:15:12,585 --> 00:15:14,130 Hiyo ni kama kufunga faili yako. 330 00:15:14,130 --> 00:15:16,860 331 00:15:16,860 --> 00:15:19,190 Kama anasema hapa, tu kusisitiza, daima 332 00:15:19,190 --> 00:15:21,750 kufungua faili yako kabla ya wewe ni kusoma au kuandika hayo. 333 00:15:21,750 --> 00:15:24,450 Na daima karibu yake kama wameweza kufunguliwa yake. 334 00:15:24,450 --> 00:15:25,460 Wote haki? 335 00:15:25,460 --> 00:15:25,960 Baridi. 336 00:15:25,960 --> 00:15:26,835 >> Hivyo hapa ni mfano. 337 00:15:26,835 --> 00:15:29,250 338 00:15:29,250 --> 00:15:34,330 Hivyo tiny-- Sijui kama guys unaweza kuona kwamba vizuri sana. 339 00:15:34,330 --> 00:15:36,805 Kama tu tungeweza kuongeza mwangaza fulani. 340 00:15:36,805 --> 00:15:40,430 341 00:15:40,430 --> 00:15:45,030 Napenda kwa kweli kufanya hii kama naweza. 342 00:15:45,030 --> 00:15:48,020 343 00:15:48,020 --> 00:15:51,470 OK, wewe guys unaweza si kweli kuona kwamba wakati wote, unaweza? 344 00:15:51,470 --> 00:15:52,905 OK, tunakwenda kufanya hivyo, basi. 345 00:15:52,905 --> 00:16:35,094 346 00:16:35,094 --> 00:16:35,594 [Inaudible] 347 00:16:35,594 --> 00:16:56,670 348 00:16:56,670 --> 00:16:58,605 >> Mimi kudhani hii ni bora zaidi kuona. 349 00:16:58,605 --> 00:17:17,330 350 00:17:17,330 --> 00:17:19,455 Je, mtu yeyote kuona ambapo yangu panya akaenda ni swali? 351 00:17:19,455 --> 00:17:22,837 Ah, kuna ni is-- nini mapambano! 352 00:17:22,837 --> 00:17:48,910 353 00:17:48,910 --> 00:17:49,520 >> OK. 354 00:17:49,520 --> 00:17:53,845 Kimsingi, wewe guys lazima kuwa na aina ya wazo la nini hii ni kufanya. 355 00:17:53,845 --> 00:17:56,740 356 00:17:56,740 --> 00:17:57,600 Ni si kamili. 357 00:17:57,600 --> 00:17:58,851 358 00:17:58,851 --> 00:18:02,425 Lakini nisingependa kueleza ni ya kutumia muda zaidi kujaribu muundo ni vizuri. 359 00:18:02,425 --> 00:18:03,610 360 00:18:03,610 --> 00:18:07,280 Kimsingi, kama unaweza kuona hapa, sisi kuanza na faili ya wazi. 361 00:18:07,280 --> 00:18:09,620 Na tuna baadhi ya Mbegu faili kwamba sisi ni 362 00:18:09,620 --> 00:18:12,300 kufungua kwamba anasema ni wanafunzi wetu. 363 00:18:12,300 --> 00:18:14,020 Na sisi ni kwenda kuandika hiyo. 364 00:18:14,020 --> 00:18:15,060 365 00:18:15,060 --> 00:18:17,720 Hivyo bila shaka, kurudi null. 366 00:18:17,720 --> 00:18:19,650 Hivyo tuna kuangalia kwa null. 367 00:18:19,650 --> 00:18:22,930 Na kisha kama si null, sisi kwenda kwa njia ya. 368 00:18:22,930 --> 00:18:25,660 Na kama unaweza kuona, sisi ni looping kupitia hapa. 369 00:18:25,660 --> 00:18:26,960 Kuna wanafunzi. 370 00:18:26,960 --> 00:18:30,520 Wanafunzi ni hash hufafanuliwa kama tatu. 371 00:18:30,520 --> 00:18:34,060 Na nini sisi ni kufanya ni sisi ni uchapishaji na faili, haki? 372 00:18:34,060 --> 00:18:36,975 Basi ni nini sisi uchapishaji nje na faili zetu? 373 00:18:36,975 --> 00:18:47,040 374 00:18:47,040 --> 00:18:48,906 >> Watazamaji: alama kuwa ni katika safu? 375 00:18:48,906 --> 00:18:49,680 >> SPIKA 1: Yeah. 376 00:18:49,680 --> 00:18:50,980 alama ya kwamba ni katika array-- hasa. 377 00:18:50,980 --> 00:18:53,050 Hivyo sisi ni kufungua hii Mbegu faili, ambayo 378 00:18:53,050 --> 00:18:56,040 Mimi kudhani ni aina fulani ya darasa database. 379 00:18:56,040 --> 00:19:01,100 Na sisi ni uchapishaji tu nje alama ya kila mwanafunzi na faili hilo. 380 00:19:01,100 --> 00:19:02,140 Baridi? 381 00:19:02,140 --> 00:19:02,640 Nzuri. 382 00:19:02,640 --> 00:19:03,811 383 00:19:03,811 --> 00:19:04,310 Kutisha. 384 00:19:04,310 --> 00:19:05,100 OK. 385 00:19:05,100 --> 00:19:06,950 Hebu kupata nyuma to-- 386 00:19:06,950 --> 00:19:08,646 >> Watazamaji: Nina swali haraka. 387 00:19:08,646 --> 00:19:11,570 Ni printf si katika kwa kitanzi? 388 00:19:11,570 --> 00:19:12,870 Hiyo tu katika kama kitanzi? 389 00:19:12,870 --> 00:19:14,370 SPIKA 1: Hapana, ni katika kwa kitanzi. 390 00:19:14,370 --> 00:19:16,150 391 00:19:16,150 --> 00:19:18,810 Siwezi kuona panya yangu vizuri sana hapa. 392 00:19:18,810 --> 00:19:21,359 Hivyo mimi nina wanajitahidi format kwamba vizuri. 393 00:19:21,359 --> 00:19:22,525 Bracket hii lazima gone. 394 00:19:22,525 --> 00:19:23,610 395 00:19:23,610 --> 00:19:25,130 Ni lazima kuwa chini hapa. 396 00:19:25,130 --> 00:19:26,605 Hii ni nini katika yako kwa kitanzi. 397 00:19:26,605 --> 00:20:10,680 398 00:20:10,680 --> 00:20:11,180 Huko. 399 00:20:11,180 --> 00:20:12,160 Sasa ni pretty. 400 00:20:12,160 --> 00:20:16,720 Hivyo hiyo ni jinsi ni lazima be-- isipokuwa kwa kuwa mabano ya mwisho kwamba mimi kufukuzwa kazi. 401 00:20:16,720 --> 00:20:17,220 OK. 402 00:20:17,220 --> 00:20:19,491 Je, hiyo mantiki kwa kila mtu? 403 00:20:19,491 --> 00:20:19,990 OK. 404 00:20:19,990 --> 00:20:23,750 Tunakwenda kwa hoja juu ya kwa jambo la pili then-- 405 00:20:23,750 --> 00:20:26,180 ambayo, kwa kweli, wewe ni kwenda haja ya kuona kanuni. 406 00:20:26,180 --> 00:20:28,370 Hivyo nina kwenda tu nakala ya kwamba zaidi ya hivi sasa. 407 00:20:28,370 --> 00:20:31,500 408 00:20:31,500 --> 00:20:32,000 OK. 409 00:20:32,000 --> 00:20:35,110 Hivyo nina kwenda kwa kuonyesha guys kanuni hii. 410 00:20:35,110 --> 00:20:38,240 Na mimi nataka kujaribu na takwimu nini ni zinatakiwa kufanya. 411 00:20:38,240 --> 00:20:49,740 412 00:20:49,740 --> 00:20:52,480 >> Hivyo kutokana na that-- kuchukua dakika au hivyo. 413 00:20:52,480 --> 00:20:54,440 Kujaribu na kufikiri nini kinaendelea hapa. 414 00:20:54,440 --> 00:21:58,840 415 00:21:58,840 --> 00:21:59,570 >> Mawazo yoyote? 416 00:21:59,570 --> 00:22:08,180 417 00:22:08,180 --> 00:22:12,470 >> Tunajua kwamba sisi kuwa na angalau mbili hoja katika mstari amri, haki? 418 00:22:12,470 --> 00:22:16,270 Mimi kudhani moja ambayo ni kwenda kuwa na kwamba [inaudible] ya mpango wetu ni 419 00:22:16,270 --> 00:22:17,530 na kisha kitu kingine. 420 00:22:17,530 --> 00:22:19,980 Kwa sababu kama [inaudible] ni chini ya wawili, sisi yell saa yao. 421 00:22:19,980 --> 00:22:21,140 Haki? 422 00:22:21,140 --> 00:22:25,300 Na kutoka kwa matumizi, inaonekana kama ni kwenda kuwa baadhi ya aina ya faili. 423 00:22:25,300 --> 00:22:26,260 Sisi wote kukubaliana na kwamba? 424 00:22:26,260 --> 00:22:29,110 425 00:22:29,110 --> 00:22:31,570 Hivyo sasa, nini kitanzi kufanya? 426 00:22:31,570 --> 00:22:32,570 Nini ni kwenda kupitia? 427 00:22:32,570 --> 00:22:35,000 428 00:22:35,000 --> 00:22:36,449 >> Watazamaji: mafaili yote. 429 00:22:36,449 --> 00:22:37,240 SPIKA 1: Hasa. 430 00:22:37,240 --> 00:22:39,650 Ni kwenda njia zote files kwamba tumekuwa pembejeo huko. 431 00:22:39,650 --> 00:22:40,720 432 00:22:40,720 --> 00:22:46,040 Hivyo kwa kila faili, ni kufungua baadhi kamba huko. 433 00:22:46,040 --> 00:22:47,560 Ni kufungua faili hilo. 434 00:22:47,560 --> 00:22:48,060 Haki? 435 00:22:48,060 --> 00:22:49,140 436 00:22:49,140 --> 00:22:52,380 Na ni kusoma kutoka humo. 437 00:22:52,380 --> 00:22:53,420 438 00:22:53,420 --> 00:22:55,540 Bila shaka, kuangalia kama ni null. 439 00:22:55,540 --> 00:22:57,220 Na kisha ni uchapishaji. 440 00:22:57,220 --> 00:23:01,460 Kama ni null, ni kutuambia tu kwamba si kwamba faili kwamba ipo. 441 00:23:01,460 --> 00:23:04,290 Kwa sababu kumbuka, na kusoma faili yetu ina kuwepo. 442 00:23:04,290 --> 00:23:04,810 Haki? 443 00:23:04,810 --> 00:23:06,870 Na kuandika na append, unaweza kupata mbali na hayo. 444 00:23:06,870 --> 00:23:08,970 Lakini pamoja na kusoma, faili yetu ina kuwepo. 445 00:23:08,970 --> 00:23:10,430 446 00:23:10,430 --> 00:23:13,330 >> Na kisha kama hana zipo, nini tunafanya hapa? 447 00:23:13,330 --> 00:23:14,810 448 00:23:14,810 --> 00:23:15,780 Hebu tu kuanza hapa. 449 00:23:15,780 --> 00:23:18,815 Nini hii do-- tabia hii ya kwanza. 450 00:23:18,815 --> 00:23:20,960 451 00:23:20,960 --> 00:23:21,790 Nini kufanya? 452 00:23:21,790 --> 00:23:24,100 Yeye anapata tabia moja, haki? 453 00:23:24,100 --> 00:23:25,400 Hivyo kile ni hii kufanya? 454 00:23:25,400 --> 00:23:26,775 Ni kupata tabia ya kwanza. 455 00:23:26,775 --> 00:23:28,860 456 00:23:28,860 --> 00:23:30,200 Mtu yeyote kujua EOF? 457 00:23:30,200 --> 00:23:31,170 >> Watazamaji: Mwisho wa faili? 458 00:23:31,170 --> 00:23:32,680 >> SPIKA 1: Mwisho wa file-- hasa. 459 00:23:32,680 --> 00:23:35,310 Hivyo ni kwenda kwenda kwa njia ya faili nzima, haki? 460 00:23:35,310 --> 00:23:36,710 461 00:23:36,710 --> 00:23:40,780 Na basi ni kwenda update na kupata kila tabia ya baadae. 462 00:23:40,780 --> 00:23:41,565 Haki? 463 00:23:41,565 --> 00:23:43,636 Na nini ni kufanya? 464 00:23:43,636 --> 00:23:44,760 Watazamaji: Kuweka kwamba in-- 465 00:23:44,760 --> 00:23:46,741 466 00:23:46,741 --> 00:23:49,170 >> SPIKA 1: Putchar prints kwa Bongo yako. 467 00:23:49,170 --> 00:23:50,867 468 00:23:50,867 --> 00:23:51,950 [Inaudible] tabia. 469 00:23:51,950 --> 00:23:54,300 Na kisha wakati [inaudible] hii itakuwa karibu ya faili. 470 00:23:54,300 --> 00:23:57,370 >> Watazamaji: Je, unahitaji [? mwingine? ?] 471 00:23:57,370 --> 00:23:59,005 >> SPIKA 1: Si lazima. 472 00:23:59,005 --> 00:24:01,480 I mean, ni aina ya an katika hili. 473 00:24:01,480 --> 00:24:06,780 Kwa sababu hii anarudi, ingawa, kwa muda mrefu kama hii haina kukamata hii, wewe ni faini. 474 00:24:06,780 --> 00:24:07,940 475 00:24:07,940 --> 00:24:10,250 I mean ni pengine nzuri mazoezi ya kufanya mwingine. 476 00:24:10,250 --> 00:24:15,755 Lakini mwingine ni daima muhimu hasa 477 00:24:15,755 --> 00:24:17,610 kama una kitu kama kurudi, ambayo 478 00:24:17,610 --> 00:24:20,640 ina maana kwamba katika kesi hii kama ni upatikanaji wa samaki hivyo, mpango wako kwenda mwisho 479 00:24:20,640 --> 00:24:21,850 na kutakuwa na kamwe kupata hii. 480 00:24:21,850 --> 00:24:23,030 481 00:24:23,030 --> 00:24:29,190 Ni zaidi kwa kesi ambapo wewe ni si lazima kurudi kitu. 482 00:24:29,190 --> 00:24:31,370 Kwa sababu kama hii haikuwa kurudi kitu chochote, 483 00:24:31,370 --> 00:24:34,430 hiyo ina maana kuwa kama hii ni kweli, mapumziko ya hii itakuwa bado kukimbia. 484 00:24:34,430 --> 00:24:36,138 Na katika kesi hiyo, wewe wanataka uongo. 485 00:24:36,138 --> 00:24:38,240 Kama ni kurudi, na mpango wako mwisho, 486 00:24:38,240 --> 00:24:41,960 kingine ni si lazima wote muda, kulingana na mazingira. 487 00:24:41,960 --> 00:24:43,084 488 00:24:43,084 --> 00:24:44,375 Jacob, hakuwa una swali? 489 00:24:44,375 --> 00:24:46,100 Watazamaji: Yeah. 490 00:24:46,100 --> 00:24:49,300 Hivyo haina fgetc kupata tabia ijayo? 491 00:24:49,300 --> 00:24:50,734 Jinsi gani tabia kuongeza? 492 00:24:50,734 --> 00:24:51,400 SPIKA 1: Yeah. 493 00:24:51,400 --> 00:24:52,774 Hivyo fgetc anapata tabia ya pili. 494 00:24:52,774 --> 00:24:54,140 495 00:24:54,140 --> 00:24:56,866 Unaweza kufikiria ni kama C ++ katika akili. 496 00:24:56,866 --> 00:24:58,350 >> Watazamaji: Hivyo kile EOF? 497 00:24:58,350 --> 00:25:00,877 >> SPIKA 1: EOF ni mwisho wa faili. 498 00:25:00,877 --> 00:25:03,960 Ni tu marker kwamba inakuwezesha kujua kwamba wewe ni katika mwisho wa faili yako. 499 00:25:03,960 --> 00:25:06,742 Hivyo hii ni kwenda magazeti kwa kiwango yako nje. 500 00:25:06,742 --> 00:25:08,950 Na basi ni kwenda kuifunga faili wakati ni kufanyika. 501 00:25:08,950 --> 00:25:10,700 Na kisha hebu kwenda kwa faili ya pili, haki? 502 00:25:10,700 --> 00:25:12,660 Hivyo kwa ujumla, je, mpango huu kufanya? 503 00:25:12,660 --> 00:25:15,402 504 00:25:15,402 --> 00:25:16,090 >> [Inaudible] 505 00:25:16,090 --> 00:25:16,900 >> SPIKA 1: Yeah. 506 00:25:16,900 --> 00:25:18,770 Ni tu Prints nje kila kitu huko. 507 00:25:18,770 --> 00:25:23,270 Hivyo kama wewe guys milele kutumika CAT na kisha jina la baadhi file-- 508 00:25:23,270 --> 00:25:26,240 Sijui kama yoyote ya una milele kufanyika kwamba juu ya terminal yako. 509 00:25:26,240 --> 00:25:29,630 Lakini kama wewe milele kutumia amri CAT-- C-A-T-- 510 00:25:29,630 --> 00:25:31,880 na kisha chochote faili una there-- ni 511 00:25:31,880 --> 00:25:37,260 Prints hivyo nje terminal yako, ambayo unaweza kuwa super Handy kwa baadhi ya mambo. 512 00:25:37,260 --> 00:25:38,746 Mimi matumizi yake mengi. 513 00:25:38,746 --> 00:25:40,120 Je, hiyo mantiki kwa kila mtu? 514 00:25:40,120 --> 00:25:41,480 515 00:25:41,480 --> 00:25:42,100 Baridi? 516 00:25:42,100 --> 00:25:46,530 >> OK hivyo kazi yako now-- ama kwa mwenyewe au na watu karibu you-- 517 00:25:46,530 --> 00:25:54,930 ni kuandika tu mpango rahisi ambayo tu kuandika "Hello, ulimwengu!" 518 00:25:54,930 --> 00:25:56,255 kufanyika kwa faili. 519 00:25:56,255 --> 00:26:00,215 >> [Inaudible] 520 00:26:00,215 --> 00:26:56,210 521 00:26:56,210 --> 00:26:57,040 >> [Inaudible] 522 00:26:57,040 --> 00:26:59,248 >> SPIKA 1: Mimi nilikuwa kama, alifanya Mimi kufanya hivyo wiki iliyopita vibaya? 523 00:26:59,248 --> 00:27:00,201 524 00:27:00,201 --> 00:27:01,492 Sikudhani ilikuwa mbaya. 525 00:27:01,492 --> 00:27:02,479 526 00:27:02,479 --> 00:27:03,520 Nina furaha uko hapa. 527 00:27:03,520 --> 00:27:04,655 Ni kweli hufanya mimi furaha. 528 00:27:04,655 --> 00:27:07,565 529 00:27:07,565 --> 00:27:10,160 Mimi nina msichana wa raha rahisi. 530 00:27:10,160 --> 00:27:11,688 Mimi tu kama wakati sehemu yangu anahudhuria. 531 00:27:11,688 --> 00:27:13,830 532 00:27:13,830 --> 00:27:18,270 Hivyo mimi nina kupata tu hii ilianza kwa nyie ili tuweze kanuni ya pamoja. 533 00:27:18,270 --> 00:27:22,290 Mimi si kama kuweka mtu yeyote juu ya doa isipokuwa unataka kuwa. 534 00:27:22,290 --> 00:27:26,486 535 00:27:26,486 --> 00:27:30,086 >> Watazamaji: Kwa jaribio, kufanya tuna kuandika mpango? 536 00:27:30,086 --> 00:27:33,260 >> SPIKA 1: Unaweza kuulizwa kuandika mipango rahisi kwa mkono. 537 00:27:33,260 --> 00:27:35,940 538 00:27:35,940 --> 00:27:36,590 Yup. 539 00:27:36,590 --> 00:27:38,510 >> Watazamaji: Jaribio ni wiki ijayo, haki? 540 00:27:38,510 --> 00:27:40,108 >> SPIKA 1: Jaribio ni Jumatano ijayo. 541 00:27:40,108 --> 00:27:40,855 542 00:27:40,855 --> 00:27:43,730 Hiyo ina maana kuna lovely [? CSE?] grading chama baadaye, ambayo 543 00:27:43,730 --> 00:27:50,390 ina maana utasikia kupata alama yako nyuma kwamba night-- wakati gani? 544 00:27:50,390 --> 00:27:50,890 Nani anajua? 545 00:27:50,890 --> 00:27:51,973 Lakini itakuwa usiku. 546 00:27:51,973 --> 00:28:02,020 547 00:28:02,020 --> 00:28:02,855 >> Wote haki. 548 00:28:02,855 --> 00:28:04,250 Jinsi gani tunataka kuanza hili? 549 00:28:04,250 --> 00:28:07,964 550 00:28:07,964 --> 00:28:09,630 Mimi nitakupa kuanza hint-- na hili. 551 00:28:09,630 --> 00:28:11,455 >> Watazamaji: Una kufungua faili. 552 00:28:11,455 --> 00:28:12,250 >> SPIKA 1: Yeah. 553 00:28:12,250 --> 00:28:14,060 Hivyo unataka nini kuwaita hii? 554 00:28:14,060 --> 00:28:16,150 Je unataka tu kuiita "faili"? 555 00:28:16,150 --> 00:28:17,480 Hebu kufanya hivyo ni rahisi. 556 00:28:17,480 --> 00:28:26,752 Hivyo fopen-- nini wetu pato mtihani kwenda kuwa? 557 00:28:26,752 --> 00:28:36,130 Kuiita "Hello." 558 00:28:36,130 --> 00:28:37,810 Na nini mode yetu? 559 00:28:37,810 --> 00:28:39,764 560 00:28:39,764 --> 00:28:41,055 Nini tunafanya na faili hili? 561 00:28:41,055 --> 00:28:42,676 562 00:28:42,676 --> 00:28:43,500 >> Watazamaji: Soma. 563 00:28:43,500 --> 00:28:44,401 564 00:28:44,401 --> 00:28:44,900 Kuandika. 565 00:28:44,900 --> 00:28:46,191 SPIKA 1: Sisi ni kuandika na hiyo. 566 00:28:46,191 --> 00:28:47,360 567 00:28:47,360 --> 00:28:47,860 Nzuri. 568 00:28:47,860 --> 00:28:50,330 569 00:28:50,330 --> 00:28:52,860 OK, hivyo tuna faili hili sasa. 570 00:28:52,860 --> 00:28:54,920 571 00:28:54,920 --> 00:28:56,212 Nini tunahitaji kufanya? 572 00:28:56,212 --> 00:28:57,420 Watazamaji: Angalia kama ni null. 573 00:28:57,420 --> 00:28:59,820 SPIKA 1: Kuangalia kama ni null-- hasa. 574 00:28:59,820 --> 00:29:01,980 Hiyo ni nini mimi kama kusikia. 575 00:29:01,980 --> 00:29:05,930 Kwamba lazima moja kwa moja, hasa pretty much kutoka hatua hii juu ya. 576 00:29:05,930 --> 00:29:07,530 577 00:29:07,530 --> 00:29:10,950 Kama kuanza segfaulting, pengine hawakuwa kuangalia for mahali fulani. 578 00:29:10,950 --> 00:29:12,480 Tisa mara kati ya kumi, hiyo ni itakuwa kosa yako. 579 00:29:12,480 --> 00:29:15,400 Hivyo kama unaweza kupata tu katika tabia, daima kuangalia kama ni null, 580 00:29:15,400 --> 00:29:18,150 maisha yako kwenda kuwa nzuri na easy-- au zaidi. 581 00:29:18,150 --> 00:29:19,480 >> Hivyo kuangalia kuona kama ni null. 582 00:29:19,480 --> 00:29:21,200 583 00:29:21,200 --> 00:29:24,820 Hivyo kama si null, ambayo ni nini bang sawa 584 00:29:24,820 --> 00:29:26,784 means-- si null-- ni halali. 585 00:29:26,784 --> 00:29:27,700 Nini tunataka kufanya? 586 00:29:27,700 --> 00:29:29,750 587 00:29:29,750 --> 00:29:31,570 Sisi tu wanataka magazeti na faili kwamba, haki? 588 00:29:31,570 --> 00:29:32,923 Basi ni nini sisi kwenda kutumia? 589 00:29:32,923 --> 00:29:34,092 >> Watazamaji: Fprintf 590 00:29:34,092 --> 00:29:36,800 >> SPIKA 1: Fprintf-- nzuri. 591 00:29:36,800 --> 00:29:38,150 592 00:29:38,150 --> 00:29:44,000 Na fprintf inachukua arguments-- mbili ambapo ni kwenda na nini tunataka kuchapishwa. 593 00:29:44,000 --> 00:29:45,820 Basi nini moja ya kwanza? 594 00:29:45,820 --> 00:29:46,570 Ambapo ni kwenda? 595 00:29:46,570 --> 00:29:47,490 >> Watazamaji: Picha. 596 00:29:47,490 --> 00:29:48,785 >> SPIKA 1: Ni kwenda faili. 597 00:29:48,785 --> 00:29:49,784 598 00:29:49,784 --> 00:29:50,950 Na nini tunataka kuchapishwa? 599 00:29:50,950 --> 00:29:52,900 600 00:29:52,900 --> 00:29:58,065 "Hello, ulimwengu!" 601 00:29:58,065 --> 00:29:58,565 Wote haki. 602 00:29:58,565 --> 00:30:03,670 Tuna moja iliyopita thing-- mwingine dhana kubwa hapa. 603 00:30:03,670 --> 00:30:04,479 604 00:30:04,479 --> 00:30:05,145 Watazamaji: Karibu. 605 00:30:05,145 --> 00:30:05,853 SPIKA 1: Karibu. 606 00:30:05,853 --> 00:30:09,990 607 00:30:09,990 --> 00:30:10,540 Kuna kwenda. 608 00:30:10,540 --> 00:30:13,384 >> Watazamaji: Je kinachotokea hii kama faili ni batili? 609 00:30:13,384 --> 00:30:15,050 SPIKA 1: Hapana, hii ni kama si null. 610 00:30:15,050 --> 00:30:16,881 Watazamaji: Oh, kama ni not-- sawa. 611 00:30:16,881 --> 00:30:21,728 612 00:30:21,728 --> 00:30:25,410 Kwa fopen na kisha hoja mbili kwamba kwenda ndani, 613 00:30:25,410 --> 00:30:27,655 nini maana ya hoja ya kwanza tena? 614 00:30:27,655 --> 00:30:30,392 >> SPIKA 1: Hoja ni kama jina la faili 615 00:30:30,392 --> 00:30:31,350 kwamba unataka kwenda. 616 00:30:31,350 --> 00:30:36,020 Hivyo baada ya hii anaendesha, wewe ungekuwa kuwa na baadhi ya faili inayoitwa "hello" 617 00:30:36,020 --> 00:30:38,320 kwamba alikuwa na "Hello, ulimwengu" ndani yake. 618 00:30:38,320 --> 00:30:38,820 Hayo ni yote. 619 00:30:38,820 --> 00:30:39,500 Tu jina. 620 00:30:39,500 --> 00:30:42,685 621 00:30:42,685 --> 00:30:48,650 >> Watazamaji: Na tangu ni kuandika, faili hana tayari zipo. 622 00:30:48,650 --> 00:30:49,675 Ni kwamba nini alisema? 623 00:30:49,675 --> 00:30:50,410 >> SPIKA 1: Haki. 624 00:30:50,410 --> 00:30:50,910 Hasa. 625 00:30:50,910 --> 00:30:53,110 626 00:30:53,110 --> 00:30:55,839 Kama "Hello" kama faili haipo bado, ni 627 00:30:55,839 --> 00:30:58,380 kwenda kujenga faili inayoitwa Hello "na kuandika kwa ajili yenu. 628 00:30:58,380 --> 00:30:59,631 629 00:30:59,631 --> 00:31:03,610 >> Watazamaji: Wakati wewe ni kuwaambia mpango wa aliandika faili, 630 00:31:03,610 --> 00:31:08,075 nini kuandika "file" badala ya jina la faili na fprintf-- 631 00:31:08,075 --> 00:31:13,600 >> SPIKA 1: Kwa sababu katika kesi hii, tuna kwamba kubwa FILE-- wote katika caps-- nyota, 632 00:31:13,600 --> 00:31:14,260 faili. 633 00:31:14,260 --> 00:31:17,370 Hivyo ni pointer faili kwamba wewe ni kuzungumza juu. 634 00:31:17,370 --> 00:31:19,930 Hii ni njia ambayo sisi tu kutaja yake. 635 00:31:19,930 --> 00:31:24,850 Hivyo katika kesi hii, unaweza kufikiria file-- aha, 636 00:31:24,850 --> 00:31:31,271 tunaweza kutumia faili this-- hapa inahusu ufunguzi wa "Hello" 637 00:31:31,271 --> 00:31:32,145 na kuruhusu ni kuandika. 638 00:31:32,145 --> 00:31:34,728 >> Watazamaji: Je, tunaweza kuweka "Hello" badala [? ya tu?] f faili? 639 00:31:34,728 --> 00:31:40,160 SPIKA 1: Hapana, kwa sababu "Hello" mahitaji ya kuwa wazi na writeable. 640 00:31:40,160 --> 00:31:41,820 641 00:31:41,820 --> 00:31:45,980 Picha hapa ni kama designator kwamba anasema sawa, sisi 642 00:31:45,980 --> 00:31:49,190 kuwa hello-- hii file-- kwamba sisi ni kuangalia. 643 00:31:49,190 --> 00:31:50,680 Imekuwa kufunguliwa. 644 00:31:50,680 --> 00:31:52,140 Na sisi ni kwenda kuandika hiyo. 645 00:31:52,140 --> 00:31:55,130 Kama wewe tu kutumia "Hello", kwamba ni zimegawanywa katika hilo. 646 00:31:55,130 --> 00:31:56,846 Hivyo ni kwenda kituko nje. 647 00:31:56,846 --> 00:31:58,590 648 00:31:58,590 --> 00:32:00,300 I mean, unaweza kuwa jina lake ni. 649 00:32:00,300 --> 00:32:03,960 Wewe wangefanya faili, nyota, "Hello", sawa na kwamba. 650 00:32:03,960 --> 00:32:07,840 Lakini hoja nzima ni kwamba haja faili nyota pointer ili 651 00:32:07,840 --> 00:32:09,281 kuwa na uwezo wa kutumia kazi hizo. 652 00:32:09,281 --> 00:32:11,280 Watazamaji: Unaweza kufanya file, nyota, faili, "Hello" 653 00:32:11,280 --> 00:32:13,113 au una kuweka faili nyota, faili na hilo? 654 00:32:13,113 --> 00:32:16,330 SPIKA 1: Unaweza kufanya file, nyota, "Hello." 655 00:32:16,330 --> 00:32:19,790 Unaweza kubadilisha hii kwa jina lolote unataka. 656 00:32:19,790 --> 00:32:22,114 Ni kabisa holela nini jina kwamba ni. 657 00:32:22,114 --> 00:32:23,179 658 00:32:23,179 --> 00:32:24,220 Unaweza jina hilo chochote. 659 00:32:24,220 --> 00:32:25,501 660 00:32:25,501 --> 00:32:28,020 Jina hilo kuruka tambi, kama alitaka. 661 00:32:28,020 --> 00:32:29,690 >> Watazamaji: Je, ni "w" katika quotes kwa ajili ya? 662 00:32:29,690 --> 00:32:31,540 >> SPIKA 1: "w" ni tu mode. 663 00:32:31,540 --> 00:32:33,170 Hivyo sisi ni kuandika na faili hii. 664 00:32:33,170 --> 00:32:34,410 665 00:32:34,410 --> 00:32:35,320 Kila mtu mzuri? 666 00:32:35,320 --> 00:32:36,227 Wazi? 667 00:32:36,227 --> 00:32:36,981 Ndiyo. 668 00:32:36,981 --> 00:32:40,365 >> Watazamaji: Hivyo wakati anaandika hii faili, ambapo kufanya sisi kisha kupata kwamba faili? 669 00:32:40,365 --> 00:32:43,820 >> SPIKA 1: Ni utakuwa katika huo directory kwamba wewe ni sasa katika. 670 00:32:43,820 --> 00:32:45,650 671 00:32:45,650 --> 00:32:48,880 Kama uko katika pset tatu na kukimbia hii, ndani ya pset yako 672 00:32:48,880 --> 00:32:52,600 tatu folder ni kwenda kuwa na faili hili iitwayo "Hello." 673 00:32:52,600 --> 00:32:53,160 Baridi? 674 00:32:53,160 --> 00:32:53,757 Kila mtu mzuri? 675 00:32:53,757 --> 00:32:55,840 Najisikia kama wewe ni wote kupata ni, ambayo ni kubwa. 676 00:32:55,840 --> 00:32:57,290 677 00:32:57,290 --> 00:32:57,790 OK. 678 00:32:57,790 --> 00:33:05,960 Hivyo nyuma slide yangu show-- I love wakati mambo ya kazi. 679 00:33:05,960 --> 00:33:08,674 OK, pointers-- Je guys msisimko? 680 00:33:08,674 --> 00:33:09,465 Kuyatumia ni kubwa. 681 00:33:09,465 --> 00:33:11,581 682 00:33:11,581 --> 00:33:13,580 Wao kuchukua kidogo kidogo wrap kichwa yako karibu. 683 00:33:13,580 --> 00:33:15,288 Huu ni mwaka wangu wa pili mafundisho kuyatumia. 684 00:33:15,288 --> 00:33:16,850 Na nadhani mimi hatimaye got yake. 685 00:33:16,850 --> 00:33:18,650 Hivyo kama wewe mapambano, ni sawa. 686 00:33:18,650 --> 00:33:19,940 687 00:33:19,940 --> 00:33:24,070 Kama nilivyosema hapo kabla, kuchora picha inasaidia sana na mambo katika CS, 688 00:33:24,070 --> 00:33:27,400 kama vile Nadhani watu huwa kufikiri oh, sisi ni saa ya kompyuta. 689 00:33:27,400 --> 00:33:28,399 Tunapaswa tu kificho. 690 00:33:28,399 --> 00:33:30,190 Picha No-- kuchora itakuwa kweli kukusaidia. 691 00:33:30,190 --> 00:33:32,773 Na mimi kwa kweli moyo bomba katika kindergartner upande wako 692 00:33:32,773 --> 00:33:35,010 na kuwatoa crayons au alama na sare. 693 00:33:35,010 --> 00:33:36,110 Sababu itakuwa kukusaidia. 694 00:33:36,110 --> 00:33:39,380 Na kama wewe kuona mimi katika ofisi ya masaa, mimi Itakuwa kufanya kuzunguka mwingi wa karatasi 695 00:33:39,380 --> 00:33:41,580 na kalamu kuchora mambo ya nje. 696 00:33:41,580 --> 00:33:44,370 >> Hivyo hasa kwa pointers-- kuchora picha. 697 00:33:44,370 --> 00:33:47,970 Na mimi nina uhakika sisi ni kweli kwenda kuwa kuchora baadhi ya picha hapa pia. 698 00:33:47,970 --> 00:33:51,270 >> Hivyo guys wote got kuona Binky, huu baridi claymation kitu. 699 00:33:51,270 --> 00:33:54,720 Na sisi nadhani ni kweli funny wakati yeye hulipuka katika rundo la vipande vipande. 700 00:33:54,720 --> 00:33:56,280 701 00:33:56,280 --> 00:33:57,755 Ni baadhi ya misaada Comic kwa ajili ya darasa. 702 00:33:57,755 --> 00:34:02,140 703 00:34:02,140 --> 00:34:05,900 C [inaudible] uwezo hili kubwa kuwa na uwezo wa kudhibiti kumbukumbu. 704 00:34:05,900 --> 00:34:10,090 Na ni moja ya mambo ambayo kwa kweli inafanya lugha kama nguvu. 705 00:34:10,090 --> 00:34:13,469 Lakini kwa nguvu nyingi huja jukumu kubwa. 706 00:34:13,469 --> 00:34:16,230 Na mambo mambo yanaweza kutokea kama huna makini. 707 00:34:16,230 --> 00:34:18,560 Hivyo wakati wewe ni kutumia kuyatumia, unataka kufanya 708 00:34:18,560 --> 00:34:21,440 kuhakikisha kweli kuelewa nini hasa ni kufanya. 709 00:34:21,440 --> 00:34:25,530 Hopefully ijayo kidogo ya wakati itasaidia kweli kuelewa 710 00:34:25,530 --> 00:34:27,850 kuyatumia, jinsi ya matumizi yao, na jinsi ya kuendesha yao. 711 00:34:27,850 --> 00:34:29,170 712 00:34:29,170 --> 00:34:33,460 >> Hivyo memory-- mimi nina uhakika tumekuwa kuonekana mchoro huu kabla. 713 00:34:33,460 --> 00:34:38,540 Hivyo hii ni tu mchoro rahisi ya jinsi mambo inaweza kuhifadhiwa kumbukumbu. 714 00:34:38,540 --> 00:34:43,145 Hivyo kimsingi kuwa haya arrays mkubwa wa vitalu Byte moja 715 00:34:43,145 --> 00:34:46,000 ni nini sisi here-- kidogo nyongeza na moja kila wakati. 716 00:34:46,000 --> 00:34:51,810 Hii ni katika hex [inaudible] hivyo nane-bit vitalu. 717 00:34:51,810 --> 00:34:55,510 Na kila block ni kuhusishwa pamoja na baadhi ya anwani hexadesimoli. 718 00:34:55,510 --> 00:34:58,750 Hivyo kama wewe milele kuona 0x, hiyo ni notating tu 719 00:34:58,750 --> 00:35:00,670 kuwa ni hexadesimoli eneo. 720 00:35:00,670 --> 00:35:03,970 Unaweza kudhani hii ina maana baadhi anwani katika kumbukumbu. 721 00:35:03,970 --> 00:35:06,935 Tunazungumzia anwani kumbukumbu wakati wowote unaweza kuona hexadesimoli. 722 00:35:06,935 --> 00:35:10,420 723 00:35:10,420 --> 00:35:14,630 >> Tuna ints ni vigezo, ikifungwa ni vigezo kwamba kuhifadhi. 724 00:35:14,630 --> 00:35:16,260 Hivyo ints kuhifadhi ints. 725 00:35:16,260 --> 00:35:17,430 Ikifungwa kuhifadhi ikifungwa. 726 00:35:17,430 --> 00:35:20,260 Hivyo sisi pia kuwa kuyatumia kwamba kuhifadhi kumbukumbu anwani. 727 00:35:20,260 --> 00:35:21,660 Hiyo ni aina ya ramani. 728 00:35:21,660 --> 00:35:24,240 Kuyatumia ni peke kwa anwani kumbukumbu. 729 00:35:24,240 --> 00:35:25,780 730 00:35:25,780 --> 00:35:27,292 Hivyo hiyo ni kama aina yako huko. 731 00:35:27,292 --> 00:35:29,550 732 00:35:29,550 --> 00:35:34,470 Appliance yako ni 32-bit, ambayo ina maana kwamba kumbukumbu anwani yako ni ka nne. 733 00:35:34,470 --> 00:35:37,830 Hivyo pointer yoyote kwamba una Pia itakuwa ka nne. 734 00:35:37,830 --> 00:35:43,200 Au mwingine kama ni ka wanne, kumbukumbu ni ka nne. 735 00:35:43,200 --> 00:35:44,790 Kuyatumia kuhifadhi kumbukumbu. 736 00:35:44,790 --> 00:35:46,430 Kwa hiyo, wao ni ka nne. 737 00:35:46,430 --> 00:35:48,460 Cool-- nataka tu kushinikiza kuwa. 738 00:35:48,460 --> 00:35:50,120 739 00:35:50,120 --> 00:35:52,220 >> Unapaswa kupata hii Comic sasa. 740 00:35:52,220 --> 00:35:55,040 Sijui jinsi wengi wenu ni mashabiki XKCD, lakini mimi upendo XKCD. 741 00:35:55,040 --> 00:35:55,780 Ni kubwa. 742 00:35:55,780 --> 00:35:57,290 743 00:35:57,290 --> 00:35:57,790 >> Wote haki. 744 00:35:57,790 --> 00:36:01,640 Hivyo kujenga pointers-- kama nilivyosema, ni pretty much tu kama kitu kingine chochote. 745 00:36:01,640 --> 00:36:02,930 Una aina. 746 00:36:02,930 --> 00:36:04,050 Una jina. 747 00:36:04,050 --> 00:36:04,810 Haki? 748 00:36:04,810 --> 00:36:10,410 Hiyo ni nini tuna huko. [? Hex?] Nyota ina maana ni pointer, 749 00:36:10,410 --> 00:36:12,250 na kisha chochote unataka simu yake. 750 00:36:12,250 --> 00:36:15,770 Hivyo aina inawakilisha nini unaweza kuhifadhi. 751 00:36:15,770 --> 00:36:16,850 752 00:36:16,850 --> 00:36:17,990 Wote haki? 753 00:36:17,990 --> 00:36:24,350 Katika njia sawa kwamba kama sisi kufanya ints, tunajua ni hifadhi int huko. 754 00:36:24,350 --> 00:36:25,990 755 00:36:25,990 --> 00:36:30,280 Na pointer, ni ana kumbukumbu ya eneo. 756 00:36:30,280 --> 00:36:34,240 Lakini nini maana ni that-- hapa ambapo kuchora atakuja katika Handy. 757 00:36:34,240 --> 00:36:36,170 758 00:36:36,170 --> 00:36:45,980 Hivyo katika kesi hii, tuna baadhi value-- hebu sema nne. 759 00:36:45,980 --> 00:36:49,306 Nne ni katika anwani moja. 760 00:36:49,306 --> 00:36:49,805 OK? 761 00:36:49,805 --> 00:36:51,550 762 00:36:51,550 --> 00:36:56,170 >> Hii moja ya kwanza hapa ina maana kuwa ni pointer 2x. 763 00:36:56,170 --> 00:36:56,740 Haki? 764 00:36:56,740 --> 00:36:57,628 Ni baadhi pointer x. 765 00:36:57,628 --> 00:36:58,852 766 00:36:58,852 --> 00:37:00,940 x inaweza kuwa kitu chochote. 767 00:37:00,940 --> 00:37:01,960 768 00:37:01,960 --> 00:37:05,130 Chochote x is-- kusema x ni nne. 769 00:37:05,130 --> 00:37:07,280 Ni kwenda kuhifadhi kumbukumbu anwani hapa. 770 00:37:07,280 --> 00:37:12,260 Hivyo int, nyota, x-- hii ni baadhi yanayopangwa nyingine katika memory-- 771 00:37:12,260 --> 00:37:13,590 ambaye anajua nini hii ni. 772 00:37:13,590 --> 00:37:15,430 Lakini ni kwenda kuhifadhi anwani hapa. 773 00:37:15,430 --> 00:37:27,040 Hivyo hii itakuwa like-- katika kesi hii, Kila, 774 00:37:27,040 --> 00:37:32,630 ni kuhifadhiwa katika 0x1-- chochote ni kuhifadhiwa katika anwani hiyo pointer wetu ana, 775 00:37:32,630 --> 00:37:35,280 ina mechi juu na nini tumekuwa uliopangwa. 776 00:37:35,280 --> 00:37:40,330 Hivyo katika 0x1, katika kesi hii, hii ni x. 777 00:37:40,330 --> 00:37:42,500 778 00:37:42,500 --> 00:37:49,340 Hii inaweza tu milele kuwa int wakati sisi ni kutumia hii. 779 00:37:49,340 --> 00:37:52,950 >> Vile vile, kama tuna 1y mwingine, chochote 780 00:37:52,950 --> 00:37:59,130 anwani ni kuhifadhiwa na y ana kuwa char-- kitu kimoja na z. 781 00:37:59,130 --> 00:38:05,840 Katika njia sawa, wakati wowote kujaribu na kufanya intx sawa 0.4, 782 00:38:05,840 --> 00:38:09,275 ni kwenda yell katika wewe na kuwa kama hakuna, wewe alisema alitaka int. 783 00:38:09,275 --> 00:38:10,525 Hii ni walidhani kuwa int. 784 00:38:10,525 --> 00:38:11,900 Kuacha kujaribu kufanya hivyo kuelea. 785 00:38:11,900 --> 00:38:14,150 >> Hivyo basi mambo kuwa nini wanataka kuwa. 786 00:38:14,150 --> 00:38:15,159 787 00:38:15,159 --> 00:38:16,200 Basi mambo kuwa wenyewe. 788 00:38:16,200 --> 00:38:19,380 789 00:38:19,380 --> 00:38:23,450 Hivyo jambo kubwa ni tu aina yoyote ya pointer 790 00:38:23,450 --> 00:38:26,101 ni, kwamba tu Jambo unaweza kuhifadhi huko. 791 00:38:26,101 --> 00:38:26,600 OK? 792 00:38:26,600 --> 00:38:27,910 793 00:38:27,910 --> 00:38:31,160 Pamoja na mazoezi, kama na wiki iliyopita, kila kitu 794 00:38:31,160 --> 00:38:32,817 inaonekana kweli aina ya kufikirika. 795 00:38:32,817 --> 00:38:34,150 Sisi ni kwenda kufanya baadhi ya mazoezi. 796 00:38:34,150 --> 00:38:36,760 Ni lazima kufanya maana zaidi. 797 00:38:36,760 --> 00:38:44,580 >> Hivyo referencing na dereferencing-- ni kweli muhimu kupata hizi moja kwa moja. 798 00:38:44,580 --> 00:38:46,630 Mimi bado kuwa na mahitaji kila sasa na kisha. 799 00:38:46,630 --> 00:38:48,450 Na mimi nina kama kusubiri, ambayo moja mimi nataka? 800 00:38:48,450 --> 00:38:56,080 Hivyo ampersand kweli kutoa you kumbukumbu au anwani ya. 801 00:38:56,080 --> 00:39:00,100 Hivyo anarudi anwani katika kumbukumbu ya ambayo variable ni kuhifadhiwa. 802 00:39:00,100 --> 00:39:01,170 803 00:39:01,170 --> 00:39:07,020 Hivyo ni kwenda kwa kweli kurudi na wewe hexadecimal, ambapo dereferencing yake 804 00:39:07,020 --> 00:39:10,641 ni kweli kwenda kukupa data kwamba ni kuhifadhiwa huko. 805 00:39:10,641 --> 00:39:11,140 OK? 806 00:39:11,140 --> 00:39:12,680 807 00:39:12,680 --> 00:39:16,060 Hivyo sisi ni kwenda kuangalia mfano kweli kasi, au kweli juu ijayo. 808 00:39:16,060 --> 00:39:18,050 809 00:39:18,050 --> 00:39:19,150 >> OK. 810 00:39:19,150 --> 00:39:21,790 Hivyo sisi kufikiri kwa kweli makini kuhusu hili. 811 00:39:21,790 --> 00:39:23,860 Hivyo hapa tuna integer baadhi x. 812 00:39:23,860 --> 00:39:26,485 Mimi nina kwenda kujaribu na kuteka hii kufanyika kwa kadri ya uwezo wangu. 813 00:39:26,485 --> 00:39:30,230 814 00:39:30,230 --> 00:39:32,410 Hivyo sisi ni kwenda kuwa na hii x yanayopangwa. 815 00:39:32,410 --> 00:39:35,850 816 00:39:35,850 --> 00:39:37,315 Na ni kuhifadhi tano. 817 00:39:37,315 --> 00:39:38,640 818 00:39:38,640 --> 00:39:40,090 Anwani yake ni 0x4. 819 00:39:40,090 --> 00:39:41,920 820 00:39:41,920 --> 00:39:43,160 Baridi? 821 00:39:43,160 --> 00:39:44,100 Wema wote. 822 00:39:44,100 --> 00:39:45,470 >> Hivyo sasa tuna pointer hii. 823 00:39:45,470 --> 00:39:46,916 824 00:39:46,916 --> 00:39:47,990 Ilikuwa zaidi ya hapa. 825 00:39:47,990 --> 00:39:52,130 826 00:39:52,130 --> 00:39:57,560 Na ampersand inatupa anwani ya jambo fulani. 827 00:39:57,560 --> 00:40:00,780 Hivyo, katika kesi hii, ni pepe ya x. 828 00:40:00,780 --> 00:40:01,875 Ni anwani ya x nini? 829 00:40:01,875 --> 00:40:05,660 830 00:40:05,660 --> 00:40:12,590 04-- na pointer hii ni katika 0x08. 831 00:40:12,590 --> 00:40:14,490 832 00:40:14,490 --> 00:40:14,990 Baridi? 833 00:40:14,990 --> 00:40:16,570 834 00:40:16,570 --> 00:40:21,570 Hivyo unaweza kufikiri juu ya hili pointer, 04, tu anasema zaidi ya hapa. 835 00:40:21,570 --> 00:40:22,840 836 00:40:22,840 --> 00:40:25,740 Na wao ni kuitwa kuyatumia kwa sababu kama sisi kupata zaidi katika hili, 837 00:40:25,740 --> 00:40:28,450 wewe ni kwenda kuona akizungumzia mambo. 838 00:40:28,450 --> 00:40:31,470 Na kuzuia moja akizungumzia mwingine kuzuia itakuwa mantiki mengi zaidi. 839 00:40:31,470 --> 00:40:32,760 840 00:40:32,760 --> 00:40:33,890 Hivyo hapa ni mbili. 841 00:40:33,890 --> 00:40:38,230 Na kisha tuna baadhi ya nakala, ambayo ni what-- 0x0c. 842 00:40:38,230 --> 00:40:41,290 843 00:40:41,290 --> 00:40:43,420 Na ni kwenda kwa dereference pointer yetu. 844 00:40:43,420 --> 00:40:46,790 >> Hivyo kile ni kusema ni OK, hapa pointer yetu. 845 00:40:46,790 --> 00:40:53,090 thamani maduka ni 0x04, Na nini ni kusema ni kwenda anwani hii 846 00:40:53,090 --> 00:40:54,300 na kuniambia nini katika hilo. 847 00:40:54,300 --> 00:40:55,520 848 00:40:55,520 --> 00:40:57,710 Hivyo hiyo ni ufanisi nini mshale hii ni kufanya. 849 00:40:57,710 --> 00:40:58,750 850 00:40:58,750 --> 00:41:01,280 Unaweza kufikiri ya hii kama nyota yako. 851 00:41:01,280 --> 00:41:05,410 Hivyo sawa, wakati sisi kufanya nyota, ina maana kufuata. 852 00:41:05,410 --> 00:41:06,810 Kwenda anwani hii. 853 00:41:06,810 --> 00:41:11,430 Na kwamba kimsingi zifuatazo tu mshale hii kwa hii chunk ya kumbukumbu. 854 00:41:11,430 --> 00:41:15,380 Na kutupatia nini katika hilo, ambayo ni 5. 855 00:41:15,380 --> 00:41:18,840 Ni kwa nini nakala yetu ni sawa na 5. 856 00:41:18,840 --> 00:41:20,120 Je, hiyo mantiki? 857 00:41:20,120 --> 00:41:22,769 Je, mtu yeyote haja ya mimi kwenda kwa njia ya tena, au polepole zaidi? 858 00:41:22,769 --> 00:41:24,560 Unataka mimi kwenda njia hiyo moja muda zaidi? 859 00:41:24,560 --> 00:41:25,060 OK. 860 00:41:25,060 --> 00:41:27,549 861 00:41:27,549 --> 00:41:28,840 Tunakwenda redraw tena. 862 00:41:28,840 --> 00:41:31,930 863 00:41:31,930 --> 00:41:37,205 Wakati sisi kuanza, sisi wote kukubaliana tuna baadhi chunk ya kumbukumbu kwamba ni kutofautiana 864 00:41:37,205 --> 00:41:40,890 x kwamba sisi kuweka sawa na 5. 865 00:41:40,890 --> 00:41:42,910 Hatuna kudhibiti ambapo ni katika kumbukumbu. 866 00:41:42,910 --> 00:41:45,520 Hivyo doa hii ni kiholela kupewa. 867 00:41:45,520 --> 00:41:47,770 868 00:41:47,770 --> 00:41:48,731 Nzuri huko? 869 00:41:48,731 --> 00:41:49,230 OK. 870 00:41:49,230 --> 00:41:50,420 871 00:41:50,420 --> 00:41:53,330 Kisha sisi initialize pointer int. 872 00:41:53,330 --> 00:41:56,900 Hiyo ni kwa nini ni kuruhusiwa kwa uhakika na x sababu tuna int hapa. 873 00:41:56,900 --> 00:42:00,840 Tuna chunk mwingine wa kumbukumbu kwa sababu pointer hii 874 00:42:00,840 --> 00:42:03,485 ni kutofautiana kama kitu kingine chochote. 875 00:42:03,485 --> 00:42:06,615 Ni kiholela kupewa baadhi ya nafasi katika kumbukumbu. 876 00:42:06,615 --> 00:42:07,630 877 00:42:07,630 --> 00:42:10,830 Na nini ni maduka ni anwani ya x. 878 00:42:10,830 --> 00:42:13,200 Ampersand maana pepe ya x. 879 00:42:13,200 --> 00:42:14,575 Hivyo ni anwani ya x nini? 880 00:42:14,575 --> 00:42:19,179 881 00:42:19,179 --> 00:42:20,614 >> Watazamaji: Ni zero-- 882 00:42:20,614 --> 00:42:21,280 SPIKA 1: 0x04. 883 00:42:21,280 --> 00:42:24,350 884 00:42:24,350 --> 00:42:25,940 Hivyo then-- moja iliyopita. 885 00:42:25,940 --> 00:42:30,650 Tuna baadhi copy-- tena mwingine tu kutofautiana. 886 00:42:30,650 --> 00:42:32,520 Basi hebu hawawajui baadhi nafasi holela. 887 00:42:32,520 --> 00:42:35,260 888 00:42:35,260 --> 00:42:38,080 Na sisi dereference pointer yetu. 889 00:42:38,080 --> 00:42:42,490 nyota ina maana kwenda anwani kuhifadhiwa katika pointer yangu. 890 00:42:42,490 --> 00:42:44,480 Kuniambia nini huko. 891 00:42:44,480 --> 00:42:47,290 Hivyo anwani kuhifadhiwa katika pointer yetu ni 0x04. 892 00:42:47,290 --> 00:42:49,070 893 00:42:49,070 --> 00:42:51,310 Hivyo sisi kwenda kwa anwani hiyo. 894 00:42:51,310 --> 00:42:52,402 895 00:42:52,402 --> 00:42:54,590 Ni akizungumzia kwa anwani hiyo. 896 00:42:54,590 --> 00:42:57,481 Nini ndani ya kuzuia hii kumbukumbu? 897 00:42:57,481 --> 00:42:57,980 Ni mitano. 898 00:42:57,980 --> 00:42:59,210 899 00:42:59,210 --> 00:43:01,650 Hivyo kwamba ni nini sisi hawawajui nakala wetu. 900 00:43:01,650 --> 00:43:03,430 901 00:43:03,430 --> 00:43:04,860 Kila mtu mzuri? 902 00:43:04,860 --> 00:43:05,360 Baridi. 903 00:43:05,360 --> 00:43:07,010 904 00:43:07,010 --> 00:43:08,330 Again-- picha. 905 00:43:08,330 --> 00:43:19,750 906 00:43:19,750 --> 00:43:25,200 >> Hivyo kufuatilia maadili here-- mimi nina kwenda basi guys kufikiri kuhusu hili. 907 00:43:25,200 --> 00:43:26,550 908 00:43:26,550 --> 00:43:27,750 Tunaweza kuchora picha nyingine. 909 00:43:27,750 --> 00:43:31,260 Lakini nataka kujaribu na sababu njia hii juu ya yako mwenyewe kwa dakika. 910 00:43:31,260 --> 00:44:01,430 911 00:44:01,430 --> 00:44:04,149 >> Tangu wao hakutoa nasi mfano anwani, 912 00:44:04,149 --> 00:44:06,940 Mimi tu kwenda kufanya ampersand x-- ambayo inapaswa kusaidia kuendesha nyumbani. 913 00:44:06,940 --> 00:44:07,950 Ampersand maana ya eneo. 914 00:44:07,950 --> 00:44:09,540 915 00:44:09,540 --> 00:44:12,360 >> Hivyo katika moja ya kwanza, kila mtu kwenda na mstari wa kwanza. 916 00:44:12,360 --> 00:44:15,690 Baadhi x seti ya five-- baadhi random yanayopangwa katika kumbukumbu. 917 00:44:15,690 --> 00:44:17,660 918 00:44:17,660 --> 00:44:23,200 Int nyota pointer ni sawa kwa anwani ya x, haki? 919 00:44:23,200 --> 00:44:28,180 Int nyota pointer inajenga kuzuia hii, wito ni pointer, 920 00:44:28,180 --> 00:44:30,650 na inateua kwa anwani ya x. 921 00:44:30,650 --> 00:44:32,750 922 00:44:32,750 --> 00:44:34,230 Mimi nina kutisha katika ampersands. 923 00:44:34,230 --> 00:44:36,460 924 00:44:36,460 --> 00:44:40,550 >> Sasa nini sisi ni kufanya ni sisi kusema OK, dereference pointer yetu. 925 00:44:40,550 --> 00:44:42,760 Hivyo sisi kwenda sawa, nini katika pointer yetu? 926 00:44:42,760 --> 00:44:44,820 Ni ampersand x. 927 00:44:44,820 --> 00:44:49,400 Kwenda ampersand x na reassign yake. 928 00:44:49,400 --> 00:44:51,620 929 00:44:51,620 --> 00:44:57,480 >> Hivyo sasa, ampersand x ni kwenda kuwa na 35. 930 00:44:57,480 --> 00:45:01,540 931 00:45:01,540 --> 00:45:05,174 Hivyo kimsingi, wakati uko dereferencing, wewe kwenda sawa. 932 00:45:05,174 --> 00:45:07,090 Wewe ni kwenda kuwa kuchora picha kama hii. 933 00:45:07,090 --> 00:45:09,423 Wewe ni kwenda kuwa kuchora mishale yako juu ya ambapo ni. 934 00:45:09,423 --> 00:45:16,030 Hivyo kwenda yanayopangwa hii katika kumbukumbu na ama nipe kwamba thamani ya nyuma, au kubadilisha hilo. 935 00:45:16,030 --> 00:45:21,620 Katika kesi hiyo, kwa sababu tuko katika hili thamani, sisi ni kumshirikisha kuwa ni 35. 936 00:45:21,620 --> 00:45:24,700 Ambapo katika mwisho moja, kama taarifa, sisi 937 00:45:24,700 --> 00:45:27,680 walikuwa kumshirikisha nini ilikuwa katika hapa na kitu kingine. 938 00:45:27,680 --> 00:45:30,450 939 00:45:30,450 --> 00:45:32,245 >> Hivyo kuwa meza huu wa kushangaza. 940 00:45:32,245 --> 00:45:35,000 941 00:45:35,000 --> 00:45:36,890 Ni kuwa mbaya. 942 00:45:36,890 --> 00:45:37,970 You guys kazi hiyo. 943 00:45:37,970 --> 00:45:39,640 Mimi nina kwenda kuteka ni nje ya bodi. 944 00:45:39,640 --> 00:45:41,306 Tunakwenda kujaza fomu hiyo kwa pamoja, sawa? 945 00:45:41,306 --> 00:45:42,290 946 00:45:42,290 --> 00:45:45,530 Hivyo kunyakua baadhi ya karatasi, kunyakua mpenzi, kuanza kufanya kazi. 947 00:45:45,530 --> 00:45:53,897 948 00:45:53,897 --> 00:45:55,605 Mimi nina kwenda kupata kipande kubwa ya chaki. 949 00:45:55,605 --> 00:45:56,624 950 00:45:56,624 --> 00:45:58,150 Kwa sababu ni kwenda kuwa mengi. 951 00:45:58,150 --> 00:45:59,410 952 00:45:59,410 --> 00:45:59,910 OK. 953 00:45:59,910 --> 00:48:08,567 954 00:48:08,567 --> 00:48:09,150 PROFESA: OK. 955 00:48:09,150 --> 00:48:11,599 956 00:48:11,599 --> 00:48:12,890 Hebu kuanza na safu ya kwanza. 957 00:48:12,890 --> 00:48:14,070 958 00:48:14,070 --> 00:48:16,970 Tutaweza kuanza huko, basi nyie Unaweza labda kazi kwa njia ya baadhi ya zaidi. 959 00:48:16,970 --> 00:48:17,870 OK. 960 00:48:17,870 --> 00:48:19,810 a sawa nyakati b c hivyo ni nini? 961 00:48:19,810 --> 00:48:21,420 962 00:48:21,420 --> 00:48:23,260 Siyo swali hila, mimi ahadi. 963 00:48:23,260 --> 00:48:24,440 >> STUDENT: 4 mara 5. 964 00:48:24,440 --> 00:48:25,420 >> PROFESA: 4 mara 5. 965 00:48:25,420 --> 00:48:25,920 20. 966 00:48:25,920 --> 00:48:26,730 Basi nini b? 967 00:48:26,730 --> 00:48:27,921 968 00:48:27,921 --> 00:48:28,420 STUDENT: 4. 969 00:48:28,420 --> 00:48:30,204 970 00:48:30,204 --> 00:48:31,043 >> PROFESA: Na c? 971 00:48:31,043 --> 00:48:31,542 STUDENT: 5. 972 00:48:31,542 --> 00:48:32,083 PROFESA: 5. 973 00:48:32,083 --> 00:48:35,960 Na kisha hii ni kwenda tu kuwa ampersand, ampersand b, 974 00:48:35,960 --> 00:48:38,575 ampersand c, haki? 975 00:48:38,575 --> 00:48:39,728 976 00:48:39,728 --> 00:48:40,596 Si mbaya. 977 00:48:40,596 --> 00:48:42,081 Ni rahisi kutosha. 978 00:48:42,081 --> 00:48:42,580 OK. 979 00:48:42,580 --> 00:48:44,300 Hivyo moja ijayo. 980 00:48:44,300 --> 00:48:48,725 A sawa na mara c, katika kesi mtu alikuwa usio wa kawaida na kwamba. 981 00:48:48,725 --> 00:48:49,812 982 00:48:49,812 --> 00:48:53,300 Ni kila mtu ukoo kwa mara ni sawa? 983 00:48:53,300 --> 00:49:00,105 OK, yote hii means-- hii ni shorthand kwa mara ni sawa na c. 984 00:49:00,105 --> 00:49:04,840 Unaweza pia kufanya hivyo pamoja na mgawanyiko, na kuongeza, na kutoa. 985 00:49:04,840 --> 00:49:12,130 Unaweza kufanya sawa, au pamoja na sawa c ina maana sawa pamoja c, bala sawa 986 00:49:12,130 --> 00:49:15,190 c itakuwa sawa minus c. 987 00:49:15,190 --> 00:49:16,690 Ni tu kisintaksia sukari. 988 00:49:16,690 --> 00:49:19,380 989 00:49:19,380 --> 00:49:24,140 >> Hivyo, katika kesi hii, a ni sawa na mara c atatupa nini? 990 00:49:24,140 --> 00:49:25,910 991 00:49:25,910 --> 00:49:28,186 Tena, si swali hila. 992 00:49:28,186 --> 00:49:28,965 >> STUDENT: 100. 993 00:49:28,965 --> 00:49:29,300 >> PROFESA: 100. 994 00:49:29,300 --> 00:49:30,383 Je kitu kingine chochote kubadilika? 995 00:49:30,383 --> 00:49:31,790 996 00:49:31,790 --> 00:49:32,290 Hakuna 997 00:49:32,290 --> 00:49:37,380 998 00:49:37,380 --> 00:49:39,850 Labda mimi hatimaye kupata bora katika ampersands yangu. 999 00:49:39,850 --> 00:49:42,047 >> STUDENT: Sawa, sorry, jinsi gani ya kupata 100? 1000 00:49:42,047 --> 00:49:42,630 PROFESA: OK. 1001 00:49:42,630 --> 00:49:46,594 Hivyo ni sawa na mara c, hivyo mara c. 1002 00:49:46,594 --> 00:49:48,510 STUDENT: Oh, wewe ni kutumia a kwa previous-- 1003 00:49:48,510 --> 00:49:49,135 PROFESA: Ndiyo. 1004 00:49:49,135 --> 00:49:51,450 Basi hizi ni maadili yetu ya hivi karibuni. 1005 00:49:51,450 --> 00:49:53,990 Hizi ni nini unapaswa kuwa kutumia kama sisi hoja chini, sawa. 1006 00:49:53,990 --> 00:49:57,290 1007 00:49:57,290 --> 00:50:01,520 Hivyo, b ni jambo tu kubadilisha, haki? 1008 00:50:01,520 --> 00:50:02,910 Basi hebu kujaza kila kitu kingine. 1009 00:50:02,910 --> 00:50:09,110 1010 00:50:09,110 --> 00:50:11,330 B. Je, ni b kwenda kuwa? 1011 00:50:11,330 --> 00:50:13,020 1012 00:50:13,020 --> 00:50:14,140 Kuwa au si kwa kuwa. 1013 00:50:14,140 --> 00:50:18,680 1014 00:50:18,680 --> 00:50:20,240 Hivyo kile ni hii kufanya? 1015 00:50:20,240 --> 00:50:21,605 Ni nini nyota pa kufanya? 1016 00:50:21,605 --> 00:50:23,280 1017 00:50:23,280 --> 00:50:25,350 >> STUDENT: Kanuni kwa eneo la pa. 1018 00:50:25,350 --> 00:50:26,390 1019 00:50:26,390 --> 00:50:27,480 >> STUDENT: Hapana, si kabisa. 1020 00:50:27,480 --> 00:50:29,470 Hivyo hii ni d kumbukumbu. 1021 00:50:29,470 --> 00:50:31,580 >> STUDENT: Hivyo b ni mitupu thamani ya pa. 1022 00:50:31,580 --> 00:50:37,340 >> PROFESA: Yeah, hivyo ni pa anwani ya, haki? 1023 00:50:37,340 --> 00:50:42,430 Hivyo ni kusema go ambapo ni kuhifadhiwa na kuwapa thamani hiyo. 1024 00:50:42,430 --> 00:50:43,884 Hivyo ni nini b? 1025 00:50:43,884 --> 00:50:44,425 STUDENT: 100. 1026 00:50:44,425 --> 00:50:46,534 PROFESA: 100. 1027 00:50:46,534 --> 00:50:47,450 Kamilifu. 1028 00:50:47,450 --> 00:50:49,879 OK, hivyo pc ni nini kubadilisha. 1029 00:50:49,879 --> 00:50:51,170 Kila kitu kingine anakaa sawa. 1030 00:50:51,170 --> 00:50:57,160 1031 00:50:57,160 --> 00:50:58,620 Nini pc kwenda kuwa? 1032 00:50:58,620 --> 00:51:00,770 1033 00:51:00,770 --> 00:51:01,580 Zoezi rahisi. 1034 00:51:01,580 --> 00:51:03,520 1035 00:51:03,520 --> 00:51:05,990 Pc ni sawa na pa, na nini ni pa? 1036 00:51:05,990 --> 00:51:07,049 >> STUDENT: Ampersand. 1037 00:51:07,049 --> 00:51:07,840 PROFESA: Perfect. 1038 00:51:07,840 --> 00:51:09,490 1039 00:51:09,490 --> 00:51:10,740 Sasa sisi ni kupata kuvutia. 1040 00:51:10,740 --> 00:51:12,310 1041 00:51:12,310 --> 00:51:15,230 OK, hebu kuvunja hii moja chini. 1042 00:51:15,230 --> 00:51:21,110 Kwanza, nini nyakati b c, kwa sababu hiyo sehemu rahisi ya hii moja, haki? 1043 00:51:21,110 --> 00:51:22,360 Mara B c is-- 1044 00:51:22,360 --> 00:51:23,320 >> STUDENT: 500. 1045 00:51:23,320 --> 00:51:28,880 >> PROFESA: Yeah, hivyo nini hii moja kufanya, 1046 00:51:28,880 --> 00:51:33,705 kama ya nyota AS, nini kubadilisha? 1047 00:51:33,705 --> 00:51:35,320 1048 00:51:35,320 --> 00:51:37,242 >> STUDENT: Nini katika the-- 1049 00:51:37,242 --> 00:51:38,200 PROFESA: Nini katika b? 1050 00:51:38,200 --> 00:51:41,340 STUDENT: Nini katika nafasi kwamba PB ni akizungumzia. 1051 00:51:41,340 --> 00:51:43,406 PROFESA: Na PB ni akizungumzia to-- 1052 00:51:43,406 --> 00:51:43,905 STUDENT: B. 1053 00:51:43,905 --> 00:51:46,740 PROFESA: B. Hivyo tu Jambo kubadilisha ni b, haki. 1054 00:51:46,740 --> 00:51:50,800 Hivyo b mara c, 500. 1055 00:51:50,800 --> 00:51:52,367 Hivyo kwamba ni nini mabadiliko sasa. 1056 00:51:52,367 --> 00:51:59,091 1057 00:51:59,091 --> 00:51:59,590 Baridi. 1058 00:51:59,590 --> 00:52:00,340 1059 00:52:00,340 --> 00:52:00,840 Nzuri. 1060 00:52:00,840 --> 00:52:01,905 You guys ni kufanya kubwa. 1061 00:52:01,905 --> 00:52:03,650 1062 00:52:03,650 --> 00:52:06,740 Haki zote, kuvunja hii chini moja. 1063 00:52:06,740 --> 00:52:08,050 1064 00:52:08,050 --> 00:52:09,630 C ni kubadilisha, haki? 1065 00:52:09,630 --> 00:52:11,530 Hivyo tunaweza kujaza katika kila kitu kingine. 1066 00:52:11,530 --> 00:52:12,540 1067 00:52:12,540 --> 00:52:13,205 Hebu angalia. 1068 00:52:13,205 --> 00:52:19,125 1069 00:52:19,125 --> 00:52:19,625 OK. 1070 00:52:19,625 --> 00:52:21,420 1071 00:52:21,420 --> 00:52:24,740 Tunajua kwamba c ni kwenda kuwa na bidhaa ya namba mbili, haki? 1072 00:52:24,740 --> 00:52:26,290 1073 00:52:26,290 --> 00:52:27,980 Ni namba mbili, ingawa? 1074 00:52:27,980 --> 00:52:28,970 >> STUDENT: A na c? 1075 00:52:28,970 --> 00:52:31,930 >> PROFESA: Hivyo ni haki kwa moja ya kwanza. 1076 00:52:31,930 --> 00:52:34,385 Hivyo sisi ni d referencing p ya, haki? 1077 00:52:34,385 --> 00:52:35,390 1078 00:52:35,390 --> 00:52:42,870 P ya pointi, hivyo tunajua kwamba hii ni kwenda kuwa mara 100 nini? 1079 00:52:42,870 --> 00:52:46,232 Times gani pc uhakika na? 1080 00:52:46,232 --> 00:52:47,410 1081 00:52:47,410 --> 00:52:48,740 Anazungumzia. 1082 00:52:48,740 --> 00:52:55,038 Hivyo mara 100 100 ni 10,000. 1083 00:52:55,038 --> 00:52:56,170 Je kwamba inafanya hisia? 1084 00:52:56,170 --> 00:52:57,640 1085 00:52:57,640 --> 00:52:58,200 Baridi. 1086 00:52:58,200 --> 00:53:00,500 Nyumbani kunyoosha, guys, mstari wa mwisho. 1087 00:53:00,500 --> 00:53:01,190 OK. 1088 00:53:01,190 --> 00:53:02,160 Nini kubadilisha hapa? 1089 00:53:02,160 --> 00:53:05,640 1090 00:53:05,640 --> 00:53:06,935 >> STUDENT: A. 1091 00:53:06,935 --> 00:53:09,435 PROFESA: A. Perfect, hivyo kila kitu kingine unaweza kukaa sawa. 1092 00:53:09,435 --> 00:53:16,210 1093 00:53:16,210 --> 00:53:16,710 OK. 1094 00:53:16,710 --> 00:53:17,970 Na ni nini? 1095 00:53:17,970 --> 00:53:23,610 1096 00:53:23,610 --> 00:53:26,060 Hivyo ni mara nini? 1097 00:53:26,060 --> 00:53:27,120 Hii ni nyota PB. 1098 00:53:27,120 --> 00:53:29,750 1099 00:53:29,750 --> 00:53:34,490 Hivyo nyota PB maana hapa AS, pointi PB b. 1100 00:53:34,490 --> 00:53:35,370 >> STUDENT: 500. 1101 00:53:35,370 --> 00:53:36,230 >> PROFESA: 500. 1102 00:53:36,230 --> 00:53:39,236 Hivyo tuna 500 100 mara. 1103 00:53:39,236 --> 00:53:41,758 Hiyo ni 50,000. 1104 00:53:41,758 --> 00:53:43,216 Whew! 1105 00:53:43,216 --> 00:53:45,646 Kuangalia kwamba. 1106 00:53:45,646 --> 00:53:47,982 >> STUDENT: Kwa nini tuna & C kwa last-- 1107 00:53:47,982 --> 00:53:48,690 PROFESA: Sorry. 1108 00:53:48,690 --> 00:53:50,080 STUDENT: Oh, Sawa. 1109 00:53:50,080 --> 00:53:51,600 PROFESA: mbaya wangu. 1110 00:53:51,600 --> 00:53:52,890 Kura ya maandishi. 1111 00:53:52,890 --> 00:53:53,917 1112 00:53:53,917 --> 00:53:54,500 Kila mtu mzuri? 1113 00:53:54,500 --> 00:53:55,630 1114 00:53:55,630 --> 00:53:56,660 Si mbaya sana, haki? 1115 00:53:56,660 --> 00:53:58,490 Tu inachukua kidogo wakati wa kufanya kazi kwa njia ya. 1116 00:53:58,490 --> 00:54:01,080 Kama kuvunja chini, kuelewa nini kila sehemu 1117 00:54:01,080 --> 00:54:03,197 ni akimaanisha to-- kama na kila kitu ni, 1118 00:54:03,197 --> 00:54:05,780 yes-- kuvunja chini kwa kidogo matatizo na kisha mawazoni, 1119 00:54:05,780 --> 00:54:07,345 na unaweza kufanya baadhi ya mambo ya kutisha. 1120 00:54:07,345 --> 00:54:08,970 Kuna majibu, lakini sisi alifanya hivyo. 1121 00:54:08,970 --> 00:54:10,324 1122 00:54:10,324 --> 00:54:11,115 Pointer hesabu. 1123 00:54:11,115 --> 00:54:13,961 1124 00:54:13,961 --> 00:54:14,460 Ah. 1125 00:54:14,460 --> 00:54:15,510 Mikono yangu ni wote chalky. 1126 00:54:15,510 --> 00:54:17,970 Hivyo kuongeza au subtracting int anpassar pointer 1127 00:54:17,970 --> 00:54:21,890 na ukubwa wa aina ya pointer. 1128 00:54:21,890 --> 00:54:22,940 1129 00:54:22,940 --> 00:54:28,390 Kumbuka jinsi kila aina ina ukubwa tofauti? 1130 00:54:28,390 --> 00:54:34,890 Hivyo kama mara mbili au muda mrefu muda mrefu ipo nane na int ni wanne lakini Char ni moja. 1131 00:54:34,890 --> 00:54:38,360 >> Hivyo kile unataka kufanya is-- jambo moja kukumbuka 1132 00:54:38,360 --> 00:54:44,080 ni tu kwamba ni kiasi gani yako thamani pointer kweli mabadiliko 1133 00:54:44,080 --> 00:54:46,550 itategemea aina ya pointer ni. 1134 00:54:46,550 --> 00:54:50,820 1135 00:54:50,820 --> 00:54:51,820 Kila mtu mwema na hili? 1136 00:54:51,820 --> 00:54:52,760 Naweza kufuta yake? 1137 00:54:52,760 --> 00:54:53,440 Sisi ni nzuri? 1138 00:54:53,440 --> 00:54:53,940 Kutisha. 1139 00:54:53,940 --> 00:55:01,020 1140 00:55:01,020 --> 00:55:07,501 >> Hivyo kama sisi kuwa na baadhi ya pointer that-- hii ni kwenda be-- mimi nina 1141 00:55:07,501 --> 00:55:08,834 kwenda kufanya ni int pointer. 1142 00:55:08,834 --> 00:55:10,610 1143 00:55:10,610 --> 00:55:12,760 Ni maduka huu. 1144 00:55:12,760 --> 00:55:14,210 1145 00:55:14,210 --> 00:55:20,170 Kama ungekuwa na kusema pointer pamoja na moja, nini ni kwenda kufanya 1146 00:55:20,170 --> 00:55:23,420 ni ni kwenda update hivyo kwa ukubwa wa int 1147 00:55:23,420 --> 00:55:25,950 kwa sababu hiyo ni aina ya pointer ni. 1148 00:55:25,950 --> 00:55:28,260 >> Na C, kila kitu ni kali sana na umewekwa. 1149 00:55:28,260 --> 00:55:29,440 1150 00:55:29,440 --> 00:55:35,260 int pointer ni kwenda update na kiasi cha nafasi int itachukua. 1151 00:55:35,260 --> 00:55:36,260 int ni ka nne. 1152 00:55:36,260 --> 00:55:37,650 1153 00:55:37,650 --> 00:55:39,060 >> Hivyo gani hii kurejea katika? 1154 00:55:39,060 --> 00:55:40,876 1155 00:55:40,876 --> 00:55:44,390 Wewe ni kuongeza tu minne kwenye hili. 1156 00:55:44,390 --> 00:55:50,040 Sasa pointer yako itakuwa be-- sawa. 1157 00:55:50,040 --> 00:55:51,820 1158 00:55:51,820 --> 00:55:55,380 >> Hivyo kama ilivyokuwa Char na sisi alifanya pointer pamoja na moja, itakuwa ya namna gani sasa? 1159 00:55:55,380 --> 00:56:00,300 1160 00:56:00,300 --> 00:56:03,330 Kama ni started-- kujifanya sisi started-- sasa hivi ni 0x08. 1161 00:56:03,330 --> 00:56:04,850 1162 00:56:04,850 --> 00:56:10,850 Hebu sasa wanasema kwamba hii ilikuwa Char pointer, na sisi aliongeza moja. 1163 00:56:10,850 --> 00:56:11,850 Je, ni mabadiliko ya? 1164 00:56:11,850 --> 00:56:14,989 1165 00:56:14,989 --> 00:56:16,030 Jinsi ka wengi ni Char? 1166 00:56:16,030 --> 00:56:16,680 >> Watazamaji: Moja. 1167 00:56:16,680 --> 00:56:17,304 >> SPIKA 1: Mmoja. 1168 00:56:17,304 --> 00:56:18,309 Watazamaji: Hivyo 0x09. 1169 00:56:18,309 --> 00:56:19,600 SPIKA 1: Hivyo itakuwa tisa. 1170 00:56:19,600 --> 00:56:22,571 1171 00:56:22,571 --> 00:56:23,820 Hivyo tu kitu cha kukumbuka. 1172 00:56:23,820 --> 00:56:28,340 Tu wakati kuongeza moja, siyo kuongeza moja isipokuwa ni Char. 1173 00:56:28,340 --> 00:56:34,190 Ni kuongeza wangapi ka aina ya kwamba ni, 1174 00:56:34,190 --> 00:56:36,960 ambayo ni kwa nini tuna hii equation hapa. 1175 00:56:36,960 --> 00:56:40,190 Hivyo ni mara int ukubwa ya aina ya pointer. 1176 00:56:40,190 --> 00:56:42,850 1177 00:56:42,850 --> 00:56:44,730 >> Hivyo tuna mfano hapa. 1178 00:56:44,730 --> 00:56:47,250 1179 00:56:47,250 --> 00:56:54,430 y ilikuwa kwa ajili ya kwamba thamani, 0x4, wakati sisi alifanya y pamoja sawa moja. 1180 00:56:54,430 --> 00:56:56,830 Nini ndani yake, nini katika x, haina mabadiliko. 1181 00:56:56,830 --> 00:56:58,610 Nini mabadiliko ni nini katika y. 1182 00:56:58,610 --> 00:57:04,980 anwani kuhifadhiwa katika y updated na nne sababu kuna ka wanne katika int 1183 00:57:04,980 --> 00:57:06,097 na ni int pointer. 1184 00:57:06,097 --> 00:57:07,290 1185 00:57:07,290 --> 00:57:07,790 >> Wote haki. 1186 00:57:07,790 --> 00:57:09,123 Hivyo sasa tuna zoezi jingine. 1187 00:57:09,123 --> 00:57:11,140 1188 00:57:11,140 --> 00:57:13,500 Hivyo swali ni nini magazeti. 1189 00:57:13,500 --> 00:57:36,710 1190 00:57:36,710 --> 00:57:37,650 Mawazo yoyote? 1191 00:57:37,650 --> 00:57:41,690 1192 00:57:41,690 --> 00:57:43,699 >> Watazamaji: idadi ya wahusika katika furaha ya paka? 1193 00:57:43,699 --> 00:57:44,490 SPIKA 1: Hasa. 1194 00:57:44,490 --> 00:57:45,531 Hivyo kama na kamba yako. 1195 00:57:45,531 --> 00:57:47,302 1196 00:57:47,302 --> 00:57:48,260 Je, kila mtu kupata kwamba? 1197 00:57:48,260 --> 00:57:49,509 Je, tunataka kutembea kwa njia hiyo? 1198 00:57:49,509 --> 00:57:50,300 1199 00:57:50,300 --> 00:57:52,010 >> Ndiyo, OK. 1200 00:57:52,010 --> 00:57:57,385 Hivyo tuna nini mimi here-- kama hii hivyo zaidi. 1201 00:57:57,385 --> 00:57:59,340 Mimi hawana [Inaudible] ridiculously. 1202 00:57:59,340 --> 00:58:01,690 >> Hivyo tuna kamba yetu hapa, furaha paka. 1203 00:58:01,690 --> 00:58:02,950 Nzuri. 1204 00:58:02,950 --> 00:58:05,080 Tuna baadhi ya kukabiliana na kwamba sisi ni kuweka wimbo wa. 1205 00:58:05,080 --> 00:58:11,430 Hivyo tuna baadhi Char * pointer kwamba tu ni kuweka sawa na Str. 1206 00:58:11,430 --> 00:58:14,320 Nini hii ni kufanya ni ni kumshirikisha baadhi pointer 1207 00:58:14,320 --> 00:58:16,380 mwanzo wa kamba yako. 1208 00:58:16,380 --> 00:58:19,840 Kwa sababu mimi nina uhakika, kama imeelezwa katika hotuba, 1209 00:58:19,840 --> 00:58:22,290 tumekuwa aliyopewa nyie hii aina data iitwayo kamba. 1210 00:58:22,290 --> 00:58:29,070 >> Lakini kwa kweli masharti ni tu safu of-- kama * Char. 1211 00:58:29,070 --> 00:58:32,330 Ni pointer rundo la wahusika kwamba ni contiguous katika kumbukumbu. 1212 00:58:32,330 --> 00:58:33,680 1213 00:58:33,680 --> 00:58:36,280 Hivyo hii tu seti sawa na kamba yoyote ni 1214 00:58:36,280 --> 00:58:38,980 kutambuliwa na ambapo tabia yake ya kwanza ni. 1215 00:58:38,980 --> 00:58:42,710 Hivyo hii ni kuweka tu baadhi ya uhakika sawa na mwanzo wa kamba. 1216 00:58:42,710 --> 00:58:44,130 Kila mtu nzuri huko? 1217 00:58:44,130 --> 00:58:44,960 Baridi. 1218 00:58:44,960 --> 00:58:49,840 >> Hivyo hii ni dereferencing pointer yetu. 1219 00:58:49,840 --> 00:58:53,760 Hivyo ni kweli kwenda kutupa baadhi ya thamani katika hapa, 1220 00:58:53,760 --> 00:58:55,610 katika kamba yetu kwamba sisi ni kuzungumza juu. 1221 00:58:55,610 --> 00:58:58,342 Na sisi ni kusema kwa muda mrefu kama si null Terminator. 1222 00:58:58,342 --> 00:59:00,550 Hivyo kuendelea mpaka kupata hadi mwisho wa kamba. 1223 00:59:00,550 --> 00:59:02,180 1224 00:59:02,180 --> 00:59:04,190 Mwisho pointer yako kwa moja. 1225 00:59:04,190 --> 00:59:09,250 Hivyo r, itakuwa kweli update na moja kila wakati kwa sababu hii ni Char, 1226 00:59:09,250 --> 00:59:09,820 * Char. 1227 00:59:09,820 --> 00:59:10,930 1228 00:59:10,930 --> 00:59:12,340 >> Hivyo ni kwenda kupitia. 1229 00:59:12,340 --> 00:59:13,290 Ni kwenda update. 1230 00:59:13,290 --> 00:59:16,705 Hivyo mara ya kwanza hii anaendesha, ni kwenda kuwa hapa katika h. 1231 00:59:16,705 --> 00:59:17,590 Ni kwenda update. 1232 00:59:17,590 --> 00:59:18,185 >> Utakuwa a. 1233 00:59:18,185 --> 00:59:21,310 Utakuwa p, y, na kadhalika na kadhalika. 1234 00:59:21,310 --> 00:59:22,300 Tutaweza kurekebisha kukabiliana. 1235 00:59:22,300 --> 00:59:26,160 Ilipo mwisho, tu Prints jinsi mbali ni wamezipata. 1236 00:59:26,160 --> 00:59:27,550 1237 00:59:27,550 --> 00:59:28,050 Ndiyo. 1238 00:59:28,050 --> 00:59:31,475 >> Watazamaji: Hivyo Ni makosa nafasi kama moja, haki? 1239 00:59:31,475 --> 00:59:31,974 OK. 1240 00:59:31,974 --> 00:59:34,294 1241 00:59:34,294 --> 00:59:35,222 >> SPIKA 1: Fikiria hivyo. 1242 00:59:35,222 --> 00:59:36,830 Ni kwamba question-- 1243 00:59:36,830 --> 00:59:37,746 >> Watazamaji: [inaudible]. 1244 00:59:37,746 --> 00:59:37,968 1245 00:59:37,968 --> 00:59:38,884 >> SPIKA 1: Hakuna wasiwasi. 1246 00:59:38,884 --> 00:59:39,720 1247 00:59:39,720 --> 00:59:42,736 Hii mimi kufanya hivyo. 1248 00:59:42,736 --> 00:59:47,710 Haki wote, hivyo jambo moja mimi kuelewa ni kwamba pamoja na safu, 1249 00:59:47,710 --> 00:59:51,736 unaweza pia kutibu kama pointer sababu arrays ni tu 1250 00:59:51,736 --> 00:59:52,860 matangazo ya kuendelea kumbukumbu. 1251 00:59:52,860 --> 00:59:53,970 1252 00:59:53,970 --> 00:59:56,380 >> Hivyo unaweza kutibu njia hiyo hiyo. 1253 00:59:56,380 --> 00:59:59,000 Unaweza kuendesha yao na kuyatumia, pia. 1254 00:59:59,000 --> 01:00:04,770 Hivyo badala ya kufanya, katika hii kesi, jambo sawa 1255 01:00:04,770 --> 01:00:07,490 itakuwa safu 0 sawa 1. 1256 01:00:07,490 --> 01:00:08,760 1257 01:00:08,760 --> 01:00:15,210 >> Lakini katika njia sawa kwamba kamba ni kuamua 1258 01:00:15,210 --> 01:00:18,740 na mwanzo wa ambapo tabia yake ya kwanza ni, 1259 01:00:18,740 --> 01:00:22,270 safu ni kuamua na ambapo kipengele yake ya kwanza ni. 1260 01:00:22,270 --> 01:00:25,120 Sababu tunajua, sisi ni uhakika, kwamba hizi 1261 01:00:25,120 --> 01:00:27,985 ni kwenda kuwa kuendelea vitalu ya kumbukumbu. 1262 01:00:27,985 --> 01:00:29,360 Hiyo ni nini inaruhusu sisi kufanya hivyo. 1263 01:00:29,360 --> 01:00:31,193 Tunajua wao ni kuendelea vitalu ya kumbukumbu. 1264 01:00:31,193 --> 01:00:32,230 1265 01:00:32,230 --> 01:00:36,500 >> Hivyo katika kesi hii, na dereferencing safu tu, kwamba inatuambia, 1266 01:00:36,500 --> 01:00:40,800 OK, kwenda kuanza safu yako, ambayo ni hapa. 1267 01:00:40,800 --> 01:00:42,640 Hivyo unaweza kuweka sawa na moja. 1268 01:00:42,640 --> 01:00:48,610 Na katika kesi hii, chochote safu yako aina ni, wakati wewe update kwa moja, 1269 01:00:48,610 --> 01:00:50,830 kwamba kama tu uppdatering kwa ripoti ijayo. 1270 01:00:50,830 --> 01:00:52,760 1271 01:00:52,760 --> 01:00:56,360 Unaweza kufanya hivyo kwa sababu wewe kujua nini katika safu yako. 1272 01:00:56,360 --> 01:00:59,770 Hivyo anajua ni kiasi gani kwa update pointer yako na, 1273 01:00:59,770 --> 01:01:02,925 nini anwani update kwa hivyo kwamba uko katika yanayopangwa ijayo. 1274 01:01:02,925 --> 01:01:04,740 1275 01:01:04,740 --> 01:01:09,400 >> Hivyo hii ni tu njia tofauti ya kuandika safu 0 sawa 1, 1276 01:01:09,400 --> 01:01:15,114 safu 1 ni sawa na 2, safu bracket 2 sawa na 3. 1277 01:01:15,114 --> 01:01:16,780 Ni tu njia nyingine ya kufikiri kuhusu hilo. 1278 01:01:16,780 --> 01:01:19,600 Kwa sababu wao ni kuendelea vitalu katika kumbukumbu, 1279 01:01:19,600 --> 01:01:21,830 unaweza rejea ama kwao na safu notation-- 1280 01:01:21,830 --> 01:01:24,390 ambayo mimi binafsi kupata easier-- lakini labda 1281 01:01:24,390 --> 01:01:27,347 unahitaji kuendesha ni madhubuti na anwani kumbukumbu. 1282 01:01:27,347 --> 01:01:28,930 Na hii ni ya namna gani kufanya hivyo. 1283 01:01:28,930 --> 01:01:30,630 1284 01:01:30,630 --> 01:01:32,630 Aina ya zaidi ya kama Jambo baridi unaweza kufanya 1285 01:01:32,630 --> 01:01:35,213 dhidi labda si kitu wewe ni kweli kwenda kutekeleza. 1286 01:01:35,213 --> 01:01:36,960 1287 01:01:36,960 --> 01:01:38,630 >> Mimi matumizi yake katika 61. 1288 01:01:38,630 --> 01:01:41,710 You guys pengine hawana haja ya na wasiwasi kuhusu hilo sana. 1289 01:01:41,710 --> 01:01:43,693 Lakini kama wewe ni nia, kuchukua 61 mwaka ujao. 1290 01:01:43,693 --> 01:01:45,269 1291 01:01:45,269 --> 01:01:46,560 Tuko katika nyumbani kunyoosha guys. 1292 01:01:46,560 --> 01:01:47,510 Mimi najua, ni muda mrefu. 1293 01:01:47,510 --> 01:01:50,570 1294 01:01:50,570 --> 01:01:58,880 Nguvu Kumbukumbu Allocation-- hivyo tunajua kwamba moja 1295 01:01:58,880 --> 01:02:01,790 mambo wakati sisi aliyesema wakati sehemu yetu ya kwanza pamoja, 1296 01:02:01,790 --> 01:02:04,560 sisi inaonekana katika wabadilishane kazi ambapo ilikuwa 1297 01:02:04,560 --> 01:02:08,010 nje ya wigo wa kazi yetu kuu. 1298 01:02:08,010 --> 01:02:14,370 Na sisi walikuwa kupita katika maadili haya waliokuwa ufanisi nakala. 1299 01:02:14,370 --> 01:02:20,570 >> Na mara moja wabadilishane kumaliza utekelezaji, ni tu kushoto stack. 1300 01:02:20,570 --> 01:02:22,830 Kumbuka, tuna stack frame kwa wabadilishane. 1301 01:02:22,830 --> 01:02:26,070 Ni majani na wale maadili kuondoka nayo. 1302 01:02:26,070 --> 01:02:27,050 Na walikuwa wamekwenda. 1303 01:02:27,050 --> 01:02:28,615 Sisi hakuweza kufanya kitu nao na tulikuwa kusikitisha 1304 01:02:28,615 --> 01:02:29,989 sababu hatuwezi byta maadili yetu. 1305 01:02:29,989 --> 01:02:31,070 1306 01:02:31,070 --> 01:02:36,560 >> Lakini pamoja na C, kama nilivyoeleza, wewe mengi ya nguvu juu ya kumbukumbu. 1307 01:02:36,560 --> 01:02:43,310 Hivyo nini unaweza kufanya ni unaweza kutenga mambo juu ya lundo hapa 1308 01:02:43,310 --> 01:02:46,830 kwamba kukaa huko mpaka kuwaambia vinginevyo. 1309 01:02:46,830 --> 01:02:48,280 >> Wao ni kama watoto nzuri. 1310 01:02:48,280 --> 01:02:49,150 Wao kukaa huko. 1311 01:02:49,150 --> 01:02:50,270 Hawana kuondoka. 1312 01:02:50,270 --> 01:02:52,750 Wao itabidi kukaa huko mpaka uko kama, sawa, unaweza kwenda mbali. 1313 01:02:52,750 --> 01:02:55,920 >> Wakati mambo juu ya stack, who-- wao ni kama watoto naughty. 1314 01:02:55,920 --> 01:02:59,160 Wao itabidi tu kukimbia wakati unataka kuwa hapo na kisha kutoweka. 1315 01:02:59,160 --> 01:03:00,160 Huwezi kupata yao nyuma. 1316 01:03:00,160 --> 01:03:01,350 1317 01:03:01,350 --> 01:03:07,187 >> Hivyo chungu is-- tunakwenda majadiliano juu ya malloc na bure, ambayo 1318 01:03:07,187 --> 01:03:08,895 Mimi nina uhakika wewe guys kusikia kuhusu katika hotuba. 1319 01:03:08,895 --> 01:03:10,270 1320 01:03:10,270 --> 01:03:14,210 Na kwamba kimsingi njia kuwa na data kuendelea sana. 1321 01:03:14,210 --> 01:03:18,920 Hivyo unaweza kuweka data karibu kwa muda mrefu kama unataka. 1322 01:03:18,920 --> 01:03:19,546 MHM. 1323 01:03:19,546 --> 01:03:21,475 >> Watazamaji: Je, unaweza kufafanua lundo na stack? 1324 01:03:21,475 --> 01:03:24,030 Ni watu wa namna maeneo ya kuweka mambo? 1325 01:03:24,030 --> 01:03:26,630 >> SPIKA 1: Hivyo wao ni kimsingi just-- wao ni 1326 01:03:26,630 --> 01:03:29,530 njia ya sisi rejea tu kumbukumbu. 1327 01:03:29,530 --> 01:03:37,300 Hivyo chungu ni inaweka tu ambapo kumbukumbu ni zilizotengwa dynamically, 1328 01:03:37,300 --> 01:03:40,960 ambapo stack inahusu zaidi stack muafaka 1329 01:03:40,960 --> 01:03:45,950 kwamba ni zaidi kati ya kazi ambayo ni kweli mbio. 1330 01:03:45,950 --> 01:03:47,200 Wewe si kweli kuwa na udhibiti. 1331 01:03:47,200 --> 01:03:50,690 >> tofauti kubwa, una kudhibiti juu ya lundo kama unataka. 1332 01:03:50,690 --> 01:03:52,710 Una chini ya udhibiti wa stack. 1333 01:03:52,710 --> 01:03:55,030 stack inategemea kazi ambayo ni mbio, 1334 01:03:55,030 --> 01:03:58,320 na utaratibu ambao wao ni kukimbia, na jinsi mambo ni akarudi. 1335 01:03:58,320 --> 01:04:01,290 Ambapo pamoja na lundo, kama tutaweza kuona, unaweza kusema, 1336 01:04:01,290 --> 01:04:06,639 OK, Mimi nataka thamani huu kuwa kuzunguka mpaka nawaambia vinginevyo. 1337 01:04:06,639 --> 01:04:08,180 Wewe hawaruhusiwi kujikwamua yake. 1338 01:04:08,180 --> 01:04:09,300 Wewe si kuruhusiwa kuifuta. 1339 01:04:09,300 --> 01:04:11,675 Wewe ni kwenda kuweka ni kuzunguka kwa muda mrefu kama mimi kukuambia. 1340 01:04:11,675 --> 01:04:15,780 Kupata kuwa bosi katika lundo, ambapo stack-- labda kama wewe 1341 01:04:15,780 --> 01:04:18,080 kama finagle njia yako unaweza kuwa bosi. 1342 01:04:18,080 --> 01:04:19,340 Lakini kabisa. 1343 01:04:19,340 --> 01:04:20,480 1344 01:04:20,480 --> 01:04:22,070 Na ni kweli kumbukumbu tu. 1345 01:04:22,070 --> 01:04:24,260 Ni njia tofauti tu akimaanisha kumbukumbu. 1346 01:04:24,260 --> 01:04:25,800 1347 01:04:25,800 --> 01:04:26,400 >> Baridi. 1348 01:04:26,400 --> 01:04:28,630 Hivyo, pamoja na kwamba, jinsi ya kudhibiti kumbukumbu yako. 1349 01:04:28,630 --> 01:04:32,070 Ni kwa malloc, ambayo wewe ni kwenda kupata kutumia. 1350 01:04:32,070 --> 01:04:37,100 Hivyo ni kidogo tu kwa mgao kumbukumbu. 1351 01:04:37,100 --> 01:04:38,459 Hayo ni yote ni. 1352 01:04:38,459 --> 01:04:41,250 Kuna kundi la baridi nyingine kazi ya kuwa na alloc mwishoni, 1353 01:04:41,250 --> 01:04:42,750 na wao kusimama kwa ajili ya mambo mbalimbali. 1354 01:04:42,750 --> 01:04:43,550 1355 01:04:43,550 --> 01:04:49,050 >> Hivyo wakati unahitaji kuhifadhi kwamba mahitaji outlast kazi yako ya sasa ili 1356 01:04:49,050 --> 01:04:51,010 kwamba wakati sasa yako kazi anaendesha mbali, 1357 01:04:51,010 --> 01:04:55,774 bado una data kwamba got kutoka hayo, unataka kutumia malloc. 1358 01:04:55,774 --> 01:04:57,190 Kwamba kutakuwa na initialize juu ya lundo. 1359 01:04:57,190 --> 01:05:00,140 Na kama nilivyosema na kuweka akisema, itabidi kuitunza huko 1360 01:05:00,140 --> 01:05:03,050 mpaka kuwaambia vinginevyo, ambayo ni jambo muhimu hapa. 1361 01:05:03,050 --> 01:05:08,450 >> Hivyo jambo moja taarifa, na hiyo ni kawaida kwa kweli ni muhimu, 1362 01:05:08,450 --> 01:05:13,620 ni kwamba hii sizeof ni super muhimu kutumia 1363 01:05:13,620 --> 01:05:16,440 kwa sababu kulingana na aina ya mashine wewe ni mbio, 1364 01:05:16,440 --> 01:05:22,470 inaweza kuwa na viwango tofauti ya kumbukumbu kwamba inachukua. 1365 01:05:22,470 --> 01:05:26,870 Hivyo daima wanataka kutumia ukubwa wa hivyo kwamba wewe si mashine tegemezi, 1366 01:05:26,870 --> 01:05:30,300 hivyo kwamba kanuni yako mapenzi kukimbia kwenye mashine yoyote. 1367 01:05:30,300 --> 01:05:32,360 >> Na kwamba ni tu sehemu ya kuandika code nzuri. 1368 01:05:32,360 --> 01:05:34,610 Kama ni kazi ya mashine moja, lakini si yoyote ya wengine, 1369 01:05:34,610 --> 01:05:36,440 jinsi muhimu ilikuwa mpango wako? 1370 01:05:36,440 --> 01:05:38,420 Hivyo daima wanataka kuhakikisha na kutumia sizeof. 1371 01:05:38,420 --> 01:05:41,306 >> Watazamaji: Hivyo ni kwamba kama ukubwa wa inchi 10 [inaudible]? 1372 01:05:41,306 --> 01:05:43,698 >> SPIKA 1: Hii ni kawaida ya 10 ints. 1373 01:05:43,698 --> 01:05:44,197 yeah. 1374 01:05:44,197 --> 01:05:45,360 1375 01:05:45,360 --> 01:05:48,830 Hivyo ukubwa wa ints atarudi kiasi gani moja int kuchukua. 1376 01:05:48,830 --> 01:05:51,530 Au ukubwa wa Char, jinsi kiasi gani moja Char kuchukua. 1377 01:05:51,530 --> 01:05:54,150 Na kisha jinsi vitalu wengi ya kwamba unataka? 1378 01:05:54,150 --> 01:05:57,590 >> Hivyo katika kesi hii, tunataka kitu kwamba tunaweza kuhifadhi ints 10. 1379 01:05:57,590 --> 01:06:00,240 Na itakuwa kazi bila kujali ya mashine, ambayo ni ya baridi. 1380 01:06:00,240 --> 01:06:01,720 1381 01:06:01,720 --> 01:06:04,846 Hivyo ni jinsi ka wengi mapenzi kwamba kweli kukupa? 1382 01:06:04,846 --> 01:06:06,190 Haraka math. 1383 01:06:06,190 --> 01:06:06,787 >> Watazamaji: 40. 1384 01:06:06,787 --> 01:06:07,370 SPIKA 1: 40. 1385 01:06:07,370 --> 01:06:07,869 Hasa. 1386 01:06:07,869 --> 01:06:09,520 1387 01:06:09,520 --> 01:06:12,030 Hivyo kitu kingine kubwa. 1388 01:06:12,030 --> 01:06:14,840 Pointer au malloc unaweza kurudi null. 1389 01:06:14,840 --> 01:06:17,910 >> Hivyo tena, daima kuangalia kwa kuona kama walirudi null 1390 01:06:17,910 --> 01:06:19,620 kabla ya kujaribu na kufanya chochote kwa hayo. 1391 01:06:19,620 --> 01:06:23,430 1392 01:06:23,430 --> 01:06:27,350 Kama wewe kujaribu na dereference pointer hii sasa, 1393 01:06:27,350 --> 01:06:29,720 ni tu kwenda segfault kwa sababu wewe akaenda na kujaribu 1394 01:06:29,720 --> 01:06:31,730 kugusa null wakati unapaswa kuwa. 1395 01:06:31,730 --> 01:06:34,000 Hivyo daima kuangalia kwa null. 1396 01:06:34,000 --> 01:06:36,075 Tena, wote unaweza kufanya. 1397 01:06:36,075 --> 01:06:38,300 1398 01:06:38,300 --> 01:06:39,720 >> Inaweza kurudi null. 1399 01:06:39,720 --> 01:06:42,740 Ni itabidi kurudi null ikiwa ni aidha nje ya nafasi, au kwa sababu yoyote 1400 01:06:42,740 --> 01:06:44,350 ni mbio katika baadhi mdudu kumbukumbu. 1401 01:06:44,350 --> 01:06:45,890 1402 01:06:45,890 --> 01:06:47,510 Ni wakati mwingine tu anarudi null. 1403 01:06:47,510 --> 01:06:48,990 Hivyo wewe tu na kuangalia kwa ajili yake. 1404 01:06:48,990 --> 01:06:51,050 Hiyo ni slide hii yote ni kusema. 1405 01:06:51,050 --> 01:06:53,366 1406 01:06:53,366 --> 01:06:55,240 Na kisha nini tuna hapa ni wito kwa bure. 1407 01:06:55,240 --> 01:07:00,550 Hivyo katika njia sawa kwamba kama wewe kufungua faili lazima kufunga faili, 1408 01:07:00,550 --> 01:07:04,340 kama wewe malloc kumbukumbu, lazima wewe huru kwamba kumbukumbu. 1409 01:07:04,340 --> 01:07:06,530 Na nyie kupata kufanya mambo ya kweli ya baridi. 1410 01:07:06,530 --> 01:07:09,624 >> Na kuna mpango unaweza kuendesha kwa kuona kama wewe ni milele kinachovuja kumbukumbu. 1411 01:07:09,624 --> 01:07:11,040 Lakini hawataki kuvuja kumbukumbu. 1412 01:07:11,040 --> 01:07:11,820 Ni mbaya kweli kweli. 1413 01:07:11,820 --> 01:07:13,191 1414 01:07:13,191 --> 01:07:15,020 Tu fujo hadi mambo. 1415 01:07:15,020 --> 01:07:20,939 >> Ni mbaya kufanya tu kama programu busara kwa ufanisi kubuni. 1416 01:07:20,939 --> 01:07:22,980 Lakini pia ni tu aina mbaya kwa kompyuta yako. 1417 01:07:22,980 --> 01:07:26,780 Mambo tu bure wakati malloc yao. 1418 01:07:26,780 --> 01:07:28,190 1419 01:07:28,190 --> 01:07:30,210 >> You guys kuona symmetries hapa. 1420 01:07:30,210 --> 01:07:31,180 Super rahisi. 1421 01:07:31,180 --> 01:07:33,010 Tu bure na kisha chochote pointer yako, 1422 01:07:33,010 --> 01:07:34,843 jina lolote la pointer yako ni, na ni 1423 01:07:34,843 --> 01:07:36,710 itachukua huduma ya kumkomboa hivyo kwa ajili yenu. 1424 01:07:36,710 --> 01:07:38,200 1425 01:07:38,200 --> 01:07:38,700 Baridi. 1426 01:07:38,700 --> 01:07:40,410 1427 01:07:40,410 --> 01:07:42,530 >> Basi tuna hii. 1428 01:07:42,530 --> 01:07:44,770 Hivyo sisi ni kwenda tu kutembea kwa njia ya mpango huu. 1429 01:07:44,770 --> 01:07:46,560 Na kisha wewe guys ni kosa. 1430 01:07:46,560 --> 01:07:50,240 >> Hivyo [inaudible] kuu tu. 1431 01:07:50,240 --> 01:07:51,690 Hivyo tuna baadhi int * pointer. 1432 01:07:51,690 --> 01:07:53,648 Hivyo tuna pointer hiyo ni kwenda kushikilia ints. 1433 01:07:53,648 --> 01:07:54,500 1434 01:07:54,500 --> 01:07:56,170 Na jinsi ints wengi ni kwenda kushikilia? 1435 01:07:56,170 --> 01:07:57,400 1436 01:07:57,400 --> 01:07:58,170 Moja tu. 1437 01:07:58,170 --> 01:07:59,400 1438 01:07:59,400 --> 01:08:01,100 Ukubwa wa int. 1439 01:08:01,100 --> 01:08:03,900 >> Sisi kuangalia kuona kama pointer ni null sababu 1440 01:08:03,900 --> 01:08:06,130 yaani, tunataka kusema si kufanya kitu chochote. 1441 01:08:06,130 --> 01:08:07,065 Ni mbaya. 1442 01:08:07,065 --> 01:08:08,130 1443 01:08:08,130 --> 01:08:12,130 Hivyo sisi magazeti baadhi kosa nje ya kumbukumbu, mara nyingi kurudi 1, 1444 01:08:12,130 --> 01:08:14,260 kama wewe guys ni kutumika. 1445 01:08:14,260 --> 01:08:17,390 >> Na kisha sisi hapa, sisi dereference pointer yetu. 1446 01:08:17,390 --> 01:08:22,840 Hivyo kwamba maana tunakwenda kuhifadhi kitu katika eneo tuliyopewa. 1447 01:08:22,840 --> 01:08:24,350 1448 01:08:24,350 --> 01:08:30,830 Int * pointer, au malloc, anarudi anwani ya ambapo kuweka kando hii 1449 01:08:30,830 --> 01:08:31,750 kumbukumbu kwa ajili yenu. 1450 01:08:31,750 --> 01:08:32,830 1451 01:08:32,830 --> 01:08:34,800 Hivyo ni kimsingi kutoa like-- kama wewe 1452 01:08:34,800 --> 01:08:38,149 kufikiri juu ya rundo ya nyumba katika kitongoji 1453 01:08:38,149 --> 01:08:40,640 kwamba unataka kuweka samani katika yako, malloc 1454 01:08:40,640 --> 01:08:43,850 ni kama OK, unaweza kupata kwenda kwa nyumba tatu. 1455 01:08:43,850 --> 01:08:45,800 Na inakupa anwani ya nyumba tatu. 1456 01:08:45,800 --> 01:08:48,775 >> Hivyo haki hii sasa, hii maduka pointer mitaani, 1457 01:08:48,775 --> 01:08:50,149 maduka pepe ya nyumba yako. 1458 01:08:50,149 --> 01:08:51,470 1459 01:08:51,470 --> 01:08:54,640 * PTR njia, OK, mimi nina katika nyumba yangu. 1460 01:08:54,640 --> 01:08:55,326 Baridi. 1461 01:08:55,326 --> 01:08:56,580 Mimi haja ya kupata baadhi integer. 1462 01:08:56,580 --> 01:08:59,229 >> Hivyo wewe ni kuuliza kwa mtu kukupa samani sasa. 1463 01:08:59,229 --> 01:09:00,430 Ili kupata baadhi int. 1464 01:09:00,430 --> 01:09:05,100 Na kuiweka katika pointer yako ambapo ni akizungumzia. 1465 01:09:05,100 --> 01:09:08,670 >> Na kisha tu prints nje, aliingia popote. 1466 01:09:08,670 --> 01:09:11,060 Na tena, kumbukumbu. 1467 01:09:11,060 --> 01:09:15,649 Hivyo hii ni kama wewe akaenda hii kushughulikia na wewe aliona nini huko. 1468 01:09:15,649 --> 01:09:17,120 1469 01:09:17,120 --> 01:09:17,630 Baridi? 1470 01:09:17,630 --> 01:09:20,174 >> Na kisha bila shaka sisi huru pointer yetu. 1471 01:09:20,174 --> 01:09:21,590 Usisahau bure pointer yako. 1472 01:09:21,590 --> 01:09:22,933 Usisahau kuangalia kwa null. 1473 01:09:22,933 --> 01:09:24,349 Usisahau bure pointer yako. 1474 01:09:24,349 --> 01:09:27,270 Una mambo mawili unakumbuka kutoka hii, au kwamba unapaswa kukumbuka. 1475 01:09:27,270 --> 01:09:27,770 Ndiyo. 1476 01:09:27,770 --> 01:09:31,590 Watazamaji: [inaudible] mambo kama kwamba, Char * s. 1477 01:09:31,590 --> 01:09:33,760 Jinsi ya kuja sisi kamwe huru wale? 1478 01:09:33,760 --> 01:09:34,529 >> SPIKA 1: Hm? 1479 01:09:34,529 --> 01:09:36,450 >> Watazamaji: Je wale kama masharti? 1480 01:09:36,450 --> 01:09:39,160 Wewe alisema masharti ni kama Char * s, haki? 1481 01:09:39,160 --> 01:09:41,200 Hivyo kwa nini sio sisi huru masharti? 1482 01:09:41,200 --> 01:09:43,204 >> SPIKA 1: You tu bure kama wewe ni mallocing. 1483 01:09:43,204 --> 01:09:44,620 Watazamaji: Oh, kama wewe ni mallocing. 1484 01:09:44,620 --> 01:09:47,399 SPIKA 1: Hivyo malloc na bure ni mambo mawili 1485 01:09:47,399 --> 01:09:49,000 kwamba unapaswa daima kuwa pamoja. 1486 01:09:49,000 --> 01:09:51,630 f wazi, f karibu, mambo mawili unapaswa kuwa pamoja. 1487 01:09:51,630 --> 01:09:54,471 Katika kesi hizo zote mbili, kuangalia kwa null. 1488 01:09:54,471 --> 01:09:54,971 Ndiyo. 1489 01:09:54,971 --> 01:09:57,130 >> Watazamaji: Hivyo bure ni tu kuruhusu kitu kingine 1490 01:09:57,130 --> 01:09:59,690 kuhifadhiwa huko baada ya mpango huu ametumia yake? 1491 01:09:59,690 --> 01:10:01,946 >> SPIKA 1: Ni kusema tu, OK, mimi nina kufanyika kwa hili. 1492 01:10:01,946 --> 01:10:03,320 Huna haja ya kuweka ni kuzunguka. 1493 01:10:03,320 --> 01:10:05,340 1494 01:10:05,340 --> 01:10:08,190 Vinginevyo kompyuta yako mapenzi Tu kama kujaribu na kuitunza huko. 1495 01:10:08,190 --> 01:10:10,910 Na kisha can't-- anaendesha katika masuala ya kumbukumbu baadaye. 1496 01:10:10,910 --> 01:10:13,660 Siku zote unataka huru ni kwa sababu kinaeleza kompyuta yako, OK, mimi nina 1497 01:10:13,660 --> 01:10:15,190 kufanywa na doa hii ya kumbukumbu. 1498 01:10:15,190 --> 01:10:17,190 Unaweza kuwa nyuma kwa ajili yangu kwa kutumia baadaye. 1499 01:10:17,190 --> 01:10:19,250 1500 01:10:19,250 --> 01:10:20,500 Baridi? 1501 01:10:20,500 --> 01:10:21,320 Ndiyo. 1502 01:10:21,320 --> 01:10:26,950 >> Watazamaji: Hivyo sisi kutumika% d tu kwa sababu mara mbili kwamba kuja nyuma, 1503 01:10:26,950 --> 01:10:28,330 au kwa nini is-- [inaudible]. 1504 01:10:28,330 --> 01:10:30,170 1505 01:10:30,170 --> 01:10:31,620 >> Watazamaji: Je, unaweza kutumia% i? 1506 01:10:31,620 --> 01:10:32,760 >> SPIKA 1: Unaweza kutumia% i. 1507 01:10:32,760 --> 01:10:35,052 1508 01:10:35,052 --> 01:10:36,135 Yoyote dakika ya mwisho maswali? 1509 01:10:36,135 --> 01:10:38,310 1510 01:10:38,310 --> 01:10:38,985 Kwenda mbele. 1511 01:10:38,985 --> 01:10:40,610 Watazamaji: Mimi tu swali haraka. 1512 01:10:40,610 --> 01:10:50,200 Hivyo PTR kutofautiana, that's-- kama, kwa int * PTR = malloc, 1513 01:10:50,200 --> 01:10:54,142 hiyo ni kusema tu ni akizungumzia nafasi katika memory-- 1514 01:10:54,142 --> 01:10:55,600 SPIKA 1: Je, unataka [inaudible]? 1515 01:10:55,600 --> 01:10:58,050 Watazamaji: --that ni ukubwa of-- hakuna, ni sawa. 1516 01:10:58,050 --> 01:11:01,292 Lakini ni akizungumzia tu nafasi katika kumbukumbu tu kwamba kama ka nne. 1517 01:11:01,292 --> 01:11:02,000 SPIKA 1: Haki. 1518 01:11:02,000 --> 01:11:03,030 1519 01:11:03,030 --> 01:11:07,070 Hivyo malloc ukubwa wa int anasema, OK, mimi nina kwenda kukimbia mbali, 1520 01:11:07,070 --> 01:11:08,780 kupata ka wanne wa kumbukumbu kwa ajili yenu. 1521 01:11:08,780 --> 01:11:10,700 Wakati hupata kwamba nne ka ya kumbukumbu, ni 1522 01:11:10,700 --> 01:11:14,030 anaye nyuma anwani ya ambapo ni kuanza, 1523 01:11:14,030 --> 01:11:16,160 na kwamba ni nini kuhifadhiwa katika pointer, au PTR. 1524 01:11:16,160 --> 01:11:17,510 1525 01:11:17,510 --> 01:11:18,010 Nzuri. 1526 01:11:18,010 --> 01:11:18,742 1527 01:11:18,742 --> 01:11:21,700 You guys kuangalia chini kuchanganyikiwa kuliko wengi watu wakati mimi majadiliano juu ya pointer, 1528 01:11:21,700 --> 01:11:23,670 hivyo mimi nina hisia nzuri hivi sasa. 1529 01:11:23,670 --> 01:11:24,520 >> Wote haki. 1530 01:11:24,520 --> 01:11:27,960 Kama siku zote, wewe guys wanapaswa kuwa wote wamezipata pset2 yako darasa kwa sasa. 1531 01:11:27,960 --> 01:11:32,769 Najua kumekuwa na baadhi ya wonky mambo ambapo anasema, formula si halali 1532 01:11:32,769 --> 01:11:33,310 au kitu. 1533 01:11:33,310 --> 01:11:36,166 Kama wewe ni kupata kwamba, wote wa darasa lako ni halali kwa upande wangu. 1534 01:11:36,166 --> 01:11:38,040 Hivyo siwezi kutuma wewe viwambo ya darasa lako. 1535 01:11:38,040 --> 01:11:39,011 1536 01:11:39,011 --> 01:11:41,760 Tu basi mimi kujua kama vizuri kama wewe ni kukosa darasa yoyote au kitu 1537 01:11:41,760 --> 01:11:43,060 haionekani kufanya hisia. 1538 01:11:43,060 --> 01:11:43,720 Kuja kwangu. 1539 01:11:43,720 --> 01:11:44,830 1540 01:11:44,830 --> 01:11:48,830 >> Nimekuwa super fahari ya wewe guys tayari, ili kuweka it up. 1541 01:11:48,830 --> 01:11:50,640 Na kuwa na mapumziko mema ya wiki yako. 1542 01:11:50,640 --> 01:11:53,440 Mimi nina uhakika mimi itabidi kuona baadhi ya wewe katika masaa ya ofisi. 1543 01:11:53,440 --> 01:11:55,414