1 00:00:00,000 --> 00:00:02,670 >> [TĒMA MUSIC] 2 00:00:02,670 --> 00:00:11,834 3 00:00:11,834 --> 00:00:13,365 >> SPEAKER 1: Sveiki, visiem. 4 00:00:13,365 --> 00:00:14,365 Laipni lūdzam atpakaļ uz sadaļu. 5 00:00:14,365 --> 00:00:15,700 6 00:00:15,700 --> 00:00:18,700 Jauka diena out--, kas ir iemesls, kāpēc, es esmu Protams, ir tikai četri no jums šeit 7 00:00:18,700 --> 00:00:21,180 un nav mūsu ierasts pack. 8 00:00:21,180 --> 00:00:22,670 Man ir bijis slims šīs nedēļas nogalē. 9 00:00:22,670 --> 00:00:24,294 Tāpēc man nav zvaigžņu dzimšanas jums puiši. 10 00:00:24,294 --> 00:00:26,400 Un es varētu sākt klepus briesmīgi visu šo. 11 00:00:26,400 --> 00:00:27,790 Tik tikko sedz ar mani. 12 00:00:27,790 --> 00:00:30,624 Es esmu gatavojas, lai tiešām mēģinātu un saņemt, izmantojot šo pirmo, 13 00:00:30,624 --> 00:00:32,290 lai gan, pirms man ir klepošana uzbrukumu. 14 00:00:32,290 --> 00:00:33,410 15 00:00:33,410 --> 00:00:37,390 Bet tikai jābūt vienkārši uz mani ar maz bit-- tas ir viss, es jautāju. 16 00:00:37,390 --> 00:00:39,370 17 00:00:39,370 --> 00:00:44,289 >> Tātad mūsu darba kārtība today-- tikai reminder-- jūsu viktorīna ir nākamnedēļ. 18 00:00:44,289 --> 00:00:46,830 Es jums šo pagājušajā nedēļā teica, lai to nebūtu nozvejas jums off aizsargs. 19 00:00:46,830 --> 00:00:47,954 Tāpēc es esmu atgādinot jums vēlreiz. 20 00:00:47,954 --> 00:00:49,180 Nākamās nedēļas jūsu viktorīna. 21 00:00:49,180 --> 00:00:52,730 Lai to panāktu, nākamnedēļ s sadaļa būs daudz vairāk 22 00:00:52,730 --> 00:00:55,180 of-- Es mēģināšu un strādāt kādā pārskatīšanu. 23 00:00:55,180 --> 00:00:58,130 Tātad, ja jūs puiši varētu man palīdzēt, nosūtot mani 24 00:00:58,130 --> 00:01:00,990 lietas, kas esat apmierināts ar, ka jūs uztrauc, 25 00:01:00,990 --> 00:01:03,530 tēmas, kas jūs gribētu, lai man aptvert, ka gribētu būt liels. 26 00:01:03,530 --> 00:01:05,740 Tāpēc es varu mēģināt un strādāt tos mūsu sadaļā nākamnedēļ 27 00:01:05,740 --> 00:01:11,540 vai nosūtīt jums papildu materiālu vai ieplūdes ka jūs nevarēsiet saņemt citur. 28 00:01:11,540 --> 00:01:12,150 >> Yeah! 29 00:01:12,150 --> 00:01:13,520 Vairāk cilvēku nāk! 30 00:01:13,520 --> 00:01:17,320 Es domāju, es to izdarīju slikti pagājušajā nedēļa, ka neviens negrib nākt atpakaļ? 31 00:01:17,320 --> 00:01:18,065 Es esmu nobijies. 32 00:01:18,065 --> 00:01:18,892 33 00:01:18,892 --> 00:01:21,100 Tāpēc pārējiem trim lietām ka mēs ejam, lai iet pa 34 00:01:21,100 --> 00:01:24,850 ir novirzīšana, failu I / O, un Tad norādes un dinamisku atmiņas. 35 00:01:24,850 --> 00:01:29,160 Es esmu pārliecināts, ka jūs visi esat super sajūsmā pointers-- ikviena mīļākie tēmu, 36 00:01:29,160 --> 00:01:31,310 tik vienkārši saprast. 37 00:01:31,310 --> 00:01:33,130 Es esmu pārliecināts, ka jūs puiši visi sanāca, ka, labi? 38 00:01:33,130 --> 00:01:39,510 >> Tātad pirmās lietas, pirmkārt, redirection-- tas ir būtībā tikai veids 39 00:01:39,510 --> 00:01:42,920 kontrolēt, kā jūs ievadi lietas uz savu programmu, 40 00:01:42,920 --> 00:01:44,606 kā jūs izejas lietas no jūsu programmā. 41 00:01:44,606 --> 00:01:46,980 Galvenie veidi, kā jūs guys Ir mijiedarbojas ar to, 42 00:01:46,980 --> 00:01:51,650 ir tikai ar standarta out ar savu print screen šeit. 43 00:01:51,650 --> 00:01:55,940 Bet ir veidi pipe-- kā mēs redzam šeit 44 00:01:55,940 --> 00:01:58,980 ir viens no mūsu words-- veida no caurules, ka informācijas 45 00:01:58,980 --> 00:02:02,850 vai ka dati par failu no faila. 46 00:02:02,850 --> 00:02:05,820 Tas ir tikai dažādi veidi iegūt lietas savā programmā 47 00:02:05,820 --> 00:02:10,681 un no sava programmu, tā vietā, lai vienkārši izdrukāt tos šajā ekrānā 48 00:02:10,681 --> 00:02:12,430 vai ievadot lietas no komandrindas. 49 00:02:12,430 --> 00:02:13,760 50 00:02:13,760 --> 00:02:18,030 >> Tātad pirmais ir maz lielāks nekā caret. 51 00:02:18,030 --> 00:02:22,085 Tik output-- tas vienkārši drukā produkciju failu, nevis jūsu ekrāna. 52 00:02:22,085 --> 00:02:23,620 53 00:02:23,620 --> 00:02:29,500 Tātad, ja jums bija kaut kas iespiests "Hello, world!" uz ekrāna, 54 00:02:29,500 --> 00:02:32,400 ja jūs nodot to vietā lai output.text, ka 55 00:02:32,400 --> 00:02:35,220 rada šo failu ar nosaukumu output.text. 56 00:02:35,220 --> 00:02:38,550 Un, atverot to, tas būs saka "Hello, world!" tur. 57 00:02:38,550 --> 00:02:41,410 Tas var būt noderīgi, super ja jums ir ton kļūdas 58 00:02:41,410 --> 00:02:43,430 patiesībā, kā mēs redzam šo vienu. 59 00:02:43,430 --> 00:02:46,810 Ja jūs darīt divas caret, tas būs drukāt kļūdu ziņojumus. 60 00:02:46,810 --> 00:02:52,090 >> Tātad, ja jums ir problēmas ar apkopojot, tas ir daudz kļūdu 61 00:02:52,090 --> 00:02:56,770 un jūs kļūst bogged leju, mēģinot lai ritinātu jūsu komandrindu 62 00:02:56,770 --> 00:02:59,110 ar visiem tiem, jūs varat vienkārši izdrukāt tos uz failu, 63 00:02:59,110 --> 00:03:02,130 atvērt šo tāpēc, ka failu var ritināt caur tiem vieglāk. 64 00:03:02,130 --> 00:03:05,160 Es faktiski izmanto, ka Daudz, kad man bija atkļūdošana 65 00:03:05,160 --> 00:03:07,970 mans 181 psets mehāniskā mācībām. 66 00:03:07,970 --> 00:03:10,000 Līdz ar to var būt super noderīgi vēlāk. 67 00:03:10,000 --> 00:03:18,370 Tā ir arī noderīga, ja jums ir programma ka varbūt ir radīt bibliotēka 68 00:03:18,370 --> 00:03:20,430 vai rada kādu komplektu stīgas, un tu 69 00:03:20,430 --> 00:03:22,846 nepieciešams, lai varētu redzēt, ka tas rada tos pareizi. 70 00:03:22,846 --> 00:03:23,860 71 00:03:23,860 --> 00:03:25,160 Tas ir veids, kā to darīt. 72 00:03:25,160 --> 00:03:28,280 >> Tātad, ja jūs drukāt tos failā, jums var vieglāk tos pārbauda, ​​vai ne? 73 00:03:28,280 --> 00:03:30,930 Versus mēģinot ritinātu caur komandrindu. 74 00:03:30,930 --> 00:03:32,740 75 00:03:32,740 --> 00:03:35,820 Un tad viena lieta atzīmēt ir tā, ka tikai ar lielāku 76 00:03:35,820 --> 00:03:40,090 nekā caret, ja jūs rakstāt uz failu, kas jau exists-- 77 00:03:40,090 --> 00:03:44,990 tāpēc, piemēram, ja mums bija tas pirmais laiks, mēs ieliekam to output.text, 78 00:03:44,990 --> 00:03:49,970 un tad mums bija otrais programmu ka drukāts to kā programmu divu 79 00:03:49,970 --> 00:03:54,250 un bija lielāks nekā output.text, tas pārrakstīs that-- tik 80 00:03:54,250 --> 00:03:56,715 pārrakstīt, kas bija kādreiz ka fails, lai sāktu ar. 81 00:03:56,715 --> 00:03:57,720 82 00:03:57,720 --> 00:04:00,750 >> Tātad, ja jūs vēlaties pievienot failā, kā mēs redzam šeit, 83 00:04:00,750 --> 00:04:04,779 jūs vienkārši darīt divas lielāka nekā zīmēm. 84 00:04:04,779 --> 00:04:05,820 Un tas būs pievienot to. 85 00:04:05,820 --> 00:04:06,750 Tas nebūs pārrakstīt. 86 00:04:06,750 --> 00:04:09,770 Tātad, ja jums ir nepieciešams, lai palaistu vairākas programmām un veids turēt 87 00:04:09,770 --> 00:04:13,170 dziesmu, ko visi no tiem ir atgriežoties pie jums failā, 88 00:04:13,170 --> 00:04:14,190 tas ir veids, kā to izdarīt. 89 00:04:14,190 --> 00:04:17,231 Ja jums nav vienalga, kas ir jūsu failā un tas ir atļauts pārrakstīts, 90 00:04:17,231 --> 00:04:19,204 jūs varat izmantot vienu lielāks nekā. 91 00:04:19,204 --> 00:04:20,600 Vai tas ir jēga visiem? 92 00:04:20,600 --> 00:04:23,205 93 00:04:23,205 --> 00:04:31,140 >> Mērķauditorija: Tāpat dot slash sveiki lielāks kā izejas dot tekstu, piemēram, divas reizes, 94 00:04:31,140 --> 00:04:34,030 tas būs tikai parādīs tikai produkciju dot teksta otrā LAIKU_ 95 00:04:34,030 --> 00:04:34,810 >> SPEAKER 1: Labais. 96 00:04:34,810 --> 00:04:40,450 Tātad tas būtu būtībā tikai pilnīgi pārrakstīt, kas bija tur, lai sāktu ar. 97 00:04:40,450 --> 00:04:44,260 Ja šis fails šeit output.text jau 98 00:04:44,260 --> 00:04:48,230 pastāv, būtībā kāds jums zvana ka atkal ar vienu lielākai 99 00:04:48,230 --> 00:04:51,920 nekā jūs varat domāt par to kā, piemēram, tas aizstāja failu. 100 00:04:51,920 --> 00:04:54,824 Kā tad, kad jūs ietaupot Word dokuments, un jūs saglabāt kā, 101 00:04:54,824 --> 00:04:57,365 un saglabāt tādu pašu nosaukumu, un tas pilnībā pārraksta it-- 102 00:04:57,365 --> 00:04:58,680 tas ir tas pats veida lieta. 103 00:04:58,680 --> 00:05:00,380 104 00:05:00,380 --> 00:05:03,550 Ikviens ir kādi jautājumi par tikai izvadi uz failu? 105 00:05:03,550 --> 00:05:05,051 106 00:05:05,051 --> 00:05:05,550 Awesome. 107 00:05:05,550 --> 00:05:11,440 >> Tātad, protams, ja jūs mainīt arrow virzienu, to var darīt ievadi. 108 00:05:11,440 --> 00:05:13,090 109 00:05:13,090 --> 00:05:19,960 Tātad, ja jūs puiši bija tāpat kā Cēzara vai VISIONEER 110 00:05:19,960 --> 00:05:23,195 un jums bija ieejas kaut ko, jums bija komandrindas argumentu 111 00:05:23,195 --> 00:05:24,960 kas faktiski ievadi. 112 00:05:24,960 --> 00:05:27,410 Tas ir vēl viens veids, kā to darīt. 113 00:05:27,410 --> 00:05:30,520 Tā vietā, lai gaida par komandrindas, 114 00:05:30,520 --> 00:05:33,800 piemēram, kad jūs lūdza savu vēstījums ķeizaram vai VISIONEER, 115 00:05:33,800 --> 00:05:36,490 ja jums bija teksta failu kas bija jūsu ziņu, 116 00:05:36,490 --> 00:05:38,280 jūs varētu vienkārši ierakstiet to, ka. 117 00:05:38,280 --> 00:05:44,930 >> Tātad, ja tas bija, piemēram, dot slash Cēzaru 3 mazāk nekā bultiņas ievadi tekstu, kas 118 00:05:44,930 --> 00:05:47,240 ir jūsu ziņa, ka varētu palaist tikai naudas sodu. 119 00:05:47,240 --> 00:05:51,310 120 00:05:51,310 --> 00:05:54,020 Kad jūsu Caesar programma faktiski lūdza ieguldījumu no lietotāja, 121 00:05:54,020 --> 00:05:57,360 tā jau ir, jo esat ievadījis šajā failā. 122 00:05:57,360 --> 00:05:58,830 Tas ir tikai vēl viens veids. 123 00:05:58,830 --> 00:06:02,445 Tikai reversa output-- tikai ieejas jūsu datiem. 124 00:06:02,445 --> 00:06:04,570 125 00:06:04,570 --> 00:06:06,680 >> Un tad pēdējais ir caurules. 126 00:06:06,680 --> 00:06:07,780 Tāpēc šī ir diezgan vēss. 127 00:06:07,780 --> 00:06:09,890 Jo tas ļauj jums ņemt izejas viena 128 00:06:09,890 --> 00:06:13,695 programma un nodot to kā ieejas uz citu programmu. 129 00:06:13,695 --> 00:06:15,250 130 00:06:15,250 --> 00:06:18,630 Es nezinu, vai kāds no jums spēlēja ar atšifrēt 131 00:06:18,630 --> 00:06:20,590 ka CS50 varētu būt dots jums, bet tas 132 00:06:20,590 --> 00:06:27,380 ļauj jums veikt kādu izlasi failu, ierakstiet to savā šifrēšanu, 133 00:06:27,380 --> 00:06:30,350 un tad no turienes ierakstiet ka jūsu atšifrēšanu 134 00:06:30,350 --> 00:06:32,470 lai pārliecinātos, ka tas izrādījās pats. 135 00:06:32,470 --> 00:06:34,050 Tātad, tas ir veids, piemēram, trīsceļu cilpa. 136 00:06:34,050 --> 00:06:38,400 137 00:06:38,400 --> 00:06:39,423 Iet uz to. 138 00:06:39,423 --> 00:06:41,785 >> Mērķauditorija: Ja programmas ir vairākas ieejas, 139 00:06:41,785 --> 00:06:47,646 Vai ir veids, kā pateikt to, kas ievade izmantot teksta failu vai izvadi? 140 00:06:47,646 --> 00:06:49,325 >> SPEAKER 1: Tas ir vairākas ieejas. 141 00:06:49,325 --> 00:06:52,190 142 00:06:52,190 --> 00:07:00,430 Neatkarīgi failu savu input--, kad tas ir lūdzot ievadi šo pirmo reizi, tas ir 143 00:07:00,430 --> 00:07:03,240 gatavojas pieņemt, es domāju, tas ir dodas uz cauruli visā failā. 144 00:07:03,240 --> 00:07:03,979 145 00:07:03,979 --> 00:07:07,145 Tātad, ja jums ir vairākas ieejas, tu esi būs cauruļvadu vairākus failus. 146 00:07:07,145 --> 00:07:08,190 147 00:07:08,190 --> 00:07:12,390 Tātad, ja jūs esat jautā ziņām trīs reizes savu kodu, 148 00:07:12,390 --> 00:07:15,230 jūs gatavojaties būt liekot trīs dažādiem failiem. 149 00:07:15,230 --> 00:07:15,980 Un tas kļūst traks. 150 00:07:15,980 --> 00:07:18,188 Un jums nevajadzētu jāuztraucas par to, ka tieši tagad. 151 00:07:18,188 --> 00:07:19,150 Bet tas ir ideja. 152 00:07:19,150 --> 00:07:20,680 153 00:07:20,680 --> 00:07:26,822 >> Tātad yeah, caurule ir tikai izejas viena Programma izmanto ieguldījumu otru. 154 00:07:26,822 --> 00:07:27,665 Ikvienam labs tur? 155 00:07:27,665 --> 00:07:28,565 156 00:07:28,565 --> 00:07:29,065 Atdzist. 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 Jūs, iespējams, nebūs to darīt pārāk daudz ar to. 160 00:07:32,890 --> 00:07:35,670 Bet jums vajadzētu saprast veidi, kā jūs varat izmantot šo. 161 00:07:35,670 --> 00:07:38,910 Un tur ir daži gadījumi, ka jūs varētu vēlēties, lai izmantotu to. 162 00:07:38,910 --> 00:07:44,590 >> Tāpēc failu I / O- Es zinu, ko jūs esat saying-- mēs esam pieraduši lasījums no 163 00:07:44,590 --> 00:07:50,500 un rakstot uz mūsu ekrāna tur, kas ir standarta un standarta out. 164 00:07:50,500 --> 00:07:54,370 Un tas, ko jūs guys ir bijis darot kopš klasi šeit. 165 00:07:54,370 --> 00:07:58,220 Bet jūs varat arī lasīt un rakstīt failus, kas ir visi failu I / O- tik failu ievadi, 166 00:07:58,220 --> 00:07:59,850 izeja ir viss tas nozīmē. 167 00:07:59,850 --> 00:08:00,930 168 00:08:00,930 --> 00:08:04,360 Tātad tas būtībā nozīmē, ka Jūs varat uzglabāt jūsu datus tagad. 169 00:08:04,360 --> 00:08:08,460 >> Kad jūs vienkārši izdrukāt to ekrāns, tas ir būtībā aizgājuši, vai ne? 170 00:08:08,460 --> 00:08:12,507 Tiklīdz jūs veicat "Hello pasaule "un palaist" Hello pasaule " 171 00:08:12,507 --> 00:08:14,090 tas drukā "Hello World", uz ekrāna. 172 00:08:14,090 --> 00:08:16,370 Bet jūs nevarat īsti darīt kaut kas ar to no turienes. 173 00:08:16,370 --> 00:08:18,950 Ja jūs glabājat tekstā failu, tad pēkšņi 174 00:08:18,950 --> 00:08:22,789 Jums ir šos datus, ka jūs esat ļāva manipulēt vai nodot to failā, 175 00:08:22,789 --> 00:08:24,080 vai nodot to programmu vēlāk. 176 00:08:24,080 --> 00:08:26,370 177 00:08:26,370 --> 00:08:29,290 Viens no iemesliem kāpēc mēs to darām, ir tikai 178 00:08:29,290 --> 00:08:31,560 kā veids, kā uzglabāt datus vēlākai izmantošanai. 179 00:08:31,560 --> 00:08:34,790 180 00:08:34,790 --> 00:08:37,279 >> Man ir pāris soļus šeit tikai ejot cauri standarts 181 00:08:37,279 --> 00:08:39,450 I / O. Ar vienu soli, jums ir nepieciešams, lai izveidotu atsauci 182 00:08:39,450 --> 00:08:43,480 lietai ar visu cepures FILE zvaigzne failu. 183 00:08:43,480 --> 00:08:45,740 Tā, ka rada rādītāju uz failu. 184 00:08:45,740 --> 00:08:48,080 185 00:08:48,080 --> 00:08:49,650 Tātad jūs vēlaties, lai to atvērtu. 186 00:08:49,650 --> 00:08:52,940 Un jūs sakāt, burtiski, tikai failu vienāds fopen. 187 00:08:52,940 --> 00:08:57,400 Un tas ir gatavojas atgriezties rādītāju uz faila tikko atvērts. 188 00:08:57,400 --> 00:08:59,610 189 00:08:59,610 --> 00:09:01,460 Es redzēju pāris jums puiši pie biroja darba. 190 00:09:01,460 --> 00:09:07,400 >> Bet viena no lietām ir remember-- norādes 191 00:09:07,400 --> 00:09:10,409 var būt daži adrese vai null, vai ne? 192 00:09:10,409 --> 00:09:12,700 Ja mums kādreiz ir gadījums, kad kaut ko var atgriezties null, 193 00:09:12,700 --> 00:09:14,990 ko darīt, mums ir jādara Pirms mēs kādreiz izmantot to? 194 00:09:14,990 --> 00:09:16,220 195 00:09:16,220 --> 00:09:19,000 Mums ir nepieciešams, lai pārbaudītu, vai tas null vai ne, vai ne? 196 00:09:19,000 --> 00:09:23,600 Tā kā daži no jums, iespējams, ir bijusi jautājums, kur kāds objekts 197 00:09:23,600 --> 00:09:26,110 tika atgriezās starplaikos bija null. 198 00:09:26,110 --> 00:09:28,170 Jūs mēģinājāt veikt daži funkcija par to. 199 00:09:28,170 --> 00:09:29,770 Un datoru vietā faulted. 200 00:09:29,770 --> 00:09:30,725 Taisnība? 201 00:09:30,725 --> 00:09:33,640 I bet pāris jums varēja šo jautājumu. 202 00:09:33,640 --> 00:09:38,890 >> Tātad ar fopen, fopen vai nu atgriezties rādītāju uz failu, 203 00:09:38,890 --> 00:09:41,200 vai arī, ja kaut kas noiet greizi, tas gatavojas atgriezties null. 204 00:09:41,200 --> 00:09:45,980 Tātad jums vienmēr ir nepieciešams, lai pārbaudītu ka tā nav atgriezta null 205 00:09:45,980 --> 00:09:47,880 Pirms jūs mēģināt darīt kaut ko citu. 206 00:09:47,880 --> 00:09:49,110 207 00:09:49,110 --> 00:09:51,974 Tas ir kā standarta paradigmas ka jūs gatavojas nepieciešams šeit. 208 00:09:51,974 --> 00:09:54,390 Ja tur kādreiz iespēja, ka kaut varētu atgriezties null, 209 00:09:54,390 --> 00:09:56,590 pārbaudiet, lai pārliecinātos, ka tas nav, pirms Jūs turpināt. 210 00:09:56,590 --> 00:09:58,911 Pretējā gadījumā jūs gatavojas nokļūt jauki vietnes kļūdas. 211 00:09:58,911 --> 00:10:00,410 Un neviens patīk tikt galā ar tiem. 212 00:10:00,410 --> 00:10:03,180 213 00:10:03,180 --> 00:10:06,410 >> Tā kā mēs redzam šeit, pirmo argumentu ir tikai ceļš uz failu. 214 00:10:06,410 --> 00:10:09,380 Ja šis fails neeksistē, tas notiek, lai radītu šo failu. 215 00:10:09,380 --> 00:10:10,713 Un tas ir tikai būs tukšs. 216 00:10:10,713 --> 00:10:10,789 217 00:10:10,789 --> 00:10:13,080 Un tad otrs arguments ir veids, ka jūs vēlaties. 218 00:10:13,080 --> 00:10:14,610 Vai mēs gribam, lai lasa no šīs lietas? 219 00:10:14,610 --> 00:10:15,560 Vai jūs vēlaties rakstīt no tā? 220 00:10:15,560 --> 00:10:16,476 Vai jūs vēlaties pievienot? 221 00:10:16,476 --> 00:10:17,600 222 00:10:17,600 --> 00:10:20,670 Tik tiešām, ko es tikko said-- ja fails neeksistē 223 00:10:20,670 --> 00:10:23,400 un jūs mēģināt nolasīt no tas, tas būs mest kļūdu. 224 00:10:23,400 --> 00:10:26,890 Ja fails name-- patīk, ja file.text vēl neeksistē 225 00:10:26,890 --> 00:10:29,250 un jūs vēlaties, lai rakstītu uz to, tas radīs 226 00:10:29,250 --> 00:10:33,110 tukšu failu ar nosaukumu file.text jums. 227 00:10:33,110 --> 00:10:36,612 Un, ja jūs vēlaties pievienot, Jums vajadzētu darīt to pašu. 228 00:10:36,612 --> 00:10:38,081 Vai tas ir jēga? 229 00:10:38,081 --> 00:10:40,580 Ja jūs mēģināt nolasīt no failu, kas neeksistē vēl, 230 00:10:40,580 --> 00:10:41,590 tas būs mest kļūdu. 231 00:10:41,590 --> 00:10:44,340 Pretējā gadījumā, tas radīs failu Jums darīt to, ko jūs vēlaties, lai to. 232 00:10:44,340 --> 00:10:45,970 233 00:10:45,970 --> 00:10:46,470 Atdzist. 234 00:10:46,470 --> 00:10:47,510 235 00:10:47,510 --> 00:10:48,880 Tagad mēs varam nolasīt no faila. 236 00:10:48,880 --> 00:10:52,570 Un tas ir tikai sava veida iet caur dažādām funkcijām 237 00:10:52,570 --> 00:10:58,980 ka mums ir par failu I / O. Šī griba būt vajadzīgi šīs nedēļas PSET, 238 00:10:58,980 --> 00:11:00,505 ja pareizi atceros. 239 00:11:00,505 --> 00:11:02,880 Jā, tas absolūti būs nepieciešamas šīs nedēļas PSET. 240 00:11:02,880 --> 00:11:04,260 241 00:11:04,260 --> 00:11:07,010 Tātad fgetc atgriež nākamo rakstzīmi. 242 00:11:07,010 --> 00:11:08,350 243 00:11:08,350 --> 00:11:10,300 fgets vienkārši atgriež teksta rindiņu. 244 00:11:10,300 --> 00:11:11,790 245 00:11:11,790 --> 00:11:14,610 Tas atgriezīsies kaut līdz jauna līnija, un tā būs pārtraukums. 246 00:11:14,610 --> 00:11:15,950 247 00:11:15,950 --> 00:11:18,700 Tātad fread skan noteiktu baitu skaits un sasaista tos 248 00:11:18,700 --> 00:11:20,700 masīvs, kas ir kaut kas jūs varētu 249 00:11:20,700 --> 00:11:25,485 vēlaties darīt ar atkārtotu size-- varētu būt noderīga. 250 00:11:25,485 --> 00:11:26,550 251 00:11:26,550 --> 00:11:29,290 >> Cik daudz cilvēku ir izlasījuši PSET spec, starp citu? 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 [Dzirdams] 255 00:11:32,760 --> 00:11:35,380 256 00:11:35,380 --> 00:11:36,580 >> SPEAKER 1: OK. 257 00:11:36,580 --> 00:11:37,530 Labi. 258 00:11:37,530 --> 00:11:41,940 Noteikti lasīt that-- tas ir jautri PSET. 259 00:11:41,940 --> 00:11:51,320 Jums, lai atgūtu svītrots atmiņu card-- tiešām aizraujoši, kad tā darbojas. 260 00:11:51,320 --> 00:11:54,100 Bet noteikti, sākt lasīt to. 261 00:11:54,100 --> 00:11:56,280 Nāciet runāt ar mani, ja jums ir jautājumi par to. 262 00:11:56,280 --> 00:11:59,290 >> Labi, tā kā es jau teicu, fread skan noteiktu skaitu baitu. 263 00:11:59,290 --> 00:12:01,340 264 00:12:01,340 --> 00:12:03,590 Tas ir daži patvaļīgi skaits ka jūs esat gatavojas noteikt. 265 00:12:03,590 --> 00:12:05,990 266 00:12:05,990 --> 00:12:08,260 Un tad fseek tikai kustas uz noteiktu pozīciju. 267 00:12:08,260 --> 00:12:11,150 Tā varbūt jums nav aprūpi par nākamajiem 10 baitu. 268 00:12:11,150 --> 00:12:12,880 Jūs vienkārši vēlaties, lai izlaistu uz priekšu. 269 00:12:12,880 --> 00:12:14,030 Jums nav jārūpējas par tiem. 270 00:12:14,030 --> 00:12:16,280 Jūs vēlaties lasīt, sākot no 11 baitu. 271 00:12:16,280 --> 00:12:18,252 fseek ļauj to darīt. 272 00:12:18,252 --> 00:12:20,710 Tātad tas ļauj jums būt selektīvs par to, ko jūs lasāt. 273 00:12:20,710 --> 00:12:25,880 Jo fgetc, fgets un fread izlasītu no konkrētu vietu failā. 274 00:12:25,880 --> 00:12:27,260 275 00:12:27,260 --> 00:12:35,090 >> Veids, kā domāt par to ir, ja tas ir mūsu failu, kad pirmo reizi to atvērtu, 276 00:12:35,090 --> 00:12:41,140 Jums ir šo nostāju failā kas sākas sākumā. 277 00:12:41,140 --> 00:12:45,040 Ikreiz, kad jūs zvanu fgetc, fgetf vai fread, 278 00:12:45,040 --> 00:12:48,875 tas notiek, lai sāktu no šī nostāja marķieris. 279 00:12:48,875 --> 00:12:51,340 280 00:12:51,340 --> 00:12:55,245 Pieņemsim, ka jūs vienkārši vēlaties lasīt šis rieciens atmiņas nekā šeit. 281 00:12:55,245 --> 00:12:56,300 282 00:12:56,300 --> 00:12:57,960 Jūs varat ne tikai zvanīt. 283 00:12:57,960 --> 00:13:02,430 Jums ir meklēt vairāk nekā šeit un pēc tam lasīt no turienes 284 00:13:02,430 --> 00:13:06,540 vai lasīt, izpaužas, vai getc, atkarībā no tā, ko jūs vēlaties. 285 00:13:06,540 --> 00:13:09,310 Tik meklēt tikai ļauj izlaist porcijas atmiņas. 286 00:13:09,310 --> 00:13:11,590 Un tas ir vienīgais veids, kā jūs varat izlaist lietas 287 00:13:11,590 --> 00:13:14,012 neizlasot tos savā buferī. 288 00:13:14,012 --> 00:13:15,470 Vai tas ir jēga visiem? 289 00:13:15,470 --> 00:13:21,110 290 00:13:21,110 --> 00:13:24,780 >> Acīmredzot, tur ir paralēlas here-- daudz 291 00:13:24,780 --> 00:13:27,780 mūsu produkcija, vai ieejas novirzīšana, jūs esat lasīt un rakstīt. 292 00:13:27,780 --> 00:13:31,800 Tik fputc tikai raksta raksturs failā. 293 00:13:31,800 --> 00:13:33,655 fputs raksta līniju. 294 00:13:33,655 --> 00:13:35,030 295 00:13:35,030 --> 00:13:37,420 Fprintf izdrukas formāta produkciju. 296 00:13:37,420 --> 00:13:41,190 Tātad, ja jums ir cilnes, vai telpa, vai plauktiņš. 297 00:13:41,190 --> 00:13:44,180 Un tad fwrite raksta daži masīvs baitu uz failu. 298 00:13:44,180 --> 00:13:48,860 Tātad, tas ir tas pats veids fwrite un fread ir analogi 299 00:13:48,860 --> 00:13:57,550 opposites-- fgets, fputs, un tad fputc un fgetc-- daudz 300 00:13:57,550 --> 00:14:00,710 no traks, ātri lietas. 301 00:14:00,710 --> 00:14:05,300 >> Tikko veida saglabāt šo handy-- jums ir dažādos laikos 302 00:14:05,300 --> 00:14:08,680 kur varbūt jūs vienkārši vēlaties viens raksturs laikā. 303 00:14:08,680 --> 00:14:09,890 Varbūt jūs vēlaties visu līniju. 304 00:14:09,890 --> 00:14:14,320 Ar savu vārdnīcu pset-- kas sastāv no divām psets, 305 00:14:14,320 --> 00:14:19,690 Es uzskatu, mēs jums visu vārdnīca teksta formātā 306 00:14:19,690 --> 00:14:22,252 kas ir katru vārdu atdalītas ar līniju. 307 00:14:22,252 --> 00:14:24,210 Tātad, ja jūs vēlējāties izlasīt ar vienu vārdu vienlaicīgi, 308 00:14:24,210 --> 00:14:31,769 Ko jūs varētu izmantot, ja jūs lasāt un viņi visi ir nodalīta jaunām līnijām, 309 00:14:31,769 --> 00:14:33,310 un jūs vienkārši vēlaties, vienu vārdu vienā reizē? 310 00:14:33,310 --> 00:14:35,320 311 00:14:35,320 --> 00:14:36,040 >> Mērķauditorija: Fgets 312 00:14:36,040 --> 00:14:36,748 >> SPEAKER 1: Labais. 313 00:14:36,748 --> 00:14:39,960 Fgets-- jo tas atgriežas kāds ir uz vienas līnijas. 314 00:14:39,960 --> 00:14:42,750 Un, ja katrs vārds ir tās pašu līniju, mēs varam izmantot fgets. 315 00:14:42,750 --> 00:14:44,511 316 00:14:44,511 --> 00:14:45,010 Atdzist. 317 00:14:45,010 --> 00:14:47,290 Vai, ka jēga, ikvienam? 318 00:14:47,290 --> 00:14:48,020 Forši? 319 00:14:48,020 --> 00:14:50,020 Jā, mēs ejam, lai saņemtu jautri daļa ar norādes 320 00:14:50,020 --> 00:14:51,728 ļoti drīz, kur jums nokļūt darīt daži math. 321 00:14:51,728 --> 00:14:52,776 Un tas būs lieliski. 322 00:14:52,776 --> 00:14:55,690 323 00:14:55,690 --> 00:14:57,740 >> Pēdējā step-- aizveriet failu. 324 00:14:57,740 --> 00:15:01,090 Ar tik daudz lietas šeit, viens no mūsu paradigmu 325 00:15:01,090 --> 00:15:03,550 ir, ja tā var atgriezties null, pārbaudiet null. 326 00:15:03,550 --> 00:15:06,160 Ja jūs atvērt kaut ko, jūs labāk to aizvērtu. 327 00:15:06,160 --> 00:15:10,419 Labi, lai jūs esat nav izdarīts, līdz jūs esat darīts, ja vien jūs esat slēgta to. 328 00:15:10,419 --> 00:15:12,585 Veida, piemēram, tas nav beidzies kamēr tauku dāma dzied. 329 00:15:12,585 --> 00:15:14,130 Tas ir tāpat kā slēdzot savu failu. 330 00:15:14,130 --> 00:15:16,860 331 00:15:16,860 --> 00:15:19,190 Kā tas saka šeit, tikai atkārtot, vienmēr 332 00:15:19,190 --> 00:15:21,750 atvērt failu, pirms jūs esat lasot vai rakstot uz to. 333 00:15:21,750 --> 00:15:24,450 Un vienmēr aizveriet to, ja esat atvēris to. 334 00:15:24,450 --> 00:15:25,460 Viss kārtībā? 335 00:15:25,460 --> 00:15:25,960 Atdzist. 336 00:15:25,960 --> 00:15:26,835 >> Tātad, šeit ir piemērs. 337 00:15:26,835 --> 00:15:29,250 338 00:15:29,250 --> 00:15:34,330 Tāpēc tiny-- es nezinu, ja jums puiši var redzēt, ka ļoti labi. 339 00:15:34,330 --> 00:15:36,805 Ja tikai mēs varētu palielināt spilgtums kaut kā. 340 00:15:36,805 --> 00:15:40,430 341 00:15:40,430 --> 00:15:45,030 Ļaujiet man patiešām to dara, ja es varu. 342 00:15:45,030 --> 00:15:48,020 343 00:15:48,020 --> 00:15:51,470 Labi, jūs puiši nevar īsti redzēt, ka vispār, jūs varat? 344 00:15:51,470 --> 00:15:52,905 Labi, mēs esam gatavojas to darīt, tad. 345 00:15:52,905 --> 00:16:35,094 346 00:16:35,094 --> 00:16:35,594 [Dzirdams] 347 00:16:35,594 --> 00:16:56,670 348 00:16:56,670 --> 00:16:58,605 >> Es pieņemu, tas ir daudz labāk, lai redzētu. 349 00:16:58,605 --> 00:17:17,330 350 00:17:17,330 --> 00:17:19,455 Var kāds redzētu, kur manu pele devās ir jautājums? 351 00:17:19,455 --> 00:17:22,837 Ah, tur tas is-- ko cīnās! 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 Būtībā, jums puiši ir jābūt sava veida par ideju par to, ko tas dara. 355 00:17:53,845 --> 00:17:56,740 356 00:17:56,740 --> 00:17:57,600 Tas nav ideāls. 357 00:17:57,600 --> 00:17:58,851 358 00:17:58,851 --> 00:18:02,425 Bet es labprātāk izskaidrot to, nekā tērēt vairāk laika cenšas formatēt to pareizi. 359 00:18:02,425 --> 00:18:03,610 360 00:18:03,610 --> 00:18:07,280 Būtībā, kā jūs redzēt šeit, sākam ar failu atvērt. 361 00:18:07,280 --> 00:18:09,620 Un mums ir daži datu bāzes failu, ka mēs esam 362 00:18:09,620 --> 00:18:12,300 atverot, ka saka, ka tā ir mūsu studenti. 363 00:18:12,300 --> 00:18:14,020 Un mēs ejam, lai rakstīt to. 364 00:18:14,020 --> 00:18:15,060 365 00:18:15,060 --> 00:18:17,720 Tātad, protams, atgriezties null. 366 00:18:17,720 --> 00:18:19,650 Tātad mums ir, lai pārbaudītu null. 367 00:18:19,650 --> 00:18:22,930 Un tad, ja tas nav null, mēs ejam cauri. 368 00:18:22,930 --> 00:18:25,660 Un, kā jūs redzat, mēs esam looping cauri šeit. 369 00:18:25,660 --> 00:18:26,960 Tur ir studenti. 370 00:18:26,960 --> 00:18:30,520 Studenti ir hash definēta kā trīs. 371 00:18:30,520 --> 00:18:34,060 Un tas, ko mēs darām, ir, mēs esam drukāšana uz failu, vai ne? 372 00:18:34,060 --> 00:18:36,975 Tātad, ko mēs izdrukāt, lai mūsu failu? 373 00:18:36,975 --> 00:18:47,040 374 00:18:47,040 --> 00:18:48,906 >> AUDITORIJA: Punkti kas ir masīvs? 375 00:18:48,906 --> 00:18:49,680 >> SPEAKER 1: Jā. 376 00:18:49,680 --> 00:18:50,980 Rādītāji, kas ir kas array-- precīzi. 377 00:18:50,980 --> 00:18:53,050 Tātad mēs atveram šo datu bāzes failu, kas 378 00:18:53,050 --> 00:18:56,040 Es pieņemu, ir zināma veida atzīmju datubāzi. 379 00:18:56,040 --> 00:19:01,100 Un mēs esam tikai izdrukāšana rādītāji katram studentam uz šo failu. 380 00:19:01,100 --> 00:19:02,140 Forši? 381 00:19:02,140 --> 00:19:02,640 Labi. 382 00:19:02,640 --> 00:19:03,811 383 00:19:03,811 --> 00:19:04,310 Awesome. 384 00:19:04,310 --> 00:19:05,100 OK. 385 00:19:05,100 --> 00:19:06,950 Pieņemsim nokļūt atpakaļ kuri paredzēti, 386 00:19:06,950 --> 00:19:08,646 >> Mērķauditorija: Man ir ātrs jautājums. 387 00:19:08,646 --> 00:19:11,570 Vai printf nav cilpa? 388 00:19:11,570 --> 00:19:12,870 Tas ir tikai tajā, ja cilpa? 389 00:19:12,870 --> 00:19:14,370 SPEAKER 1: Nē, tas ir cilpa. 390 00:19:14,370 --> 00:19:16,150 391 00:19:16,150 --> 00:19:18,810 Es neredzu savu peli ļoti labi šeit. 392 00:19:18,810 --> 00:19:21,359 Tāpēc es esmu cīnās, lai formāts, kas pareizi. 393 00:19:21,359 --> 00:19:22,525 Šis kronšteins būtu pagājis. 394 00:19:22,525 --> 00:19:23,610 395 00:19:23,610 --> 00:19:25,130 Tai vajadzētu būt uz leju šeit. 396 00:19:25,130 --> 00:19:26,605 Tas ir tas, kas ir jūsu cilpas. 397 00:19:26,605 --> 00:20:10,680 398 00:20:10,680 --> 00:20:11,180 Tur. 399 00:20:11,180 --> 00:20:12,160 Tagad tas ir diezgan. 400 00:20:12,160 --> 00:20:16,720 Tātad tas, kā tas būtu be-- izņemot šajā pēdējā grupā, kas man jānoraida. 401 00:20:16,720 --> 00:20:17,220 OK. 402 00:20:17,220 --> 00:20:19,491 Vai tas ir jēga visiem? 403 00:20:19,491 --> 00:20:19,990 OK. 404 00:20:19,990 --> 00:20:23,750 Mēs ejam, lai pārvietotos tālāk uz nākamo lieta then-- 405 00:20:23,750 --> 00:20:26,180 kas, patiesībā, jūs gatavojas nepieciešams, lai redzētu kodu. 406 00:20:26,180 --> 00:20:28,370 Tāpēc es esmu tikai gatavojas kopēt, ka vairāk nekā tagad. 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 Tāpēc es esmu gatavojas parādīs puiši šo kodu. 410 00:20:35,110 --> 00:20:38,240 Un es gribu, lai jūs, lai mēģinātu skaitlis kas tas ir vajadzēja darīt. 411 00:20:38,240 --> 00:20:49,740 412 00:20:49,740 --> 00:20:52,480 >> Tātad, ņemot vērā that-- ņemt minūti, vai arī tā. 413 00:20:52,480 --> 00:20:54,440 Izmēģināt un saprast, kas notiek šeit. 414 00:20:54,440 --> 00:21:58,840 415 00:21:58,840 --> 00:21:59,570 >> Jebkuras idejas? 416 00:21:59,570 --> 00:22:08,180 417 00:22:08,180 --> 00:22:12,470 >> Mēs zinām, ka mums ir vismaz divas argumenti komandrindas, vai ne? 418 00:22:12,470 --> 00:22:16,270 Es pieņemu, no kuriem viens būs ka [dzirdams] no mūsu programma ir 419 00:22:16,270 --> 00:22:17,530 un tad kaut kas cits. 420 00:22:17,530 --> 00:22:19,980 Jo, ja [dzirdams] ir mazāks nekā divi, mēs kliegt uz viņiem. 421 00:22:19,980 --> 00:22:21,140 Taisnība? 422 00:22:21,140 --> 00:22:25,300 Un no izmantošanas, tas izskatās tas būs daži no faila veida. 423 00:22:25,300 --> 00:22:26,260 Mēs visi piekrīt, ka? 424 00:22:26,260 --> 00:22:29,110 425 00:22:29,110 --> 00:22:31,570 Tāpēc tagad, kas ir cilpa dara? 426 00:22:31,570 --> 00:22:32,570 Kas tas iet cauri? 427 00:22:32,570 --> 00:22:35,000 428 00:22:35,000 --> 00:22:36,449 >> Mērķauditorija: Visi faili. 429 00:22:36,449 --> 00:22:37,240 SPEAKER 1: Tieši tā. 430 00:22:37,240 --> 00:22:39,650 Tas iet cauri visiem faili, kas mēs esam ievadi tur. 431 00:22:39,650 --> 00:22:40,720 432 00:22:40,720 --> 00:22:46,040 Tātad par katru failu, tas ir atverot kādu stīgu tur. 433 00:22:46,040 --> 00:22:47,560 Tas atverot šo failu. 434 00:22:47,560 --> 00:22:48,060 Taisnība? 435 00:22:48,060 --> 00:22:49,140 436 00:22:49,140 --> 00:22:52,380 Un tas ir lasījums no tā. 437 00:22:52,380 --> 00:22:53,420 438 00:22:53,420 --> 00:22:55,540 Protams, pārbaudot, vai tā ir null. 439 00:22:55,540 --> 00:22:57,220 Un tad tas ir drukāšanas. 440 00:22:57,220 --> 00:23:01,460 Ja tas ir spēkā, tas ir tikai stāsta mums ka tas nav fails, kas pastāv. 441 00:23:01,460 --> 00:23:04,290 Jo atceros, ar izlasiet fails ir pastāvēt. 442 00:23:04,290 --> 00:23:04,810 Taisnība? 443 00:23:04,810 --> 00:23:06,870 Ar rakstīt un pievienot, jūs varat saņemt prom ar to. 444 00:23:06,870 --> 00:23:08,970 Bet ar lasīt, mūsu fails ir pastāvēt. 445 00:23:08,970 --> 00:23:10,430 446 00:23:10,430 --> 00:23:13,330 >> Un tad, ja tas pastāv, ko mēs šeit darām? 447 00:23:13,330 --> 00:23:14,810 448 00:23:14,810 --> 00:23:15,780 Pieņemsim tikai sākt šeit. 449 00:23:15,780 --> 00:23:18,815 Kas tas do-- šo pirmo rakstzīmi. 450 00:23:18,815 --> 00:23:20,960 451 00:23:20,960 --> 00:23:21,790 Ko tas dara? 452 00:23:21,790 --> 00:23:24,100 Viņš saņem vienu rakstzīmi, vai ne? 453 00:23:24,100 --> 00:23:25,400 Tātad, kas ir tas dara? 454 00:23:25,400 --> 00:23:26,775 Tas kļūst par pirmo rakstzīmi. 455 00:23:26,775 --> 00:23:28,860 456 00:23:28,860 --> 00:23:30,200 Ikviens zina EOF? 457 00:23:30,200 --> 00:23:31,170 >> Mērķauditorija: faila beigas? 458 00:23:31,170 --> 00:23:32,680 >> SPEAKER 1: beigas file-- precīzi. 459 00:23:32,680 --> 00:23:35,310 Tātad, tas notiek, lai iet cauri visa lieta, vai ne? 460 00:23:35,310 --> 00:23:36,710 461 00:23:36,710 --> 00:23:40,780 Un tad tas notiek, lai atjauninātu ar kļūst katru turpmāko raksturs. 462 00:23:40,780 --> 00:23:41,565 Taisnība? 463 00:23:41,565 --> 00:23:43,636 Un, kas ir tas dara? 464 00:23:43,636 --> 00:23:44,760 Mērķauditorija: Liekot ka in-- 465 00:23:44,760 --> 00:23:46,741 466 00:23:46,741 --> 00:23:49,170 >> SPEAKER 1: putchar izdrukas jūsu ekrānsaudzētājs. 467 00:23:49,170 --> 00:23:50,867 468 00:23:50,867 --> 00:23:51,950 [Dzirdams] raksturs. 469 00:23:51,950 --> 00:23:54,300 Un tad, kad tas [dzirdams] tas aizveriet failu. 470 00:23:54,300 --> 00:23:57,370 >> Mērķauditorija: Vai jums nav nepieciešams [? cits? ?] 471 00:23:57,370 --> 00:23:59,005 >> SPEAKER 1: Ne vienmēr. 472 00:23:59,005 --> 00:24:01,480 Es domāju, tas ir sava veida nozīmēja šajā. 473 00:24:01,480 --> 00:24:06,780 Jo tas atgriežas, lai gan, ja vien jo tas nenoķer, jūs esat labi. 474 00:24:06,780 --> 00:24:07,940 475 00:24:07,940 --> 00:24:10,250 Es domāju, tas ir iespējams, labi praktizēt to darīt citam. 476 00:24:10,250 --> 00:24:15,755 Bet cits ne vienmēr vajadzīga, jo īpaši 477 00:24:15,755 --> 00:24:17,610 Ja jums ir kaut kas kā atgriešanās, kas 478 00:24:17,610 --> 00:24:20,640 nozīmē, ka šajā gadījumā, ja tas uztver tas, jūsu programma ir beigsies 479 00:24:20,640 --> 00:24:21,850 un tas nekad nokļūt šo. 480 00:24:21,850 --> 00:24:23,030 481 00:24:23,030 --> 00:24:29,190 Tas ir vairāk, lai gadījumā, ja jūs esat ne vienmēr atgriežas kaut ko. 482 00:24:29,190 --> 00:24:31,370 Jo, ja tas nav atgriežoties neko, 483 00:24:31,370 --> 00:24:34,430 tas nozīmētu, ka, ja tā būtu taisnība, pārējā tas joprojām darbojas. 484 00:24:34,430 --> 00:24:36,138 Un tādā gadījumā, jums gribētu nepatiesa. 485 00:24:36,138 --> 00:24:38,240 Ja tā ir atgriešanās, un Jūsu programmas beigas, 486 00:24:38,240 --> 00:24:41,960 cits nav nepieciešams visu laiks, atkarībā no apstākļiem. 487 00:24:41,960 --> 00:24:43,084 488 00:24:43,084 --> 00:24:44,375 Jēkabs bija jums ir jautājums? 489 00:24:44,375 --> 00:24:46,100 AUDITORIJA: Jā. 490 00:24:46,100 --> 00:24:49,300 Tātad tas fgetc saņemt nākamo rakstzīmi? 491 00:24:49,300 --> 00:24:50,734 Kā raksturs pieaugs? 492 00:24:50,734 --> 00:24:51,400 SPEAKER 1: Jā. 493 00:24:51,400 --> 00:24:52,774 Tātad fgetc saņem nākamo rakstzīmi. 494 00:24:52,774 --> 00:24:54,140 495 00:24:54,140 --> 00:24:56,866 Jūs varat domāt par to, piemēram, C ++ savā ziņā. 496 00:24:56,866 --> 00:24:58,350 >> Mērķauditorija: Tātad, kas bija EOF? 497 00:24:58,350 --> 00:25:00,877 >> SPEAKER 1: EOF ir faila beigas. 498 00:25:00,877 --> 00:25:03,960 Tas ir tikai marķieris, kas ļauj jums zināt ka jūs beigās jūsu failu. 499 00:25:03,960 --> 00:25:06,742 Tātad, tas notiek, lai drukātu Jūsu standartam out. 500 00:25:06,742 --> 00:25:08,950 Un tad tas notiek, lai aizvērtu failu, kad tas ir izdarīts. 501 00:25:08,950 --> 00:25:10,700 Un tad iesim uz nākamo failu, vai ne? 502 00:25:10,700 --> 00:25:12,660 Tātad kopumā, ko tas programma darīt? 503 00:25:12,660 --> 00:25:15,402 504 00:25:15,402 --> 00:25:16,090 >> [Dzirdams] 505 00:25:16,090 --> 00:25:16,900 >> SPEAKER 1: Jā. 506 00:25:16,900 --> 00:25:18,770 Tā vienkārši izdrukā viss tur. 507 00:25:18,770 --> 00:25:23,270 Tātad, ja jūs guys kādreiz sadaļā CAT un tad vārds kādu file-- 508 00:25:23,270 --> 00:25:26,240 Es nezinu, vai kāds no jums ir kādreiz darīts, ka uz jūsu terminālu. 509 00:25:26,240 --> 00:25:29,630 Bet, ja jūs kādreiz izmantot komandu CAT-- C--T-- 510 00:25:29,630 --> 00:25:31,880 un tad kāds fails Jums ir there-- to 511 00:25:31,880 --> 00:25:37,260 izdrukā to, lai jūsu terminālu, kurā var būt super ērts dažām lietām. 512 00:25:37,260 --> 00:25:38,746 Es to izmantot daudz. 513 00:25:38,746 --> 00:25:40,120 Vai tas ir jēga visiem? 514 00:25:40,120 --> 00:25:41,480 515 00:25:41,480 --> 00:25:42,100 Forši? 516 00:25:42,100 --> 00:25:46,530 >> Labi, tāpēc jūsu uzdevums now-- nu pats vai ar apkārtējiem cilvēkiem you-- 517 00:25:46,530 --> 00:25:54,930 ir vienkārši uzrakstīt vienkāršu programmu kas būs tikai rakstīt "Hello, World!" 518 00:25:54,930 --> 00:25:56,255 out failā. 519 00:25:56,255 --> 00:26:00,215 >> [Dzirdams] 520 00:26:00,215 --> 00:26:56,210 521 00:26:56,210 --> 00:26:57,040 >> [Dzirdams] 522 00:26:57,040 --> 00:26:59,248 >> SPEAKER 1: Man bija, piemēram, darīja Man, ka slikti pagājušajā nedēļā? 523 00:26:59,248 --> 00:27:00,201 524 00:27:00,201 --> 00:27:01,492 Es nedomāju, ka tas bija tik slikti. 525 00:27:01,492 --> 00:27:02,479 526 00:27:02,479 --> 00:27:03,520 Es esmu priecīgs jūs visi šeit. 527 00:27:03,520 --> 00:27:04,655 Tas patiešām padara mani laimīgu. 528 00:27:04,655 --> 00:27:07,565 529 00:27:07,565 --> 00:27:10,160 Es esmu meitene vienkārši baudām. 530 00:27:10,160 --> 00:27:11,688 Es tikai gribētu, kad mans sadaļā apmeklē. 531 00:27:11,688 --> 00:27:13,830 532 00:27:13,830 --> 00:27:18,270 Tāpēc es esmu tikai iegūt šo uzsākts jūs puiši, lai mēs varētu kods kopā. 533 00:27:18,270 --> 00:27:22,290 Man nepatīk, liekot nevienam par vietas, ja jūs vēlaties būt. 534 00:27:22,290 --> 00:27:26,486 535 00:27:26,486 --> 00:27:30,086 >> Mērķauditorija: Par viktorīnu, do mums ir uzrakstīt programmu? 536 00:27:30,086 --> 00:27:33,260 >> SPEAKER 1: Jums var lūgt uzrakstīt vienkāršas programmas ar rokām. 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 >> Mērķauditorija: viktorīna ir nākamnedēļ, vai ne? 540 00:27:38,510 --> 00:27:40,108 >> SPEAKER 1: viktorīna ir nākamo trešdien. 541 00:27:40,108 --> 00:27:40,855 542 00:27:40,855 --> 00:27:43,730 Tas nozīmē, ka tur ir jauki [? CSE?] šķirošanas puse tam, kas 543 00:27:43,730 --> 00:27:50,390 nozīmē, ka jūs saņemsiet savus punktus atpakaļ, ka night-- cikos? 544 00:27:50,390 --> 00:27:50,890 Kas to lai zina? 545 00:27:50,890 --> 00:27:51,973 Bet tas būs, ka nakts. 546 00:27:51,973 --> 00:28:02,020 547 00:28:02,020 --> 00:28:02,855 >> Labi. 548 00:28:02,855 --> 00:28:04,250 Kā mēs vēlamies sākt šo? 549 00:28:04,250 --> 00:28:07,964 550 00:28:07,964 --> 00:28:09,630 Es došu jums hint-- sākas ar to. 551 00:28:09,630 --> 00:28:11,455 >> Mērķauditorija: Jums ir atvērt failu. 552 00:28:11,455 --> 00:28:12,250 >> SPEAKER 1: Jā. 553 00:28:12,250 --> 00:28:14,060 Tātad, ko jūs vēlaties, lai izsauktu šo? 554 00:28:14,060 --> 00:28:16,150 Vai jūs vienkārši vēlaties, lai izsauktu to "fails"? 555 00:28:16,150 --> 00:28:17,480 Let 's padarīt to viegli. 556 00:28:17,480 --> 00:28:26,752 Tātad fopen--, kas ir mūsu izeja tests būs? 557 00:28:26,752 --> 00:28:36,130 To sauc par "Sveiki." 558 00:28:36,130 --> 00:28:37,810 Un kāda ir mūsu režīms? 559 00:28:37,810 --> 00:28:39,764 560 00:28:39,764 --> 00:28:41,055 Ko mēs darām, lai šo failu? 561 00:28:41,055 --> 00:28:42,676 562 00:28:42,676 --> 00:28:43,500 >> AUDITORIJA: Lasīt. 563 00:28:43,500 --> 00:28:44,401 564 00:28:44,401 --> 00:28:44,900 Rakstiski. 565 00:28:44,900 --> 00:28:46,191 SPEAKER 1: Mēs rakstām, lai to. 566 00:28:46,191 --> 00:28:47,360 567 00:28:47,360 --> 00:28:47,860 Jauki. 568 00:28:47,860 --> 00:28:50,330 569 00:28:50,330 --> 00:28:52,860 Labi, tāpēc mums ir šo failu tagad. 570 00:28:52,860 --> 00:28:54,920 571 00:28:54,920 --> 00:28:56,212 Kas mums jādara? 572 00:28:56,212 --> 00:28:57,420 Mērķauditorija: Pārbaudiet, vai tas ir null. 573 00:28:57,420 --> 00:28:59,820 SPEAKER 1: Pārbaudiet, vai tas ir null-- precīzi. 574 00:28:59,820 --> 00:29:01,980 Tas ir tas, ko es gribētu dzirdēt. 575 00:29:01,980 --> 00:29:05,930 Kas būtu automātiska, īpaši diezgan daudz no šī brīža. 576 00:29:05,930 --> 00:29:07,530 577 00:29:07,530 --> 00:29:10,950 Ja jūs sākat segfaulting, jūs, iespējams, nebija pārbaudīt null kaut kur. 578 00:29:10,950 --> 00:29:12,480 Deviņas reizes no desmit, kas ir būs jūsu kļūda. 579 00:29:12,480 --> 00:29:15,400 Tātad, ja jūs varētu tikai iegūt ieradums, vienmēr pārbaudiet, vai tas ir nulle, 580 00:29:15,400 --> 00:29:18,150 jūsu dzīve ir būs jauka un easy-- vai vieglāk. 581 00:29:18,150 --> 00:29:19,480 >> Tāpēc pārbaudiet, vai tas ir null. 582 00:29:19,480 --> 00:29:21,200 583 00:29:21,200 --> 00:29:24,820 Tātad, ja tas nav null, kas ir tas, kas sprādziena vienāds 584 00:29:24,820 --> 00:29:26,784 means-- nav null-- tas ir derīgs. 585 00:29:26,784 --> 00:29:27,700 Ko mēs vēlamies darīt? 586 00:29:27,700 --> 00:29:29,750 587 00:29:29,750 --> 00:29:31,570 Mēs vienkārši vēlamies, lai drukātu uz šo failu, vai ne? 588 00:29:31,570 --> 00:29:32,923 Tātad, ko mēs gatavojamies izmantot? 589 00:29:32,923 --> 00:29:34,092 >> AUDITORIJA: fprintf 590 00:29:34,092 --> 00:29:36,800 >> SPEAKER 1: Fprintf-- jauki. 591 00:29:36,800 --> 00:29:38,150 592 00:29:38,150 --> 00:29:44,000 Un fprintf ņem divas arguments-- vajadzības tas notiek, un to, ko mēs gribam izdrukāt. 593 00:29:44,000 --> 00:29:45,820 Tātad, kas ir pirmais? 594 00:29:45,820 --> 00:29:46,570 Kur tas notiek? 595 00:29:46,570 --> 00:29:47,490 >> AUDITORIJA: File. 596 00:29:47,490 --> 00:29:48,785 >> SPEAKER 1: Tas būs failu. 597 00:29:48,785 --> 00:29:49,784 598 00:29:49,784 --> 00:29:50,950 Un tas, ko mēs vēlamies drukāts? 599 00:29:50,950 --> 00:29:52,900 600 00:29:52,900 --> 00:29:58,065 "Hello, world!" 601 00:29:58,065 --> 00:29:58,565 Labi. 602 00:29:58,565 --> 00:30:03,670 Mums ir viena pēdējā thing-- vēl viens liels paradigma šeit. 603 00:30:03,670 --> 00:30:04,479 604 00:30:04,479 --> 00:30:05,145 AUDITORIJA: Close. 605 00:30:05,145 --> 00:30:05,853 SPEAKER 1: Close. 606 00:30:05,853 --> 00:30:09,990 607 00:30:09,990 --> 00:30:10,540 Tur jums iet. 608 00:30:10,540 --> 00:30:13,384 >> Mērķauditorija: Vai tas notiek Ja fails ir nulle? 609 00:30:13,384 --> 00:30:15,050 SPEAKER 1: Nē, tas ir, ja tā nav spēkā. 610 00:30:15,050 --> 00:30:16,881 Mērķauditorija: Ak, ja tas ir not-- OK. 611 00:30:16,881 --> 00:30:21,728 612 00:30:21,728 --> 00:30:25,410 Lai fopen un pēc tam divi argumenti, kas iet iekšā, 613 00:30:25,410 --> 00:30:27,655 Kāda pirmais arguments nozīmē atkal? 614 00:30:27,655 --> 00:30:30,392 >> SPEAKER 1: arguments ir tāpat kā faila nosaukumu 615 00:30:30,392 --> 00:30:31,350 ka jūs vēlaties doties. 616 00:30:31,350 --> 00:30:36,020 Tātad, pēc tam iet, jūs varētu ir daži failu ar nosaukumu "sveiki" 617 00:30:36,020 --> 00:30:38,320 ka bija "Hello, World" tajā. 618 00:30:38,320 --> 00:30:38,820 Tas ir viss. 619 00:30:38,820 --> 00:30:39,500 Tikai nosaukums. 620 00:30:39,500 --> 00:30:42,685 621 00:30:42,685 --> 00:30:48,650 >> Mērķauditorija: Un tā kā tas ir rakstiski, fails nav jau pastāv. 622 00:30:48,650 --> 00:30:49,675 Ir tā, ka tas, ko jūs teicāt? 623 00:30:49,675 --> 00:30:50,410 >> SPEAKER 1: Labais. 624 00:30:50,410 --> 00:30:50,910 Tieši tā. 625 00:30:50,910 --> 00:30:53,110 626 00:30:53,110 --> 00:30:55,839 Ja "Hello", kā failu neeksistē vēl, tas ir 627 00:30:55,839 --> 00:30:58,380 iet uz izveidot failu sauc Hello "un rakstīt to jums. 628 00:30:58,380 --> 00:30:59,631 629 00:30:59,631 --> 00:31:03,610 >> Mērķauditorija: Kad jūs esat stāsta programma rakstīja uz failu, 630 00:31:03,610 --> 00:31:08,075 kāpēc jūs rakstīt "failu", nevis faila nosaukums un fprintf-- 631 00:31:08,075 --> 00:31:13,600 >> SPEAKER 1: Tā kā šajā gadījumā, mēs esam ka liela FILE-- visi caps-- zvaigzne, 632 00:31:13,600 --> 00:31:14,260 failu. 633 00:31:14,260 --> 00:31:17,370 Tātad, tas ir rādītājs uz failu ka jūs runājat par. 634 00:31:17,370 --> 00:31:19,930 Tas ir tā, ka mēs vienkārši atsaukties uz to. 635 00:31:19,930 --> 00:31:24,850 Tātad šajā gadījumā, jums var domāt par file-- AHA, 636 00:31:24,850 --> 00:31:31,271 mēs varam izmantot this-- failu šeit atsaucas uz atvēršanu "Hello" 637 00:31:31,271 --> 00:31:32,145 un ļaujot tam rakstīt. 638 00:31:32,145 --> 00:31:34,728 >> Mērķauditorija: Vai mēs ieliekam "Hello" vietā [? lai tikai?] f failu? 639 00:31:34,728 --> 00:31:40,160 SPEAKER 1: Nē, jo "Hello" jābūt atklātam un rakstāms. 640 00:31:40,160 --> 00:31:41,820 641 00:31:41,820 --> 00:31:45,980 Failu šeit ir līdzīgi apzīmējums, kas saka OK, mēs 642 00:31:45,980 --> 00:31:49,190 ir šī file-- hello-- ka mēs meklējam. 643 00:31:49,190 --> 00:31:50,680 Tā ir atvērta. 644 00:31:50,680 --> 00:31:52,140 Un mēs rakstīt to. 645 00:31:52,140 --> 00:31:55,130 Ja jūs tikai izmantot "Hello", kas ir iekļauta tajā. 646 00:31:55,130 --> 00:31:56,846 Tātad, tas notiek, lai ķēms. 647 00:31:56,846 --> 00:31:58,590 648 00:31:58,590 --> 00:32:00,300 Es domāju, jūs varētu būt nosauca to. 649 00:32:00,300 --> 00:32:03,960 Jūs varētu darīt failu, zvaigzne, "Hello", ir vienāda. 650 00:32:03,960 --> 00:32:07,840 Bet viss ir tas, ka jums vajag failu zvaigžņu rādītāju, lai 651 00:32:07,840 --> 00:32:09,281 lai varētu izmantot šīs funkcijas. 652 00:32:09,281 --> 00:32:11,280 Mērķauditorija: Vai jūs varētu darīt failu, zvaigzne, fails, "Hello" 653 00:32:11,280 --> 00:32:13,113 vai jums ir likts failu zvaigzne, failu ar to? 654 00:32:13,113 --> 00:32:16,330 SPEAKER 1: Jums varētu do failu, zvaigzne, "Hello". 655 00:32:16,330 --> 00:32:19,790 Jūs varat mainīt šo kāds nosaukums vēlaties. 656 00:32:19,790 --> 00:32:22,114 Tas ir pilnīgi patvaļīgi ko tas vārds ir. 657 00:32:22,114 --> 00:32:23,179 658 00:32:23,179 --> 00:32:24,220 Jūs varat nosaukt to neko. 659 00:32:24,220 --> 00:32:25,501 660 00:32:25,501 --> 00:32:28,020 Nosaukt to peld spageti, ja vēlaties. 661 00:32:28,020 --> 00:32:29,690 >> Mērķauditorija: Kas ir "w" pēdiņās atrast? 662 00:32:29,690 --> 00:32:31,540 >> SPEAKER 1: "w" ir tikai režīmā. 663 00:32:31,540 --> 00:32:33,170 Tāpēc mēs esam rakstiski uz šo failu. 664 00:32:33,170 --> 00:32:34,410 665 00:32:34,410 --> 00:32:35,320 Ikvienam labs? 666 00:32:35,320 --> 00:32:36,227 Skaidrs? 667 00:32:36,227 --> 00:32:36,981 Jā. 668 00:32:36,981 --> 00:32:40,365 >> Mērķauditorija: Tātad, ja tā raksta šis failu, kur mēs pēc tam atrast šo failu? 669 00:32:40,365 --> 00:32:43,820 >> SPEAKER 1: Tas būšu pats katalogs, kurā tu atrodies. 670 00:32:43,820 --> 00:32:45,650 671 00:32:45,650 --> 00:32:48,880 Ja tu esi PSET trīs un Palaižot šo, jūsu PSET 672 00:32:48,880 --> 00:32:52,600 trīs mape būs šo failu ar nosaukumu "Hello". 673 00:32:52,600 --> 00:32:53,160 Forši? 674 00:32:53,160 --> 00:32:53,757 Ikvienam labs? 675 00:32:53,757 --> 00:32:55,840 Es jūtu, ka jūs visi panākt, lai to, kas ir lieliski. 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 Tātad atpakaļ uz manu slaidu show-- Man patīk, kad viss strādā. 679 00:33:05,960 --> 00:33:08,674 Labi, pointers-- Vai jūs guys satraukti? 680 00:33:08,674 --> 00:33:09,465 Norādes ir lieliski. 681 00:33:09,465 --> 00:33:11,581 682 00:33:11,581 --> 00:33:13,580 Viņi ņem mazliet wrap galvu ap. 683 00:33:13,580 --> 00:33:15,288 Šis ir mans otrais gads mācību norādes. 684 00:33:15,288 --> 00:33:16,850 Un es domāju, ka es beidzot saņēmu to. 685 00:33:16,850 --> 00:33:18,650 Tātad, ja jūs cīnās, tas ir OK. 686 00:33:18,650 --> 00:33:19,940 687 00:33:19,940 --> 00:33:24,070 Kā jau teicu iepriekš, zīmēšana palīdz daudz ar lietām CS, 688 00:33:24,070 --> 00:33:27,400 tik daudz, kā es domāju, ka cilvēki mēdz domāt ak, mēs esam pie datora. 689 00:33:27,400 --> 00:33:28,399 Mums vajadzētu tikai kodu. 690 00:33:28,399 --> 00:33:30,190 No-- zīmēšana būs tiešām jums palīdzēt. 691 00:33:30,190 --> 00:33:32,773 Un es tiešām aicinam jūs savlaicīgi savā kindergartner pusē 692 00:33:32,773 --> 00:33:35,010 un izcelt krītiņi vai marķieri un izloze. 693 00:33:35,010 --> 00:33:36,110 Jo tas jums palīdzēs. 694 00:33:36,110 --> 00:33:39,380 Un, ja jūs redzat mani darba laika, es būs līdzi kaudzēm papīru 695 00:33:39,380 --> 00:33:41,580 ar pildspalvas zīmēšanas lietas. 696 00:33:41,580 --> 00:33:44,370 >> Tāpēc jo īpaši ar pointers-- izdarīt attēlus. 697 00:33:44,370 --> 00:33:47,970 Un es esmu pārliecināts, ka mēs patiešām gatavojas būt zīmēšanas dažas bildes arī šeit. 698 00:33:47,970 --> 00:33:51,270 >> Tātad jūs puiši visi dabūja redzēt mīkstās, Šī atdzist claymation lieta. 699 00:33:51,270 --> 00:33:54,720 Un mēs domājam, ka tas ir patiešām smieklīgi, kad viņš eksplodē ķekars gabalos. 700 00:33:54,720 --> 00:33:56,280 701 00:33:56,280 --> 00:33:57,755 Tas ir sava komiksu atvieglojums par klasi. 702 00:33:57,755 --> 00:34:02,140 703 00:34:02,140 --> 00:34:05,900 C [dzirdams] tas lieliski spēja lai varētu kontrolēt atmiņu. 704 00:34:05,900 --> 00:34:10,090 Un tā ir viena no lietām, kas patiešām padara to tik spēcīgu valodu. 705 00:34:10,090 --> 00:34:13,469 Bet ar lielu spēku nāk liela atbildība. 706 00:34:13,469 --> 00:34:16,230 Un trakas lietas var notikt Ja jūs neesat uzmanīgi. 707 00:34:16,230 --> 00:34:18,560 Tātad, ja jūs izmantojat norādes, jūs vēlaties, lai padarītu 708 00:34:18,560 --> 00:34:21,440 pārliecināts, ka jūs patiešām saprotat tieši to, ko jūs darāt. 709 00:34:21,440 --> 00:34:25,530 Cerams, ka nākamais mazliet laiks palīdzēs jums tiešām saprast 710 00:34:25,530 --> 00:34:27,850 norādes, kā tos izmantot, un to, kā manipulēt ar viņiem. 711 00:34:27,850 --> 00:34:29,170 712 00:34:29,170 --> 00:34:33,460 >> Tāpēc memory-- es esmu pārliecināts, ka mēs esam redzējis šo diagrammu iepriekš. 713 00:34:33,460 --> 00:34:38,540 Tātad tas ir tikai vienkāršs diagramma kā lietas varētu uzglabāt atmiņu. 714 00:34:38,540 --> 00:34:43,145 Tātad, jūs būtībā ir šie milzīgs bloki no viena baitu blokiem 715 00:34:43,145 --> 00:34:46,000 ir tas, ko mēs esam here-- neliela soli pa vienam katru reizi. 716 00:34:46,000 --> 00:34:51,810 Tas ir hex [dzirdams] tik astoņu bitu bloki. 717 00:34:51,810 --> 00:34:55,510 Un katrs bloks ir saistīta ar kādu heksadecimālo adresi. 718 00:34:55,510 --> 00:34:58,750 Tātad, ja jūs kādreiz redzēt 0x, ka ir tikai notating 719 00:34:58,750 --> 00:35:00,670 ka tas ir heksadecimālajā adresi. 720 00:35:00,670 --> 00:35:03,970 Jūs varat pieņemt, tas nozīmē, daži adresi atmiņā. 721 00:35:03,970 --> 00:35:06,935 Mēs runājam par atmiņas adreses kad jūs redzat heksadecimālo. 722 00:35:06,935 --> 00:35:10,420 723 00:35:10,420 --> 00:35:14,630 >> Mums ir Ints ir mainīgie, pludiņiem ir mainīgie, kas saglabā. 724 00:35:14,630 --> 00:35:16,260 Tātad Ints veikalu Ints. 725 00:35:16,260 --> 00:35:17,430 Pludiņiem veikals pludiņi. 726 00:35:17,430 --> 00:35:20,260 Tātad mums ir arī norādes ka veikals atmiņas adreses. 727 00:35:20,260 --> 00:35:21,660 Tas ir sava veida kartēšanu. 728 00:35:21,660 --> 00:35:24,240 Norādes ir tikai atmiņas adresēm. 729 00:35:24,240 --> 00:35:25,780 730 00:35:25,780 --> 00:35:27,292 Tātad tas ir kā sava veida tur. 731 00:35:27,292 --> 00:35:29,550 732 00:35:29,550 --> 00:35:34,470 Jūsu ierīce ir 32-bit, kas nozīmē, ka atmiņas adrese ir četri baiti. 733 00:35:34,470 --> 00:35:37,830 Tāpēc jebkurš rādītājs, ka jums ir arī būs četri baiti. 734 00:35:37,830 --> 00:35:43,200 Vai arī, ja tas ir četri baiti, atmiņa ir četri baiti. 735 00:35:43,200 --> 00:35:44,790 Norādes veikals atmiņas. 736 00:35:44,790 --> 00:35:46,430 Tāpēc viņi četri baiti. 737 00:35:46,430 --> 00:35:48,460 Cool-- vienkārši vēlamies stiprināt to. 738 00:35:48,460 --> 00:35:50,120 739 00:35:50,120 --> 00:35:52,220 >> Jums vajadzētu saņemt šo komiksu tagad. 740 00:35:52,220 --> 00:35:55,040 Es nezinu, cik daudzi no jums ir xkcd fani, bet es mīlu xkcd. 741 00:35:55,040 --> 00:35:55,780 Tas ir lieliski. 742 00:35:55,780 --> 00:35:57,290 743 00:35:57,290 --> 00:35:57,790 >> Labi. 744 00:35:57,790 --> 00:36:01,640 Tā radot pointers-- kā jau teicu, tas ir diezgan daudz, tāpat kā kaut kas cits. 745 00:36:01,640 --> 00:36:02,930 Jums ir veidu. 746 00:36:02,930 --> 00:36:04,050 Jums ir nosaukums. 747 00:36:04,050 --> 00:36:04,810 Taisnība? 748 00:36:04,810 --> 00:36:10,410 Tas ir tas, ko mēs esam tur. [? Hex?] Zvaigzne nozīmē, ka tas ir rādītājs, 749 00:36:10,410 --> 00:36:12,250 un tad ko jūs vēlaties, lai izsauktu to. 750 00:36:12,250 --> 00:36:15,770 Tātad veids pārstāv ko jūs varat saglabāt. 751 00:36:15,770 --> 00:36:16,850 752 00:36:16,850 --> 00:36:17,990 Viss kārtībā? 753 00:36:17,990 --> 00:36:24,350 Tādā pašā veidā, ka, ja mēs Ints, Mēs zinām, mēs uzglabātu int tur. 754 00:36:24,350 --> 00:36:25,990 755 00:36:25,990 --> 00:36:30,280 Ar rādītājs, to tur atmiņas adresi. 756 00:36:30,280 --> 00:36:34,240 Bet ko tas nozīmē ir that-- šeit ir, ja zīmējums gatavojas noderēs. 757 00:36:34,240 --> 00:36:36,170 758 00:36:36,170 --> 00:36:45,980 Tātad, šajā gadījumā, mums ir daži value-- teiksim četri. 759 00:36:45,980 --> 00:36:49,306 Četri ir vienā adresē. 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 >> Šis pirmais šeit nozīmē ka tas ir rādītājs 2x. 763 00:36:56,170 --> 00:36:56,740 Taisnība? 764 00:36:56,740 --> 00:36:57,628 Tas ir daži rādītājs x. 765 00:36:57,628 --> 00:36:58,852 766 00:36:58,852 --> 00:37:00,940 x var būt kaut kas, neatkarīgi. 767 00:37:00,940 --> 00:37:01,960 768 00:37:01,960 --> 00:37:05,130 Neatkarīgi x is-- teikt x ir četri. 769 00:37:05,130 --> 00:37:07,280 Tas notiek, lai saglabātu atmiņas adrese šeit. 770 00:37:07,280 --> 00:37:12,260 Tātad int, zvaigzne, X- tas ir dažas citas slots memory-- 771 00:37:12,260 --> 00:37:13,590 kas zina, kas tas ir. 772 00:37:13,590 --> 00:37:15,430 Bet tas notiek, lai saglabātu adresi šeit. 773 00:37:15,430 --> 00:37:27,040 Tas būtu like-- Šajā gadījumā, lai kāds, 774 00:37:27,040 --> 00:37:32,630 tiek uzglabāts 0x1-- kāds tiek glabāti pēc adreses, ka mūsu rādītājs tur, 775 00:37:32,630 --> 00:37:35,280 ir jāsakrīt ar ko mēs esam izraudzīta. 776 00:37:35,280 --> 00:37:40,330 Tātad 0x1, šajā gadījumā, tas ir x. 777 00:37:40,330 --> 00:37:42,500 778 00:37:42,500 --> 00:37:49,340 Tas var tikai kādreiz būt int, kamēr mēs, izmantojot šo. 779 00:37:49,340 --> 00:37:52,950 >> Tāpat, ja mēs esam cits 1g, neatkarīgi 780 00:37:52,950 --> 00:37:59,130 adrese tiek glabāta ar y ir būt char-- pats ar z. 781 00:37:59,130 --> 00:38:05,840 Tādā pašā veidā, kad jūs mēģināt un darīt intx vienāds ar 0,4, 782 00:38:05,840 --> 00:38:09,275 tas notiek, lai kliegt pie jums, un būs piemēram, nē, jūs teicāt, ka gribēja int. 783 00:38:09,275 --> 00:38:10,525 Tas ir vajadzētu būt int. 784 00:38:10,525 --> 00:38:11,900 Pietura mēģina padarīt to pludiņš. 785 00:38:11,900 --> 00:38:14,150 >> So let lietas, ko viņi vēlas būt. 786 00:38:14,150 --> 00:38:15,159 787 00:38:15,159 --> 00:38:16,200 Ļaut lietas būt paši. 788 00:38:16,200 --> 00:38:19,380 789 00:38:19,380 --> 00:38:23,450 Tik liela lieta ir tikai neatkarīgi no rādītāja veids 790 00:38:23,450 --> 00:38:26,101 tā ir, tas ir vienīgais lieta, ko jūs varat glabāt tur. 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 Ar praksi, kā ar pagājušajā nedēļā, viss 794 00:38:31,160 --> 00:38:32,817 Šķiet tiešām veida abstrakts. 795 00:38:32,817 --> 00:38:34,150 Mēs darīsim zināmu praksi. 796 00:38:34,150 --> 00:38:36,760 Tas būtu daudz lietderīgāk. 797 00:38:36,760 --> 00:38:44,580 >> Tik norādes un dereferencing-- tas ir ļoti svarīgi, lai saņemtu šos taisni. 798 00:38:44,580 --> 00:38:46,630 Man joprojām ir atsvaidzināt šad un tad. 799 00:38:46,630 --> 00:38:48,450 Un es esmu, piemēram, jāgaida, kuriem viens es gribu? 800 00:38:48,450 --> 00:38:56,080 Tātad & zīme būs faktiski dod Jums atsauce vai adrese. 801 00:38:56,080 --> 00:39:00,100 Tātad tas atgriež adresi atmiņa mainīgo tiek glabāti. 802 00:39:00,100 --> 00:39:01,170 803 00:39:01,170 --> 00:39:07,020 Tātad, tas notiek, lai tiešām atgriezīsies pie jums heksadecimālo, savukārt dereferencing to 804 00:39:07,020 --> 00:39:10,641 ir faktiski gatavojas sniegt jums dati, kas glabājas tur. 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 Tātad mēs ejam apskatīt piemēru ļoti ātri, vai faktiski pat blakus. 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 Tāpēc mums ir jādomā patiešām rūpīgi par to. 811 00:39:21,790 --> 00:39:23,860 Tātad šeit mums ir dažas skaitlim x. 812 00:39:23,860 --> 00:39:26,485 Es esmu gatavojas izmēģināt un izdarīt to , lai labāko no savām spējām. 813 00:39:26,485 --> 00:39:30,230 814 00:39:30,230 --> 00:39:32,410 Tātad mēs ejam, lai būtu šo spēļu x. 815 00:39:32,410 --> 00:39:35,850 816 00:39:35,850 --> 00:39:37,315 Un tas ir glabāšanai pieci. 817 00:39:37,315 --> 00:39:38,640 818 00:39:38,640 --> 00:39:40,090 Tās adrese ir 0x4. 819 00:39:40,090 --> 00:39:41,920 820 00:39:41,920 --> 00:39:43,160 Forši? 821 00:39:43,160 --> 00:39:44,100 Viss ir labi. 822 00:39:44,100 --> 00:39:45,470 >> Tāpēc tagad mums ir šo rādītāju. 823 00:39:45,470 --> 00:39:46,916 824 00:39:46,916 --> 00:39:47,990 Tas bija vairāk nekā šeit. 825 00:39:47,990 --> 00:39:52,130 826 00:39:52,130 --> 00:39:57,560 Un & zīme dod mums adrese kaut ko. 827 00:39:57,560 --> 00:40:00,780 Tātad, šajā gadījumā, tā ir adrese, x. 828 00:40:00,780 --> 00:40:01,875 Kāda ir adrese x? 829 00:40:01,875 --> 00:40:05,660 830 00:40:05,660 --> 00:40:12,590 04-- un šis rādītājs ir 0x08. 831 00:40:12,590 --> 00:40:14,490 832 00:40:14,490 --> 00:40:14,990 Forši? 833 00:40:14,990 --> 00:40:16,570 834 00:40:16,570 --> 00:40:21,570 Tātad, jūs varat domāt par to rādītājs, 04, tikai norāda nekā šeit. 835 00:40:21,570 --> 00:40:22,840 836 00:40:22,840 --> 00:40:25,740 Un viņi sauc norādes jo, kā mēs iegūtu vairāk uz šo, 837 00:40:25,740 --> 00:40:28,450 jūs gatavojas, lai redzētu, norādot uz lietām. 838 00:40:28,450 --> 00:40:31,470 Un viena kvartāla norādot uz otru bloks būs daudz lielāka jēga. 839 00:40:31,470 --> 00:40:32,760 840 00:40:32,760 --> 00:40:33,890 Tātad, šeit ir divi. 841 00:40:33,890 --> 00:40:38,230 Un tad mums ir dažas kopija, kas ir what-- 0x0c. 842 00:40:38,230 --> 00:40:41,290 843 00:40:41,290 --> 00:40:43,420 Un tas notiek, lai dereference mūsu rādītājs. 844 00:40:43,420 --> 00:40:46,790 >> Tātad, kas tas ir saprotams, ir Labi, šeit ir mūsu rādītājs. 845 00:40:46,790 --> 00:40:53,090 Vērtība, tas saglabā ir 0x04 un kādi tas ir saprotams, ir doties uz šo adresi 846 00:40:53,090 --> 00:40:54,300 un man pateikt, ko tas nozīmē. 847 00:40:54,300 --> 00:40:55,520 848 00:40:55,520 --> 00:40:57,710 Tā ka ir efektīvi Ko tas bultiņa dara. 849 00:40:57,710 --> 00:40:58,750 850 00:40:58,750 --> 00:41:01,280 Jūs varat domāt par to kā savu zvaigzni. 851 00:41:01,280 --> 00:41:05,410 Tātad Labi, kad mēs zvaigzni, tas nozīmē sekot. 852 00:41:05,410 --> 00:41:06,810 Iet uz šo adresi. 853 00:41:06,810 --> 00:41:11,430 Un tas ir būtībā tikai pēc tas bultiņu, lai šajā atmiņas rieciens. 854 00:41:11,430 --> 00:41:15,380 Un dot mums to, kas ir tajā, kas ir 5. 855 00:41:15,380 --> 00:41:18,840 Tas ir iemesls, kāpēc mūsu kopija ir vienāds ar 5. 856 00:41:18,840 --> 00:41:20,120 Vai tas ir jēga? 857 00:41:20,120 --> 00:41:22,769 Vai kāds ir nepieciešams, man iet cauri ka atkal, vai lēnāk? 858 00:41:22,769 --> 00:41:24,560 Tu gribi, lai iet caur to vēl vienu reizi? 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 Mēs ejam, lai ievilktu to vēlreiz. 862 00:41:28,840 --> 00:41:31,930 863 00:41:31,930 --> 00:41:37,205 Kad mēs sākam, mēs visi piekrītam, mēs esam daži rieciens atmiņas, kas ir mainīga 864 00:41:37,205 --> 00:41:40,890 x, ka mēs, kas vienāds ar 5. 865 00:41:40,890 --> 00:41:42,910 Mums nav kontrolēt, kur tas ir atmiņā. 866 00:41:42,910 --> 00:41:45,520 Tātad, šīs vietas ir tikai patvaļīgi piešķirts. 867 00:41:45,520 --> 00:41:47,770 868 00:41:47,770 --> 00:41:48,731 Labs tur? 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 Tad mēs inicializēt rādītāju uz int. 872 00:41:53,330 --> 00:41:56,900 Tieši tāpēc tas ir atļauts norādīt uz x jo mums ir int šeit. 873 00:41:56,900 --> 00:42:00,840 Mums ir vēl viens rieciens Atmiņas jo šis rādītājs 874 00:42:00,840 --> 00:42:03,485 ir mainīgs, tāpat kā kaut kas cits. 875 00:42:03,485 --> 00:42:06,615 Tas ir patvaļīgi piešķirts dažas vietas atmiņā. 876 00:42:06,615 --> 00:42:07,630 877 00:42:07,630 --> 00:42:10,830 Un ko tas saglabā ir adrese x. 878 00:42:10,830 --> 00:42:13,200 Ampersand nozīmē adresi x. 879 00:42:13,200 --> 00:42:14,575 Tātad, kas ir adrese x? 880 00:42:14,575 --> 00:42:19,179 881 00:42:19,179 --> 00:42:20,614 >> AUDITORIJA: Tas ir zero-- 882 00:42:20,614 --> 00:42:21,280 SPEAKER 1: 0x04. 883 00:42:21,280 --> 00:42:24,350 884 00:42:24,350 --> 00:42:25,940 Tik then-- pēdējais. 885 00:42:25,940 --> 00:42:30,650 Mums ir dažas copy-- atkal tikai vēl viens mainīgais. 886 00:42:30,650 --> 00:42:32,520 Tāpēc pieņemsim piešķirt kādu patvaļīgu vietu. 887 00:42:32,520 --> 00:42:35,260 888 00:42:35,260 --> 00:42:38,080 Un mēs dereference mūsu rādītājs. 889 00:42:38,080 --> 00:42:42,490 Zvaigzne nozīmē doties adrese glabājas manā rādītājs. 890 00:42:42,490 --> 00:42:44,480 Man pateikt, kas ir tur. 891 00:42:44,480 --> 00:42:47,290 Tāpēc adrese uzglabā Mūsu rādītājs ir 0x04. 892 00:42:47,290 --> 00:42:49,070 893 00:42:49,070 --> 00:42:51,310 Tātad mēs ejam uz šo adresi. 894 00:42:51,310 --> 00:42:52,402 895 00:42:52,402 --> 00:42:54,590 Tas norāda uz šo adresi. 896 00:42:54,590 --> 00:42:57,481 Kas ir iekšā šajā atmiņas bloku? 897 00:42:57,481 --> 00:42:57,980 Tas ir piecas. 898 00:42:57,980 --> 00:42:59,210 899 00:42:59,210 --> 00:43:01,650 Tāpēc, ka tas, ko mēs piešķirt mūsu kopiju. 900 00:43:01,650 --> 00:43:03,430 901 00:43:03,430 --> 00:43:04,860 Ikvienam labs? 902 00:43:04,860 --> 00:43:05,360 Atdzist. 903 00:43:05,360 --> 00:43:07,010 904 00:43:07,010 --> 00:43:08,330 Again-- bildes. 905 00:43:08,330 --> 00:43:19,750 906 00:43:19,750 --> 00:43:25,200 >> Tā uzskaites vērtības here-- es esmu gatavojas let jūs guys domā par to. 907 00:43:25,200 --> 00:43:26,550 908 00:43:26,550 --> 00:43:27,750 Mēs varam izdarīt vēl vienu attēlu. 909 00:43:27,750 --> 00:43:31,260 Bet es gribu, lai jūs, lai mēģinātu un iemesls caur šo par savu minūti. 910 00:43:31,260 --> 00:44:01,430 911 00:44:01,430 --> 00:44:04,149 >> Tā kā tie nedeva mums piemērs adrese, 912 00:44:04,149 --> 00:44:06,940 Es esmu tikai gatavojas darīt aizvieto & zīmes X- kam vajadzētu palīdzēt vadīt to mājās. 913 00:44:06,940 --> 00:44:07,950 Ampersand nozīmē adresi. 914 00:44:07,950 --> 00:44:09,540 915 00:44:09,540 --> 00:44:12,360 >> Tātad vispirms vienā, visiem iet ar pirmo līniju. 916 00:44:12,360 --> 00:44:15,690 Daži x komplekts s five-- dažus izlases slots atmiņā. 917 00:44:15,690 --> 00:44:17,660 918 00:44:17,660 --> 00:44:23,200 Int zvaigzne rādītājs ir vienāds uz adresi x, vai ne? 919 00:44:23,200 --> 00:44:28,180 Int zvaigzne rādītājs rada Šis bloks prasa tas rādītājs, 920 00:44:28,180 --> 00:44:30,650 un piešķir to uz adresi, x. 921 00:44:30,650 --> 00:44:32,750 922 00:44:32,750 --> 00:44:34,230 Es esmu briesmīgi ampersands. 923 00:44:34,230 --> 00:44:36,460 924 00:44:36,460 --> 00:44:40,550 >> Tagad to, ko mēs darām, ir mēs sakām Labi, dereference mūsu rādītājs. 925 00:44:40,550 --> 00:44:42,760 Tātad mēs ejam Labi, kāda ir mūsu rādītājs? 926 00:44:42,760 --> 00:44:44,820 Tā ir zīme & x. 927 00:44:44,820 --> 00:44:49,400 Iet uz Ampersends x un pārdalīt to. 928 00:44:49,400 --> 00:44:51,620 929 00:44:51,620 --> 00:44:57,480 >> Tāpēc tagad, & zīme x būs 35. 930 00:44:57,480 --> 00:45:01,540 931 00:45:01,540 --> 00:45:05,174 Vārdu sakot, ja esat dereferencing, jums iet OK. 932 00:45:05,174 --> 00:45:07,090 Jūs esat būs zīmēšanas bildes patika to. 933 00:45:07,090 --> 00:45:09,423 Jūs esat būs zīmēšanas jūsu bultiņām nekā, kur tas ir. 934 00:45:09,423 --> 00:45:16,030 Lai iet uz šo slots atmiņā un vai nu dod man šo vērtību atpakaļ, vai mainīt to. 935 00:45:16,030 --> 00:45:21,620 Šajā gadījumā, jo mēs pie šī vērtību, mēs piešķirot tai jābūt 35. 936 00:45:21,620 --> 00:45:24,700 Tā kā pēdējā viens, ja pamanāt, mēs 937 00:45:24,700 --> 00:45:27,680 Tika piešķiršanu, kas bija šeit, lai kaut kas cits. 938 00:45:27,680 --> 00:45:30,450 939 00:45:30,450 --> 00:45:32,245 >> Tāpēc viņi ir šo awesome tabulu. 940 00:45:32,245 --> 00:45:35,000 941 00:45:35,000 --> 00:45:36,890 Tas nav tik slikti. 942 00:45:36,890 --> 00:45:37,970 Jūs guys strādāt par to. 943 00:45:37,970 --> 00:45:39,640 Es esmu gatavojas izdarīt to ārā uz klāja. 944 00:45:39,640 --> 00:45:41,306 Mēs ejam, lai aizpildītu to ārā kopā, OK? 945 00:45:41,306 --> 00:45:42,290 946 00:45:42,290 --> 00:45:45,530 Tātad greifers dažas papīra, grab partneris, sākt strādāt. 947 00:45:45,530 --> 00:45:53,897 948 00:45:53,897 --> 00:45:55,605 Es esmu gatavojas saņemt lielāks gabals krītu. 949 00:45:55,605 --> 00:45:56,624 950 00:45:56,624 --> 00:45:58,150 Jo tas būs daudz. 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 PROFESSOR: OK. 955 00:48:09,150 --> 00:48:11,599 956 00:48:11,599 --> 00:48:12,890 Sāksim ar pirmo rindu. 957 00:48:12,890 --> 00:48:14,070 958 00:48:14,070 --> 00:48:16,970 Mēs sāksim tur, tad jūs puiši var varbūt strādāt ar dažas vairāk. 959 00:48:16,970 --> 00:48:17,870 OK. 960 00:48:17,870 --> 00:48:19,810 vienāds b reizes c tā, kādi ir? 961 00:48:19,810 --> 00:48:21,420 962 00:48:21,420 --> 00:48:23,260 Tas nav āķīgs jautājums, es apsolu. 963 00:48:23,260 --> 00:48:24,440 >> STUDENTU: 4 reizes 5. 964 00:48:24,440 --> 00:48:25,420 >> PROFESSOR: 4 reizes 5. 965 00:48:25,420 --> 00:48:25,920 20. 966 00:48:25,920 --> 00:48:26,730 Tātad, kas ir b? 967 00:48:26,730 --> 00:48:27,921 968 00:48:27,921 --> 00:48:28,420 STUDENTU: 4. 969 00:48:28,420 --> 00:48:30,204 970 00:48:30,204 --> 00:48:31,043 >> PROFESSOR: Un c? 971 00:48:31,043 --> 00:48:31,542 STUDENTU: 5. 972 00:48:31,542 --> 00:48:32,083 PROFESSOR: 5. 973 00:48:32,083 --> 00:48:35,960 Un tad tas ir tikai gatavojas tikt Ampersends a, b aizvieto & zīmes, 974 00:48:35,960 --> 00:48:38,575 c & zīme, vai ne? 975 00:48:38,575 --> 00:48:39,728 976 00:48:39,728 --> 00:48:40,596 Nav slikti. 977 00:48:40,596 --> 00:48:42,081 Tas ir pietiekami vienkārši. 978 00:48:42,081 --> 00:48:42,580 OK. 979 00:48:42,580 --> 00:48:44,300 Tātad nākamo. 980 00:48:44,300 --> 00:48:48,725 Vienāds reizes C, ja ikviens bija svešs ar to. 981 00:48:48,725 --> 00:48:49,812 982 00:48:49,812 --> 00:48:53,300 Vai visi pazīstami ar laiki ir vienāds? 983 00:48:53,300 --> 00:49:00,105 Labi, tas viss means-- tas ir saīsinājums vienāds reizes c. 984 00:49:00,105 --> 00:49:04,840 Jūs varat arī darīt to ar sadalījumu, Pievienojot, ar atņemšanu. 985 00:49:04,840 --> 00:49:12,130 Jūs varat darīt ir vienāds, vai plus vienāds c ir vienāds plus c, mīnuss vienlīdzīgu 986 00:49:12,130 --> 00:49:15,190 c būtu vienāds ar mīnus c. 987 00:49:15,190 --> 00:49:16,690 Tas ir tikai sintaktisko cukura. 988 00:49:16,690 --> 00:49:19,380 989 00:49:19,380 --> 00:49:24,140 >> Tātad, šajā gadījumā, ir vienāda ar a reizes c dotu mums, ko? 990 00:49:24,140 --> 00:49:25,910 991 00:49:25,910 --> 00:49:28,186 Atkal, ne āķīgs jautājums. 992 00:49:28,186 --> 00:49:28,965 >> STUDENTU: 100. 993 00:49:28,965 --> 00:49:29,300 >> PROFESSOR: 100. 994 00:49:29,300 --> 00:49:30,383 Vai kaut kas cits jāmaina? 995 00:49:30,383 --> 00:49:31,790 996 00:49:31,790 --> 00:49:32,290 Nē. 997 00:49:32,290 --> 00:49:37,380 998 00:49:37,380 --> 00:49:39,850 Varbūt es beidzot saņemt labāk maniem ampersands. 999 00:49:39,850 --> 00:49:42,047 >> STUDENTU: OK, sorry, kā jūs saņemsiet 100? 1000 00:49:42,047 --> 00:49:42,630 PROFESSOR: OK. 1001 00:49:42,630 --> 00:49:46,594 Tātad, ir vienāds ar reizes c, tāpēc reizes c. 1002 00:49:46,594 --> 00:49:48,510 STUDENTU: Ak, jūs izmantojat par previous-- 1003 00:49:48,510 --> 00:49:49,135 PROFESSOR: Jā. 1004 00:49:49,135 --> 00:49:51,450 Tātad šie ir mūsu jaunākās vērtības. 1005 00:49:51,450 --> 00:49:53,990 Šie ir tas, ko jums vajadzētu būt izmantojot kā mēs virzāmies uz leju, OK. 1006 00:49:53,990 --> 00:49:57,290 1007 00:49:57,290 --> 00:50:01,520 Tātad, b ir vienīgā lieta mainās, vai ne? 1008 00:50:01,520 --> 00:50:02,910 Tāpēc pieņemsim jāaizpilda viss cits. 1009 00:50:02,910 --> 00:50:09,110 1010 00:50:09,110 --> 00:50:11,330 B. Kas ir b būs? 1011 00:50:11,330 --> 00:50:13,020 1012 00:50:13,020 --> 00:50:14,140 Būt vai nebūt. 1013 00:50:14,140 --> 00:50:18,680 1014 00:50:18,680 --> 00:50:20,240 Tātad, kas ir tas dara? 1015 00:50:20,240 --> 00:50:21,605 Kas ir zvaigzne pa dara? 1016 00:50:21,605 --> 00:50:23,280 1017 00:50:23,280 --> 00:50:25,350 >> STUDENTU: Kods uz vietu gadā. 1018 00:50:25,350 --> 00:50:26,390 1019 00:50:26,390 --> 00:50:27,480 >> STUDENTU: Nē, ne gluži. 1020 00:50:27,480 --> 00:50:29,470 Tātad tas ir d atsauces. 1021 00:50:29,470 --> 00:50:31,580 >> STUDENTU: Tātad b ir roku vērtība gadā. 1022 00:50:31,580 --> 00:50:37,340 >> PROFESSOR: Jā, tā ir pa adresi, vai ne? 1023 00:50:37,340 --> 00:50:42,430 Tātad, tas ir saprotams, iet uz to, kur ir uzglabā un arī tā šo vērtību. 1024 00:50:42,430 --> 00:50:43,884 Tātad, kas ir b? 1025 00:50:43,884 --> 00:50:44,425 STUDENTU: 100. 1026 00:50:44,425 --> 00:50:46,534 PROFESSOR: 100. 1027 00:50:46,534 --> 00:50:47,450 Perfekta. 1028 00:50:47,450 --> 00:50:49,879 Labi, tāpēc dators ir to, kas mainās. 1029 00:50:49,879 --> 00:50:51,170 Viss pārējais paliek tas pats. 1030 00:50:51,170 --> 00:50:57,160 1031 00:50:57,160 --> 00:50:58,620 Kas ir pc būs? 1032 00:50:58,620 --> 00:51:00,770 1033 00:51:00,770 --> 00:51:01,580 Vienkāršs uzdevums. 1034 00:51:01,580 --> 00:51:03,520 1035 00:51:03,520 --> 00:51:05,990 Pc ir vienāds ar gadā, un to, kas ir pa? 1036 00:51:05,990 --> 00:51:07,049 >> STUDENTU: & zīme. 1037 00:51:07,049 --> 00:51:07,840 PROFESSOR: Perfect. 1038 00:51:07,840 --> 00:51:09,490 1039 00:51:09,490 --> 00:51:10,740 Tagad mēs esam kļūst interesanti. 1040 00:51:10,740 --> 00:51:12,310 1041 00:51:12,310 --> 00:51:15,230 Labi, pieņemsim pārtrauktu šo vienu uz leju. 1042 00:51:15,230 --> 00:51:21,110 Pirmkārt, kas ir b reizes C, jo tas ir viegli daļu no šo vienu, vai ne? 1043 00:51:21,110 --> 00:51:22,360 B reizes c is-- 1044 00:51:22,360 --> 00:51:23,320 >> STUDENTU: 500. 1045 00:51:23,320 --> 00:51:28,880 >> PROFESSOR: Jā, tāpēc Kas tas ir viens dara, 1046 00:51:28,880 --> 00:51:33,705 Ja tas ir zvaigžņu pb, to, kas mainās? 1047 00:51:33,705 --> 00:51:35,320 1048 00:51:35,320 --> 00:51:37,242 >> STUDENTU: Kas the-- 1049 00:51:37,242 --> 00:51:38,200 PROFESSOR: Kas ir b? 1050 00:51:38,200 --> 00:51:41,340 STUDENTU: Kas telpā ka pb ir vērsta uz. 1051 00:51:41,340 --> 00:51:43,406 PROFESSOR: Un pb ir vērsta kuri paredzēti, 1052 00:51:43,406 --> 00:51:43,905 STUDENT: B. 1053 00:51:43,905 --> 00:51:46,740 PROFESSOR: vienīgais B. So lieta mainās ir b, taisnība. 1054 00:51:46,740 --> 00:51:50,800 Tātad b reizes c, 500. 1055 00:51:50,800 --> 00:51:52,367 Tā ka ir kādas izmaiņas tagad. 1056 00:51:52,367 --> 00:51:59,091 1057 00:51:59,091 --> 00:51:59,590 Atdzist. 1058 00:51:59,590 --> 00:52:00,340 1059 00:52:00,340 --> 00:52:00,840 Jauki. 1060 00:52:00,840 --> 00:52:01,905 Jūs puiši dara lieliski. 1061 00:52:01,905 --> 00:52:03,650 1062 00:52:03,650 --> 00:52:06,740 Visas tiesības, pārkāpj šo vienu uz leju. 1063 00:52:06,740 --> 00:52:08,050 1064 00:52:08,050 --> 00:52:09,630 C mainās, vai ne? 1065 00:52:09,630 --> 00:52:11,530 Tātad, mēs varam aizpildīt viss pārējais. 1066 00:52:11,530 --> 00:52:12,540 1067 00:52:12,540 --> 00:52:13,205 Paskatīsimies. 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 Mēs zinām, ka c būs produkts diviem cipariem, vai ne? 1072 00:52:24,740 --> 00:52:26,290 1073 00:52:26,290 --> 00:52:27,980 Kādi divi skaitļi, gan? 1074 00:52:27,980 --> 00:52:28,970 >> STUDENTU: un c? 1075 00:52:28,970 --> 00:52:31,930 >> PROFESSOR: Tātad ir tiesības uz pirmo. 1076 00:52:31,930 --> 00:52:34,385 Tāpēc mēs gribētu atsauču p, vai ne? 1077 00:52:34,385 --> 00:52:35,390 1078 00:52:35,390 --> 00:52:42,870 P A līdz, tāpēc mēs zinām, ka tas būs 100 reizes, ko? 1079 00:52:42,870 --> 00:52:46,232 Reizes Kāda pc punktu? 1080 00:52:46,232 --> 00:52:47,410 1081 00:52:47,410 --> 00:52:48,740 Norāda. 1082 00:52:48,740 --> 00:52:55,038 Tātad 100 reizes 100 ir 10,000. 1083 00:52:55,038 --> 00:52:56,170 Vai tas ir jēga? 1084 00:52:56,170 --> 00:52:57,640 1085 00:52:57,640 --> 00:52:58,200 Atdzist. 1086 00:52:58,200 --> 00:53:00,500 Mājās stiept, puiši, pēdējā rindā. 1087 00:53:00,500 --> 00:53:01,190 OK. 1088 00:53:01,190 --> 00:53:02,160 Kas mainīsies šeit? 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 PROFESSOR: A. Perfect, tāpēc viss pārējais var palikt tāds pats. 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 Un kas ir? 1095 00:53:17,970 --> 00:53:23,610 1096 00:53:23,610 --> 00:53:26,060 Tātad, tas ir reizes, ko? 1097 00:53:26,060 --> 00:53:27,120 Tas ir zvaigzne pb. 1098 00:53:27,120 --> 00:53:29,750 1099 00:53:29,750 --> 00:53:34,490 Tātad zvaigzne pb nozīmē šeit ir pb, PB norāda uz b. 1100 00:53:34,490 --> 00:53:35,370 >> STUDENTU: 500. 1101 00:53:35,370 --> 00:53:36,230 >> PROFESSOR: 500. 1102 00:53:36,230 --> 00:53:39,236 Tāpēc mums ir 500 100 reizes. 1103 00:53:39,236 --> 00:53:41,758 Tas ir 50.000. 1104 00:53:41,758 --> 00:53:43,216 Whew! 1105 00:53:43,216 --> 00:53:45,646 Paskaties, ka. 1106 00:53:45,646 --> 00:53:47,982 >> STUDENTU: Kāpēc mums ir un c par last-- 1107 00:53:47,982 --> 00:53:48,690 PROFESSOR: Sorry. 1108 00:53:48,690 --> 00:53:50,080 STUDENTU: Ak, OK. 1109 00:53:50,080 --> 00:53:51,600 PROFESSOR: Mana slikti. 1110 00:53:51,600 --> 00:53:52,890 Daudz rakstiski. 1111 00:53:52,890 --> 00:53:53,917 1112 00:53:53,917 --> 00:53:54,500 Ikvienam labs? 1113 00:53:54,500 --> 00:53:55,630 1114 00:53:55,630 --> 00:53:56,660 Ne pārāk slikti, vai ne? 1115 00:53:56,660 --> 00:53:58,490 Tikai ņem nedaudz bet uz darbu cauri. 1116 00:53:58,490 --> 00:54:01,080 Ja jūs sadalīt, saprast, kas katras daļas 1117 00:54:01,080 --> 00:54:03,197 atsaucas kuri paredzēti, kā ar visu tas ir, 1118 00:54:03,197 --> 00:54:05,780 yes-- pārtrauktu to uz leju, lai maz problēmas, un tad Gabalus, 1119 00:54:05,780 --> 00:54:07,345 un jūs varat darīt dažas awesome stuff. 1120 00:54:07,345 --> 00:54:08,970 Tur ir atbildes, bet mēs to izdarīja. 1121 00:54:08,970 --> 00:54:10,324 1122 00:54:10,324 --> 00:54:11,115 Rādītājs aritmētika. 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 Manas rokas ir visas kaļķaina. 1126 00:54:15,510 --> 00:54:17,970 Tātad pievienojot vai atņemot int pielāgo rādītāju 1127 00:54:17,970 --> 00:54:21,890 ar izmēru no rādītāja veida. 1128 00:54:21,890 --> 00:54:22,940 1129 00:54:22,940 --> 00:54:28,390 Atceros, kā visu veidu ir cits izmērs? 1130 00:54:28,390 --> 00:54:34,890 Tātad, piemēram, dubultā vai ilgi ilgi astoņi un int ir četri, bet char ir viens. 1131 00:54:34,890 --> 00:54:38,360 >> Tātad, ko jūs vēlaties darīt is-- viena lieta, kas jāatceras 1132 00:54:38,360 --> 00:54:44,080 ir tikai, ka, cik daudz jūsu rādītājs vērtība faktiski mainās 1133 00:54:44,080 --> 00:54:46,550 būs atkarīgs no rādītāja veida tā ir. 1134 00:54:46,550 --> 00:54:50,820 1135 00:54:50,820 --> 00:54:51,820 Ikvienam labi ar šo? 1136 00:54:51,820 --> 00:54:52,760 Vai es varu izdzēst? 1137 00:54:52,760 --> 00:54:53,440 Mēs esam labi? 1138 00:54:53,440 --> 00:54:53,940 Awesome. 1139 00:54:53,940 --> 00:55:01,020 1140 00:55:01,020 --> 00:55:07,501 >> Tātad, ja mums ir daži rādītājs that-- tas gatavojas be-- es esmu 1141 00:55:07,501 --> 00:55:08,834 gatavojas darīt to int rādītājs. 1142 00:55:08,834 --> 00:55:10,610 1143 00:55:10,610 --> 00:55:12,760 Tas saglabā to. 1144 00:55:12,760 --> 00:55:14,210 1145 00:55:14,210 --> 00:55:20,170 Ja tu būtu teikt rādītāju plus viens, ko tā gatavojas darīt 1146 00:55:20,170 --> 00:55:23,420 tas notiek, lai atjauninātu tas ar izmēru int 1147 00:55:23,420 --> 00:55:25,950 jo tas ir no rādītāja veida tā ir. 1148 00:55:25,950 --> 00:55:28,260 >> Ar C, viss ir ļoti stingri un regulēta. 1149 00:55:28,260 --> 00:55:29,440 1150 00:55:29,440 --> 00:55:35,260 Int rādītājs gatavojas atjaunināt ar vietas daudzumu int varētu veikt. 1151 00:55:35,260 --> 00:55:36,260 Int ir četri baiti. 1152 00:55:36,260 --> 00:55:37,650 1153 00:55:37,650 --> 00:55:39,060 >> Tātad, kas būtu tas pārvērtīsies? 1154 00:55:39,060 --> 00:55:40,876 1155 00:55:40,876 --> 00:55:44,390 Jūs vienkārši pievienojot četrus uz šo. 1156 00:55:44,390 --> 00:55:50,040 Tagad jūsu rādītājs būs be-- OK. 1157 00:55:50,040 --> 00:55:51,820 1158 00:55:51,820 --> 00:55:55,380 >> Tātad, ja tas bija char un mēs to darījām rādītāju plus viens, kas tas būtu tagad? 1159 00:55:55,380 --> 00:56:00,300 1160 00:56:00,300 --> 00:56:03,330 Ja tas started-- izliekoties mēs started-- šobrīd tas ir 0x08. 1161 00:56:03,330 --> 00:56:04,850 1162 00:56:04,850 --> 00:56:10,850 Pieņemsim tagad saka, ka tas bija char rādītāju, un mēs pievienojām vienu. 1163 00:56:10,850 --> 00:56:11,850 Ko tas mainītu to? 1164 00:56:11,850 --> 00:56:14,989 1165 00:56:14,989 --> 00:56:16,030 Cik baitu ir char? 1166 00:56:16,030 --> 00:56:16,680 >> AUDITORIJA: One. 1167 00:56:16,680 --> 00:56:17,304 >> SPEAKER 1: One. 1168 00:56:17,304 --> 00:56:18,309 Mērķauditorija: Tātad 0x09. 1169 00:56:18,309 --> 00:56:19,600 SPEAKER 1: Tātad tas būtu deviņi. 1170 00:56:19,600 --> 00:56:22,571 1171 00:56:22,571 --> 00:56:23,820 Tik vienkārši kaut ko atcerēties. 1172 00:56:23,820 --> 00:56:28,340 Tikai tad, kad jūs pievienot vienu, tas nav pievienojot vienu, ja vien tas ir char. 1173 00:56:28,340 --> 00:56:34,190 Tas ir piebilstot, cik baiti veidu, ka tā ir, 1174 00:56:34,190 --> 00:56:36,960 kas ir iemesls, kāpēc mēs esam šis vienādojums šeit. 1175 00:56:36,960 --> 00:56:40,190 Tātad, tas ir int reizes izmērs no gada rādītāja veida. 1176 00:56:40,190 --> 00:56:42,850 1177 00:56:42,850 --> 00:56:44,730 >> Tātad mums ir piemērs šeit. 1178 00:56:44,730 --> 00:56:47,250 1179 00:56:47,250 --> 00:56:54,430 y tika piešķirts šo vērtību, 0x4, kad mēs darījām y plus vienāds vienu. 1180 00:56:54,430 --> 00:56:56,830 Kas ir tajā, kas ir X, nemainās. 1181 00:56:56,830 --> 00:56:58,610 Kas mainās, ir to, kas ir y. 1182 00:56:58,610 --> 00:57:04,980 Adrese glabājas y atjaunināts ar četri tāpēc, ka ir četri baiti ir int 1183 00:57:04,980 --> 00:57:06,097 un tas ir int rādītājs. 1184 00:57:06,097 --> 00:57:07,290 1185 00:57:07,290 --> 00:57:07,790 >> Labi. 1186 00:57:07,790 --> 00:57:09,123 Tāpēc tagad mums ir cits uzdevums. 1187 00:57:09,123 --> 00:57:11,140 1188 00:57:11,140 --> 00:57:13,500 Tātad jautājums ir par to, kas būs drukāt. 1189 00:57:13,500 --> 00:57:36,710 1190 00:57:36,710 --> 00:57:37,650 Jebkuras idejas? 1191 00:57:37,650 --> 00:57:41,690 1192 00:57:41,690 --> 00:57:43,699 >> Mērķauditorija: of skaits rakstzīmes laimīgs kaķis? 1193 00:57:43,699 --> 00:57:44,490 SPEAKER 1: Tieši tā. 1194 00:57:44,490 --> 00:57:45,531 Tik patīk ar savu auklu. 1195 00:57:45,531 --> 00:57:47,302 1196 00:57:47,302 --> 00:57:48,260 Vai visi iegūtu, ka? 1197 00:57:48,260 --> 00:57:49,509 Vai mēs gribam, lai iet caur to? 1198 00:57:49,509 --> 00:57:50,300 1199 00:57:50,300 --> 00:57:52,010 >> Jā, OK. 1200 00:57:52,010 --> 00:57:57,385 Tātad, ko mēs esam here-- I kā šis tik daudz vairāk. 1201 00:57:57,385 --> 00:57:59,340 Man nav [Dzirdams] smieklīgi. 1202 00:57:59,340 --> 00:58:01,690 >> Tātad mums ir virkne šeit, laimīgs kaķis. 1203 00:58:01,690 --> 00:58:02,950 Jauki. 1204 00:58:02,950 --> 00:58:05,080 Mums ir daži skaitītājs, kas mēs sekotu. 1205 00:58:05,080 --> 00:58:11,430 Tātad mums ir dažas char * rādītāju ka tikai ir noteikts vienāds str. 1206 00:58:11,430 --> 00:58:14,320 Ko tas dara, ir tā piešķirot kādu rādītāju 1207 00:58:14,320 --> 00:58:16,380 uz sākumu jūsu virknes. 1208 00:58:16,380 --> 00:58:19,840 Tāpēc, ka es esmu pārliecināts, jo tas Tika minēts lekcijā 1209 00:58:19,840 --> 00:58:22,290 esam radījuši jums puiši šis datu tips sauc virkne. 1210 00:58:22,290 --> 00:58:29,070 >> Bet tiešām stīgas ir tikai masīvs of-- piemēram char *. 1211 00:58:29,070 --> 00:58:32,330 Tas ir rādītājs, lai ķekars rakstzīmes ka ir blakusesoši atmiņā. 1212 00:58:32,330 --> 00:58:33,680 1213 00:58:33,680 --> 00:58:36,280 Tātad, tas tikai nosaka to vienāds ar jebkuru virkne ir 1214 00:58:36,280 --> 00:58:38,980 identificē ar kur savu pirmo raksturs ir. 1215 00:58:38,980 --> 00:58:42,710 Tātad tas ir tikai nosakot kādu punktu vienāds ar sākuma virkni. 1216 00:58:42,710 --> 00:58:44,130 Ikvienam labs tur? 1217 00:58:44,130 --> 00:58:44,960 Atdzist. 1218 00:58:44,960 --> 00:58:49,840 >> Tātad šis ir dereferencing mūsu rādītāju. 1219 00:58:49,840 --> 00:58:53,760 Tātad, tas ir patiešām gatavojas dod mums kādu vērtību šeit 1220 00:58:53,760 --> 00:58:55,610 mūsu string, ka mēs runājam par. 1221 00:58:55,610 --> 00:58:58,342 Un mēs esam sakot, tik ilgi, cik tas nav null terminatoru. 1222 00:58:58,342 --> 00:59:00,550 Tā turpināt iet, kamēr jūs saņemsiet līdz beigām virkni. 1223 00:59:00,550 --> 00:59:02,180 1224 00:59:02,180 --> 00:59:04,190 Atjaunināt savu rādītāju par vienu. 1225 00:59:04,190 --> 00:59:09,250 Tātad r, tas tiešām atjaunināt ar vienu katru reizi, jo tas ir 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 >> Tātad, tas notiek, lai iet cauri. 1229 00:59:12,340 --> 00:59:13,290 Tas notiek, lai atjauninātu. 1230 00:59:13,290 --> 00:59:16,705 Tātad, pirmo reizi tas iet, tas būs šeit h. 1231 00:59:16,705 --> 00:59:17,590 Tas notiek, lai atjauninātu. 1232 00:59:17,590 --> 00:59:18,185 >> Tā būs. 1233 00:59:18,185 --> 00:59:21,310 Tas būs p, y, un tā tālāk, un tā tālāk. 1234 00:59:21,310 --> 00:59:22,300 Mēs atjaunināt skaitītāju. 1235 00:59:22,300 --> 00:59:26,160 Kad tas sasniedz beigām, to vienkārši drukā, cik tālu tas ir gotten. 1236 00:59:26,160 --> 00:59:27,550 1237 00:59:27,550 --> 00:59:28,050 Jā. 1238 00:59:28,050 --> 00:59:31,475 >> Mērķauditorija: Tātad Tas skaita telpa kā viens, vai ne? 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 >> SPEAKER 1: Padomā tik. 1242 00:59:35,222 --> 00:59:36,830 Ir tas, ka ar question-- 1243 00:59:36,830 --> 00:59:37,746 >> Mērķauditorija: [dzirdams]. 1244 00:59:37,746 --> 00:59:37,968 1245 00:59:37,968 --> 00:59:38,884 >> SPEAKER 1: Neraizējieties. 1246 00:59:38,884 --> 00:59:39,720 1247 00:59:39,720 --> 00:59:42,736 Tas man darīt. 1248 00:59:42,736 --> 00:59:47,710 Viss ir labi, tāpēc viena lieta, ko es saprotu, ir tas, ka ar masīvu, 1249 00:59:47,710 --> 00:59:51,736 Jūs varat arī uzskatīt to par rādītājs, jo bloki ir tikai 1250 00:59:51,736 --> 00:59:52,860 nepārtraukti plankumi atmiņā. 1251 00:59:52,860 --> 00:59:53,970 1252 00:59:53,970 --> 00:59:56,380 >> Tātad jūs varat ārstēt to tādā pašā veidā. 1253 00:59:56,380 --> 00:59:59,000 Jūs varat manipulēt ar viņiem ar norādes, too. 1254 00:59:59,000 --> 01:00:04,770 Tā vietā, lai dara, šajā gadījumā, analogs lieta 1255 01:00:04,770 --> 01:00:07,490 būtu masīvs 0 ir vienāds ar 1. 1256 01:00:07,490 --> 01:00:08,760 1257 01:00:08,760 --> 01:00:15,210 >> Bet tādā pašā veidā, ka virkne ir noteikta 1258 01:00:15,210 --> 01:00:18,740 ar sākuma kur tās pirmais raksturs ir, 1259 01:00:18,740 --> 01:00:22,270 masīvs nosaka kur tās pirmais elements ir. 1260 01:00:22,270 --> 01:00:25,120 Jo mēs zinām, mēs esam garantēts, ka šie 1261 01:00:25,120 --> 01:00:27,985 gribam būt nepārtraukta bloki atmiņā. 1262 01:00:27,985 --> 01:00:29,360 Tas ir tas, kas ļauj mums to darīt. 1263 01:00:29,360 --> 01:00:31,193 Mēs zinām, ka viņi nepārtraukti bloki atmiņā. 1264 01:00:31,193 --> 01:00:32,230 1265 01:00:32,230 --> 01:00:36,500 >> Tātad, šajā gadījumā, ar dereferencing tikai masīvs, kas stāsta mums, 1266 01:00:36,500 --> 01:00:40,800 Labi, dodieties uz sākumu Jūsu masīvs, kas ir šeit. 1267 01:00:40,800 --> 01:00:42,640 Tātad jūs varat iestatīt tā, kas vienāds ar vienu. 1268 01:00:42,640 --> 01:00:48,610 Un šajā gadījumā, neatkarīgi no jūsu masīvs veids ir, kad jūs atjaunināt to ar vienu, 1269 01:00:48,610 --> 01:00:50,830 tas ir tāpat kā atjaunināt tā uz nākamo indeksu. 1270 01:00:50,830 --> 01:00:52,760 1271 01:00:52,760 --> 01:00:56,360 Jūs varat darīt, jo jums zināt, kas ir jūsu masīvs. 1272 01:00:56,360 --> 01:00:59,770 Tātad, tas zina, cik daudz atjaunināt savu rādītāju par, 1273 01:00:59,770 --> 01:01:02,925 kāda adrese, to atjaunināt uz tā ka tu esi nākamajā slota. 1274 01:01:02,925 --> 01:01:04,740 1275 01:01:04,740 --> 01:01:09,400 >> Tātad tas ir tikai cits veids rakstot masīvs 0 ir 1, 1276 01:01:09,400 --> 01:01:15,114 masīvs 1 vienāds 2, masīvs kronšteins 2 ir vienāds ar 3. 1277 01:01:15,114 --> 01:01:16,780 Tas ir tikai vēl viens veids, kā domāt par to. 1278 01:01:16,780 --> 01:01:19,600 Jo tie ir nepārtraukts bloki atmiņā, 1279 01:01:19,600 --> 01:01:21,830 Jūs varat atsaukties uz tiem vai nu masīvs notation-- 1280 01:01:21,830 --> 01:01:24,390 ko es personīgi atrast easier-- bet varbūt 1281 01:01:24,390 --> 01:01:27,347 Jums ir nepieciešams, lai manipulēt ar to stingri atmiņas adreses. 1282 01:01:27,347 --> 01:01:28,930 Un tas ir veids, kā jūs varētu darīt. 1283 01:01:28,930 --> 01:01:30,630 1284 01:01:30,630 --> 01:01:32,630 Veida vairāk, piemēram, cool lieta, ko jūs varētu darīt 1285 01:01:32,630 --> 01:01:35,213 versus varbūt nav kaut kas jūs esat patiešām gatavojas īstenot. 1286 01:01:35,213 --> 01:01:36,960 1287 01:01:36,960 --> 01:01:38,630 >> Es to izmantot 61. 1288 01:01:38,630 --> 01:01:41,710 Jūs puiši, iespējams, nav nepieciešams jāuztraucas par to pārāk daudz. 1289 01:01:41,710 --> 01:01:43,693 Bet, ja jūs interesē, ņemt 61 nākamgad. 1290 01:01:43,693 --> 01:01:45,269 1291 01:01:45,269 --> 01:01:46,560 Mēs esam mājās stiept puiši. 1292 01:01:46,560 --> 01:01:47,510 Es zinu, tas ir garš. 1293 01:01:47,510 --> 01:01:50,570 1294 01:01:50,570 --> 01:01:58,880 Dynamic Memory Allocation-- tāpēc mēs zinām, ka viens 1295 01:01:58,880 --> 01:02:01,790 par lietām, kad mēs runājām laikā mūsu pirmā sadaļa kopā, 1296 01:02:01,790 --> 01:02:04,560 mēs paskatījās mijmaiņas funkcija, kur tas bija 1297 01:02:04,560 --> 01:02:08,010 ārpus mūsu galvenā funkcija. 1298 01:02:08,010 --> 01:02:14,370 Un mums bija garām šīm vērtībām tas būtu efektīvi kopijas. 1299 01:02:14,370 --> 01:02:20,570 >> Un, kad mijmaiņas pabeigts izpildes, tā vienkārši atstāja kaudze. 1300 01:02:20,570 --> 01:02:22,830 Atcerieties, ka mēs esam kaudze rāmis swap. 1301 01:02:22,830 --> 01:02:26,070 Tas atstāj un tie, vērtības atstāt ar to. 1302 01:02:26,070 --> 01:02:27,050 Un viņi bija aizgājuši. 1303 01:02:27,050 --> 01:02:28,615 Mēs nevarētu darīt neko ar viņiem un mums bija skumji 1304 01:02:28,615 --> 01:02:29,989 jo mēs nevaram mijmaiņas savas vērtības. 1305 01:02:29,989 --> 01:02:31,070 1306 01:02:31,070 --> 01:02:36,560 >> Bet ar C, kā jau minēju, jūs ir daudz varas pār atmiņas. 1307 01:02:36,560 --> 01:02:43,310 Tātad, ko jūs varat darīt, ir varat piešķirt lietas uz kaudzes šeit 1308 01:02:43,310 --> 01:02:46,830 ka paliks tur līdz tu viņiem savādāk. 1309 01:02:46,830 --> 01:02:48,280 >> Viņi, piemēram, labu bērniem. 1310 01:02:48,280 --> 01:02:49,150 Viņi tur paliek. 1311 01:02:49,150 --> 01:02:50,270 Tie neatstāj. 1312 01:02:50,270 --> 01:02:52,750 Tie būs palikt tur, kamēr jūs esat piemēram, OK, jūs varat iet prom. 1313 01:02:52,750 --> 01:02:55,920 >> Bet lietas uz steku, who-- viņi tāpat nerātns bērni. 1314 01:02:55,920 --> 01:02:59,160 Tie būs vienkārši palaist prom, kad jūs vēlaties būt tur, un tad viņi aizgāja. 1315 01:02:59,160 --> 01:03:00,160 Jūs nevarat saņemt tos atpakaļ. 1316 01:03:00,160 --> 01:03:01,350 1317 01:03:01,350 --> 01:03:07,187 >> Tāpēc kaudze is-- mēs ejam runāt par malloc un bez maksas, kas 1318 01:03:07,187 --> 01:03:08,895 Es esmu pārliecināts, ka puiši dzirdējuši par lekciju. 1319 01:03:08,895 --> 01:03:10,270 1320 01:03:10,270 --> 01:03:14,210 Un tas ir būtībā veids ir ļoti noturīgi dati. 1321 01:03:14,210 --> 01:03:18,920 Tātad jūs varat glabāt datus apkārt tik ilgi, cik vēlaties. 1322 01:03:18,920 --> 01:03:19,546 Mhm. 1323 01:03:19,546 --> 01:03:21,475 >> Mērķauditorija: Vai jūs varat definēt kaudze un kaudze? 1324 01:03:21,475 --> 01:03:24,030 Vai viņiem patīk vietas, lai darītu lietas? 1325 01:03:24,030 --> 01:03:26,630 >> SPEAKER 1: Tātad viņi būtībā just-- viņi 1326 01:03:26,630 --> 01:03:29,530 veids, kā mēs atsaukties tikai uz atmiņu. 1327 01:03:29,530 --> 01:03:37,300 Tik kaudze ir tikai vietas, kur atmiņa tiek piešķirti dinamiski, 1328 01:03:37,300 --> 01:03:40,960 savukārt kaudze atsaucas vairāk kaudze rāmji 1329 01:03:40,960 --> 01:03:45,950 kas ir vairāk svarīgi, lai funkcijas, kuras faktiski darbojas. 1330 01:03:45,950 --> 01:03:47,200 Jums nav īsti ir kontrole. 1331 01:03:47,200 --> 01:03:50,690 >> Liela atšķirība, jums ir kontrolēt virs kaudzes, ja jūs vēlaties, lai. 1332 01:03:50,690 --> 01:03:52,710 Jums ir mazāka kontrole pār kaudze. 1333 01:03:52,710 --> 01:03:55,030 Kaudze atkarīgs funkcijas, kas darbojas, 1334 01:03:55,030 --> 01:03:58,320 un kārtību, kādā tie ir palaist, un, kā lietas tiek atgrieztas. 1335 01:03:58,320 --> 01:04:01,290 Bet ar kaudzes, kā mēs redzēsim, jūs varat teikt, 1336 01:04:01,290 --> 01:04:06,639 Labi, es gribu šī vērtība būtu apkārt, kamēr es jums saku savādāk. 1337 01:04:06,639 --> 01:04:08,180 Jums nav atļauts, lai atbrīvoties no tā. 1338 01:04:08,180 --> 01:04:09,300 Jūs neesat atļauts ignorēt to. 1339 01:04:09,300 --> 01:04:11,675 Jūs gatavojas, lai saglabātu to apkārt tik ilgi, cik es jums saku. 1340 01:04:11,675 --> 01:04:15,780 Jūs saņemsiet, lai boss kaudzes, tā kā stack-- Varbūt, ja tu 1341 01:04:15,780 --> 01:04:18,080 tāpat finagle savu ceļu Jūs varat būt boss. 1342 01:04:18,080 --> 01:04:19,340 Bet ne gluži. 1343 01:04:19,340 --> 01:04:20,480 1344 01:04:20,480 --> 01:04:22,070 Un tas patiešām ir tikai atmiņas. 1345 01:04:22,070 --> 01:04:24,260 Tas ir tikai dažādos veidos no atsaucoties uz atmiņu. 1346 01:04:24,260 --> 01:04:25,800 1347 01:04:25,800 --> 01:04:26,400 >> Atdzist. 1348 01:04:26,400 --> 01:04:28,630 Tātad ar to, kā kontrolēt savu atmiņu. 1349 01:04:28,630 --> 01:04:32,070 Tas ir, ar malloc, kas jūs gatavojas saņemt izmantot. 1350 01:04:32,070 --> 01:04:37,100 Tāpēc tas ir tikai īstermiņa atmiņas sadali. 1351 01:04:37,100 --> 01:04:38,459 Tas ir viss, tas ir. 1352 01:04:38,459 --> 01:04:41,250 Tur ķekars citu atdzist funkcijas, kas ir alloc beigās, 1353 01:04:41,250 --> 01:04:42,750 un tie ir dažādas lietas. 1354 01:04:42,750 --> 01:04:43,550 1355 01:04:43,550 --> 01:04:49,050 >> Tātad, ja jums ir nepieciešams, uzglabāšanu, kas nepieciešama pārdzīvot savu pašreizējo funkciju, lai 1356 01:04:49,050 --> 01:04:51,010 ka tad, kad jūsu pašreizējā funkcija iet prom, 1357 01:04:51,010 --> 01:04:55,774 Jums vēl ir dati, ka jums ieguva no tā, jūs vēlaties izmantot malloc. 1358 01:04:55,774 --> 01:04:57,190 Kas būs inicializēt to uz kaudzes. 1359 01:04:57,190 --> 01:05:00,140 Un, kā jau teicu, un saglabāt sakot, jūs pastāvīgi to tur 1360 01:05:00,140 --> 01:05:03,050 kamēr jūs pateikt to savādāk, kas ir svarīga lieta šeit. 1361 01:05:03,050 --> 01:05:08,450 >> Tik viena lieta, lai paziņojuma, un tas parasti ir ļoti svarīgi, 1362 01:05:08,450 --> 01:05:13,620 ir tas, ka šis sizeof ir super lietderīgi izmantot 1363 01:05:13,620 --> 01:05:16,440 jo atkarībā no veida mašīnas jūs strādājat, 1364 01:05:16,440 --> 01:05:22,470 tas var būt dažādā daudzumā Atmiņas, kas nepieciešams. 1365 01:05:22,470 --> 01:05:26,870 Tātad, jūs vienmēr vēlaties izmantot izmēru tik ka jūs neesat mašīna atkarīgs, 1366 01:05:26,870 --> 01:05:30,300 tā, ka jūsu kods būs palaist uz jebkura datora. 1367 01:05:30,300 --> 01:05:32,360 >> Un tas ir tikai daļa rakstot labu kodu. 1368 01:05:32,360 --> 01:05:34,610 Ja tas darbojas uz vienu mašīnu, bet ne jebkurš no citiem, 1369 01:05:34,610 --> 01:05:36,440 cik noderīgs bija jūsu programma? 1370 01:05:36,440 --> 01:05:38,420 Tātad, jūs vienmēr vēlaties pārliecinieties un izmantot sizeof. 1371 01:05:38,420 --> 01:05:41,306 >> Mērķauditorija: Tā ir, ka, piemēram, izmērs 10 collas [dzirdams]? 1372 01:05:41,306 --> 01:05:43,698 >> SPEAKER 1: Tas ir lielums 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 Tāpēc izmērs Ints atgriezīsies cik daudz tas viens int veikt. 1376 01:05:48,830 --> 01:05:51,530 Vai lielums char, kā maksā vienu char uzņemties. 1377 01:05:51,530 --> 01:05:54,150 Un tad cik blokus no ka jūs vēlaties? 1378 01:05:54,150 --> 01:05:57,590 >> Tātad šajā gadījumā, mēs gribam kaut ko ka mēs varam saglabāt 10 Ints līdz. 1379 01:05:57,590 --> 01:06:00,240 Un tas darbosies neatkarīgi mašīnas, kas ir forši. 1380 01:06:00,240 --> 01:06:01,720 1381 01:06:01,720 --> 01:06:04,846 Tik, cik daudz baitu būs kas faktiski dod jums? 1382 01:06:04,846 --> 01:06:06,190 Ātri math. 1383 01:06:06,190 --> 01:06:06,787 >> AUDITORIJA: 40. 1384 01:06:06,787 --> 01:06:07,370 SPEAKER 1: 40. 1385 01:06:07,370 --> 01:06:07,869 Tieši tā. 1386 01:06:07,869 --> 01:06:09,520 1387 01:06:09,520 --> 01:06:12,030 Tātad vēl viens liels lieta. 1388 01:06:12,030 --> 01:06:14,840 Pointer vai malloc var atgriezties null. 1389 01:06:14,840 --> 01:06:17,910 >> Tātad vēlreiz, vienmēr pārbaudiet, redzētu, vai tas atgriezās null 1390 01:06:17,910 --> 01:06:19,620 Pirms jūs mēģināt un darīt kaut ko ar to. 1391 01:06:19,620 --> 01:06:23,430 1392 01:06:23,430 --> 01:06:27,350 Ja jūs mēģināt un dereference šis rādītājs tagad, 1393 01:06:27,350 --> 01:06:29,720 tas ir tikai gatavojas segfault jo jums gāja un mēģināja 1394 01:06:29,720 --> 01:06:31,730 pieskarties spēku, kad jums nevajadzētu būt. 1395 01:06:31,730 --> 01:06:34,000 Tāpēc vienmēr pārbaudiet null. 1396 01:06:34,000 --> 01:06:36,075 Atkal, visu jūs varat darīt. 1397 01:06:36,075 --> 01:06:38,300 1398 01:06:38,300 --> 01:06:39,720 >> Tas varētu atgriezties null. 1399 01:06:39,720 --> 01:06:42,740 Tas būs atgriezties null, ja jūs esat vai nu no vietas, vai kāda iemesla dēļ 1400 01:06:42,740 --> 01:06:44,350 tas uzbrauca kādu atmiņas bug. 1401 01:06:44,350 --> 01:06:45,890 1402 01:06:45,890 --> 01:06:47,510 Tas dažreiz vienkārši atgriež null. 1403 01:06:47,510 --> 01:06:48,990 Tātad jums vienkārši ir, lai pārbaudītu to. 1404 01:06:48,990 --> 01:06:51,050 Tas ir viss tas slaids saka. 1405 01:06:51,050 --> 01:06:53,366 1406 01:06:53,366 --> 01:06:55,240 Un tad tas, ko mēs esam šeit ir aicinājums, lai atbrīvotu. 1407 01:06:55,240 --> 01:07:00,550 Tātad pašā veidā, ka tad, ja jums atveriet failu jums jāaizver failu, 1408 01:07:00,550 --> 01:07:04,340 ja jūs malloc atmiņu, jūs ir jūs atbrīvotu šo atmiņu. 1409 01:07:04,340 --> 01:07:06,530 Un jūs puiši saņems darīt tiešām cool stuff. 1410 01:07:06,530 --> 01:07:09,624 >> Un tur ir programma, jūs varat palaist, lai redzēt, ja jūs esat kādreiz noplūde atmiņu. 1411 01:07:09,624 --> 01:07:11,040 Bet jūs nevēlaties, lai noplūdes atmiņu. 1412 01:07:11,040 --> 01:07:11,820 Tas ir patiešām slikti. 1413 01:07:11,820 --> 01:07:13,191 1414 01:07:13,191 --> 01:07:15,020 Tikai izjaukt lietas. 1415 01:07:15,020 --> 01:07:20,939 >> Tas ir slikti darīt, tāpat kā programmēšana gudrs dizaina efektivitāti. 1416 01:07:20,939 --> 01:07:22,980 Bet tas ir arī vienkārši veida no slikti jūsu datoram. 1417 01:07:22,980 --> 01:07:26,780 Tik vienkārši bezmaksas lietas kad jūs malloc tos. 1418 01:07:26,780 --> 01:07:28,190 1419 01:07:28,190 --> 01:07:30,210 >> Jūs guys redzēt symmetries šeit. 1420 01:07:30,210 --> 01:07:31,180 Super vienkārši. 1421 01:07:31,180 --> 01:07:33,010 Tikai brīvi un pēc tam neatkarīgi no jūsu rādītājs, 1422 01:07:33,010 --> 01:07:34,843 kāds nosaukums jūsu rādītājs ir, un tas 1423 01:07:34,843 --> 01:07:36,710 parūpēsies atbrīvojot to you. 1424 01:07:36,710 --> 01:07:38,200 1425 01:07:38,200 --> 01:07:38,700 Atdzist. 1426 01:07:38,700 --> 01:07:40,410 1427 01:07:40,410 --> 01:07:42,530 >> Tad mums ir šis. 1428 01:07:42,530 --> 01:07:44,770 Tātad mēs esam tikai gatavojas staigāt pa šo programmu. 1429 01:07:44,770 --> 01:07:46,560 Un tad jūs puiši tiek darīts. 1430 01:07:46,560 --> 01:07:50,240 >> Tātad [dzirdams] tikai galvenais. 1431 01:07:50,240 --> 01:07:51,690 Tātad mums ir dažas int * rādītāju. 1432 01:07:51,690 --> 01:07:53,648 Tātad mums ir rādītājs kas gatavojas rīkot Ints. 1433 01:07:53,648 --> 01:07:54,500 1434 01:07:54,500 --> 01:07:56,170 Un cik Ints tas gatavojas rīkot? 1435 01:07:56,170 --> 01:07:57,400 1436 01:07:57,400 --> 01:07:58,170 Tikai viens. 1437 01:07:58,170 --> 01:07:59,400 1438 01:07:59,400 --> 01:08:01,100 Lielums int. 1439 01:08:01,100 --> 01:08:03,900 >> Mēs pārbaudām, vai rādītājs ir nulle, jo tas 1440 01:08:03,900 --> 01:08:06,130 ir, mēs vēlamies teikt, neko nedara. 1441 01:08:06,130 --> 01:08:07,065 Tas ir slikti. 1442 01:08:07,065 --> 01:08:08,130 1443 01:08:08,130 --> 01:08:12,130 Tātad mēs drukāt dažas kļūdas ārā no atmiņa, visbiežāk atgriežas 1, 1444 01:08:12,130 --> 01:08:14,260 kā jūs puiši tiek izmantoti. 1445 01:08:14,260 --> 01:08:17,390 >> Un tad mēs esam šeit, mēs dereference mūsu rādītājs. 1446 01:08:17,390 --> 01:08:22,840 Tātad tas nozīmē, ka mēs ejam, lai saglabātu kaut ko vietā, ko mums. 1447 01:08:22,840 --> 01:08:24,350 1448 01:08:24,350 --> 01:08:30,830 Int * rādītājs, vai malloc, atgriež adrese, ja tā atcēla šo 1449 01:08:30,830 --> 01:08:31,750 atmiņas par jums. 1450 01:08:31,750 --> 01:08:32,830 1451 01:08:32,830 --> 01:08:34,800 Tātad, tas ir būtībā sniedzot jums like-- ja jūs 1452 01:08:34,800 --> 01:08:38,149 domāt par ķekars mājas apkaimē 1453 01:08:38,149 --> 01:08:40,640 ka jūs vēlaties, lai Jūsu mēbeles, malloc 1454 01:08:40,640 --> 01:08:43,850 ir, piemēram, OK, jūs saņemsiet doties uz māju trīs. 1455 01:08:43,850 --> 01:08:45,800 Un tas dod jums adrese mājā trīs. 1456 01:08:45,800 --> 01:08:48,775 >> Tātad tas tieši tagad, šajā rādītājs veikali adrese, 1457 01:08:48,775 --> 01:08:50,149 saglabā adresi jūsu mājā. 1458 01:08:50,149 --> 01:08:51,470 1459 01:08:51,470 --> 01:08:54,640 * PTR līdzekļiem, OK, es esmu pie manas mājas. 1460 01:08:54,640 --> 01:08:55,326 Atdzist. 1461 01:08:55,326 --> 01:08:56,580 Man vajag, lai saņemtu kādu skaitli. 1462 01:08:56,580 --> 01:08:59,229 >> Tātad jūs esat jautā kādam lai dotu jums mēbeles tagad. 1463 01:08:59,229 --> 01:09:00,430 Tātad jums iegūt kādu int. 1464 01:09:00,430 --> 01:09:05,100 Un tas liek to savā rādītājs kur tas ir norādot uz. 1465 01:09:05,100 --> 01:09:08,670 >> Un tad tikai izdrukas out, esat ievadījis kur. 1466 01:09:08,670 --> 01:09:11,060 Un atkal, atskaites. 1467 01:09:11,060 --> 01:09:15,649 Tātad tas ir kā jūs devās uz šo risināt un redzējāt, kas tur bija. 1468 01:09:15,649 --> 01:09:17,120 1469 01:09:17,120 --> 01:09:17,630 Forši? 1470 01:09:17,630 --> 01:09:20,174 >> Un tad, protams, mēs atbrīvotu mūsu rādītāju. 1471 01:09:20,174 --> 01:09:21,590 Neaizmirstiet, lai atbrīvotu savu rādītāju. 1472 01:09:21,590 --> 01:09:22,933 Neaizmirstiet pārbaudīt null. 1473 01:09:22,933 --> 01:09:24,349 Neaizmirstiet, lai atbrīvotu savu rādītāju. 1474 01:09:24,349 --> 01:09:27,270 Jums ir divas lietas jūs atceraties no tas, vai ka jums vajadzētu atcerēties. 1475 01:09:27,270 --> 01:09:27,770 Jā. 1476 01:09:27,770 --> 01:09:31,590 Mērķauditorija: [dzirdams] sīkumi piemēram, ka, char * s. 1477 01:09:31,590 --> 01:09:33,760 Kā tas nākas, mēs nekad atbrīvot tos? 1478 01:09:33,760 --> 01:09:34,529 >> SPEAKER 1: Hm? 1479 01:09:34,529 --> 01:09:36,450 >> Mērķauditorija: Vai tiem, kas līdzīgi stīgām? 1480 01:09:36,450 --> 01:09:39,160 Jūs teicāt, stīgas ir tāpat kā char * s, vai ne? 1481 01:09:39,160 --> 01:09:41,200 Tātad, kāpēc nav mēs brīvi virknes? 1482 01:09:41,200 --> 01:09:43,204 >> SPEAKER 1: Jums tikai bez maksas, ja jūs mallocing. 1483 01:09:43,204 --> 01:09:44,620 Mērķauditorija: Ak, ja jūs mallocing. 1484 01:09:44,620 --> 01:09:47,399 SPEAKER 1: Tātad malloc un brīvas ir divas lietas 1485 01:09:47,399 --> 01:09:49,000 ka jums vienmēr ir kopā. 1486 01:09:49,000 --> 01:09:51,630 f open, f tuvu, divas lietas Jums ir jābūt kopā. 1487 01:09:51,630 --> 01:09:54,471 Abos šajos gadījumos, pārbaudiet null. 1488 01:09:54,471 --> 01:09:54,971 Jā. 1489 01:09:54,971 --> 01:09:57,130 >> Mērķauditorija: Tātad bez maksas ir tikai ļaujot kaut ko citu 1490 01:09:57,130 --> 01:09:59,690 jāuzglabā, ka pēc tam, kad šī programma ir lietojuši? 1491 01:09:59,690 --> 01:10:01,946 >> SPEAKER 1: Tas ir vienkārši sakot, Labi, es esmu darīts ar to. 1492 01:10:01,946 --> 01:10:03,320 Jums nav nepieciešams, lai saglabātu to apkārt. 1493 01:10:03,320 --> 01:10:05,340 1494 01:10:05,340 --> 01:10:08,190 Citādi jūsu dators būs vienkārši patīk izmēģināt un saglabāt to tur. 1495 01:10:08,190 --> 01:10:10,910 Un tad jūs can't-- tas darbojas uz atmiņas problēmas vēlāk. 1496 01:10:10,910 --> 01:10:13,660 Jūs vienmēr vēlaties, lai atbrīvotu to, jo tā stāsta savu datoru, OK, es esmu 1497 01:10:13,660 --> 01:10:15,190 darīts ar šo vietas atmiņas. 1498 01:10:15,190 --> 01:10:17,190 Jūs varat to atpakaļ man, lai izmantotu vēlāk. 1499 01:10:17,190 --> 01:10:19,250 1500 01:10:19,250 --> 01:10:20,500 Forši? 1501 01:10:20,500 --> 01:10:21,320 Jā. 1502 01:10:21,320 --> 01:10:26,950 >> Mērķauditorija: Tātad mēs izmantojām% d tikko jo dubultā, kas nāk atpakaļ, 1503 01:10:26,950 --> 01:10:28,330 vai kāpēc is-- [nedzirdama]. 1504 01:10:28,330 --> 01:10:30,170 1505 01:10:30,170 --> 01:10:31,620 >> Mērķauditorija: Vai jūs izmantojat% i? 1506 01:10:31,620 --> 01:10:32,760 >> SPEAKER 1: Jūs varat izmantot% i. 1507 01:10:32,760 --> 01:10:35,052 1508 01:10:35,052 --> 01:10:36,135 Jebkuras pēdējā brīža jautājumi? 1509 01:10:36,135 --> 01:10:38,310 1510 01:10:38,310 --> 01:10:38,985 Iet uz priekšu. 1511 01:10:38,985 --> 01:10:40,610 Mērķauditorija: Man vienkārši ir ātrs jautājums. 1512 01:10:40,610 --> 01:10:50,200 Tātad PTR mainīgs, that's-- piemēram, ar int * PTR = malloc, 1513 01:10:50,200 --> 01:10:54,142 kas ir vienkārši sakot, ka tas ir norādot uz vietu memory-- 1514 01:10:54,142 --> 01:10:55,600 SPEAKER 1: Vai jūs vēlaties [dzirdams]? 1515 01:10:55,600 --> 01:10:58,050 Mērķauditorija: --that ir izmērs of-- nē, tas ir OK. 1516 01:10:58,050 --> 01:11:01,292 Bet tas ir tikai norādot uz vietu atmiņu, kas ir tāpat kā četri baiti. 1517 01:11:01,292 --> 01:11:02,000 SPEAKER 1: Labais. 1518 01:11:02,000 --> 01:11:03,030 1519 01:11:03,030 --> 01:11:07,070 Tātad malloc lielumu no int saka, Labi, es iešu notece, 1520 01:11:07,070 --> 01:11:08,780 atrast četri baiti atmiņas jums. 1521 01:11:08,780 --> 01:11:10,700 Ja tā konstatē, ka četras atmiņas baiti, to 1522 01:11:10,700 --> 01:11:14,030 dod jums atpakaļ adresi no tā, kur tā sākas, 1523 01:11:14,030 --> 01:11:16,160 un tas, ko uzglabā in šautriņu, vai PTR. 1524 01:11:16,160 --> 01:11:17,510 1525 01:11:17,510 --> 01:11:18,010 Labi. 1526 01:11:18,010 --> 01:11:18,742 1527 01:11:18,742 --> 01:11:21,700 Jūs guys izskatās tik apjucis, nekā lielākā daļa cilvēki, kad es runāt par rādītāju, 1528 01:11:21,700 --> 01:11:23,670 tāpēc es jūtos diezgan labi tieši tagad. 1529 01:11:23,670 --> 01:11:24,520 >> Labi. 1530 01:11:24,520 --> 01:11:27,960 Kā vienmēr, jums puiši ir jābūt visiem dabūt savu pset2 pakāpes, ko tagad. 1531 01:11:27,960 --> 01:11:32,769 Es zinu, ka ir bijuši daži ļodzīgs lietas, kur ir teikts, formula nav spēkā 1532 01:11:32,769 --> 01:11:33,310 vai kaut ko. 1533 01:11:33,310 --> 01:11:36,166 Ja saņemat, ka visi Jūsu pakāpes ir derīgas uz manu pusi. 1534 01:11:36,166 --> 01:11:38,040 Lai es varētu nosūtīt jums ekrānšāviņi no savām atzīmēm. 1535 01:11:38,040 --> 01:11:39,011 1536 01:11:39,011 --> 01:11:41,760 Tikai ļaujiet man, kā arī, ja jūs zināt trūkstošo jebkuru atzīmes vai kaut ko 1537 01:11:41,760 --> 01:11:43,060 nešķiet jēgas. 1538 01:11:43,060 --> 01:11:43,720 Nāciet pie manis. 1539 01:11:43,720 --> 01:11:44,830 1540 01:11:44,830 --> 01:11:48,830 >> Esmu bijis super lepni par jums puiši jau ir, lai saglabātu to uz augšu. 1541 01:11:48,830 --> 01:11:50,640 Un ir labi atpūsties savu nedēļu. 1542 01:11:50,640 --> 01:11:53,440 Es esmu pārliecināts, ka es redzu dažus no jums pie darba laika. 1543 01:11:53,440 --> 01:11:55,414