1 00:00:00,000 --> 00:00:00,960 2 00:00:00,960 --> 00:00:03,360 >> [Tónlist spila] 3 00:00:03,360 --> 00:00:11,050 4 00:00:11,050 --> 00:00:12,065 >> DAVIN: Allt í lagi, krakkar. 5 00:00:12,065 --> 00:00:13,642 6 00:00:13,642 --> 00:00:15,350 Þannig að þetta er umfjöllun fyrir fyrsta prófið. 7 00:00:15,350 --> 00:00:17,751 Eru allir tilbúnir til prófið á miðvikudag? 8 00:00:17,751 --> 00:00:18,292 ALLISON: Woo! 9 00:00:18,292 --> 00:00:18,743 Nemandi: Woo! 10 00:00:18,743 --> 00:00:19,242 DAVIN: Já. 11 00:00:19,242 --> 00:00:19,920 ALLISON: Já! 12 00:00:19,920 --> 00:00:20,920 DAVIN: Þessi strákur er tilbúin. 13 00:00:20,920 --> 00:00:22,200 Þessi strákur, tvær hendur, gott. 14 00:00:22,200 --> 00:00:23,234 15 00:00:23,234 --> 00:00:25,900 Svo quiz endurskoðun í dag, það er að fara að vera um klukkutíma og hálfan. 16 00:00:25,900 --> 00:00:27,940 Við erum að fara að fara yfir alla helstu hugtök sem þú ættir að vita um próf. 17 00:00:27,940 --> 00:00:31,434 Við erum að fara að fara yfir nokkur erfðaskrá með hönd dæmi, sem eru á hverju prófi. 18 00:00:31,434 --> 00:00:34,350 Og ef þú hefur einhverjar spurningar, ekki hika við að hækka hönd þína og allt 19 00:00:34,350 --> 00:00:34,945 eins og þessi. 20 00:00:34,945 --> 00:00:36,695 Jæja, flutningum um prófið eru á netinu. 21 00:00:36,695 --> 00:00:38,450 Þannig að við erum að fara að skipta fólki upp í mismunandi herbergjum. 22 00:00:38,450 --> 00:00:39,491 Það er byggt á nafn þeirra. 23 00:00:39,491 --> 00:00:43,630 Svo ef þú hefur einhverjar spurningar um hvar að fara eða um hvaða efni er, eins og, 24 00:00:43,630 --> 00:00:46,810 opinber orð um hvað er að gerast að vera á próf, athuga á netinu. 25 00:00:46,810 --> 00:00:48,420 Og það er allt upp til dagsetning. 26 00:00:48,420 --> 00:00:51,280 Þannig að ef það eru engar spurningar til byrja með, við erum að fara að byrja. 27 00:00:51,280 --> 00:00:52,790 28 00:00:52,790 --> 00:00:53,710 Og hér er Allison. 29 00:00:53,710 --> 00:00:56,060 30 00:00:56,060 --> 00:00:57,000 >> [Claps] 31 00:00:57,000 --> 00:00:59,300 >> ALLISON: OK, takk, Rob. 32 00:00:59,300 --> 00:01:00,280 Þakka það. 33 00:01:00,280 --> 00:01:01,350 34 00:01:01,350 --> 00:01:03,050 Davin hefði snúið að þessu. 35 00:01:03,050 --> 00:01:07,240 Þetta er ekki tæmandi listi yfir efni, eins og alltaf, eins Davin bara sagt. 36 00:01:07,240 --> 00:01:10,860 Samráð skjöl netinu um spurningakeppni núll. 37 00:01:10,860 --> 00:01:13,680 En þetta er nokkuð much-- það er á kennsluáætlun 38 00:01:13,680 --> 00:01:15,550 er allt sem við höfum farið yfir hingað til. 39 00:01:15,550 --> 00:01:18,290 Allt hér er sanngjarn leikur, auk allt annað 40 00:01:18,290 --> 00:01:21,380 sem kunna að hafa verið nefndar í fyrirlestri. 41 00:01:21,380 --> 00:01:25,070 >> Kafla minn, hér er bara fullt af endurskoðun. 42 00:01:25,070 --> 00:01:27,775 There ert a par æfingar að þið gæti virkað á. 43 00:01:27,775 --> 00:01:30,650 En að mestu leyti, við virkilega langar að fá að Davin með þeim kóða 44 00:01:30,650 --> 00:01:31,710 af hendi æfingar. 45 00:01:31,710 --> 00:01:33,940 >> Svo ég er að fara að fljúga í gegnum þetta. 46 00:01:33,940 --> 00:01:36,330 Ef þú hefur einhverjar spurningar, stoppa mig. 47 00:01:36,330 --> 00:01:37,270 Hækka hönd þína. 48 00:01:37,270 --> 00:01:39,250 Ég lofa að ég mun sennilega sjá þig. 49 00:01:39,250 --> 00:01:41,042 Ef ekki, bara veifa því í kring. 50 00:01:41,042 --> 00:01:42,250 Ég ætla að vera að tala hratt. 51 00:01:42,250 --> 00:01:43,950 Ég vona að allir er í lagi með það. 52 00:01:43,950 --> 00:01:48,020 >> OK, sérstök orð, Davin augljóslega gleymdi að fletta í gegnum þessar skyggnur. 53 00:01:48,020 --> 00:01:51,880 [Hlær] Þú ert í vandræðum, maður. 54 00:01:51,880 --> 00:01:55,770 Svo ábendingar fyrir spurningakeppni núll, æfa kóðun á pappír. 55 00:01:55,770 --> 00:01:58,950 Þú krakkar eru að fara að fá smá æfa með að nú með Davin, 56 00:01:58,950 --> 00:02:00,655 svo þú verður ekki alveg sjálfur. 57 00:02:00,655 --> 00:02:03,030 Ég held að við erum í raun að fara gegnum þessar tvær aðgerðir. 58 00:02:03,030 --> 00:02:04,500 Svo þú munt vera vel undirbúin þar. 59 00:02:04,500 --> 00:02:05,958 >> Þekki vandamál setur þinn. 60 00:02:05,958 --> 00:02:08,150 Það hafa verið spurningar á fyrri Skyndipróf 61 00:02:08,150 --> 00:02:12,680 sem mun spyrja þig, til dæmis, að kóða upp eitthvað mjög svipað Mario. 62 00:02:12,680 --> 00:02:15,060 Svo að vera mjög kunnugur vandamálið setur, sem og 63 00:02:15,060 --> 00:02:17,827 sem þeim spurningum sem við biðjum þig í upphafi á forminu 64 00:02:17,827 --> 00:02:19,660 sem þú fyllir út, mun þjóna þér mjög vel. 65 00:02:19,660 --> 00:02:20,940 66 00:02:20,940 --> 00:02:23,380 >> Gera fyrri quiz undir tíminn þvingun. 67 00:02:23,380 --> 00:02:25,430 Þessar Skyndipróf eru langir. 68 00:02:25,430 --> 00:02:26,850 Tíminn fer mjög hratt. 69 00:02:26,850 --> 00:02:30,480 Og oft, þú veist ekki hvernig hratt það fer þar til þú raunverulega 70 00:02:30,480 --> 00:02:32,180 setja þig undir þeim þvingun. 71 00:02:32,180 --> 00:02:36,500 Svo ef þú getur bara móta út, þú veist, 75 mínútur, annað hvort í kvöld eða á morgun 72 00:02:36,500 --> 00:02:41,020 að taka einn af þessum Skyndipróf undir að þú verður að vera í miklu betra form. 73 00:02:41,020 --> 00:02:43,060 >> Og einnig, búa tilvísun lak. 74 00:02:43,060 --> 00:02:45,290 Mundu, þú færð einn síðu framan og aftan 75 00:02:45,290 --> 00:02:47,040 sem viðmiðun fyrir prófið á miðvikudag. 76 00:02:47,040 --> 00:02:49,074 Búa sem er frábær leið til að læra. 77 00:02:49,074 --> 00:02:51,990 Nokkuð sem þú ert í vandræðum með þú vilt hafa á það. 78 00:02:51,990 --> 00:02:55,627 Nokkuð sem TFS þínar hafa verið, eins og þetta er mjög mikilvægt. 79 00:02:55,627 --> 00:02:57,960 Þú ættir að vita þetta, er Kannski það sem þú ert með á þarna 80 00:02:57,960 --> 00:02:59,931 ef þú ert ekki þá utanbókar. 81 00:02:59,931 --> 00:03:02,680 Jafnvel ef þú veist þá raunverulega Jæja, stundum hafa það á það 82 00:03:02,680 --> 00:03:07,030 er bara svona þægindi fyrir þig, sem ég veit Skyndipróf eru streituvaldandi. 83 00:03:07,030 --> 00:03:09,260 Svo allir þægindi færðu getur hjálpað. 84 00:03:09,260 --> 00:03:13,072 Allt í lagi, einnig að fá svefn og borða og eins venjulegum hlutum 85 00:03:13,072 --> 00:03:14,280 að við segja þér fyrir Skyndipróf. 86 00:03:14,280 --> 00:03:16,320 87 00:03:16,320 --> 00:03:18,890 >> Svo byrja burt auðvelt, gögn gerðir og stærðir. 88 00:03:18,890 --> 00:03:22,720 Eins og ég sagði, þetta er bara að fara að mér að henda mikið af efni 89 00:03:22,720 --> 00:03:24,320 upp hér að þú ættir að vita. 90 00:03:24,320 --> 00:03:27,600 Þannig að við höfum Sérstafir okkar sem eru ein bæti, ints 91 00:03:27,600 --> 00:03:30,390 sem eru fjórir bytes, langur langur, sem eru átta bæti. 92 00:03:30,390 --> 00:03:33,280 Í grundvallaratriðum, það er bara þú vilja til að halda stærri heiltölur. 93 00:03:33,280 --> 00:03:35,490 Fljóta, sem eru fjögur, tveggja manna, sem eru átta. 94 00:03:35,490 --> 00:03:38,150 Aftur, bara gefur þér meira pláss fyrir flotum þínum. 95 00:03:38,150 --> 00:03:41,290 Og þá tegund stjörnu, svo allir bendilinn 32-bita vél, 96 00:03:41,290 --> 00:03:44,650 sem er allt sem þú krakkar þurfa að vita, er fjórar bæti. 97 00:03:44,650 --> 00:03:46,542 >> Þannig að allir hlutir sem þú ættir vita, kannski hluti 98 00:03:46,542 --> 00:03:48,250 þú vilt hafa á Tilvísun blaðsins. 99 00:03:48,250 --> 00:03:50,350 100 00:03:50,350 --> 00:03:53,520 OK, tvöfaldur viðskipti til tvöfaldur, ummyndun 101 00:03:53,520 --> 00:03:56,860 til sextánskur, fram og til baka, Allir hlutir sem þú ættir að vita. 102 00:03:56,860 --> 00:03:59,480 Svo frá tvöfaldur í fjölda. 103 00:03:59,480 --> 00:04:03,309 Þú krakkar vilja til að taka fljótur mínútu og reyna að reikna út hver af þessum 104 00:04:03,309 --> 00:04:04,600 og þá segja mér hvað þeir eru? 105 00:04:04,600 --> 00:04:06,500 106 00:04:06,500 --> 00:04:10,240 >> Ég hef líka nammi í töskuna mína, svo einhver sem svarar fær nammi, við the vegur. 107 00:04:10,240 --> 00:04:13,560 108 00:04:13,560 --> 00:04:14,480 Og ég hef fullt af henni. 109 00:04:14,480 --> 00:04:15,760 110 00:04:15,760 --> 00:04:16,870 Leyfðu mér grípa þetta. 111 00:04:16,870 --> 00:04:18,480 Ég ætla að gefa þetta til Gabe. 112 00:04:18,480 --> 00:04:21,829 Svo er hægt að skila út sælgæti að hver er ágætur og samstarfsverkefni. 113 00:04:21,829 --> 00:04:23,490 >> OK, sá ég hönd fyrir aftan. 114 00:04:23,490 --> 00:04:26,418 115 00:04:26,418 --> 00:04:28,370 >> Nemandi: Já, sá fyrsti er 42. 116 00:04:28,370 --> 00:04:30,280 >> ALLISON: Já, fyrst maður er 42, rétt. 117 00:04:30,280 --> 00:04:31,163 118 00:04:31,163 --> 00:04:32,038 Nemandi: [inaudible]. 119 00:04:32,038 --> 00:04:34,810 [Hlátur] 120 00:04:34,810 --> 00:04:37,030 ALLISON: Second einn, það aftur í gulum? 121 00:04:37,030 --> 00:04:38,910 Nemandi: 110.010. 122 00:04:38,910 --> 00:04:43,410 ALLISON: Rétt, og þetta síðasta, hér niðri á botn? 123 00:04:43,410 --> 00:04:44,570 Einnig, já, þú veist vilja? 124 00:04:44,570 --> 00:04:45,550 Bara henda út nammi. 125 00:04:45,550 --> 00:04:46,483 Hvernig um nammi fyrir alla? 126 00:04:46,483 --> 00:04:47,510 >> Nemandi: [inaudible] þegar við erum búin. 127 00:04:47,510 --> 00:04:48,051 >> ALLISON: SHH. 128 00:04:48,051 --> 00:04:49,380 129 00:04:49,380 --> 00:04:50,910 Og svo það síðasta. 130 00:04:50,910 --> 00:04:52,000 Hver vill svara? 131 00:04:52,000 --> 00:04:52,744 Rétt þar. 132 00:04:52,744 --> 00:04:54,480 >> Nemandi: 11100. 133 00:04:54,480 --> 00:04:56,820 >> ALLISON: 11100, líta á það. 134 00:04:56,820 --> 00:04:58,790 Til hamingju, frábært starf, allir. 135 00:04:58,790 --> 00:05:03,370 OK, allir konar skilja Ferlið til að gera þetta? 136 00:05:03,370 --> 00:05:08,700 Þú hefur, að fara frá tvöfaldur í fjölda hvernig ég tilhneigingu til að gera það, er að skrifa út 137 00:05:08,700 --> 00:05:09,920 völd 2. 138 00:05:09,920 --> 00:05:18,350 Svo ég segi, OK, 0 sinnum 2 0, svo það er 0, 1 sinnum 2 fyrstu, 139 00:05:18,350 --> 00:05:21,400 er 2 fara áfram þannig. 140 00:05:21,400 --> 00:05:25,790 Er einhver að vilja mig til að skýrt fara í gegnum dæmi um tvöfaldur? 141 00:05:25,790 --> 00:05:26,840 142 00:05:26,840 --> 00:05:28,140 OK, flott. 143 00:05:28,140 --> 00:05:30,390 >> Decimal til keyrsluskránni er mjög svipuð. 144 00:05:30,390 --> 00:05:31,550 145 00:05:31,550 --> 00:05:33,630 ÉG hafa tilhneigingu til að skrifa út völd 2. 146 00:05:33,630 --> 00:05:38,660 Byrja með einn sem er mestur, en ekki fara framhjá aukastaf 147 00:05:38,660 --> 00:05:39,710 að þú ert að leita að. 148 00:05:39,710 --> 00:05:42,870 Og svo konar vinna þig afturábak bæta upp hlutina eins og þörf krefur. 149 00:05:42,870 --> 00:05:45,200 >> Og þá með að auki er það bara eins og venjulega viðbót. 150 00:05:45,200 --> 00:05:51,110 Ef þú hefur einhvern tíma að ræða þar sem þú ert bæta við tveimur 1s, það verður augljóslega 2. 151 00:05:51,110 --> 00:05:56,875 2 í tvöfaldur er nú 1 0 þannig að þú þarft að bera 1 inn á næsta dálki. 152 00:05:56,875 --> 00:05:57,375 Cool. 153 00:05:57,375 --> 00:05:59,220 154 00:05:59,220 --> 00:06:03,240 >> Sextánskur, þetta gæti verið eitthvað sem er örlítið minna þekki. 155 00:06:03,240 --> 00:06:06,600 Svo eins Rob var bara að segja mér fyrirfram, bragð hans fyrir þetta 156 00:06:06,600 --> 00:06:10,210 er bara að kljúfa það upp í fjögur bæti klumpur, OK? 157 00:06:10,210 --> 00:06:11,050 Bits, því miður. 158 00:06:11,050 --> 00:06:11,720 Sjá? 159 00:06:11,720 --> 00:06:12,220 Takk Rob. 160 00:06:12,220 --> 00:06:15,874 Þetta er ástæða þess að þú ert hér. [Hávaða] OK, svo við brjóta bara það upp 161 00:06:15,874 --> 00:06:16,790 í fjórum bitum klumpur. 162 00:06:16,790 --> 00:06:21,570 Svo með tvöfaldur til sextánskur, við líta á fyrstu 4, 163 00:06:21,570 --> 00:06:25,573 sem er ef við höfum fjóra 1s í a róður, hvaða tala er það tákn? 164 00:06:25,573 --> 00:06:26,540 >> STUDENT: F. 165 00:06:26,540 --> 00:06:32,751 >> ALLISON: Svo í þessu tilfelli, hvað er 11111111 or-- já? 166 00:06:32,751 --> 00:06:33,250 Nemandi: FF. 167 00:06:33,250 --> 00:06:34,600 ALLISON: Perfect, FF. 168 00:06:34,600 --> 00:06:36,900 Svo mikill, nammi fyrir þig. 169 00:06:36,900 --> 00:06:41,100 Nú, því hvernig sextánskur að tvöfaldur, við hugsa bara um það svona með öfugum formerkjum. 170 00:06:41,100 --> 00:06:46,420 Fyrir hvert númer eða bréfi að við höfum í sextánskur okkar, 171 00:06:46,420 --> 00:06:53,930 bara breyta það til fjögurra hluti þess [Hlær] til fjögurra bita umreikning. 172 00:06:53,930 --> 00:06:58,696 Svo 5, í þessu tilfelli, hvað er 5 ef við erum fulltrúar það með fjórum bitum? 173 00:06:58,696 --> 00:06:59,608 >> Nemandi: 010? 174 00:06:59,608 --> 00:07:00,520 Mm-HM. 175 00:07:00,520 --> 00:07:03,605 Og þá A, sem er raun 10, væri? 176 00:07:03,605 --> 00:07:06,230 177 00:07:06,230 --> 00:07:08,040 1010. 178 00:07:08,040 --> 00:07:09,670 Þannig að við höfum það, hér. 179 00:07:09,670 --> 00:07:13,990 Svo breyta milli sextánskur og tvöfaldur í raun er ekki svo slæmt. 180 00:07:13,990 --> 00:07:16,565 Ef þú horfir á það í fjórum bita klumpur, fara að vera gullna. 181 00:07:16,565 --> 00:07:18,330 182 00:07:18,330 --> 00:07:19,300 Everyone-- já? 183 00:07:19,300 --> 00:07:21,903 >> Rob: Þetta er kjánalegt, en ég man alltaf 184 00:07:21,903 --> 00:07:23,500 A, þar A er að vera 10. 185 00:07:23,500 --> 00:07:26,230 Og tvöfaldur er bara 10 10, so-- 186 00:07:26,230 --> 00:07:27,310 >> ALLISON: Ah, þar sem við förum. 187 00:07:27,310 --> 00:07:28,615 >> Ræna: Hey. 188 00:07:28,615 --> 00:07:30,020 >> ALLISON: Hey, nammi fyrir Rob. 189 00:07:30,020 --> 00:07:31,707 190 00:07:31,707 --> 00:07:33,290 Það er ekki súkkulaði efni þar. 191 00:07:33,290 --> 00:07:34,180 Svo er hægt að hafa nokkrar. 192 00:07:34,180 --> 00:07:35,790 193 00:07:35,790 --> 00:07:36,760 Svo ASCII stærðfræði. 194 00:07:36,760 --> 00:07:38,206 195 00:07:38,206 --> 00:07:38,705 Hegða sér. 196 00:07:38,705 --> 00:07:40,630 197 00:07:40,630 --> 00:07:44,720 Svo ASCII Stærðfræði, eins og þú krakkar líklega vel muna 198 00:07:44,720 --> 00:07:48,480 p sett 2 með Visioneer og Caesar, þú gerðir mikið af þessu. 199 00:07:48,480 --> 00:07:49,610 200 00:07:49,610 --> 00:07:51,980 Mundu, persónurnar eru grundvallaratriðum bara númer. 201 00:07:51,980 --> 00:07:54,780 Þannig að við getum gert stærðfræði með þeim, bara eins og við gerum stærðfræði með ints. 202 00:07:54,780 --> 00:07:58,090 >> Þannig að við höfum bara smá einfaldur hlutur hér. 203 00:07:58,090 --> 00:08:00,940 Við höfum sumir í A sem er frumstilla í 65. 204 00:08:00,940 --> 00:08:07,440 Og B jafn ASCII verðmæti plús 1, CH C jafnt og D mínus 1, 205 00:08:07,440 --> 00:08:09,060 og bleikju D jafn 68. 206 00:08:09,060 --> 00:08:13,130 Svo þá erum við að fara að prenta öllum þeim, sem við sjáum hér. 207 00:08:13,130 --> 00:08:15,650 Og getur einhver sagt mér Hvað þetta mun prenta út? 208 00:08:15,650 --> 00:08:17,335 209 00:08:17,335 --> 00:08:18,210 Nemandi: [inaudible]. 210 00:08:18,210 --> 00:08:20,540 ALLISON: Einmitt, svo eitt að taka eftir er 211 00:08:20,540 --> 00:08:22,900 að við erum að prenta út stafir í hvert sinn, hér. 212 00:08:22,900 --> 00:08:28,290 Við erum tilnefningu þótt A og B eru ints þegar við lýst þeim yfir. 213 00:08:28,290 --> 00:08:32,870 Við erum prentun þá sem stafi af Hundraðshluti C og printf yfirlýsingu okkar, 214 00:08:32,870 --> 00:08:34,610 svo þeir munu allir prenta sem stafi. 215 00:08:34,610 --> 00:08:40,730 Og auðvitað, ASCII gildi 65 vilji prenta sem A. ASCII gildi plús 1 216 00:08:40,730 --> 00:08:43,669 væri 66, sem myndi stolt af því að B. Svo í raun, við 217 00:08:43,669 --> 00:08:49,107 fá A B C D. Allir góður þar? 218 00:08:49,107 --> 00:08:49,690 Einhverjar spurningar? 219 00:08:49,690 --> 00:08:50,721 220 00:08:50,721 --> 00:08:51,220 Ógnvekjandi. 221 00:08:51,220 --> 00:08:52,500 222 00:08:52,500 --> 00:08:53,455 >> OK, gildissvið. 223 00:08:53,455 --> 00:08:55,090 224 00:08:55,090 --> 00:08:59,950 Svo umfang er augljóslega mjög mikilvægt að skilja, hér. 225 00:08:59,950 --> 00:09:03,250 A einhver fjöldi af þú, ef þú hafa saman villur, 226 00:09:03,250 --> 00:09:06,085 og það segir að þú ert ekki aðgang að einhverju breytu, 227 00:09:06,085 --> 00:09:08,540 það er líklega vegna þess að þú skilgreint það innan lykkju 228 00:09:08,540 --> 00:09:12,210 og þá reynt að opna það út af því, eða vegabréfsáritun öfugt. 229 00:09:12,210 --> 00:09:16,410 >> Svo umfang á kjarna þess, það ákvarðar bara þar 230 00:09:16,410 --> 00:09:20,800 við segjum breytu til, þar sem við getur breytt því, þar sem við getum nálgast það. 231 00:09:20,800 --> 00:09:24,550 Það er bara svona að segja þetta eru einu staðir þar sem þú hefur aðgang 232 00:09:24,550 --> 00:09:26,060 við þessa breytu. 233 00:09:26,060 --> 00:09:30,080 >> Þannig að tvær mælar sem við tölum um á bekknum eru alþjóðlegt og staðbundið. 234 00:09:30,080 --> 00:09:35,080 Svo Alþjóðlegar breytur Við tölum um þegar þú ert að skilgreina þær fyrir ofan helstu. 235 00:09:35,080 --> 00:09:38,390 Það þýðir að öllu þínu program hefur aðgang að henni, 236 00:09:38,390 --> 00:09:42,090 og það er til staðar eins lengi sem forritið keyrir, OK? 237 00:09:42,090 --> 00:09:45,100 Local þýðir að það er meira bundin við svæði. 238 00:09:45,100 --> 00:09:50,520 Svo þegar þú hefur sérstakar aðgerðir eins skipti, við tölum alltaf um. 239 00:09:50,520 --> 00:09:54,380 Við tölum alltaf um skipti með A og B. A og B eru innan þess virka. 240 00:09:54,380 --> 00:09:55,690 Þeir eru ekki til staðar. 241 00:09:55,690 --> 00:09:56,860 242 00:09:56,860 --> 00:10:00,610 >> Eins vel, þegar þú hafa ef yfirlýsingar eða fyrir lykkjur. 243 00:10:00,610 --> 00:10:04,670 Í hvert skipti sem við höfum, til dæmis, í a for lykkju við höfum int i er 0. 244 00:10:04,670 --> 00:10:06,630 Við höfum sumir ástand og við uppfæra hana. 245 00:10:06,630 --> 00:10:10,270 I er aðeins innan axlabönd um það fyrir lykkju. 246 00:10:10,270 --> 00:10:13,270 Ef þú reynir að opna hana annars staðar, þýðanda þinn myndi æpa á þig. 247 00:10:13,270 --> 00:10:14,560 Það væri eins og, hvað ertu að reyna að gera? 248 00:10:14,560 --> 00:10:15,400 Þetta er ekki til. 249 00:10:15,400 --> 00:10:16,644 250 00:10:16,644 --> 00:10:18,435 Svo er tvær sem mismunandi gerðir af umfangi. 251 00:10:18,435 --> 00:10:19,486 252 00:10:19,486 --> 00:10:20,860 Er að gera skilningarvit til alla? 253 00:10:20,860 --> 00:10:23,870 254 00:10:23,870 --> 00:10:27,890 >> Svo til dæmis hér, þetta er bara einföld forrit. 255 00:10:27,890 --> 00:10:29,120 256 00:10:29,120 --> 00:10:32,890 Hvað gera þú krakkar hugsa er fara að gerast á hverjum tímapunkti 257 00:10:32,890 --> 00:10:34,210 að við reynum að prenta? 258 00:10:34,210 --> 00:10:40,150 Svo þetta hér, hvað er að fara að gerast? 259 00:10:40,150 --> 00:10:43,047 260 00:10:43,047 --> 00:10:44,255 Nemandi: Það mun prenta þrjú. 261 00:10:44,255 --> 00:10:44,880 ALLISON: Hægri. 262 00:10:44,880 --> 00:10:45,930 Það mun prenta þrjú. 263 00:10:45,930 --> 00:10:47,272 Hvað um hér? 264 00:10:47,272 --> 00:10:48,230 Nemandi: Það mun ekki vinna. 265 00:10:48,230 --> 00:10:48,910 ALLISON: Það mun ekki vinna. 266 00:10:48,910 --> 00:10:50,290 Þú ert út af umfangi, ekki satt? 267 00:10:50,290 --> 00:10:55,160 Local breytu er ekki til utan þessara axlabönd, allt í lagi? 268 00:10:55,160 --> 00:10:56,462 Og hvað þá um hér? 269 00:10:56,462 --> 00:10:57,850 >> Nemandi: [inaudible]. 270 00:10:57,850 --> 00:10:59,210 >> ALLISON: Hvað? 271 00:10:59,210 --> 00:10:59,900 Rob, fara. 272 00:10:59,900 --> 00:11:00,854 >> Rob: Ég sagði bara. 273 00:11:00,854 --> 00:11:04,200 Global breytur ættu að vera Global undirstrik breytu. 274 00:11:04,200 --> 00:11:05,660 >> ALLISON: Ah, já, því miður. 275 00:11:05,660 --> 00:11:06,200 Takk, Rob. 276 00:11:06,200 --> 00:11:07,480 277 00:11:07,480 --> 00:11:10,170 Rob er eins þýðanda okkar búsettur. 278 00:11:10,170 --> 00:11:12,684 Hann mun bara æpa á okkur þegar við þurfa það. [Hlær] Já, það 279 00:11:12,684 --> 00:11:14,225 ætti að vera alþjóðlegt undirstrik breytu. 280 00:11:14,225 --> 00:11:15,760 281 00:11:15,760 --> 00:11:18,430 Svo miðað við að það var alþjóðlegt undirstrik 282 00:11:18,430 --> 00:11:20,260 breytu, hvað er að fara að gerast hér? 283 00:11:20,260 --> 00:11:21,260 Nemandi: Það mun vinna. 284 00:11:21,260 --> 00:11:22,093 ALLISON: Það munum vinna. 285 00:11:22,093 --> 00:11:24,655 Svo það verður að prenta út, svo bara mjög einfalt dæmi. 286 00:11:24,655 --> 00:11:27,650 287 00:11:27,650 --> 00:11:29,870 OK, frumútgáfur. 288 00:11:29,870 --> 00:11:33,680 Svo augljóslega, við virkilega áherslu fyrir ykkur 289 00:11:33,680 --> 00:11:36,460 til að gera virka ef það skynsamleg í áætlunum þínum. 290 00:11:36,460 --> 00:11:38,460 En auðvitað, þegar þú gera eigin aðgerðir þínar, 291 00:11:38,460 --> 00:11:40,930 Venjulega þú munt skilgreina þá eftir helstu. 292 00:11:40,930 --> 00:11:42,430 Og þú munt reyna að hringja í þá í helstu. 293 00:11:42,430 --> 00:11:46,030 Og ef þú notar ekki frumgerð, þýðanda mun æpa á þig. 294 00:11:46,030 --> 00:11:49,590 >> Frumgerð er í grundvallaratriðum bara að segja þýðanda þinn 295 00:11:49,590 --> 00:11:52,400 að ég hef þessa aðgerð undir helstu. 296 00:11:52,400 --> 00:11:54,970 Ég ætla að kalla það áður en ég skilgreina það. 297 00:11:54,970 --> 00:11:56,360 Bara halda áfram. 298 00:11:56,360 --> 00:12:00,660 Ég lofa að það er skilgreint, og þú vilja hafa allt sem þú þarft. 299 00:12:00,660 --> 00:12:05,900 >> Svo hvernig við gerum það er bara aftur þinn gerð, virka nafn þitt, þú skrifar 300 00:12:05,900 --> 00:12:06,400 lista. 301 00:12:06,400 --> 00:12:09,760 Það er í grundvallaratriðum fyrsta línan af virka yfirlýsingar þínum. 302 00:12:09,760 --> 00:12:11,510 Það er í raun allt það er. 303 00:12:11,510 --> 00:12:14,440 En þetta er bara almennt konar sniði. 304 00:12:14,440 --> 00:12:17,220 >> Svo í dæmi okkar hér, sem þú krakkar ættu 305 00:12:17,220 --> 00:12:19,700 hafa séð í kafla á einhverjum tímapunkti, við höfum 306 00:12:19,700 --> 00:12:23,220 sumir INT teningur sem tekur nokkrar Int inntaki. 307 00:12:23,220 --> 00:12:25,870 Og við höfum Helstu okkar virka, sem kallar teningur. 308 00:12:25,870 --> 00:12:28,670 Og teningur er skilgreind eftir því. 309 00:12:28,670 --> 00:12:34,450 >> Þannig að ef við vildum ekki hafa INT teningur inntak efst, þegar við heitir teningur 310 00:12:34,450 --> 00:12:36,620 innan helstu, þýðanda okkar vildi fá vitlaus á okkur. 311 00:12:36,620 --> 00:12:38,890 Það væri eins og, hvað ertu að tala um? 312 00:12:38,890 --> 00:12:40,360 Cube er ekki til. 313 00:12:40,360 --> 00:12:41,910 Ég veit ekki hvað þú ert að biðja um. 314 00:12:41,910 --> 00:12:43,490 Og ég ætla bara að fara stöðva. 315 00:12:43,490 --> 00:12:47,330 >> En vegna þess að við gerðum frumgerð okkar efst, við höfum sagt, 316 00:12:47,330 --> 00:12:49,800 þú veist, þegar þú sérð teningur, ekki hafa áhyggjur óður í það. 317 00:12:49,800 --> 00:12:51,990 Ég lofa að það er skilgreint síðar. 318 00:12:51,990 --> 00:12:53,750 Og það mun láta þig gera það sem þú vilt. 319 00:12:53,750 --> 00:12:57,750 Svo ef þú hefur einhvern tíma aðgerð sem er skilgreind eftir að þú kalla það 320 00:12:57,750 --> 00:13:00,570 í fyrsta skipti, þú þarft að hafa það prototyped efst. 321 00:13:00,570 --> 00:13:01,640 322 00:13:01,640 --> 00:13:02,720 >> Já? 323 00:13:02,720 --> 00:13:04,412 >> Rob: Það er veldi, ekki cubing. 324 00:13:04,412 --> 00:13:05,855 >> ALLISON: Ó Guð minn. 325 00:13:05,855 --> 00:13:09,435 Ég vissi ekki have-- Gabe, hugsaði ég þú varst proofreader okkar. 326 00:13:09,435 --> 00:13:10,740 327 00:13:10,740 --> 00:13:12,760 OK krakkar, bera með mér, hér. 328 00:13:12,760 --> 00:13:14,440 Ég vona að allir er að fá hugmynd. 329 00:13:14,440 --> 00:13:15,560 330 00:13:15,560 --> 00:13:20,380 OK, þannig að þetta ætti að hafa verið veldi, ekki cubed. 331 00:13:20,380 --> 00:13:22,700 En hugmyndin er sú sama. 332 00:13:22,700 --> 00:13:23,702 333 00:13:23,702 --> 00:13:26,660 Hvaða aðgerð sem við köllum eftir sú staðreynd ætti að hafa frumgerð. 334 00:13:26,660 --> 00:13:27,730 335 00:13:27,730 --> 00:13:28,970 Allir góður við það? 336 00:13:28,970 --> 00:13:30,730 337 00:13:30,730 --> 00:13:32,310 Allar aðrar innsláttarvillur? 338 00:13:32,310 --> 00:13:32,810 OK. 339 00:13:32,810 --> 00:13:34,730 340 00:13:34,730 --> 00:13:36,230 Allar innsláttarvillur hér áður en við byrjum, Rob? 341 00:13:36,230 --> 00:13:37,356 342 00:13:37,356 --> 00:13:42,380 [Hlær] OK, svo structs. 343 00:13:42,380 --> 00:13:45,040 Grundvallaratriðum, leyfa structs þér að búa til eigin gögn tegund. 344 00:13:45,040 --> 00:13:49,264 Svo mikið eins int eða bleikju eða Flotholt, það er bara önnur tegund. 345 00:13:49,264 --> 00:13:51,680 Mér finnst gott að hugsa um það eins og, eins og, búa til eigin gögn tegund. 346 00:13:51,680 --> 00:13:53,740 Svo það er hægt að gera það. 347 00:13:53,740 --> 00:13:56,160 Og það hefur mismunandi tegundir af gögnum. 348 00:13:56,160 --> 00:14:01,030 >> Svo ef þú manst, í fylki, við getur aðeins halda það af svipaðri tegund. 349 00:14:01,030 --> 00:14:04,660 Structs leyfa okkur að eiga marga hlutir af ýmsum gerðum. 350 00:14:04,660 --> 00:14:08,944 Þannig að í þessu tilfelli hér, við hafa strúktúr heitir Student, 351 00:14:08,944 --> 00:14:10,650 nefndi hér neðst. 352 00:14:10,650 --> 00:14:13,540 Og við höfum einhverja int id og einhver strengur nafn. 353 00:14:13,540 --> 00:14:14,620 354 00:14:14,620 --> 00:14:17,300 Svo er þetta bara annar gögn tegund. 355 00:14:17,300 --> 00:14:18,950 Við höfum nú gögn tegund sem heitir Student. 356 00:14:18,950 --> 00:14:20,330 357 00:14:20,330 --> 00:14:24,750 >> Svo vegna þess að við getum hugsað það sem bara annars gögn tegund, 358 00:14:24,750 --> 00:14:27,760 getum lýsa breytur eins og við hverja aðra. 359 00:14:27,760 --> 00:14:32,680 Svo í stað þess bara að hafa, eins og, sem INT nemandi, höfum við bara nemandi, 360 00:14:32,680 --> 00:14:33,390 nemandi 1. 361 00:14:33,390 --> 00:14:33,560 Oh, líta. 362 00:14:33,560 --> 00:14:34,059 Það er Rob. 363 00:14:34,059 --> 00:14:35,750 364 00:14:35,750 --> 00:14:38,880 Svo hér erum við að lýsa yfir a struct, eða breytilegt 365 00:14:38,880 --> 00:14:40,940 kallað nemandi 1 af gerð nemanda. 366 00:14:40,940 --> 00:14:45,370 Svo það er að fara að hafa persónuskilríki og nafn í tengslum við það. 367 00:14:45,370 --> 00:14:48,430 >> Og hvernig við aðgang að þessum þættir innan strúktúrinn okkar 368 00:14:48,430 --> 00:14:50,100 er með punktur rekstraraðila, hér. 369 00:14:50,100 --> 00:14:51,910 370 00:14:51,910 --> 00:14:54,660 Þannig að í þessu tilfelli, við lýst sumir nemandi 1. 371 00:14:54,660 --> 00:14:57,080 Við úthlutað auðkennið að vera 1. 372 00:14:57,080 --> 00:14:58,840 Og við úthlutað nafn til að vera Rob. 373 00:14:58,840 --> 00:15:03,010 374 00:15:03,010 --> 00:15:04,960 OK, allir góður með það? 375 00:15:04,960 --> 00:15:06,787 Nota það like-- bara já? 376 00:15:06,787 --> 00:15:09,530 >> Nemandi: Já, typedef-- þegar þurfum við að nota typedef? 377 00:15:09,530 --> 00:15:13,190 >> ALLISON: Svo typedef bara segir that-- Rob, þú 378 00:15:13,190 --> 00:15:16,990 getur rétt mér á þetta ef ég er wrong-- en typedef er bara í raun að lýsa yfir 379 00:15:16,990 --> 00:15:19,330 það sem tegund sem þú getur notað, ekki satt? 380 00:15:19,330 --> 00:15:22,550 >> Rob: Já, það er í rauninni, svo það er bara að búa 381 00:15:22,550 --> 00:15:24,215 samnefni eða gælunafn fyrir gerð. 382 00:15:24,215 --> 00:15:25,590 Svo þú getur slegið það [inaudible]. 383 00:15:25,590 --> 00:15:27,140 384 00:15:27,140 --> 00:15:30,350 Svo [inaudible] til, og nú höfum við bara 385 00:15:30,350 --> 00:15:32,090 [Inaudible] þýðir nákvæmlega það sama. 386 00:15:32,090 --> 00:15:37,210 Og svo hér erum við slegið, ég held, sumir struct tegund 2 [inaudible]. 387 00:15:37,210 --> 00:15:40,680 Svo það er bara gælunafn fyrir ákveðna tegund. 388 00:15:40,680 --> 00:15:44,344 >> Nemandi: String [inaudible] bókasafn var slegið upp eins bleikju stjarna. 389 00:15:44,344 --> 00:15:51,380 390 00:15:51,380 --> 00:15:54,390 >> ALLISON: varðar okkar hérna, Ef þú ert að lýsa á strúktúr, 391 00:15:54,390 --> 00:15:55,600 bara gera typedef strúktúr. 392 00:15:55,600 --> 00:15:57,680 393 00:15:57,680 --> 00:16:04,490 OK, svo fyrirfram, þetta er bara eðlilegt breytu hér. 394 00:16:04,490 --> 00:16:06,390 Við aðgang að honum með punkti. 395 00:16:06,390 --> 00:16:08,580 ef við höfum bendi á a strúktúr, getum við í raun 396 00:16:08,580 --> 00:16:10,700 nota ör, sem er laglegur kaldur. 397 00:16:10,700 --> 00:16:17,130 >> Svo í þessu tilfelli, höfum við bendi á nemandi 1 sem er af taginu nemanda. 398 00:16:17,130 --> 00:16:19,020 Mundu, við þinn bendill byggingu, 399 00:16:19,020 --> 00:16:23,710 þú vilt hvað tegund músina þína bendir til að vera í upphafi. 400 00:16:23,710 --> 00:16:25,960 Þannig að við höfum sumir nemandi 1, hér. 401 00:16:25,960 --> 00:16:27,370 402 00:16:27,370 --> 00:16:31,050 Og þar sem þetta nemanda 1 er nú bent, 403 00:16:31,050 --> 00:16:36,520 getum raunverulega fara nemandi 1 arrow nafn í stað þess að punktur, vegna þess að það er a músina, 404 00:16:36,520 --> 00:16:37,640 og framselja Rob. 405 00:16:37,640 --> 00:16:40,720 Og nú ef við viljum breyta Rob til Davin, 406 00:16:40,720 --> 00:16:43,570 þetta er bara að sýna þér annan hátt til að gera það. 407 00:16:43,570 --> 00:16:48,850 >> Þannig að í stað þess að nota örina, þú get also-- Ég mun klára þetta og þá 408 00:16:48,850 --> 00:16:52,860 taka að question-- þú gætir einnig gera tilvísun nemanda 1. 409 00:16:52,860 --> 00:16:56,170 Það er að segja eins og fara til hvað er í nemanda 1, sem 410 00:16:56,170 --> 00:16:58,840 væri struct lesandi. 411 00:16:58,840 --> 00:17:03,910 Aðgang að honum með punkti og frumefni sem þú vilt, og þá breyta henni. 412 00:17:03,910 --> 00:17:05,326 Það var spurning. 413 00:17:05,326 --> 00:17:08,034 Nemandi: Já, svo hvernig kemur þú ert að nota [inaudible] þegar þú ert 414 00:17:08,034 --> 00:17:10,367 gera nemandi stjörnu án [Inaudible] nemandi? 415 00:17:10,367 --> 00:17:12,200 ALLISON: Vegna þess að þetta er að búa til músina. 416 00:17:12,200 --> 00:17:13,616 Rob: Við erum að fara að tala um það. 417 00:17:13,616 --> 00:17:16,119 ALLISON: Við erum að fara að tala um það síðar í endurskoðun. 418 00:17:16,119 --> 00:17:17,660 Svo bara halda á þessa hugsun. 419 00:17:17,660 --> 00:17:20,560 Ef það þreytandi samt þig í enda koma tala við einn af okkur. 420 00:17:20,560 --> 00:17:23,380 >> Svo þetta gera nákvæmlega það sama. 421 00:17:23,380 --> 00:17:25,579 Við erum bara að sýna þér tvo mismunandi leiðir til að gera það. 422 00:17:25,579 --> 00:17:29,470 Nemandi 1 er nú bendi, svo þú getur fengið aðgang á Name frumefni 423 00:17:29,470 --> 00:17:30,960 innan strúktúrinn með ör. 424 00:17:30,960 --> 00:17:36,440 Eða þú getur dereference músina þína, og þá aðgang að honum eins og þú myndir venjulega. 425 00:17:36,440 --> 00:17:38,430 Er að vit að hver og einn? 426 00:17:38,430 --> 00:17:39,480 427 00:17:39,480 --> 00:17:43,890 Ef allur Pointer hlutirnir eru svolítið truflandi, Gabe mun tala um það, 428 00:17:43,890 --> 00:17:45,740 og þá kannski þetta mun gera meira vit. 429 00:17:45,740 --> 00:17:46,240 Já? 430 00:17:46,240 --> 00:17:48,387 >> Nemandi: Já, svo er hvernig þetta frábrugðið? 431 00:17:48,387 --> 00:17:49,470 ALLISON: Fyrri einn? 432 00:17:49,470 --> 00:17:52,330 Svo nemandi 1 í þessari málið er ekki músina. 433 00:17:52,330 --> 00:17:54,380 Það er bara raunverulegur strúktúr þinn. 434 00:17:54,380 --> 00:17:55,400 >> Nemandi: OK. 435 00:17:55,400 --> 00:17:57,645 >> ALLISON: Þessi eina er bendillinn að strúktúrinn. 436 00:17:57,645 --> 00:17:58,910 437 00:17:58,910 --> 00:18:02,060 >> Nemandi: OK, en gerir það eins konar endanum vinna sama [inaudible]. 438 00:18:02,060 --> 00:18:03,310 >> ALLISON: Það virkar í raun það sama. 439 00:18:03,310 --> 00:18:04,560 Setningafræði er bara öðruvísi. 440 00:18:04,560 --> 00:18:05,185 Nemandi: OK. 441 00:18:05,185 --> 00:18:07,600 >> ALLISON: Já, þeir eru á áhrifaríkan hátt það sama. 442 00:18:07,600 --> 00:18:11,321 Það er bara eftir samhengi, þú vilt kannski einn yfir öðrum. 443 00:18:11,321 --> 00:18:11,820 Já? 444 00:18:11,820 --> 00:18:13,956 >> Nemandi: Þegar þú gerir vísun til 1-- 445 00:18:13,956 --> 00:18:14,580 ALLISON: Mm-HM? 446 00:18:14,580 --> 00:18:16,880 Nemandi: Af hverju ertu hafa sviga? 447 00:18:16,880 --> 00:18:19,575 ALLISON: Þar nemandi 1 er músina. 448 00:18:19,575 --> 00:18:22,200 Svo þú þarft að ganga úr skugga um að þú sért bara dereferencing bendilinn. 449 00:18:22,200 --> 00:18:23,380 >> Nemandi: OK. 450 00:18:23,380 --> 00:18:26,700 >> ALLISON: Þannig að í þessu tilfelli hér, svigans kring 451 00:18:26,700 --> 00:18:29,875 þýðir að þú ert að dereferencing nemandi 1. 452 00:18:29,875 --> 00:18:35,390 Svo þú ert að fara að þar nemandi 1 stig, sem er strúktúr þinn. 453 00:18:35,390 --> 00:18:38,010 Svo nú er hægt að hugsa um það sem þetta strúktúrinn, 454 00:18:38,010 --> 00:18:39,785 svo við getum notað venjulegan punktur starfsemi okkar. 455 00:18:39,785 --> 00:18:42,752 456 00:18:42,752 --> 00:18:43,585 Allar aðrar spurningar? 457 00:18:43,585 --> 00:18:45,840 458 00:18:45,840 --> 00:18:48,120 Cool, ógnvekjandi. 459 00:18:48,120 --> 00:18:51,359 >> Svo síðasta sem, held ég er síðasta renna minn, Woo! 460 00:18:51,359 --> 00:18:52,775 OK, svo fleytitölu imprecision. 461 00:18:52,775 --> 00:18:54,090 462 00:18:54,090 --> 00:18:56,820 Við ræddum stuttlega um þetta á fyrirlestri. 463 00:18:56,820 --> 00:19:00,030 Grundvallaratriðum, höfum við óendanlega margir rauntölur. 464 00:19:00,030 --> 00:19:02,237 Og ef einhver af ykkur elska stærðfræði, það er 465 00:19:02,237 --> 00:19:03,570 alls konar flott efni með okkur. 466 00:19:03,570 --> 00:19:05,010 467 00:19:05,010 --> 00:19:07,190 >> En það eru óendanlega margir rauntölur. 468 00:19:07,190 --> 00:19:09,850 En þeir eru aðeins tímabundið margir bitar sem við höfum. 469 00:19:09,850 --> 00:19:13,240 Svo þú ert alltaf að fara að hafa imprecision, er allur. 470 00:19:13,240 --> 00:19:16,269 Og það er það er bara svona eins og eitthvað sem þú ættir að vita. 471 00:19:16,269 --> 00:19:19,060 Að eins að við gætum beðið þig af hverju virkar fleytitölu imprecision til? 472 00:19:19,060 --> 00:19:20,004 473 00:19:20,004 --> 00:19:21,420 Svo bara eitthvað sem þú ættir að vita. 474 00:19:21,420 --> 00:19:23,770 Og með það, ég er að snúa það yfir til punkta. 475 00:19:23,770 --> 00:19:27,720 476 00:19:27,720 --> 00:19:28,520 >> BINKY: Halló, krakkar. 477 00:19:28,520 --> 00:19:29,616 Binky Ég heiti. 478 00:19:29,616 --> 00:19:30,990 Ég ætla að tala um ábendingum. 479 00:19:30,990 --> 00:19:33,247 480 00:19:33,247 --> 00:19:35,830 Já, svo ábendingum er í raun Uppáhalds hluti minn í þessu námskeiði. 481 00:19:35,830 --> 00:19:39,740 Svo bara að gera ljóst hvað Allison var að tala um hér, þannig að ástæða 482 00:19:39,740 --> 00:19:43,810 why-- eini munurinn hér, Stóri munurinn var leið 483 00:19:43,810 --> 00:19:44,760 Við lýsum hlutina. 484 00:19:44,760 --> 00:19:47,560 Svo nemandi stjörnu þýðir er bendillinn á nemanda. 485 00:19:47,560 --> 00:19:52,960 En renna undan, nemandi er raunverulegt strúktúr, eins og raun nemandi, 486 00:19:52,960 --> 00:19:54,400 inniheldur eitthvað af þessum hlutum. 487 00:19:54,400 --> 00:19:57,050 >> Og ástæða þess að við vilja to-- já, Davin? 488 00:19:57,050 --> 00:19:58,630 >> DAVIN: Hvað þýðir örin meina? 489 00:19:58,630 --> 00:20:04,240 >> BINKY: Örin þýðir nákvæmlega það sama og þetta. 490 00:20:04,240 --> 00:20:06,150 Svo þú í raun ekki þörf á örina. 491 00:20:06,150 --> 00:20:11,060 Eins, ef þú ert bara program í C, þú getur bara notað þetta. 492 00:20:11,060 --> 00:20:12,850 Sorry, ég er ekki það sem það er. 493 00:20:12,850 --> 00:20:14,920 Þú getur bara notað þetta setningafræði. 494 00:20:14,920 --> 00:20:17,430 >> En sumir, þegar þeir voru að hanna C, 495 00:20:17,430 --> 00:20:19,870 þeir mynstrağur að fólk notuðu það setningafræði svo mikið, 496 00:20:19,870 --> 00:20:23,970 að þeir vilja eins bara koma upp með setningafræði uppbyggingu fyrir það. 497 00:20:23,970 --> 00:20:26,820 Og þetta átti sér stað í formi sem hún er ör. 498 00:20:26,820 --> 00:20:29,210 Og það er mjög gott, því það táknar eitthvað 499 00:20:29,210 --> 00:20:33,670 eins og við erum í raun að fylgja Þessi ör, þetta bendi, 500 00:20:33,670 --> 00:20:35,300 að ákveðnu rými í minni. 501 00:20:35,300 --> 00:20:40,410 Og þegar við komum þangað, við viljum líta á nafni að nemandi, 502 00:20:40,410 --> 00:20:42,150 ef það er vit í. 503 00:20:42,150 --> 00:20:43,000 OK? 504 00:20:43,000 --> 00:20:44,290 >> Þannig að þetta er nákvæmlega það sama. 505 00:20:44,290 --> 00:20:46,310 Þetta er nákvæmlega það sama og þetta. 506 00:20:46,310 --> 00:20:48,130 Þeir fá saman nákvæmlega sama, OK? 507 00:20:48,130 --> 00:20:50,100 508 00:20:50,100 --> 00:20:55,580 Og ástæðan hér hvers vegna við malloc eitthvað, er vegna þess að í þessu tilfelli, 509 00:20:55,580 --> 00:20:59,120 breytu okkar er í raun bara bendi breytu. 510 00:20:59,120 --> 00:21:02,900 Þannig að við höfum aðeins nokkur pláss í minni sem er að halda á músina. 511 00:21:02,900 --> 00:21:06,570 Við gerum í raun ekki hafa allir pláss sem heldur í raun strúktúr. 512 00:21:06,570 --> 00:21:08,660 >> Svo hefur þetta að vera gert í tveimur skrefum. 513 00:21:08,660 --> 00:21:11,545 Við verðum að búa til minni til að setja strúktúr í. 514 00:21:11,545 --> 00:21:14,445 Og við verðum að búa til minni til að setja bendilinn í. 515 00:21:14,445 --> 00:21:16,570 Svo þeir eru í grundvallaratriðum tveir mismunandi breytur, hér. 516 00:21:16,570 --> 00:21:19,730 Einn af þeim er af taginu nemanda, nema það er í raun ekki að hafa nafn. 517 00:21:19,730 --> 00:21:21,900 Og hitt er af gerðinni nemandi stjarna. 518 00:21:21,900 --> 00:21:24,900 Og þá nemandi 1 stig þar, ef að skynsamleg. 519 00:21:24,900 --> 00:21:25,871 520 00:21:25,871 --> 00:21:26,370 OK? 521 00:21:26,370 --> 00:21:28,160 522 00:21:28,160 --> 00:21:31,860 >> Þannig að ástæða þess að við notum Ábendingum er því allt 523 00:21:31,860 --> 00:21:35,510 í tölvu, sérhver breytu í tölvu hefur tvennt. 524 00:21:35,510 --> 00:21:36,580 Það hefur gildi sitt. 525 00:21:36,580 --> 00:21:38,420 Og það hefur tölu hans. 526 00:21:38,420 --> 00:21:41,390 Og góð leið til conceptualize þetta er að það er 527 00:21:41,390 --> 00:21:44,230 mörg vandamál þegar þú reyna að nota virka. 528 00:21:44,230 --> 00:21:47,200 Og við erum að fara að reyna að líta inn í einn af þeim. 529 00:21:47,200 --> 00:21:50,370 Nefnilega, það er að fara að hugsa um minni eins kassa. 530 00:21:50,370 --> 00:21:52,810 >> Þú hélt alltaf af breytum þegar þú segir na er 5. 531 00:21:52,810 --> 00:21:54,430 Þú heldur að setja 5 í kassa. 532 00:21:54,430 --> 00:21:55,520 533 00:21:55,520 --> 00:22:00,030 Svo hvað ef þú vilt fara sem INT í virka? 534 00:22:00,030 --> 00:22:03,230 Þú pass-- bara ég ekki know-- x í aðgerð. 535 00:22:03,230 --> 00:22:06,090 En það sem gerist er venjulega eins og menn, þú 536 00:22:06,090 --> 00:22:09,050 myndi hugsa eitthvað eins og ég er liggur í reitinn að manni. 537 00:22:09,050 --> 00:22:12,070 Og það er í raun ekki gerast í tölvum. 538 00:22:12,070 --> 00:22:17,770 Hvað sem gerist er að afrita gildið af the kassi til kassi viðkomandi. 539 00:22:17,770 --> 00:22:22,440 >> Svo er það sem ég er að reyna að segja að ef þú hafa a function-- sorry-- hér, 540 00:22:22,440 --> 00:22:27,700 ef við höfum virka eins til fimm upp þar, ef þú reynir að standast breytu, 541 00:22:27,700 --> 00:22:29,450 það er bara að fara að afrita. 542 00:22:29,450 --> 00:22:35,771 Ef Frumstilla NX er 3, það er að fara til að afrita þetta gildi upp til breytu a 543 00:22:35,771 --> 00:22:36,270 upp þar. 544 00:22:36,270 --> 00:22:37,005 545 00:22:37,005 --> 00:22:39,630 OK, og þetta er góður af þeirri ástæðu Hvers vegna viljum við nota ábendingum. 546 00:22:39,630 --> 00:22:42,550 Vegna þess að í stað þess að gefa bara gildi, 547 00:22:42,550 --> 00:22:44,850 í stað þess að bara farið bara gildi að aðgerð 548 00:22:44,850 --> 00:22:46,530 við viljum fara með tilvísun. 549 00:22:46,530 --> 00:22:50,630 Það sem við köllum framhjá með tilvísun er góður að gefa í reitinn að aðgerðinni 550 00:22:50,630 --> 00:22:53,890 þannig að virka getur einnig breyta gildum innan kassann. 551 00:22:53,890 --> 00:22:57,280 >> OK, svo bara sumir undirstöðu bendi efni er að skapa ábendingum, 552 00:22:57,280 --> 00:23:00,300 þú lýsa bara það gerð, og þú setur stjörnuna rétt eftir það. 553 00:23:00,300 --> 00:23:02,307 Og tegund er bara hvað þú ert að benda á. 554 00:23:02,307 --> 00:23:04,390 Þannig að ef það er int stjörnu, þú ert að benda á int. 555 00:23:04,390 --> 00:23:05,940 Ef það er a bleikju stjarna, þú ert að benda á töfluna. 556 00:23:05,940 --> 00:23:07,790 Og ef það er a nemandi stjarna, þú ert að benda á nemanda. 557 00:23:07,790 --> 00:23:08,770 OK? 558 00:23:08,770 --> 00:23:10,510 >> Og þeir eru allir 4 bæti. 559 00:23:10,510 --> 00:23:13,010 Vegna þessa breytu það er í raun ekki 560 00:23:13,010 --> 00:23:15,380 þurft að halda char, int eða nemandi. 561 00:23:15,380 --> 00:23:16,890 Það þarf aðeins að halda tölu. 562 00:23:16,890 --> 00:23:21,390 Það er hvers vegna þeir eru allir 4 bytes lengi í eðlilegu 32-bita vél. 563 00:23:21,390 --> 00:23:21,890 OK? 564 00:23:21,890 --> 00:23:25,600 Svo hér, x er breyta sem bendir heiltala. y stig til bleikju. z stig 565 00:23:25,600 --> 00:23:26,580 til að festa flotholt. 566 00:23:26,580 --> 00:23:27,480 Einhverjar spurningar hér? 567 00:23:27,480 --> 00:23:29,841 568 00:23:29,841 --> 00:23:30,340 Cool. 569 00:23:30,340 --> 00:23:32,550 Og það eru tveir mismunandi tákn sem þeir hafa 570 00:23:32,550 --> 00:23:34,341 að hafa í huga þegar koma til músina. 571 00:23:34,341 --> 00:23:36,540 Svo tilvísanir og dereferencing eru stór sjálfur. 572 00:23:36,540 --> 00:23:38,100 573 00:23:38,100 --> 00:23:41,602 Þannig að merkið af breytuheiti gefur þér? 574 00:23:41,602 --> 00:23:42,310 Nemandi: Address. 575 00:23:42,310 --> 00:23:43,380 BINKY: Address. 576 00:23:43,380 --> 00:23:47,330 Þannig að ef þú lýsa int a jafngildir 5, þá merkið 577 00:23:47,330 --> 00:23:49,214 A er að fara að gefa þér heimilisfangið. 578 00:23:49,214 --> 00:23:51,130 Og þú getur í raun að reyna að prenta það og sjá 579 00:23:51,130 --> 00:23:54,640 hvað heimilisfang í minni breytu hefur. 580 00:23:54,640 --> 00:23:57,380 Og þá dereferencing-- svo sem var að vísa, 581 00:23:57,380 --> 00:24:00,380 fá address-- dereferencing er nákvæmlega andstæða. 582 00:24:00,380 --> 00:24:04,120 OK, bara eins og Times er andstæða skiptingu, 583 00:24:04,120 --> 00:24:06,060 stjörnu er andstæða merkið. 584 00:24:06,060 --> 00:24:09,710 Svo dereferencing muni fara þangað. 585 00:24:09,710 --> 00:24:14,280 Þannig að ef þú gefur star-- I ekki know-- 50, það er 586 00:24:14,280 --> 00:24:20,320 að fara að reyna að fara á heimilisfang númer 50 inni á tölvunni þinni. 587 00:24:20,320 --> 00:24:22,840 OK, og af hverju eigum við að sjá að þeir eru andstæður? 588 00:24:22,840 --> 00:24:27,320 Vegna þess að það gerist ef þú gerir eitthvað eins stjörnu merkið a? 589 00:24:27,320 --> 00:24:28,470 590 00:24:28,470 --> 00:24:33,460 Jæja, ampersand a gefur þér heimilisfangið breytu, heimilisfang a. 591 00:24:33,460 --> 00:24:35,830 En stjarna þýðir fara þangað. 592 00:24:35,830 --> 00:24:38,930 >> Svo gerist það ef þú fara á heimilisfang a? 593 00:24:38,930 --> 00:24:40,400 Þú færð bara að a, ekki satt? 594 00:24:40,400 --> 00:24:41,410 595 00:24:41,410 --> 00:24:43,600 Svo fara á heimilisfang a er sama og a. 596 00:24:43,600 --> 00:24:47,580 Það er hvers vegna þeir eru yfirleitt vísað til same-- þetta 597 00:24:47,580 --> 00:24:50,480 og þetta eru kölluð sem andstæðu rekstraraðila. 598 00:24:50,480 --> 00:24:50,980 OK? 599 00:24:50,980 --> 00:24:52,780 600 00:24:52,780 --> 00:24:53,790 Svo kúl. 601 00:24:53,790 --> 00:24:57,240 >> Undir hetta, til dæmis, ef við lýsa INT x jafngildir 5, 602 00:24:57,240 --> 00:24:58,040 höfum við breytu. 603 00:24:58,040 --> 00:25:00,790 Og mundu að ég sagði á hverju variable-- og þetta er góður hlutur 604 00:25:00,790 --> 00:25:03,820 að halda í mind-- það hefur tvo mismunandi hlutir tengist. 605 00:25:03,820 --> 00:25:06,460 Það hefur beint og gildi. 606 00:25:06,460 --> 00:25:07,140 OK? 607 00:25:07,140 --> 00:25:09,180 >> Þannig að verðmæti í þessu tilfelli er 5. 608 00:25:09,180 --> 00:25:12,140 Og heimilisfang is-- skulum segja, ég er gera eitthvað up-- það er 0x04. 609 00:25:12,140 --> 00:25:13,180 610 00:25:13,180 --> 00:25:17,200 Og eina ástæðan fyrir því að við venjulega tákna heimilisfanga sextánskur 611 00:25:17,200 --> 00:25:19,770 er einn, því það er eins gott. 612 00:25:19,770 --> 00:25:21,600 Það fer vel með tvöfaldur. 613 00:25:21,600 --> 00:25:23,500 Það er auðvelt að breyta til og frá tvöfaldur. 614 00:25:23,500 --> 00:25:26,890 Og það er ekki orðið of stór ef þú ert með mjög stór númer. 615 00:25:26,890 --> 00:25:29,990 Þannig að við eins og til nota sextánskur í prentun viðtakandi. 616 00:25:29,990 --> 00:25:31,890 En ég gæti táknað þetta sem heiltala. 617 00:25:31,890 --> 00:25:32,750 Það er allt í lagi. 618 00:25:32,750 --> 00:25:35,450 >> Og svo hefur það netfang 4 og a gildi 5. 619 00:25:35,450 --> 00:25:38,080 Og þá sagði ég INT stjörnu músina. 620 00:25:38,080 --> 00:25:40,070 Svo er þetta mismunandi gerð, tilkynning. 621 00:25:40,070 --> 00:25:43,220 Int stjörnu bendillinn jafngildir veffang x. 622 00:25:43,220 --> 00:25:46,425 Svo hvað er að fara að vera verðmæti PTR? 623 00:25:46,425 --> 00:25:47,710 624 00:25:47,710 --> 00:25:51,600 Það er að fara að vera heimilisfang x, niður hér. 625 00:25:51,600 --> 00:25:54,190 OK, þannig að verðmæti er að fara að vera sú sama og heimilisfang. 626 00:25:54,190 --> 00:25:56,130 Það er verkefni starfa ég er að gera. 627 00:25:56,130 --> 00:25:59,380 Og svo PTR er að fara að hafa eigin heimilisfang, sem kemur í ljós, 628 00:25:59,380 --> 00:26:02,050 í þessu tilviki er 8, OK? 629 00:26:02,050 --> 00:26:03,850 630 00:26:03,850 --> 00:26:05,900 >> Og þá er ég að búa til nýja heiltölu eintak. 631 00:26:05,900 --> 00:26:08,790 Og ég segi INT eintak jafngildir fara þangað. 632 00:26:08,790 --> 00:26:11,140 Svo fara að hvaða PTR bendir til. 633 00:26:11,140 --> 00:26:13,940 Jæja, hvað þetta PTR hafa? 634 00:26:13,940 --> 00:26:14,740 PTR hefur 0x04. 635 00:26:14,740 --> 00:26:16,060 636 00:26:16,060 --> 00:26:18,400 Hvað gerist ef ég reyni að fara þangað? 637 00:26:18,400 --> 00:26:23,650 Ég mun finna gaurinn sem hefur heimilisfang x og hver hefur tölu 4. 638 00:26:23,650 --> 00:26:25,970 Og hver hefur takast fjögur er x. 639 00:26:25,970 --> 00:26:26,950 Er að skynsamleg? 640 00:26:26,950 --> 00:26:28,295 641 00:26:28,295 --> 00:26:28,795 Já? 642 00:26:28,795 --> 00:26:32,060 >> Student: Í þessu tilviki, er bendillinn í stafla? 643 00:26:32,060 --> 00:26:36,024 >> BINKY: Í þessu tilviki, it's-- góð spurning. 644 00:26:36,024 --> 00:26:38,690 Ég vissi ekki raunverulega hugsa um þetta þegar upp þessar tölur. 645 00:26:38,690 --> 00:26:42,570 En ef þetta er eins og, allir þetta eru staðbundnar breytur, 646 00:26:42,570 --> 00:26:46,372 þá x er að fara að lifa in-- allt er að fara að búa í stafla. 647 00:26:46,372 --> 00:26:48,330 Svo er allt að fara að vera að benda að stafla. 648 00:26:48,330 --> 00:26:49,360 649 00:26:49,360 --> 00:26:52,700 Þú færð aðeins að hrúga hvenær þú byrjar að nota malloc, ekki satt? 650 00:26:52,700 --> 00:26:59,430 >> Þannig að ef þú manst er stafla hvert skipti þú kalla aðgerð í forritinu, 651 00:26:59,430 --> 00:27:02,800 eins og, helsta til dæmis, eða einhver annar virka, eins printf. 652 00:27:02,800 --> 00:27:06,334 Allar staðbundnar breytur eru fara að fá sett í stafla ramma. 653 00:27:06,334 --> 00:27:08,500 Og þeir eru að fara að fá eins hlaðið upp í stafla. 654 00:27:08,500 --> 00:27:09,930 Það er það sem er kallað stafla. 655 00:27:09,930 --> 00:27:12,200 Og allir þeir heimamaður breytur eru að fara að vera þar. 656 00:27:12,200 --> 00:27:14,940 Og heap-- og við erum að fara að tala meira um þetta later-- 657 00:27:14,940 --> 00:27:19,050 hrúga er þar sem allar virk úthlutað minni líf. 658 00:27:19,050 --> 00:27:20,270 Cool? 659 00:27:20,270 --> 00:27:21,680 >> Við förum í þennan renna. 660 00:27:21,680 --> 00:27:22,800 Já? 661 00:27:22,800 --> 00:27:25,490 >> Nemandi: Hvers vegna er ekki int eftirlíking aftur 0x04? 662 00:27:25,490 --> 00:27:27,870 663 00:27:27,870 --> 00:27:30,066 >> BINKY: Hvers vegna er ekki int eftirlíking aftur 0x04? 664 00:27:30,066 --> 00:27:32,450 >> Nemandi: Hvers vegna er ekki að [inaudible]? 665 00:27:32,450 --> 00:27:35,530 >> BINKY: Vegna þess að það er a gildi PTR? 666 00:27:35,530 --> 00:27:37,394 667 00:27:37,394 --> 00:27:38,370 >> Nemandi: 0x04. 668 00:27:38,370 --> 00:27:38,960 >> BINKY: 0x04. 669 00:27:38,960 --> 00:27:40,910 Hvað gerist ef þú ferð til 0x04? 670 00:27:40,910 --> 00:27:41,620 Hvaða gera þú fá? 671 00:27:41,620 --> 00:27:42,371 >> Nemandi: Oh, OK. 672 00:27:42,371 --> 00:27:42,995 BINKY: Þú sérð? 673 00:27:42,995 --> 00:27:43,536 Nemandi: Já. 674 00:27:43,536 --> 00:27:44,890 BINKY: Þannig að þú færð 5. 675 00:27:44,890 --> 00:27:49,170 Svo afrit er að fara að hafa 5, ef það er vit í. 676 00:27:49,170 --> 00:27:49,809 Já? 677 00:27:49,809 --> 00:27:52,803 >> Nemandi: Gætum við höfum fengið 5 í gildi kassi [inaudible] 678 00:27:52,803 --> 00:27:55,300 ef við setjum Int afrita [inaudible]. 679 00:27:55,300 --> 00:27:56,710 >> BINKY: Int-- við myndum, já. 680 00:27:56,710 --> 00:27:59,080 Það hefði gert laglegur mikill the sami hlutur. 681 00:27:59,080 --> 00:28:02,080 En með þessum hætti getum við framhjá takast í valkosti. 682 00:28:02,080 --> 00:28:05,050 Og það er kaldur hlutur við erum að fara að gera núna. 683 00:28:05,050 --> 00:28:06,770 684 00:28:06,770 --> 00:28:13,090 >> Svo af þessu tagi æfingu kemur alltaf upp on-- mjög venjulega kemur upp á Skyndipróf. 685 00:28:13,090 --> 00:28:15,870 Svo það er mjög gott að reyna að gera svoleiðis sjálfur. 686 00:28:15,870 --> 00:28:21,210 Svo að reyna að halda utan um hvað það heimilisfang er og vilja þau gildi af breytum 687 00:28:21,210 --> 00:28:22,620 eru á hverjum tímapunkti. 688 00:28:22,620 --> 00:28:24,370 Svo er þetta nákvæmlega hvað við erum að fara að gera. 689 00:28:24,370 --> 00:28:26,988 Hér höfum við skref, einn, tveir, þrír, fjórir, fimm. 690 00:28:26,988 --> 00:28:30,530 Einn, tveir, þrír, fjórir, fimm. 691 00:28:30,530 --> 00:28:33,330 Og við erum að fara að halda utan af gildum x og a. 692 00:28:33,330 --> 00:28:34,650 693 00:28:34,650 --> 00:28:40,530 >> Svo er það þetta að gera, ef þetta er þrjótur númer, erum við að reyna að gera í fimm. 694 00:28:40,530 --> 00:28:43,610 Þannig að við erum að reyna að komast í a breytilegir og breyta gildi hennar til 5. 695 00:28:43,610 --> 00:28:44,630 696 00:28:44,630 --> 00:28:49,900 Og muna líkingar minn um að hafa kassi og fötlun í reitinn til einhvers? 697 00:28:49,900 --> 00:28:51,515 Svo helstu hefur þennan reit sem heitir x. 698 00:28:51,515 --> 00:28:52,570 699 00:28:52,570 --> 00:28:54,170 Og það inniheldur gildið 3. 700 00:28:54,170 --> 00:28:55,230 701 00:28:55,230 --> 00:28:57,455 Og ég er að reyna að skila þessi kassi til í fimm. 702 00:28:57,455 --> 00:28:58,560 703 00:28:58,560 --> 00:29:01,510 >> Og ég vil fimm breyta gildi þessum kassa til að 5. 704 00:29:01,510 --> 00:29:03,080 705 00:29:03,080 --> 00:29:05,120 Og svo ég prenta bara verðmæti x. 706 00:29:05,120 --> 00:29:06,475 707 00:29:06,475 --> 00:29:08,850 Þetta er það sem function-- mitt þetta er það sem ég er að reyna að gera. 708 00:29:08,850 --> 00:29:12,450 Ég ætla bara að reyna að uppfæra gildi x til 5. 709 00:29:12,450 --> 00:29:13,512 710 00:29:13,512 --> 00:29:14,970 Er ljóst hvaða hlutverk er? 711 00:29:14,970 --> 00:29:16,210 712 00:29:16,210 --> 00:29:21,440 >> OK, svo hvað ertu að fara að vera gildi x og a hérna, 713 00:29:21,440 --> 00:29:27,734 fyrsta lína, rétt áður en fyrsta line-- Ég myndi say-- áætlunarinnar? 714 00:29:27,734 --> 00:29:28,940 >> Nemandi: Sennilega sorp. 715 00:29:28,940 --> 00:29:30,023 >> BINKY: Bara sorp efni. 716 00:29:30,023 --> 00:29:32,590 Svo ég setti bara N / A. Svo Við í raun ekki vita. 717 00:29:32,590 --> 00:29:37,400 Eins, a er ekki einu sinni til ennþá, vegna þess að við höfum ekki kallað til fimm. 718 00:29:37,400 --> 00:29:38,980 Int a er ekki lýst. 719 00:29:38,980 --> 00:29:40,030 720 00:29:40,030 --> 00:29:42,920 Og x er að fara að vera til hér, en við höfum í raun ekki 721 00:29:42,920 --> 00:29:45,370 úthlutað hvaða gildi við það, svo í lagi? 722 00:29:45,370 --> 00:29:46,570 723 00:29:46,570 --> 00:29:52,340 >> Og svo, hvað ertu að fara að vera gildi x og A í númer tvö? 724 00:29:52,340 --> 00:29:54,530 725 00:29:54,530 --> 00:29:55,410 >> Nemandi: [inaudible]. 726 00:29:55,410 --> 00:29:57,540 >> BINKY: Svo X er að fara að vera 3. 727 00:29:57,540 --> 00:29:59,650 Það er auðvelt, vegna þess að við erum framselja 3 til það. 728 00:29:59,650 --> 00:30:03,500 Og enn er ekki til vegna þess að bara býr í fimm. 729 00:30:03,500 --> 00:30:05,800 Þannig að ég ætla að hafa 3 og ekkert. 730 00:30:05,800 --> 00:30:08,590 eða eins sorp, hvað, raun ekki skilgreind. 731 00:30:08,590 --> 00:30:11,640 732 00:30:11,640 --> 00:30:13,140 Og nú, þetta er mikilvægur lína. 733 00:30:13,140 --> 00:30:14,931 Hér erum við að fara að raun kalla til fimm. 734 00:30:14,931 --> 00:30:17,140 735 00:30:17,140 --> 00:30:18,680 Og muna það sem ég sagði. 736 00:30:18,680 --> 00:30:20,240 Við fara aldrei í kassanum. 737 00:30:20,240 --> 00:30:23,110 Við afrita bara verðmæti kassi til annars kassann. 738 00:30:23,110 --> 00:30:27,000 Það er allar tölvur gera, afrita hlutir frá einum stað til annars. 739 00:30:27,000 --> 00:30:33,550 >> Svo til fimm, hvað hún gerir í raun og veru er það afrit gildi x til a. 740 00:30:33,550 --> 00:30:35,130 Svo hvað er að fara að vera hér? 741 00:30:35,130 --> 00:30:36,210 Gildin fyrir X og a. 742 00:30:36,210 --> 00:30:38,670 743 00:30:38,670 --> 00:30:43,360 3 og 3, munum við bara að afrita það yfir frá x til a. 744 00:30:43,360 --> 00:30:44,710 745 00:30:44,710 --> 00:30:45,320 Cool. 746 00:30:45,320 --> 00:30:46,140 >> Nú erum við hér. 747 00:30:46,140 --> 00:30:47,610 748 00:30:47,610 --> 00:30:49,430 Og nú erum við að fara að uppfæra a er 5. 749 00:30:49,430 --> 00:30:50,900 750 00:30:50,900 --> 00:30:53,070 Hvað er að fara að gerast í takt fjórum? 751 00:30:53,070 --> 00:30:55,120 752 00:30:55,120 --> 00:30:56,010 >> Nemandi: [inaudible]. 753 00:30:56,010 --> 00:30:59,685 >> BINKY: a ​​gets endurnýja, en x var ekki uppfærð. 754 00:30:59,685 --> 00:31:02,050 755 00:31:02,050 --> 00:31:05,250 Vegna x býr enn í helstu, það er gjörólík blokk af minni. 756 00:31:05,250 --> 00:31:06,970 Það er öðruvísi breytu. 757 00:31:06,970 --> 00:31:07,900 a er annar breytu. 758 00:31:07,900 --> 00:31:10,000 Þeir koma til að hafa sama gildi vegna þess að ég 759 00:31:10,000 --> 00:31:13,980 afrita yfir verðmæti X til að a. 760 00:31:13,980 --> 00:31:20,070 En nú þegar ég er jafngildir 5, það er í raun ekki áhrif x á nokkurn hátt. 761 00:31:20,070 --> 00:31:21,450 Þetta er trickier hluti. 762 00:31:21,450 --> 00:31:23,380 Er það gera vit í að hver og einn? 763 00:31:23,380 --> 00:31:24,093 Já? 764 00:31:24,093 --> 00:31:25,717 Nemandi: Eitt enn spurning, hefur þú 3. 765 00:31:25,717 --> 00:31:27,741 Hvers vegna er already-- ó, nei, er það 3. 766 00:31:27,741 --> 00:31:28,490 Því miður, aldrei hugur. 767 00:31:28,490 --> 00:31:29,310 Ég las 5. 768 00:31:29,310 --> 00:31:30,415 >> BINKY: Já, 3, 3. 769 00:31:30,415 --> 00:31:31,540 >> Nemandi: [inaudible], já. 770 00:31:31,540 --> 00:31:35,290 BINKY: Og þá erum við að úthluta 5 til a, en ekki í raun breyta x. 771 00:31:35,290 --> 00:31:36,369 Gott? 772 00:31:36,369 --> 00:31:36,910 Nemandi: Já. 773 00:31:36,910 --> 00:31:37,410 BINKY: Já? 774 00:31:37,410 --> 00:31:42,330 Getur þú útskýrt aftur hvernig a fær afritað [inaudible]? 775 00:31:42,330 --> 00:31:48,480 >> BINKY: OK, þannig að þegar þú hringir í fimm af x, þannig að þetta lína af kóða hér. 776 00:31:48,480 --> 00:31:50,100 777 00:31:50,100 --> 00:31:52,340 til fimm af x, hvað er X? 778 00:31:52,340 --> 00:31:55,160 779 00:31:55,160 --> 00:31:58,340 X er bara 3 á þessum tímapunkti, ekki satt? 780 00:31:58,340 --> 00:32:03,320 Svo þú gætir bara hugsa um að setja 3 hér og gleyma um x. 781 00:32:03,320 --> 00:32:04,410 Bara setja 3 hér. 782 00:32:04,410 --> 00:32:10,880 Eins erum við að fara að afrita yfir gildi x til int a sem er þarna upp. 783 00:32:10,880 --> 00:32:12,310 784 00:32:12,310 --> 00:32:13,630 OK? 785 00:32:13,630 --> 00:32:14,780 >> Svo er gildi x 3. 786 00:32:14,780 --> 00:32:17,680 Við erum að fara að afrita 3 yfir a. 787 00:32:17,680 --> 00:32:20,040 Og allt þetta önnur blokk minni, þetta önnur breytu 788 00:32:20,040 --> 00:32:22,640 kallað mun hafa 3, eins og vel. 789 00:32:22,640 --> 00:32:23,580 Er að skynsamleg? 790 00:32:23,580 --> 00:32:24,780 791 00:32:24,780 --> 00:32:25,794 Já? 792 00:32:25,794 --> 00:32:31,008 >> Nemandi: Ef þú gefur til fimm eins hafa það sem heiltala x í stað a, 793 00:32:31,008 --> 00:32:32,910 myndi það festa allt? 794 00:32:32,910 --> 00:32:36,290 >> BINKY: Ef það er integer-- nei, sem myndi ekki festa allt. 795 00:32:36,290 --> 00:32:37,590 Svo er það mjög góð spurning. 796 00:32:37,590 --> 00:32:40,480 Það skiptir í raun ekki máli hvað þú kalla þá breytum. 797 00:32:40,480 --> 00:32:44,510 Aftur, það verður mál um gildissvið, vegna þess að þeir eru ekki það sama x. 798 00:32:44,510 --> 00:32:46,526 Þeir eru alveg mismunandi rými í minni. 799 00:32:46,526 --> 00:32:47,400 Nemandi: [inaudible]. 800 00:32:47,400 --> 00:32:49,020 BINKY: Svo það er í raun ekki máli hvað þú kallar þá. 801 00:32:49,020 --> 00:32:50,480 Það þýðir ekki að laga hlutina, OK? 802 00:32:50,480 --> 00:32:53,390 803 00:32:53,390 --> 00:32:54,430 Fleiri spurningar? 804 00:32:54,430 --> 00:32:55,762 Já? 805 00:32:55,762 --> 00:32:58,498 >> Nemandi: Hvernig er það aftur til númer fimm [inaudible]? 806 00:32:58,498 --> 00:32:59,661 807 00:32:59,661 --> 00:33:01,160 BINKY: OK, við höfum ekki gert það ennþá. 808 00:33:01,160 --> 00:33:03,432 Förum að tala fimm, þá. 809 00:33:03,432 --> 00:33:04,650 >> Nemandi: [inaudible]? 810 00:33:04,650 --> 00:33:05,565 >> BINKY: Hvað? 811 00:33:05,565 --> 00:33:08,179 >> Nemandi: Gera þú hafa a aftur á allt? 812 00:33:08,179 --> 00:33:09,970 BINKY: Við höfum ekki aftur, ekki af helstu. 813 00:33:09,970 --> 00:33:12,940 En helstu skilar 0 sjálfkrafa ef þú ekki aftur neitt. 814 00:33:12,940 --> 00:33:14,400 815 00:33:14,400 --> 00:33:15,188 Já? 816 00:33:15,188 --> 00:33:22,658 >> Nemandi: Gætirðu gera main-- eða gastu gert að fimm skila? 817 00:33:22,658 --> 00:33:24,170 818 00:33:24,170 --> 00:33:27,990 >> BINKY: Við hefðum getað fimm skila, já. 819 00:33:27,990 --> 00:33:32,527 En þá yrðum við að úthluta x jafngildir skilagildi til fimm, 820 00:33:32,527 --> 00:33:34,360 sem væri lítillega mismunandi program. 821 00:33:34,360 --> 00:33:35,440 Það myndi vinna. 822 00:33:35,440 --> 00:33:38,730 En það sem við viljum gera er það sem er kallast breyting eitthvað í stað. 823 00:33:38,730 --> 00:33:41,690 Þannig að við viljum raunverulega breyting þessi kassi og ekki hafa áhyggjur 824 00:33:41,690 --> 00:33:44,390 að þurfa að fara aftur gildi eða neitt. 825 00:33:44,390 --> 00:33:44,890 OK? 826 00:33:44,890 --> 00:33:46,490 827 00:33:46,490 --> 00:33:50,150 >> Þetta er bara eins og skiptasamnings virka David sýndi í fyrirlestri, nema ég 828 00:33:50,150 --> 00:33:51,740 aðeins að takast á við einn breytu. 829 00:33:51,740 --> 00:33:55,960 Og hann notaði tvö, svo INT a og b og þá tímabundinn breytu og whatnot. 830 00:33:55,960 --> 00:33:57,020 OK? 831 00:33:57,020 --> 00:33:58,070 Svo er það síðasta línan? 832 00:33:58,070 --> 00:34:04,400 Eftir að fimm skilar, það er einfaldlega a er að fara að fara í burtu. 833 00:34:04,400 --> 00:34:06,120 834 00:34:06,120 --> 00:34:10,179 Við munum ekki hafa lengur, og aðeins X mun samt lifa á. 835 00:34:10,179 --> 00:34:12,130 >> Og giska á hvaða? x breyttist ekki gildi þess, 836 00:34:12,130 --> 00:34:15,520 eftir allt saman, vegna þess að við erum aðeins að breyta verðmæti a. 837 00:34:15,520 --> 00:34:17,370 Þess vegna x var 3 gegn. 838 00:34:17,370 --> 00:34:17,870 OK? 839 00:34:17,870 --> 00:34:20,195 840 00:34:20,195 --> 00:34:21,130 Good. 841 00:34:21,130 --> 00:34:23,560 Þannig að þetta program hjartarskinn ekki ná hvað við vildum. 842 00:34:23,560 --> 00:34:24,760 Nú skulum laga það. 843 00:34:24,760 --> 00:34:27,440 >> Og festa program er að nota ábendingum. 844 00:34:27,440 --> 00:34:32,300 Það sem við gerum er að við höfum þrjá línur sem eru öðruvísi. 845 00:34:32,300 --> 00:34:34,020 The fyrstur sjálfur er að við erum ekki að farið x. 846 00:34:34,020 --> 00:34:35,535 Við erum brottför veffang x. 847 00:34:35,535 --> 00:34:37,330 848 00:34:37,330 --> 00:34:40,876 Þannig að í stað að afrita yfir gildi af the kassi, 849 00:34:40,876 --> 00:34:42,500 Ég ætla samt að fara að afrita yfir eitthvað. 850 00:34:42,500 --> 00:34:45,380 En ég er að afrita yfir heimilisfang af the kassi. 851 00:34:45,380 --> 00:34:48,780 >> Svo ef ég standast vistfang kassi til að fimm, þá fimm 852 00:34:48,780 --> 00:34:51,560 vilja vera fær til að finna að minni og breyta gildi þess. 853 00:34:51,560 --> 00:34:53,980 854 00:34:53,980 --> 00:34:59,580 >> Svo og svo upp þar, ég hef sem a er ekki int lengur. 855 00:34:59,580 --> 00:35:00,882 a er int stjarna. 856 00:35:00,882 --> 00:35:02,090 Það er bendi heiltala. 857 00:35:02,090 --> 00:35:03,790 858 00:35:03,790 --> 00:35:07,310 Og svo, af því að ég er að hleypa takast hér, og þá hvað ég geri 859 00:35:07,310 --> 00:35:10,530 er ekki a jafngildir 5, vegna þess að a er að halda ávarp. 860 00:35:10,530 --> 00:35:16,710 Svo það sem ég vil gera er að fara þangað og uppfæra innihald þetta heimilisfang 861 00:35:16,710 --> 00:35:18,305 með 5. 862 00:35:18,305 --> 00:35:21,130 >> OK, þannig að við skulum fara í gegnum allar línur eitt af öðru. 863 00:35:21,130 --> 00:35:22,410 864 00:35:22,410 --> 00:35:26,024 Svo þegar ég byrja hérna, ég enn hafa N / A, N / A, N / A 865 00:35:26,024 --> 00:35:28,440 fyrir allt í fyrsta lína, því ég hef í raun ekki 866 00:35:28,440 --> 00:35:29,390 lýst efni ennþá. 867 00:35:29,390 --> 00:35:30,980 868 00:35:30,980 --> 00:35:35,110 Og þá mörkin tvö, ég hef x er 3. 869 00:35:35,110 --> 00:35:38,020 A INT stjörnu a eru ekki til, sama og áður. 870 00:35:38,020 --> 00:35:39,160 871 00:35:39,160 --> 00:35:40,640 >> Nú fær það áhugavert. 872 00:35:40,640 --> 00:35:42,300 Þannig að ég ætla að fara. 873 00:35:42,300 --> 00:35:45,720 Og við skulum gera ráð fyrir að það heimilisfang x er 12 í sextánskur. 874 00:35:45,720 --> 00:35:46,880 875 00:35:46,880 --> 00:35:48,420 Við skulum gera ráð bara þetta. 876 00:35:48,420 --> 00:35:49,221 Ég gerði það upp. 877 00:35:49,221 --> 00:35:51,680 878 00:35:51,680 --> 00:35:53,500 Svo er það sem ég liggur hér í fimm. 879 00:35:53,500 --> 00:35:54,460 Ég er liggur 12. 880 00:35:54,460 --> 00:35:56,390 881 00:35:56,390 --> 00:35:58,610 >> Svo hvaða gildi er a hafa? 882 00:35:58,610 --> 00:36:04,785 883 00:36:04,785 --> 00:36:06,210 >> Nemandi: [inaudible]. 884 00:36:06,210 --> 00:36:06,950 >> BINKY: Sorry? 885 00:36:06,950 --> 00:36:08,145 >> Nemandi: [inaudible]. 886 00:36:08,145 --> 00:36:10,520 BINKY: Já, eins og, til skulum gera ráð fyrir að við erum hér, núna. 887 00:36:10,520 --> 00:36:11,540 888 00:36:11,540 --> 00:36:12,040 Ég ætla að biðja. 889 00:36:12,040 --> 00:36:12,915 >> Nemandi: [inaudible]. 890 00:36:12,915 --> 00:36:13,590 891 00:36:13,590 --> 00:36:14,890 >> BINKY: Það hefur verið hafin. 892 00:36:14,890 --> 00:36:15,860 >> Nemandi: [inaudible]. 893 00:36:15,860 --> 00:36:17,985 BINKY: Þar sem við samþykkt eitthvað að virka. 894 00:36:17,985 --> 00:36:19,431 895 00:36:19,431 --> 00:36:19,930 Já? 896 00:36:19,930 --> 00:36:20,899 >> Nemandi: Heimilisfang x. 897 00:36:20,899 --> 00:36:22,690 BINKY: Það er að fara til hafa veffang x. 898 00:36:22,690 --> 00:36:25,800 Og heimilisfang x er 12, góður. 899 00:36:25,800 --> 00:36:30,990 Svo X er að fara að vera 3, vegna þess að við höfum ekki breyst x enn. 900 00:36:30,990 --> 00:36:36,700 Og þá er að fara að vera 0x12, svo veffang x, því það er 901 00:36:36,700 --> 00:36:38,840 hvað við framhjá til að fimm. 902 00:36:38,840 --> 00:36:40,940 >> Og hvað þá gerist Ef við reynum að fara þangað? 903 00:36:40,940 --> 00:36:42,145 Hvað erum við að fara að finna? 904 00:36:42,145 --> 00:36:47,120 Svo ef þú ert að reyna að prenta stjörnu a, við erum að fara að fylgja þessu heimilisfangi 905 00:36:47,120 --> 00:36:48,620 og fá verðmæti inni. 906 00:36:48,620 --> 00:36:50,470 Og verðmæti er bara sama gildi sem x 907 00:36:50,470 --> 00:36:53,980 hefur því það er heimilisfang x, sem verður 3. 908 00:36:53,980 --> 00:36:55,440 909 00:36:55,440 --> 00:36:56,930 Erum við góðar? 910 00:36:56,930 --> 00:36:59,990 >> OK, og þá nú, förum við í raun og veru. 911 00:36:59,990 --> 00:37:05,510 Og við uppfæra hvað er í þessu heimilisfangi 12. 912 00:37:05,510 --> 00:37:07,390 Við gerum það 5. 913 00:37:07,390 --> 00:37:10,560 Svo nú bæði X og stjörnumerkja eru 5. 914 00:37:10,560 --> 00:37:13,170 915 00:37:13,170 --> 00:37:13,680 >> Hvers vegna er það? 916 00:37:13,680 --> 00:37:17,070 Vegna veffang x er 12. 917 00:37:17,070 --> 00:37:20,920 Og a hefur einnig 12 sem gildi hennar. 918 00:37:20,920 --> 00:37:23,780 Þannig að ef við fylgjum 12, erum við bara að fara til að finna x. 919 00:37:23,780 --> 00:37:27,400 Svo hvað sem við gerum við stjörnu a er að fara að gerast 920 00:37:27,400 --> 00:37:30,790 til x, vegna þess að a inniheldur veffang x. 921 00:37:30,790 --> 00:37:31,918 922 00:37:31,918 --> 00:37:32,418 OK? 923 00:37:32,418 --> 00:37:34,090 924 00:37:34,090 --> 00:37:37,750 >> Og þetta er eins og The crux fix. 925 00:37:37,750 --> 00:37:41,500 Svo nú erum við fær, frá til fimm, reyndar 926 00:37:41,500 --> 00:37:43,840 aðgangur minni sem bjó í aðal. 927 00:37:43,840 --> 00:37:47,980 Þannig að þetta minni er ekki lifandi í fimm, eins og áður, þetta netfang 12. 928 00:37:47,980 --> 00:37:50,980 Og við gátum að fara þangað og breyta gildi hennar til 5. 929 00:37:50,980 --> 00:37:53,990 >> Og svo þegar við aftur, við gleyma um a. 930 00:37:53,990 --> 00:37:55,720 Við gleyma stjörnu a. 931 00:37:55,720 --> 00:37:57,020 Og x er enn fimm. 932 00:37:57,020 --> 00:37:58,327 933 00:37:58,327 --> 00:38:00,160 Þannig að ef þú vilt að innleiða swap virka, 934 00:38:00,160 --> 00:38:05,010 þú myndir bara gera nákvæmlega það sama, nema þú þarft að int stjörnum hér, 935 00:38:05,010 --> 00:38:06,140 og svo framvegis og svo framvegis. 936 00:38:06,140 --> 00:38:06,976 OK? 937 00:38:06,976 --> 00:38:07,475 Erum við góðar? 938 00:38:07,475 --> 00:38:09,860 939 00:38:09,860 --> 00:38:10,610 Cool. 940 00:38:10,610 --> 00:38:12,410 >> Svo músina tölur. 941 00:38:12,410 --> 00:38:13,960 Þetta er örlítið erfiður efni. 942 00:38:13,960 --> 00:38:16,554 Svo kemur í ljós að ábendingum eru bara heiltölur. 943 00:38:16,554 --> 00:38:17,970 Þú getur hugsað um þá eins heiltalna. 944 00:38:17,970 --> 00:38:21,080 Vegna þess að í minni, hefur þú eins minni heimilisfang núll, einn, tveir, þrír, 945 00:38:21,080 --> 00:38:21,900 fjórir, fimm. 946 00:38:21,900 --> 00:38:23,900 Þannig að við getum summa minni viðtakandi. 947 00:38:23,900 --> 00:38:27,230 >> Og það er yfirleitt það sem þú gerir þegar þú ert í og ​​array, til dæmis. 948 00:38:27,230 --> 00:38:30,540 An array er bara eins og samliggjandi blokk af minni, af fullt af stafir, 949 00:38:30,540 --> 00:38:31,840 td fullt af ints. 950 00:38:31,840 --> 00:38:34,420 Svo ef þú vilt fara til Annað INT eða til þriðja int, 951 00:38:34,420 --> 00:38:37,830 þú getur bara summa eitthvað við fyrstu heimilisfang, og þú ert að fara að komast þangað. 952 00:38:37,830 --> 00:38:39,620 Þannig að þetta er mjög gagnlegt fyrir það. 953 00:38:39,620 --> 00:38:41,850 >> Og hlutur til viðurværi í huga, þó, er 954 00:38:41,850 --> 00:38:45,140 að það er ekki bara eins og eðlilegt tölur í skilningi 955 00:38:45,140 --> 00:38:50,304 að ef þú ert að takast á við, segja, int stjörnu, og þú bætir 1 við það, 956 00:38:50,304 --> 00:38:52,220 þá þú ert ekki að fara að bæta 1 við heimilisfang, 957 00:38:52,220 --> 00:38:53,950 þú ert að fara að bæta 4 við heimilisfang. 958 00:38:53,950 --> 00:38:55,030 959 00:38:55,030 --> 00:38:56,670 Vegna int er 4 bæti. 960 00:38:56,670 --> 00:38:57,720 961 00:38:57,720 --> 00:38:59,540 >> Þannig að þetta er bara eins og ganga á fylki. 962 00:38:59,540 --> 00:39:05,260 Ef við höfum fjölda af fullt af ints og þá erum við að reyna að fara í seinni, 963 00:39:05,260 --> 00:39:08,790 það er í rauninni bara því að veffang fyrstu einum plús 1. 964 00:39:08,790 --> 00:39:10,040 965 00:39:10,040 --> 00:39:13,425 En það mun ekki be-- bara láta segja að heimilisfang fyrri er 4. 966 00:39:13,425 --> 00:39:14,560 967 00:39:14,560 --> 00:39:16,250 Hér, í þessu tilfelli. 968 00:39:16,250 --> 00:39:19,780 969 00:39:19,780 --> 00:39:22,850 Og ef við summa, þannig að þetta er það sem er að gerast. 970 00:39:22,850 --> 00:39:23,530 Við höfum við int. 971 00:39:23,530 --> 00:39:25,640 Int x er 5. 972 00:39:25,640 --> 00:39:26,950 X hefur gildið 5. 973 00:39:26,950 --> 00:39:31,240 Og við frumstilla þennan músina, int Y INT stjörnu Y jafngildir veffang x. 974 00:39:31,240 --> 00:39:33,660 >> Við skulum gera ráð veffang x er 4. 975 00:39:33,660 --> 00:39:36,960 Hvað er að fara að gerast nú ef ég summa bæta 1 til y? 976 00:39:36,960 --> 00:39:39,110 977 00:39:39,110 --> 00:39:44,790 Það er að fara að í raun og veru summa 4 í stað bara 1. 978 00:39:44,790 --> 00:39:50,920 Svo ég bæti við 1, en það í raun og veru added 4, vegna þess að tölvan er klár. 979 00:39:50,920 --> 00:39:55,275 Svo það er að fara til raunverulega bæta því i sinnum stærð tegund músina. 980 00:39:55,275 --> 00:39:56,340 981 00:39:56,340 --> 00:39:56,840 OK? 982 00:39:56,840 --> 00:39:58,030 983 00:39:58,030 --> 00:40:02,440 >> Þannig að ef það væri bleikju, til dæmis, ef þetta væri bleikju stjörnu Y, 984 00:40:02,440 --> 00:40:07,141 og ef við bætt 1 þá myndi þetta verið 5, því bleikjan er 1 bæti langur. 985 00:40:07,141 --> 00:40:07,640 Gott? 986 00:40:07,640 --> 00:40:10,560 987 00:40:10,560 --> 00:40:13,190 >> Og að lokum, við fengum að ábendingum og fylki. 988 00:40:13,190 --> 00:40:16,451 Það kemur í ljós að í hvert skipti þú ert að takast á við fjölda, 989 00:40:16,451 --> 00:40:18,075 þú ert í raun að takast á við músina. 990 00:40:18,075 --> 00:40:19,720 991 00:40:19,720 --> 00:40:24,777 Mjög gott huglæg ástæða fyrir þetta er að fylki eru mjög stór. 992 00:40:24,777 --> 00:40:27,360 Svo muna að ég sagði að hvert skipti sem þú standast efni í kring, 993 00:40:27,360 --> 00:40:29,097 að afrita allt. 994 00:40:29,097 --> 00:40:31,180 Svo ef þú ert óákveðinn greinir í ensku fylking það er í raun, mjög stór, 995 00:40:31,180 --> 00:40:32,990 þú í raun ekki vilja til að afrita allt í hvert skipti 996 00:40:32,990 --> 00:40:35,710 þú gefa það í kring til annars virka, því það er bara 997 00:40:35,710 --> 00:40:37,190 gegnheill magn af vinnu. 998 00:40:37,190 --> 00:40:39,710 Svo það sem þú gerir er bara fortíð um heimilisfang fyrsta bæti. 999 00:40:39,710 --> 00:40:40,969 1000 00:40:40,969 --> 00:40:44,010 Og þá aðgerð mun hafa aðgang til allra þátta í þeirri fylking. 1001 00:40:44,010 --> 00:40:48,670 Svo þú stóðst array með heimilisfang þess, svo sem heimilisfang fyrsta bæti. 1002 00:40:48,670 --> 00:40:53,010 >> Svo ef við lýsa INT array 3, hér, við vitum 1003 00:40:53,010 --> 00:40:57,470 hvernig á að opna fyrstu frumefni nota krappi tákn. 1004 00:40:57,470 --> 00:41:02,410 Ef þú manst krappi Rithátturinn, array krappi 0 er 1. 1005 00:41:02,410 --> 00:41:06,330 Jæja, þetta væri nákvæmlega sama og bara fara þangað og setja 1. 1006 00:41:06,330 --> 00:41:07,370 1007 00:41:07,370 --> 00:41:09,110 OK, er nákvæmlega það sama. 1008 00:41:09,110 --> 00:41:13,010 Svo krappi merki í hér verður sú sama og þessa línu. 1009 00:41:13,010 --> 00:41:18,600 >> Og giska á hvað krappi tákn fyrir array krappi 1 mun vera? 1010 00:41:18,600 --> 00:41:20,440 Það verður bara að vera það sama og þetta. 1011 00:41:20,440 --> 00:41:22,500 Svo bæta með fylki. 1012 00:41:22,500 --> 00:41:24,370 Færa einn eftir í minni. 1013 00:41:24,370 --> 00:41:26,310 Fara þangað, og setja 2. 1014 00:41:26,310 --> 00:41:28,050 1015 00:41:28,050 --> 00:41:28,579 OK? 1016 00:41:28,579 --> 00:41:29,870 Og þessi lína er það sama. 1017 00:41:29,870 --> 00:41:34,860 Við viljum fara í þriðja kassi, svo array auk 2. 1018 00:41:34,860 --> 00:41:37,465 Fara þangað, og setja 3. 1019 00:41:37,465 --> 00:41:39,340 Svo í minni, hvað er fara að gerast er að við erum 1020 00:41:39,340 --> 00:41:44,400 fara að hafa 1, 2, og 3 sem þrír þættir þessu fylki. 1021 00:41:44,400 --> 00:41:46,970 >> Við hefðum getað gert þetta með því að nota þekki krappi okkar merki. 1022 00:41:46,970 --> 00:41:49,410 Ég vil bara að þú krakkar að vita að þeir eru það sama. 1023 00:41:49,410 --> 00:41:50,530 1024 00:41:50,530 --> 00:41:53,010 OK, spurningum um þetta? 1025 00:41:53,010 --> 00:41:56,115 1026 00:41:56,115 --> 00:41:56,615 Nice. 1027 00:41:56,615 --> 00:41:57,990 1028 00:41:57,990 --> 00:41:59,880 Nú, ég ætla að skila það yfir til Hönnu, 1029 00:41:59,880 --> 00:42:00,330 >> HANNAH: Yay, Yee-Haw. 1030 00:42:00,330 --> 00:42:02,246 >> BINKY: Talandi um minni og grein efni. 1031 00:42:02,246 --> 00:42:06,554 [Applause] 1032 00:42:06,554 --> 00:42:10,150 >> HANNAH: Hi, kaldur, þannig að við erum fara að tala svolítið meira 1033 00:42:10,150 --> 00:42:13,090 um minni, sem við bara beint með ábendingum. 1034 00:42:13,090 --> 00:42:16,060 Þannig að það eru tveir helstu hlutar minni sem við erum áhyggjur með. 1035 00:42:16,060 --> 00:42:18,830 Við höfum stafla, sem vex upp í botn, og veggur, sem 1036 00:42:18,830 --> 00:42:20,600 fer niður úr efstu. 1037 00:42:20,600 --> 00:42:24,690 Og stafla er að fara að halda allar tilviksbreytu okkar. 1038 00:42:24,690 --> 00:42:28,860 Svo að hver kalla til fall fær eigin litla ramma þess á mánudaginn. 1039 00:42:28,860 --> 00:42:32,160 Svo eins Gabe fyrr, ef við hringja í virka aftur og aftur, 1040 00:42:32,160 --> 00:42:34,180 við erum að fara að stafla það upp á mánudaginn. 1041 00:42:34,180 --> 00:42:35,220 1042 00:42:35,220 --> 00:42:38,570 >> Og sömuleiðis, hrúga, sem byrjar efst 1043 00:42:38,570 --> 00:42:42,660 er að fara að halda allt af minni að við úthluta virk. 1044 00:42:42,660 --> 00:42:45,110 Og svo eins og við virk úthluta minni, 1045 00:42:45,110 --> 00:42:47,580 þetta mun koma niður til the botn. 1046 00:42:47,580 --> 00:42:51,340 Nokkra hluti til að vera meðvitaðir um þegar þú við erum að nota stafla og hrúga, 1047 00:42:51,340 --> 00:42:55,200 með stafla, ef við höfum of many-- skulum say-- endurkvæma símtöl, 1048 00:42:55,200 --> 00:42:58,392 og við erum að hringja í virka aftur, og aftur, og aftur, og aftur, 1049 00:42:58,392 --> 00:43:00,350 og það er stöflun upp, stöflun upp, stafla upp. 1050 00:43:00,350 --> 00:43:01,570 Og það er að fara að hrun í hrúgunni. 1051 00:43:01,570 --> 00:43:03,040 Við erum að fara að keyra út af minni. 1052 00:43:03,040 --> 00:43:05,100 Það er að fara að valda a vandamál fyrir tölva. 1053 00:43:05,100 --> 00:43:06,770 Og það er kallað stafla flæða. 1054 00:43:06,770 --> 00:43:09,728 Svo er það örugglega eitthvað sem þú ætti að vera meðvitaðir um og reyna að koma í veg fyrir. 1055 00:43:09,728 --> 00:43:10,228 1056 00:43:10,228 --> 00:43:14,050 Og hrúga, að muna ekki óvart leka minni. 1057 00:43:14,050 --> 00:43:17,950 Hvert sinn sem þú notar malloc, ekki gleyma að losa að minni. 1058 00:43:17,950 --> 00:43:20,040 Annars verður það bara vera á hrúga spillis, 1059 00:43:20,040 --> 00:43:23,230 og the tölva vilja ekki vita að það er ókeypis að nota þessi minni. 1060 00:43:23,230 --> 00:43:25,810 Þannig að þeir eru nokkra hluti að vera mjög varkár með hvenær 1061 00:43:25,810 --> 00:43:28,580 þú ert að takast á við stafla og hrúga. 1062 00:43:28,580 --> 00:43:30,412 Einhverjar spurningar með þetta? 1063 00:43:30,412 --> 00:43:31,304 Ógnvekjandi. 1064 00:43:31,304 --> 00:43:31,900 >> OK, flott. 1065 00:43:31,900 --> 00:43:32,940 1066 00:43:32,940 --> 00:43:36,810 Svo hefur þessi tegund af sama hugmynd sem stafla flæða þar 1067 00:43:36,810 --> 00:43:39,850 við erum að fara út fyrir mörk af hvaða minni 1068 00:43:39,850 --> 00:43:41,960 er að við erum að ætlast til að vera fær um að nota. 1069 00:43:41,960 --> 00:43:45,077 Svo taka, til dæmis, með buffer, eða að gæti bara hugsa um það sem fylki. 1070 00:43:45,077 --> 00:43:47,660 Og við sögðum OK, við erum að fara að að búa þetta ágætur lítill fylkisins. 1071 00:43:47,660 --> 00:43:49,140 Það er að fara til vera a band. 1072 00:43:49,140 --> 00:43:50,630 Eða það er að fara að geyma stafi. 1073 00:43:50,630 --> 00:43:51,720 Og það er bara að fara að segja halló. 1074 00:43:51,720 --> 00:43:52,678 Og það er unnt að ákvarða. 1075 00:43:52,678 --> 00:43:53,990 Það er hann. 1076 00:43:53,990 --> 00:43:58,240 >> En ef ég væri einhver vondur og vildi gera eitthvað slæmt með þessu fylki, hvað 1077 00:43:58,240 --> 00:44:02,310 Ég gæti gert er að reyna að skrifa framhjá enda strengsins. 1078 00:44:02,310 --> 00:44:04,490 Og eins og þú munt sjá, ef Ég skrifa langt, 1079 00:44:04,490 --> 00:44:06,980 Ég get í raun haft áhrif aftur heimilisfang. 1080 00:44:06,980 --> 00:44:09,530 Og ef ég byrja að hafa áhrif á aftur heimilisfang, 1081 00:44:09,530 --> 00:44:11,730 Ég hafa áhrif á hvernig forritið keyrir í raun. 1082 00:44:11,730 --> 00:44:15,900 Og í stað þess að skila, þú vita, gleðilegs band eins halló, ég 1083 00:44:15,900 --> 00:44:19,460 gæti gert eitthvað slæmt, eins og fara í annars staðar í tölvunni þinni, enn 1084 00:44:19,460 --> 00:44:22,146 minni, að breyta því, hvað ég vil gera. 1085 00:44:22,146 --> 00:44:25,020 Svo það er það sem þetta myndi líta út er ef ég fyllti bara svona það upp 1086 00:44:25,020 --> 00:44:27,400 handahófi sorp gildi, í þessu tilfelli, bara a. 1087 00:44:27,400 --> 00:44:30,490 Og svo þegar ég í raun fékk í minni heimilisfang, 1088 00:44:30,490 --> 00:44:33,740 Ég byrjaði að fylla það með eitthvað sem gerði það sem ég vildi það til að gera. 1089 00:44:33,740 --> 00:44:34,952 1090 00:44:34,952 --> 00:44:36,410 Einhverjar spurningar með yfirflæði? 1091 00:44:36,410 --> 00:44:38,450 1092 00:44:38,450 --> 00:44:40,730 Awesome, fljúga rétt gegnum þetta dót. 1093 00:44:40,730 --> 00:44:43,530 >> OK, svo við ræddum mikið af um músina með Gabe. 1094 00:44:43,530 --> 00:44:45,790 Hvernig fáum við í raun bendi? 1095 00:44:45,790 --> 00:44:48,070 Hvernig eigum við að fá tölu í minni? 1096 00:44:48,070 --> 00:44:51,040 Jæja, við getum notað þessa fallegu kalla virka malloc sem 1097 00:44:51,040 --> 00:44:53,370 er að fara að fá a lítið stykki af minni, 1098 00:44:53,370 --> 00:44:55,480 sérstaklega hjá hrúga, eins og við ræddum, 1099 00:44:55,480 --> 00:44:59,780 og það er að fara að gefa þér aftur a músina á þetta netfang í minni. 1100 00:44:59,780 --> 00:45:01,950 Og þau rök sem við að gefa til malloc 1101 00:45:01,950 --> 00:45:04,280 er hversu mikið pláss í minni við viljum. 1102 00:45:04,280 --> 00:45:06,100 >> Svo er hægt að sjá stærð á bæti. 1103 00:45:06,100 --> 00:45:08,670 Segjum til dæmis, eða í raun, í þessu dæmi, 1104 00:45:08,670 --> 00:45:12,040 við úthluta nóg pláss fyrir 10 heiltölur. 1105 00:45:12,040 --> 00:45:15,640 Svo sennilega það sem við erum að fara að vilja að setja hér er fylki af 10 heiltölur. 1106 00:45:15,640 --> 00:45:19,641 Svo við gefa henni stærð ints sem Við lærðum var hvernig margir bytes? 1107 00:45:19,641 --> 00:45:20,140 Nemandi: 4. 1108 00:45:20,140 --> 00:45:22,920 HANNAH: 4, falleg, og við vilja 10 af þeim í röð, 1109 00:45:22,920 --> 00:45:28,050 þannig að við höfum nóg pláss til geyma öll 10 heiltölur, í þessu tilfelli. 1110 00:45:28,050 --> 00:45:31,290 Eitthvað frábær mikilvægt, hvert sinn sem þú hringja malloc, 1111 00:45:31,290 --> 00:45:32,880 þú þarft að athuga for null. 1112 00:45:32,880 --> 00:45:37,310 Ef þú hakar ekki fyrir engu, vel, malloc ef það rennur út af plássi 1113 00:45:37,310 --> 00:45:40,400 og getur ekki lengur gefið þér meira minni, það mun skila null. 1114 00:45:40,400 --> 00:45:42,060 1115 00:45:42,060 --> 00:45:45,630 Þannig að ef þú hakar ekki, malloc getur aftur null. 1116 00:45:45,630 --> 00:45:51,265 Og þá ef við reynum að dereference núll músina, 1117 00:45:51,265 --> 00:45:54,960 við erum að fara að fá skiptingu kenna, sem við munum tala um núna. 1118 00:45:54,960 --> 00:45:56,150 1119 00:45:56,150 --> 00:45:56,650 Ógnvekjandi. 1120 00:45:56,650 --> 00:45:58,300 >> OK, spurningum með malloc? 1121 00:45:58,300 --> 00:46:00,044 1122 00:46:00,044 --> 00:46:00,544 Já? 1123 00:46:00,544 --> 00:46:05,460 >> Nemandi: Er haka null [Inaudible] geri það ekki á prófinu? 1124 00:46:05,460 --> 00:46:08,100 >> HANNAH: Jú, spurningin var er það matter-- á spurningakeppni, 1125 00:46:08,100 --> 00:46:10,420 þú vilja fá stig burt ef þú hakar ekki null? 1126 00:46:10,420 --> 00:46:12,794 Já, þú munt fá stig burt Ef þú hakar ekki null. 1127 00:46:12,794 --> 00:46:16,030 Hvert sinn sem þú hringja malloc, bæði á quiz og psets þínar og í raunveruleikanum, 1128 00:46:16,030 --> 00:46:17,155 þú þarft að athuga for null. 1129 00:46:17,155 --> 00:46:18,330 Góð spurning. 1130 00:46:18,330 --> 00:46:19,689 >> Gabe: Hvað ef ég losa ekki? 1131 00:46:19,689 --> 00:46:21,730 HANNAH: Gabe vill vita hvað ef við gerum ekki frjáls. 1132 00:46:21,730 --> 00:46:25,030 Þá munum við hafa a minni leka í hrúga okkar. 1133 00:46:25,030 --> 00:46:26,140 Allar aðrar spurningar? 1134 00:46:26,140 --> 00:46:27,550 Já? 1135 00:46:27,550 --> 00:46:30,120 >> Nemandi: Getur you-- fara yfir biðminni flæða raunverulegur fljótur aftur? 1136 00:46:30,120 --> 00:46:30,530 >> HANNAH: Jú. 1137 00:46:30,530 --> 00:46:33,071 Spurningin var getum við farið yfir biðminni flæða mjög fljótur. 1138 00:46:33,071 --> 00:46:35,050 Förum aftur til þeirra renna. 1139 00:46:35,050 --> 00:46:37,430 Svo biðminni, þú getur bara hugsa um það sem fylki, ekki satt? 1140 00:46:37,430 --> 00:46:39,360 Þú hefur smá pláss í minni. 1141 00:46:39,360 --> 00:46:43,580 Og þegar við búum fyrst array okkar, við vitum fylki hafa fasta stærð, 1142 00:46:43,580 --> 00:46:45,470 eða biðminni okkar hefur fasta stærð. 1143 00:46:45,470 --> 00:46:51,360 >> Svo skulum segja í þessu tilviki höfum við bara nóg pláss til að skrifa strenginn halló. 1144 00:46:51,360 --> 00:46:57,340 Ef við förum yfir það bundið, ef við förum framhjá hvað array okkar við sögðum að það gæti haldið, 1145 00:46:57,340 --> 00:46:59,780 við gætum í raun byrjað skrifa inn í minni 1146 00:46:59,780 --> 00:47:01,780 að tölvan virkar ekki langar okkur að skrifa í. 1147 00:47:01,780 --> 00:47:02,810 1148 00:47:02,810 --> 00:47:05,580 Og sérstaklega, ef við högg eitthvað eins og aftur 1149 00:47:05,580 --> 00:47:08,700 Heimilisfang virka, sem, eins og allir aðrir stykki af minni, 1150 00:47:08,700 --> 00:47:11,420 er bara einhvers staðar í þinn tölva, getur þú í raun og veru 1151 00:47:11,420 --> 00:47:14,080 breyta því og byrja að gera illt. 1152 00:47:14,080 --> 00:47:15,272 Svara spurningunni þinni? 1153 00:47:15,272 --> 00:47:16,230 Awesome, eitthvað annað? 1154 00:47:16,230 --> 00:47:17,466 Já? 1155 00:47:17,466 --> 00:47:21,948 >> Nemandi: Svo stafla [inaudible] þér sagði fara frá botni að fara upp. 1156 00:47:21,948 --> 00:47:25,434 Innan stafla svið, er minni fara frá, eins og, 1157 00:47:25,434 --> 00:47:27,230 efst niður lúta að hvers hlé? 1158 00:47:27,230 --> 00:47:28,646 1159 00:47:28,646 --> 00:47:32,100 >> HANNAH: Hvernig you-- fresta að Rob á þessu. 1160 00:47:32,100 --> 00:47:35,370 1161 00:47:35,370 --> 00:47:38,213 >> Rob: Það mun vaxa í sama átt og stafla vex. 1162 00:47:38,213 --> 00:47:38,712 HANNAH: OK. 1163 00:47:38,712 --> 00:47:40,967 Rob: Svo ég fá rugla. 1164 00:47:40,967 --> 00:47:42,331 Þetta er að fara að vera abstrakt. 1165 00:47:42,331 --> 00:47:42,831 HANNAH: OK. 1166 00:47:42,831 --> 00:47:44,000 Rob: Þetta er rétt. 1167 00:47:44,000 --> 00:47:49,420 Svo ef stafla er vaxandi upp, þá generally-- það 1168 00:47:49,420 --> 00:47:52,380 þarf ekki að vera svona. en þú getur lýsa int x. 1169 00:47:52,380 --> 00:47:54,120 Síðan sem þú lýsa int y. 1170 00:47:54,120 --> 00:47:57,300 Þá Int x mun almennt vera lægri á mánudaginn en int y. 1171 00:47:57,300 --> 00:47:59,300 En það er bara staðreynd. 1172 00:47:59,300 --> 00:48:02,410 Það er ekki eins og óákveðinn greinir í ensku mikilvægur fræ hlutur. 1173 00:48:02,410 --> 00:48:06,800 >> Rob: Svo spurningin aftur var bara hvað gerist hver grind byggist upp. 1174 00:48:06,800 --> 00:48:08,960 Svo fær hver aðgerð a lítið stykki af stafla. 1175 00:48:08,960 --> 00:48:13,030 Og eins og þú fara upp, innan þess lítið stykki, innan þess ramma, 1176 00:48:13,030 --> 00:48:16,710 við munum segja að breytur innan þess ramma líka að fara upp. 1177 00:48:16,710 --> 00:48:17,473 Spurning? 1178 00:48:17,473 --> 00:48:18,688 >> Rob: Bara til að vera á mic. 1179 00:48:18,688 --> 00:48:19,396 HANNAH: Oh, já. 1180 00:48:19,396 --> 00:48:20,440 Rob: Ég tala í þig. 1181 00:48:20,440 --> 00:48:21,410 HANNAH: Oh, já, OK. 1182 00:48:21,410 --> 00:48:24,150 Rob: Undantekningin er fyrir fylki og structs, 1183 00:48:24,150 --> 00:48:27,470 þar fylki, lægri vísitalan á fylking, 1184 00:48:27,470 --> 00:48:29,930 og structs á hærra reit í structs 1185 00:48:29,930 --> 00:48:35,040 eru tryggð að vera á lægri heimilisföng en seinna stak fylkisins. 1186 00:48:35,040 --> 00:48:36,720 Þannig að þeir eru tryggð. 1187 00:48:36,720 --> 00:48:40,310 En einhverjir ákveðnir breytur innan, eins int x og INT Y innan virka, 1188 00:48:40,310 --> 00:48:43,030 það er engin þörf samband milli talna. 1189 00:48:43,030 --> 00:48:44,882 1190 00:48:44,882 --> 00:48:46,340 HANNAH: Önnur spurning hérna? 1191 00:48:46,340 --> 00:48:51,620 Nemandi: Svo í stuðpúða flæði, aðeins biðminni flæða 1192 00:48:51,620 --> 00:48:54,980 aðeins gerst þegar þú hafa, eins og, úthlutað 1193 00:48:54,980 --> 00:49:01,056 magn af fjölda sem þá er meiri? 1194 00:49:01,056 --> 00:49:03,230 Eins, getur þú? 1195 00:49:03,230 --> 00:49:05,435 Svo ef þú ert að biðja um eitthvað úr user-- 1196 00:49:05,435 --> 00:49:06,018 >> HANNAH: Mm-HM. 1197 00:49:06,018 --> 00:49:08,600 Nemandi: Geta þeir valdi gefa þér eitthvað til baka 1198 00:49:08,600 --> 00:49:11,777 það er stærri en það sem þú hefur úthlutað fyrir þá? 1199 00:49:11,777 --> 00:49:13,610 HANNAH: Jú, þannig að spurning var í rauninni, 1200 00:49:13,610 --> 00:49:16,217 getur notandinn gefið þér meira en að biðja um? 1201 00:49:16,217 --> 00:49:16,800 Nemandi: Já. 1202 00:49:16,800 --> 00:49:18,480 HANNAH: Jæja, þú að koma í veg notandi frá að gera það. 1203 00:49:18,480 --> 00:49:21,350 Þú gætir sérstaklega segja að gera ekki gefa mér meira en x fjölda af bæti 1204 00:49:21,350 --> 00:49:24,330 Ég hef bara gefið þér pláss fyrir x fjöldi bæti, x fjöldi af stöfum. 1205 00:49:24,330 --> 00:49:25,700 Svo er það eitthvað sem þú vilt koma í veg. 1206 00:49:25,700 --> 00:49:26,199 Já? 1207 00:49:26,199 --> 00:49:30,270 Hver er munurinn á milli stafla flæða yfir og yfirflæði? 1208 00:49:30,270 --> 00:49:32,140 >> HANNAH: OK, þannig að stafla overflow-- ó, hvað 1209 00:49:32,140 --> 00:49:34,790 er munurinn á milli stafla flæða og biðminni flæða? 1210 00:49:34,790 --> 00:49:37,581 Þannig að við viljum að hugsa um stafla flæða gerast þegar við erum í raun og veru 1211 00:49:37,581 --> 00:49:39,530 stöflun upp þessa virka símtöl. 1212 00:49:39,530 --> 00:49:42,991 Segjum að þú ert með endurkvæma virka, vegna þess að við vitum að í hvert skipti sem þú 1213 00:49:42,991 --> 00:49:45,240 kalla virka, það er fær eigin ramma þess á mánudaginn. 1214 00:49:45,240 --> 00:49:47,950 >> Þannig að við stafla upp of hátt, og þá erum við að byrja að flæða. 1215 00:49:47,950 --> 00:49:50,530 Og við notum of mikið minni, og við höfum ekki neitt til vinstri. 1216 00:49:50,530 --> 00:49:51,590 Við fáum þessi villa. 1217 00:49:51,590 --> 00:49:53,930 >> Buffer flæða er innan áætlunarinnar. 1218 00:49:53,930 --> 00:49:57,180 Við viljum kannski ekki endilega hlaupa út af minni á sama hátt 1219 00:49:57,180 --> 00:50:00,080 til þess að vera ef við erum stöflun upp svo mörgum virka símtöl, 1220 00:50:00,080 --> 00:50:04,540 en við að skrifa framhjá minni að við vitum að við getum notað. 1221 00:50:04,540 --> 00:50:06,170 Og að leyfa okkur að gera illt. 1222 00:50:06,170 --> 00:50:08,060 1223 00:50:08,060 --> 00:50:08,560 Já? 1224 00:50:08,560 --> 00:50:10,950 >> Rob: Já, þú vilt kannski bara endurtaka þetta, 1225 00:50:10,950 --> 00:50:12,699 en þú getur líka hugsa reykháf flæða 1226 00:50:12,699 --> 00:50:15,374 eins og eins og ákveðna tegund af biðminni flæða. 1227 00:50:15,374 --> 00:50:17,665 Eða þú bara hugsa um þinn stafla sem raunverulega stór buffer. 1228 00:50:17,665 --> 00:50:20,724 Svo þegar þú flæða að stafla, það er góður af eins og a biðminni flæða. 1229 00:50:20,724 --> 00:50:23,390 En stafla flæða er bara tilteknum tíma notað þegar stafla 1230 00:50:23,390 --> 00:50:24,310 sjálft yfirfullt. 1231 00:50:24,310 --> 00:50:27,500 >> HANNAH: Einmitt, svo að endurtekið fyrir the vídeó, 1232 00:50:27,500 --> 00:50:31,756 það er hægt að hugsa um stafla flæða eins ákveðin tegund af biðminni flæða. 1233 00:50:31,756 --> 00:50:33,040 Cool? 1234 00:50:33,040 --> 00:50:34,562 Einhverjar fleiri spurningar áður en við förum á? 1235 00:50:34,562 --> 00:50:35,380 1236 00:50:35,380 --> 00:50:35,880 Ógnvekjandi. 1237 00:50:35,880 --> 00:50:37,130 1238 00:50:37,130 --> 00:50:39,727 >> OK, flott, þannig að við skulum tala um nokkrar algengar villuskilaboð. 1239 00:50:39,727 --> 00:50:42,060 Þetta er eitthvað sem hefur birst á mörgum Skyndipróf, 1240 00:50:42,060 --> 00:50:44,740 svo eitthvað sem er þess virði taka aðra líta á. 1241 00:50:44,740 --> 00:50:46,860 Ég er viss um að þú hafir kynnst að minnsta kosti nokkrar af þessum 1242 00:50:46,860 --> 00:50:48,690 eins og þú ert að gera vandamál þitt setur. 1243 00:50:48,690 --> 00:50:50,980 Svo tryggja að þú getur talað um þá á próf. 1244 00:50:50,980 --> 00:50:52,990 >> Svo er fyrsti a skiptingu kenna. 1245 00:50:52,990 --> 00:50:55,250 Og það er einhver tími sem við reyna að fá aðgang minni 1246 00:50:55,250 --> 00:50:57,130 að við erum ekki leyft að fá aðgang. 1247 00:50:57,130 --> 00:51:00,280 Svo þú migh hafa séð þetta, til dæmis, í Brot. 1248 00:51:00,280 --> 00:51:03,390 Ef uppgötva árekstri aftur null, og þá 1249 00:51:03,390 --> 00:51:05,500 reynt að gera eitthvað með þessi núll gildi, 1250 00:51:05,500 --> 00:51:08,147 tölvan myndi gefa þú skiptingu kenna. 1251 00:51:08,147 --> 00:51:10,730 Svo einn, mikilvægur hlutur til gera til að reyna að koma í veg fyrir þetta 1252 00:51:10,730 --> 00:51:12,000 er alltaf að athuga for null. 1253 00:51:12,000 --> 00:51:13,300 1254 00:51:13,300 --> 00:51:16,180 >> Þú gætir hafa einnig séð óbeina yfirlýsingu um virka. 1255 00:51:16,180 --> 00:51:18,370 Svo er þetta það sem gerist þegar Allison sýndi þér 1256 00:51:18,370 --> 00:51:20,150 hvernig við gera frumgerð, ekki satt? 1257 00:51:20,150 --> 00:51:23,440 Svo skulum segja að við höfum sumir fall sem við skilgreinum. 1258 00:51:23,440 --> 00:51:24,440 Segjum teningur. 1259 00:51:24,440 --> 00:51:27,120 Og það fer neðst af virka okkar, undir aðal. 1260 00:51:27,120 --> 00:51:35,205 >> Ef við gleymum að segja tölvuna um teningur, þegar helstu reynir að hringja teningur, 1261 00:51:35,205 --> 00:51:36,830 the tölva vilja vera, eins og, ó nei. 1262 00:51:36,830 --> 00:51:38,300 Ég hef ekki hugmynd um hvað það þýðir. 1263 00:51:38,300 --> 00:51:39,760 Ég veit ekki hvað ég á að gera, hér. 1264 00:51:39,760 --> 00:51:41,594 Svo frumgerð segir ekki hafa áhyggjur. 1265 00:51:41,594 --> 00:51:42,510 Ég ætla að segja þér. 1266 00:51:42,510 --> 00:51:43,132 >> Það mun koma. 1267 00:51:43,132 --> 00:51:43,840 Æpi þó ekki á mig. 1268 00:51:43,840 --> 00:51:46,697 Ekki gefa mér ekki óbeina yfirlýsing um virka. 1269 00:51:46,697 --> 00:51:49,280 Þannig að ef þú færð þessa villu, einn hlutur sem þú ert að fara til að vilja gera 1270 00:51:49,280 --> 00:51:50,821 er að tryggja að þú hefur frumgerð þína. 1271 00:51:50,821 --> 00:51:52,320 1272 00:51:52,320 --> 00:51:53,230 OK? 1273 00:51:53,230 --> 00:51:55,680 >> Og síðast en ekki síst, óskilgreinda auðkenni 1274 00:51:55,680 --> 00:52:00,570 er í raun þegar þú reynir að nota a breytu sem þú hefur ekki lýst. 1275 00:52:00,570 --> 00:52:03,449 Svo allt í einu er byrjað segja eins N plús plús. 1276 00:52:03,449 --> 00:52:04,740 Og tölvan segir það sem er n? 1277 00:52:04,740 --> 00:52:06,660 Þú aldrei sagt mér n var hlutur. 1278 00:52:06,660 --> 00:52:10,930 >> Svo eitt sem þú þarft að ganga úr skugga um að þú gerði er að segja tölvuna hvað n er. 1279 00:52:10,930 --> 00:52:13,320 Svo til dæmis, n gæti verið heiltala. 1280 00:52:13,320 --> 00:52:14,999 Og þá munt þú koma í veg fyrir þessa villu. 1281 00:52:14,999 --> 00:52:16,290 Einhverjar spurningar um algengar villur? 1282 00:52:16,290 --> 00:52:17,260 Já? 1283 00:52:17,260 --> 00:52:19,344 >> Nemandi: Fyrir óbeina yfirlýsing um virka, 1284 00:52:19,344 --> 00:52:22,343 gæti það líka verið að þú sleppt einn af bókasöfnum sem þú áttu 1285 00:52:22,343 --> 00:52:24,400 til að fela í sér, frekar en að frumgerð? 1286 00:52:24,400 --> 00:52:26,359 >> HANNAH: Einmitt, svo að spurning var, gastu 1287 00:52:26,359 --> 00:52:28,650 einnig fá þessa villu ef þú gleymdi að fela bókasafn. 1288 00:52:28,650 --> 00:52:29,085 >> Nemandi: Já. 1289 00:52:29,085 --> 00:52:30,876 >> HANNAH: Algjörlega, vegna þess að á sama hátt 1290 00:52:30,876 --> 00:52:33,540 að við viljum setja frumútgáfur okkar fyrir helstu virka, 1291 00:52:33,540 --> 00:52:37,717 ef við höfum bókasafn, þeir eru að fara að í raun fela frumútgáfur, 1292 00:52:37,717 --> 00:52:39,425 innihalda skilgreiningar af hlutverkum. 1293 00:52:39,425 --> 00:52:40,585 Frábær spurning. 1294 00:52:40,585 --> 00:52:43,230 >> Nemandi: Fyrir skiptingu kenna, myndi það einnig 1295 00:52:43,230 --> 00:52:47,350 gerast ef við, eins og, reyndi að fá aðgang að breytu, 1296 00:52:47,350 --> 00:52:51,947 eins og, í öðru [inaudible] en það var lýst í? 1297 00:52:51,947 --> 00:52:54,030 HANNAH: Jú, svo vildi við fá skiptingu kenna 1298 00:52:54,030 --> 00:52:56,270 Ef við reyndum að fá aðgang að breytu úr umfangi? 1299 00:52:56,270 --> 00:52:57,104 Var að spurningu? 1300 00:52:57,104 --> 00:52:57,645 Nemandi: Já. 1301 00:52:57,645 --> 00:52:58,430 HANNAH: Beautiful. 1302 00:52:58,430 --> 00:53:01,840 Svo sennilega, ert þú að fara að fá óskilgreinda auðkenni villa staðinn. 1303 00:53:01,840 --> 00:53:04,006 Svo það er bara að fara að segja Ég veit ekki hvað það er. 1304 00:53:04,006 --> 00:53:04,920 1305 00:53:04,920 --> 00:53:05,920 Cool, eitthvað annað? 1306 00:53:05,920 --> 00:53:07,744 1307 00:53:07,744 --> 00:53:08,980 Já, OK, falleg. 1308 00:53:08,980 --> 00:53:10,330 1309 00:53:10,330 --> 00:53:12,400 >> Allt righty, svo endurkvæmni. 1310 00:53:12,400 --> 00:53:15,160 Svo ég nefndi nokkrum sinnum að við gætum fengið stafla flæða 1311 00:53:15,160 --> 00:53:17,919 vegna þess að við köllum okkar endurkvæma virka svo mörgum sinnum. 1312 00:53:17,919 --> 00:53:20,210 Við erum að fá allar þessar stafla rammar, bla, bla, bla. 1313 00:53:20,210 --> 00:53:22,420 Hvað er jafnvel endurkvæma virka? 1314 00:53:22,420 --> 00:53:25,680 Jæja, a endurkvæma virka er hvaða fall sem kallar sig. 1315 00:53:25,680 --> 00:53:26,820 1316 00:53:26,820 --> 00:53:30,160 >> Sumir hlutir til að vera meðvitaðir um þegar þú eru að innleiða endurkvæma virka, 1317 00:53:30,160 --> 00:53:31,940 ekki gleyma að fela í sér grunn tilfelli. 1318 00:53:31,940 --> 00:53:34,010 A grunn tilfelli er hvenær við enda. 1319 00:53:34,010 --> 00:53:38,740 Svo, til dæmis, ef við erum að erfðaskrá, Segja, Fibonacci endurkvæmt, 1320 00:53:38,740 --> 00:53:43,210 við viljum ganga úr skugga um að þegar við fáum á 0 eða fyrstu Fibonacci tala, 1321 00:53:43,210 --> 00:53:46,220 þessir tvær tölur hafa þessar tilvikum, vegna þess að þeir eru ekki háð 1322 00:53:46,220 --> 00:53:47,700 um það, sem kom áður. 1323 00:53:47,700 --> 00:53:48,990 Þeir hafa eigin gildum. 1324 00:53:48,990 --> 00:53:51,270 1325 00:53:51,270 --> 00:53:55,320 >> Sumir kostir til endurkvæmni, sem er a spurning sem við höfum séð á undanförnum Skyndipróf. 1326 00:53:55,320 --> 00:53:57,930 Þeir geta leitt til meira nákvæm, glæsilegur númer. 1327 00:53:57,930 --> 00:54:00,510 Og mikið af störfum, a einhver fjöldi af mismunandi reiknirit, 1328 00:54:00,510 --> 00:54:02,350 raun lána sig til endurkvæmni. 1329 00:54:02,350 --> 00:54:05,510 Skilgreining þeirra gæti verið endurkvæmt í sjálfu. 1330 00:54:05,510 --> 00:54:06,980 Svo er Fibonacci einn. 1331 00:54:06,980 --> 00:54:07,860 Factorial er einn. 1332 00:54:07,860 --> 00:54:10,480 Sameina tegund er one-- allt hlutir sem hægt er að leita á. 1333 00:54:10,480 --> 00:54:12,650 1334 00:54:12,650 --> 00:54:13,460 OK, einhverjar spurningar? 1335 00:54:13,460 --> 00:54:13,960 Já? 1336 00:54:13,960 --> 00:54:15,644 1337 00:54:15,644 --> 00:54:19,612 >> Nemandi: Er horn tilfelli svipað grunn tilfelli? 1338 00:54:19,612 --> 00:54:22,590 Eða er það einhver önnur konar [inaudible]? 1339 00:54:22,590 --> 00:54:25,170 >> HANNAH: Jú, þannig a horn tilfelli er any-- svo 1340 00:54:25,170 --> 00:54:27,580 er horn tilfelli það sama og grunn tilfelli? 1341 00:54:27,580 --> 00:54:32,825 A horn tilfelli er nokkuð sem þinn númerið gæti hegða smá öðruvísi. 1342 00:54:32,825 --> 00:54:34,450 1343 00:54:34,450 --> 00:54:38,610 Grunn tilfelli er tegund af tengdar, í að þeir séu eins og sérstökum tilvikum 1344 00:54:38,610 --> 00:54:40,240 að þú vilt líta á. 1345 00:54:40,240 --> 00:54:43,240 En hugmyndin um grunn tilfelli er að þú vilt endurkvæmt færni 1346 00:54:43,240 --> 00:54:44,870 að hætta á einhverjum tímapunkti. 1347 00:54:44,870 --> 00:54:46,490 Það getur ekki haldið að kalla sig að eilífu. 1348 00:54:46,490 --> 00:54:47,781 Það þarf að hætta á einhverjum tímapunkti. 1349 00:54:47,781 --> 00:54:49,340 1350 00:54:49,340 --> 00:54:53,460 >> Rob: Já, oft, grunn tilvikum þínum gæti verið dæmi um horn bækistöðvar. 1351 00:54:53,460 --> 00:54:55,876 >> HANNAH: Right, kaldur, nokkuð? 1352 00:54:55,876 --> 00:54:58,732 >> Nemandi: Gætirðu útskýrt byggir svolítið meira? 1353 00:54:58,732 --> 00:55:01,600 Ég er ekki alveg að skilja [Inaudible] stöð tilvikum. 1354 00:55:01,600 --> 00:55:02,676 >> HANNAH: Of stöð tilvikum? 1355 00:55:02,676 --> 00:55:03,140 >> Nemandi: Base tilvikum, já. 1356 00:55:03,140 --> 00:55:03,770 >> HANNAH: Oh já, viss. 1357 00:55:03,770 --> 00:55:04,270 Við skulum sjá. 1358 00:55:04,270 --> 00:55:05,480 Eigum við Kalksteinn hérna? 1359 00:55:05,480 --> 00:55:06,690 1360 00:55:06,690 --> 00:55:07,320 Já, við gerum okkur. 1361 00:55:07,320 --> 00:55:09,530 OK, svo mjög fljótt, ég reyna að skrifa nógu stór 1362 00:55:09,530 --> 00:55:11,320 svo þú getur séð á skjánum. 1363 00:55:11,320 --> 00:55:13,490 Við skulum tala um, í raun fljótt, Fibonacci. 1364 00:55:13,490 --> 00:55:15,550 Svo ég ætla að gefa þér Fibonacci röð. 1365 00:55:15,550 --> 00:55:17,090 Þú getur litið upp skilgreiningu. 1366 00:55:17,090 --> 00:55:26,050 >> Í meginatriðum, hver tala í röð er summan af tveimur fyrri tölum. 1367 00:55:26,050 --> 00:55:29,720 OK, þannig að leiðin sem ég bara lýst Fibonacci, 1368 00:55:29,720 --> 00:55:31,530 þú gætir heyrt endurkvæmni, ekki satt? 1369 00:55:31,530 --> 00:55:35,280 Þegar ég sagði hver tala er Summa tveggja fyrri tölur, 1370 00:55:35,280 --> 00:55:36,420 gætum sagt OK. 1371 00:55:36,420 --> 00:55:38,570 Vel, NTH Fibonacci number-- svo skulum 1372 00:55:38,570 --> 00:55:42,260 segja að við höfum þessa aðgerð kallast fib-- FÍB n 1373 00:55:42,260 --> 00:55:48,260 er að fara að vera jafn og FÍB af n mínus 1 plus-- hryggur, 1374 00:55:48,260 --> 00:55:51,240 við munum fara á í næstu línu yfir here-- FIB af n mínus 2. 1375 00:55:51,240 --> 00:55:52,790 1376 00:55:52,790 --> 00:55:56,790 >> OK, svo virkar þetta mikill ef þú ert að horfa á, til dæmis, sem núll, einn, 1377 00:55:56,790 --> 00:55:59,410 tveir, þrír, fjórir, fimmta Fibonacci númer 1378 00:55:59,410 --> 00:56:03,561 þar sem þú getur sagt að 5 er jafnt og 2 plús 3. 1379 00:56:03,561 --> 00:56:05,060 En hvað ef þú ert í upphafi? 1380 00:56:05,060 --> 00:56:07,184 Hvað ef þú ert bara hitting Þessar fyrstu tvö gildi? 1381 00:56:07,184 --> 00:56:08,470 1382 00:56:08,470 --> 00:56:11,330 >> Til að fá þetta 1, þú getur ekki segja bæta tveggja áður, 1383 00:56:11,330 --> 00:56:13,930 því þessi núll and-- ég veit ekki. 1384 00:56:13,930 --> 00:56:15,390 Svo á einhverjum tímapunkti þurfum við að hætta. 1385 00:56:15,390 --> 00:56:21,250 Á einhverjum tímapunkti þurfum við að segja að þetta tveir bara eigin skilgreiningar þeirra. 1386 00:56:21,250 --> 00:56:23,890 The 0 Fibonacci tala er 0. 1387 00:56:23,890 --> 00:56:26,115 Og fyrsta Fibonacci tala er 1. 1388 00:56:26,115 --> 00:56:34,120 >> Svo eins og ég gæti að kóða þetta, ég myndi segja ef n er minna en tveir, 1389 00:56:34,120 --> 00:56:35,130 þá bara fara aftur n. 1390 00:56:35,130 --> 00:56:36,494 Og það væri stöð mál mitt. 1391 00:56:36,494 --> 00:56:38,660 Það er hvernig ég veit að hætta með endurkvæma virka. 1392 00:56:38,660 --> 00:56:40,640 1393 00:56:40,640 --> 00:56:41,410 Er það ljóst? 1394 00:56:41,410 --> 00:56:41,940 Ógnvekjandi. 1395 00:56:41,940 --> 00:56:43,260 Nokkuð annað á endurkvæmni? 1396 00:56:43,260 --> 00:56:44,890 1397 00:56:44,890 --> 00:56:45,930 Beautiful. 1398 00:56:45,930 --> 00:56:48,750 >> Skulum fljótt tala um leita og raða hlaupa sinnum. 1399 00:56:48,750 --> 00:56:52,660 Og þá mun ég gefa Davin sumum tími til að tala um að erfðaskrá dæmi. 1400 00:56:52,660 --> 00:56:56,490 Svo hér eru helstu leit og tegund sem þú ættir að vita um. 1401 00:56:56,490 --> 00:56:59,500 Guarantee-- Ég get ekki ábyrgst, vegna þess að ég hef ekki séð quiz-- 1402 00:56:59,500 --> 00:57:01,940 en þetta kemur upp quiz eftir quiz eftir hætta. 1403 00:57:01,940 --> 00:57:04,050 Svo ákveðið að nota þetta graf. 1404 00:57:04,050 --> 00:57:05,682 Eins, að taka þetta töfluna. 1405 00:57:05,682 --> 00:57:06,890 Setjið það á svindlari lak. 1406 00:57:06,890 --> 00:57:07,931 Þú munt vera hamingjusöm manneskja. 1407 00:57:07,931 --> 00:57:09,010 1408 00:57:09,010 --> 00:57:12,590 >> Þetta segir okkur hlaupa sinnum hvers þessara flokka og leita reiknirit. 1409 00:57:12,590 --> 00:57:14,020 1410 00:57:14,020 --> 00:57:18,850 Svo línuleg leit er hægt að sjá hlaupa tími, og sama með tvöfaldur leit. 1411 00:57:18,850 --> 00:57:21,490 Fara yfir hvað þessir reiknirit gera, almenna hugmynd. 1412 00:57:21,490 --> 00:57:24,220 Horfðu á einhverjum sauðakóða, ef ekki sjálft. 1413 00:57:24,220 --> 00:57:25,610 1414 00:57:25,610 --> 00:57:30,380 >> Þú munt sjá að kúla raða hefur efri bundið í versta tilfelli af n veldi. 1415 00:57:30,380 --> 00:57:31,490 1416 00:57:31,490 --> 00:57:34,680 Svo ef array okkar var alveg afturábak áður en við vildum að raða það, 1417 00:57:34,680 --> 00:57:37,090 myndum við segja að það er fara að taka n í öðru veldi skrefum. 1418 00:57:37,090 --> 00:57:38,160 1419 00:57:38,160 --> 00:57:41,730 En í besta tilfelli, þannig að lægri mörk fyrir besta tilfelli 1420 00:57:41,730 --> 00:57:44,300 er að fara til að vera ef það er þegar fullkomlega raðað. 1421 00:57:44,300 --> 00:57:46,671 Þá er allt sem við þurfum að gera athuga að það er raðað. 1422 00:57:46,671 --> 00:57:47,921 Er einhver spurning hérna? 1423 00:57:47,921 --> 00:57:49,805 >> Nemandi: Hvenær myndi þú vilt nota svoleiðis? 1424 00:57:49,805 --> 00:57:50,747 Tegund. 1425 00:57:50,747 --> 00:57:52,160 Ég er bara forvitinn. 1426 00:57:52,160 --> 00:57:53,510 >> HANNAH: Hvenær viltu vilt nota val konar? 1427 00:57:53,510 --> 00:57:54,010 Þetta? 1428 00:57:54,010 --> 00:57:55,705 Sá sem er n veldi í báðum tilfellum? 1429 00:57:55,705 --> 00:57:56,860 >> Nemandi: [inaudible]. 1430 00:57:56,860 --> 00:57:58,151 >> HANNAH: Svo er það mjög mismunandi. 1431 00:57:58,151 --> 00:58:00,760 Ef þú ert ákveðin kröfur um forritinu, 1432 00:58:00,760 --> 00:58:04,887 eins hluti eins ef við sögðum bara innleiða search-- sorry-- 1433 00:58:04,887 --> 00:58:06,720 innleiða konar, þú munt væntanlega vilja fara 1434 00:58:06,720 --> 00:58:09,950 fyrir einn af þeim sem að hefur bestu mál á n, 1435 00:58:09,950 --> 00:58:12,410 eða lægri bundinn í besta tilfelli af n. 1436 00:58:12,410 --> 00:58:14,790 En það gæti verið ákveðna hluti eins og, segjum, 1437 00:58:14,790 --> 00:58:16,767 skiptasamningar eru virkilega dýr fyrir sumir ástæða. 1438 00:58:16,767 --> 00:58:18,850 Síðan sem þú vilt að gera kúla tagi, vegna þess að þú 1439 00:58:18,850 --> 00:58:20,641 að gera svo margar skiptasamninga, hlutir eins og þessi. 1440 00:58:20,641 --> 00:58:21,710 1441 00:58:21,710 --> 00:58:23,098 Allir other-- já? 1442 00:58:23,098 --> 00:58:25,488 >> Nemandi: Væri [inaudible] að segja að [inaudible]? 1443 00:58:25,488 --> 00:58:30,077 1444 00:58:30,077 --> 00:58:31,910 HANNAH: Það er eitt sem myndi segja þér 1445 00:58:31,910 --> 00:58:33,670 Ef þú ert að horfa á framkvæmd. 1446 00:58:33,670 --> 00:58:35,850 The vegur ÉG myndi reyndar hugsa um hvers vegna það er n 1447 00:58:35,850 --> 00:58:40,840 kvaðrat er að við verðum að keyra gegnum fylking okkar af lengd n, 1448 00:58:40,840 --> 00:58:42,765 hvert sinn sem gerir í mesta lagi, n skiptasamninga. 1449 00:58:42,765 --> 00:58:43,980 1450 00:58:43,980 --> 00:58:46,220 Og við verðum að gera þetta ferli n sinnum. 1451 00:58:46,220 --> 00:58:51,130 >> Svo þegar þú ert að gera í mesta lagi, n skiptasamninga og fyrir n rennur gegnum fylking, 1452 00:58:51,130 --> 00:58:52,380 það er að fara að vera n veldi. 1453 00:58:52,380 --> 00:58:55,480 En já, þetta kemur í ljós gegnum þetta tvöfalt fyrir lykkju, 1454 00:58:55,480 --> 00:58:59,428 og spurningin asked-- eða orpið fyrir lykkju, á ég að segja. 1455 00:58:59,428 --> 00:59:00,890 OK? 1456 00:59:00,890 --> 00:59:03,375 >> Og þá Mergesort, sem er the festa tegund við nú, 1457 00:59:03,375 --> 00:59:07,560 eða að við höfum fjallað í CS50, vita að helstu reiknirit er 1458 00:59:07,560 --> 00:59:10,150 þessi hugmynd um að brjóta í Raðað stykki og síðan 1459 00:59:10,150 --> 00:59:11,980 sameina saman þessar raðað bita. 1460 00:59:11,980 --> 00:59:14,170 Og vilja fá okkur log n log n. 1461 00:59:14,170 --> 00:59:17,110 Einhverjar spurningar um leit og konar áður en ég að gefa það? 1462 00:59:17,110 --> 00:59:19,840 1463 00:59:19,840 --> 00:59:21,040 Við skulum sjá. 1464 00:59:21,040 --> 00:59:21,800 >> Oh, tengd listum. 1465 00:59:21,800 --> 00:59:23,210 Sorry, ég hef eitt atriði. 1466 00:59:23,210 --> 00:59:25,000 OK, ógnvekjandi, tengd listum. 1467 00:59:25,000 --> 00:59:27,900 Vandamál með fylki, þeir hafa fasta stærð. 1468 00:59:27,900 --> 00:59:30,634 Svo ef þú veist ekki hversu stór inntak þitt er að fara að vera, 1469 00:59:30,634 --> 00:59:32,050 þú vilt ekki að búa til array. 1470 00:59:32,050 --> 00:59:34,080 Vegna þess að ef við búa til array sem er of lítill, 1471 00:59:34,080 --> 00:59:35,930 við gætum keyrt í biðminni flæða. 1472 00:59:35,930 --> 00:59:38,890 >> Þannig að í stað, getum við gert eitthvað með stiklum listum, sem 1473 00:59:38,890 --> 00:59:44,280 gerir okkur kleift að hafa breytilega stór gögn uppbygging 1474 00:59:44,280 --> 00:59:48,970 sem mun gera okkur kleift að geyma sveigjanlegri magn gagna. 1475 00:59:48,970 --> 00:59:54,030 Svo innan hvers hnút í okkar tengd lista, höfum við tvö stykki. 1476 00:59:54,030 --> 00:59:56,820 Við höfum í raun gildi sem það geymir. 1477 00:59:56,820 --> 00:59:59,530 Svo það er bara hlutur sem þú vildi sjá í fylkinu, til dæmis. 1478 00:59:59,530 --> 01:00:04,600 Og þá erum við að halda líka utan um a bendi á næsta hlutur í minni. 1479 01:00:04,600 --> 01:00:06,430 >> Ólíkt fylki sem við vitum eru allir að fara 1480 01:00:06,430 --> 01:00:10,890 að be-- array þættir eru öll eitt eftir annað í memory-- tengd 1481 01:00:10,890 --> 01:00:13,300 listar gætu verið hvar sem er í minni. 1482 01:00:13,300 --> 01:00:14,590 Þeir eru handahófskennt staði. 1483 01:00:14,590 --> 01:00:16,410 Þannig að ef við værum að raunverulega fara finna þá, við 1484 01:00:16,410 --> 01:00:19,770 þurfa að halda utan um næstur hlutur í listanum okkar. 1485 01:00:19,770 --> 01:00:22,840 >> Og þá í því skyni að vita hvar þessi listi í heild er, 1486 01:00:22,840 --> 01:00:26,276 allt sem við þurfum að halda utan um er Fyrsta þáttur í tengda listanum okkar. 1487 01:00:26,276 --> 01:00:27,900 Og það verður að leyfa okkur að fylgja í gegnum. 1488 01:00:27,900 --> 01:00:31,020 1489 01:00:31,020 --> 01:00:33,070 >> Svo er þetta hvernig þú gætir skilgreina ham. 1490 01:00:33,070 --> 01:00:36,160 Þetta er frábært tækifæri til að nýta sér structs. 1491 01:00:36,160 --> 01:00:39,660 Þar sem þú hefur þessa hugmynd, vel, fyrir tiltekið hnút, ég tvö stykki. 1492 01:00:39,660 --> 01:00:41,770 Ég hef í raun gildi sjálft. 1493 01:00:41,770 --> 01:00:45,610 Og þá hef ég bendi á Næsta þáttur í tengda listanum. 1494 01:00:45,610 --> 01:00:49,150 Svo þú sérð, höfum við heiltölu n, sem er að fara til vera the raunverulegur gildi, 1495 01:00:49,150 --> 01:00:53,150 og þá bendi hnút, kallaði næst. 1496 01:00:53,150 --> 01:00:56,431 Svo það er að fara til vera the næstur þáttur í tengda listanum okkar. 1497 01:00:56,431 --> 01:00:56,972 Nemandi: Já? 1498 01:00:56,972 --> 01:01:01,920 Þú þarft að tilgreina að stjarnan er eins strúktúrinn? 1499 01:01:01,920 --> 01:01:05,620 >> HANNAH: Já, svo þar sem þetta er næstum eins konar, 1500 01:01:05,620 --> 01:01:07,980 það virðast eins og a endurkvæma skilgreiningu í að við 1501 01:01:07,980 --> 01:01:12,080 þarf að vita hvað hnúturinn inni að finna hnút. 1502 01:01:12,080 --> 01:01:14,450 Þar sem það er í raun ekki vita hvað hnúturinn er alveg 1503 01:01:14,450 --> 01:01:17,283 þar til við fá til the endir af this-- og eftir þetta sem við getum bara kalla það 1504 01:01:17,283 --> 01:01:21,935 a node-- inni þessa skilgreiningu, við þurfum að kalla það struct hnút. 1505 01:01:21,935 --> 01:01:22,560 Frábær spurning. 1506 01:01:22,560 --> 01:01:23,580 1507 01:01:23,580 --> 01:01:25,214 Nokkuð fleira? 1508 01:01:25,214 --> 01:01:26,198 Já? 1509 01:01:26,198 --> 01:01:29,150 >> Nemandi: Hvers vegna eigum við að segja hnút tvisvar? 1510 01:01:29,150 --> 01:01:33,578 Því þegar við vorum í [inaudible] við þurftum bara að gera það í semíkommu, 1511 01:01:33,578 --> 01:01:37,352 en nú verðum við að komast að því að struct hnút? [Inaudible]. 1512 01:01:37,352 --> 01:01:39,060 HANNAH: Svo ég tel í síðasta dæmi, 1513 01:01:39,060 --> 01:01:42,110 við vorum bara að búa hvenær sem þú vildu nota nemandi eftir það, þú 1514 01:01:42,110 --> 01:01:46,430 þurfti að nota strúktúr node-- Ég er sorry-- struct nemanda. 1515 01:01:46,430 --> 01:01:51,575 Þetta gerði okkur að, eftir því, bara nota hnút bæta nýja gerð, í meginatriðum. 1516 01:01:51,575 --> 01:01:53,324 1517 01:01:53,324 --> 01:01:53,990 Að skynsamleg? 1518 01:01:53,990 --> 01:01:54,984 1519 01:01:54,984 --> 01:01:57,150 Þannig að við myndum þurfa að fara til baka og líta á kóðann áður. 1520 01:01:57,150 --> 01:01:59,025 En ég myndi giska á að vér höfum ekki hagnýtt typedef. 1521 01:01:59,025 --> 01:02:02,050 Og við spurði, Hvers vegna þurfum við að nota typedef? 1522 01:02:02,050 --> 01:02:05,540 Typedef gerir okkur kleift að forðast orð strúktúr í upphafi. 1523 01:02:05,540 --> 01:02:06,221 Já? 1524 01:02:06,221 --> 01:02:08,095 Nemandi: Hvers konar spurningar myndi koma upp 1525 01:02:08,095 --> 01:02:10,400 hvað í skilmálum hnúður og tengd listum? 1526 01:02:10,400 --> 01:02:15,110 >> HANNAH: Svo eitt er að við gætum sagt hvernig gætir þú leitað í tengda listanum? 1527 01:02:15,110 --> 01:02:16,930 OK, því það er a svolítið flóknara 1528 01:02:16,930 --> 01:02:18,520 en ef við erum að leita gegnum fjölda. 1529 01:02:18,520 --> 01:02:21,472 Við getum bara líta á frumefni núll, þáttur eitt, þáttur tvö, bla, bla, 1530 01:02:21,472 --> 01:02:21,972 bla. 1531 01:02:21,972 --> 01:02:22,629 1532 01:02:22,629 --> 01:02:24,420 Ef við viljum leita gegnum tengda listanum, 1533 01:02:24,420 --> 01:02:27,229 við myndum í raun að fylgja þetta litla völundarhús af ábendingum. 1534 01:02:27,229 --> 01:02:29,270 Svo skulum raunverulega fara í gegnum þetta mjög fljótt. 1535 01:02:29,270 --> 01:02:30,460 1536 01:02:30,460 --> 01:02:32,860 Hvað við gætum gert í panta to-- skulum segja að við séum 1537 01:02:32,860 --> 01:02:35,430 langar bara iterate gegnum algjörlega tengda listanum okkar. 1538 01:02:35,430 --> 01:02:37,450 Við myndum byrja á höfðinu. 1539 01:02:37,450 --> 01:02:39,890 Og þá í því skyni að fara á næsta frumefni, 1540 01:02:39,890 --> 01:02:43,680 staðinn af réttlátur hækka um einn eins og við gæti í að fara í gegnum fjölda, 1541 01:02:43,680 --> 01:02:45,720 við erum í raun að fara til fylgja næsta músina, 1542 01:02:45,720 --> 01:02:48,360 svo við getum fundið þar í minni næsta þátt er. 1543 01:02:48,360 --> 01:02:49,357 1544 01:02:49,357 --> 01:02:51,690 Svo ég veit að það er ekki nóg að taka allt þetta í núna, 1545 01:02:51,690 --> 01:02:52,650 en þú munt hafa þessi skyggnur. 1546 01:02:52,650 --> 01:02:54,730 Svo þú getur farið í gegnum þetta svolítið hægar. 1547 01:02:54,730 --> 01:02:56,890 En í raun, það sem við viljum að gera er að fylgja þessum ábendingum 1548 01:02:56,890 --> 01:02:58,550 gegnum allt ferlið við að tengda listanum. 1549 01:02:58,550 --> 01:03:00,258 Þannig að þetta er spurning þú gætir verið að spyrja. 1550 01:03:00,258 --> 01:03:01,920 1551 01:03:01,920 --> 01:03:03,980 >> Eitthvað til tilkynningar með innsetning, segjum 1552 01:03:03,980 --> 01:03:07,925 við vildum að setja nýtt frumefni framan á tengda listanum okkar. 1553 01:03:07,925 --> 01:03:10,800 Við verðum að vera mjög varkár um röð þar sem við 1554 01:03:10,800 --> 01:03:12,760 færður ábendingum. 1555 01:03:12,760 --> 01:03:15,230 Vegna skulum segja að ég sagði bara OK. 1556 01:03:15,230 --> 01:03:18,930 Gera höfuð benda til þessa nýja frumefni. 1557 01:03:18,930 --> 01:03:23,550 Bara gera það benda til 1 Þá, þá erum við meginatriðum misst restina af listanum okkar, 1558 01:03:23,550 --> 01:03:25,860 vegna þess að ég man ekki hvar 2 líf. 1559 01:03:25,860 --> 01:03:27,730 >> Þannig að við verðum að gera í a mjög sérstök röð. 1560 01:03:27,730 --> 01:03:31,500 Fyrst gerum við nýja þáttur benda til höfuðs. 1561 01:03:31,500 --> 01:03:33,970 Og þá erum við að gera höfuðið benda á nýja frumefni. 1562 01:03:33,970 --> 01:03:38,455 Svo skulum sjá hvað það lítur út eins og með arrows-- bara svona. 1563 01:03:38,455 --> 01:03:42,080 Svo þú hefur fyrst nýja þáttur benda á gamla höfuð. 1564 01:03:42,080 --> 01:03:45,990 Og nú höfum við höfuðið benda á nýja fyrsta frumefni. 1565 01:03:45,990 --> 01:03:47,187 Einhverjar spurningar með þetta? 1566 01:03:47,187 --> 01:03:49,870 1567 01:03:49,870 --> 01:03:54,350 >> OK hér er nokkur númer aftur, eitthvað að líta á svolítið síðar. 1568 01:03:54,350 --> 01:03:58,630 Og nú mun ég snúa það yfir til Davin fyrir gdb og lítill hluti af æfa 1569 01:03:58,630 --> 01:03:59,480 kóðun á pappír. 1570 01:03:59,480 --> 01:04:00,597 1571 01:04:00,597 --> 01:04:01,096 Beautiful. 1572 01:04:01,096 --> 01:04:01,810 >> Rob: Og Rob. 1573 01:04:01,810 --> 01:04:02,360 >> HANNAH: Oh, Davin og Rob. 1574 01:04:02,360 --> 01:04:03,055 Fyrirgefðu. 1575 01:04:03,055 --> 01:04:03,596 >> Nemandi: Woo! 1576 01:04:03,596 --> 01:04:08,140 1577 01:04:08,140 --> 01:04:09,110 >> Ræna: Takk. 1578 01:04:09,110 --> 01:04:11,209 >> DAVIN: Viltu segja allt raunverulegur fljótur? 1579 01:04:11,209 --> 01:04:11,875 Rob: Já, já. 1580 01:04:11,875 --> 01:04:12,845 DAVIN: Þegar ég er upp. 1581 01:04:12,845 --> 01:04:16,240 1582 01:04:16,240 --> 01:04:19,520 OK, en Rob setur hljóðnema á, svo er það GDB? 1583 01:04:19,520 --> 01:04:23,945 Allir ættu að hafa séð GDB í flokki og einnig á skrifstofutíma. 1584 01:04:23,945 --> 01:04:25,070 Og þú ættir að vera að nota það. 1585 01:04:25,070 --> 01:04:25,750 Svo er það GDB? 1586 01:04:25,750 --> 01:04:28,030 1587 01:04:28,030 --> 01:04:28,850 Hver? 1588 01:04:28,850 --> 01:04:29,540 >> Nemandi: Það er a aflúsara. 1589 01:04:29,540 --> 01:04:30,250 >> DAVIN: Það er a aflúsara. 1590 01:04:30,250 --> 01:04:31,624 Og hvað þýðir það að leyfa þér að gera? 1591 01:04:31,624 --> 01:04:33,064 Eins og, hvers vegna eigum við eins GDB? 1592 01:04:33,064 --> 01:04:34,480 Nemandi: að hægja á áætluninni. 1593 01:04:34,480 --> 01:04:36,740 DAVIN: Einmitt, svo þú getur gengið gegnum það eins og manneskja hraða. 1594 01:04:36,740 --> 01:04:38,490 Og svo hvað eru sumir skipanir sem þú getur gert? 1595 01:04:38,490 --> 01:04:40,407 Jæja, brot er sennilega uppáhalds stjórn þinni. 1596 01:04:40,407 --> 01:04:43,240 Vegna þess að það gerir þér kleift að brjóta program og í raun ganga í gegnum það 1597 01:04:43,240 --> 01:04:44,280 línu með línu. 1598 01:04:44,280 --> 01:04:46,500 >> Run leyfir þér að keyra það. 1599 01:04:46,500 --> 01:04:48,210 Next, eins stepping í gegnum. 1600 01:04:48,210 --> 01:04:49,820 Hvað er á milli næstu og skref? 1601 01:04:49,820 --> 01:04:52,190 1602 01:04:52,190 --> 01:04:53,190 Bíddu, segja að upphátt. 1603 01:04:53,190 --> 01:04:54,060 Það var rétt. 1604 01:04:54,060 --> 01:04:55,280 >> Nemandi: [inaudible]. 1605 01:04:55,280 --> 01:04:56,190 >> DAVIN: Já, ógnvekjandi. 1606 01:04:56,190 --> 01:04:59,210 Svo eins og, næsta og skref, ef you're-- segjum að þú ert með virka þú 1607 01:04:59,210 --> 01:04:59,950 skilgreina. 1608 01:04:59,950 --> 01:05:03,350 Skulum segja sumir í meginvirkni þínu, og þú ert bara hitting næsta, næsta, 1609 01:05:03,350 --> 01:05:03,850 næst. 1610 01:05:03,850 --> 01:05:05,910 Þú ert reyndar að fara að framkvæma að virka, 1611 01:05:05,910 --> 01:05:07,285 en þú ert að fara að stökkva yfir það. 1612 01:05:07,285 --> 01:05:09,711 Ef þú högg skref, eða s eða hvað, þú ert 1613 01:05:09,711 --> 01:05:11,460 fara til raunverulega hoppa inn að virka, 1614 01:05:11,460 --> 01:05:14,110 og þá er hægt að högg næst að sjá mismunandi símtöl 1615 01:05:14,110 --> 01:05:16,170 inni viðkomandi virka. 1616 01:05:16,170 --> 01:05:16,670 Já? 1617 01:05:16,670 --> 01:05:18,670 >> Nemandi: Er there a vegur að hoppa, eins, aftur út? 1618 01:05:18,670 --> 01:05:20,750 DAVIN: Finish, já, ljúka með stökkva þér út. 1619 01:05:20,750 --> 01:05:22,570 Svo það er að fara að klára það virka, og þá þú ert 1620 01:05:22,570 --> 01:05:24,153 að fara að vera aftur í helstu, td. 1621 01:05:24,153 --> 01:05:25,250 1622 01:05:25,250 --> 01:05:27,370 Print prentar það út einu sinni. 1623 01:05:27,370 --> 01:05:29,381 Eitthvað sem ég nota alltaf er sýna. 1624 01:05:29,381 --> 01:05:31,880 Sýna mun prenta það út stöðugt um heild 1625 01:05:31,880 --> 01:05:32,470 af forritinu. 1626 01:05:32,470 --> 01:05:33,810 >> Til dæmis, ef þú ert í for lykkju, og þú 1627 01:05:33,810 --> 01:05:37,018 langar að sjá hvernig eitthvað er að breytast, og þú vilt ekki að, eins og, stöðugt 1628 01:05:37,018 --> 01:05:38,940 vera að gera eins og að prenta út, prenta, prenta, sýna 1629 01:05:38,940 --> 01:05:43,230 mun birta þá breytu stöðugt, í hvert skipti sem þú högg Next. 1630 01:05:43,230 --> 01:05:44,310 Og halda áfram. 1631 01:05:44,310 --> 01:05:45,905 Svo GBD, það er GDB. 1632 01:05:45,905 --> 01:05:47,160 1633 01:05:47,160 --> 01:05:49,180 >> Nemandi: Hvað er einn hvar þú [inaudible]? 1634 01:05:49,180 --> 01:05:50,150 1635 01:05:50,150 --> 01:05:50,900 DAVIN: Hvað er það? 1636 01:05:50,900 --> 01:05:52,310 1637 01:05:52,310 --> 01:05:54,390 >> Nemandi: Hvað er the-- staðbundin breytum. 1638 01:05:54,390 --> 01:05:55,364 1639 01:05:55,364 --> 01:05:57,780 Rob: Það er eitthvað í raun eins heimamenn eða eitthvað. 1640 01:05:57,780 --> 01:05:58,140 I can't-- 1641 01:05:58,140 --> 01:05:59,930 >> DAVIN: Það gæti verið eitthvað svoleiðis, já. 1642 01:05:59,930 --> 01:06:00,830 >> HANNAH: Í heimamenn? 1643 01:06:00,830 --> 01:06:01,510 >> DAVIN: Það er hann. 1644 01:06:01,510 --> 01:06:02,134 Það er eitt. 1645 01:06:02,134 --> 01:06:03,040 Ræna: Beautiful. 1646 01:06:03,040 --> 01:06:04,030 >> DAVIN: Já. 1647 01:06:04,030 --> 01:06:06,010 >> Nemandi: Hvað gerir áfram gera? 1648 01:06:06,010 --> 01:06:08,010 >> DAVIN: Það continues-- svo það er bara fara að halda áfram áætlunum þínum. 1649 01:06:08,010 --> 01:06:09,843 Svo ef þú brýtur og högg halda áfram, það er að fara 1650 01:06:09,843 --> 01:06:13,119 bara keyrt þessi forrit þar það niðurstaða sem hlé aftur. 1651 01:06:13,119 --> 01:06:14,910 Svo til dæmis, ef þú braut í aðgerð, 1652 01:06:14,910 --> 01:06:16,720 og þú ert að fara að gera eins og fyrir lykkja eða eitthvað svoleiðis, 1653 01:06:16,720 --> 01:06:19,869 og þú högg halda áfram, það er að fara til halda áfram og fara aftur til að brjóta. 1654 01:06:19,869 --> 01:06:22,660 Eða það er ekkert lát, það er að fara að halda áfram og klára program. 1655 01:06:22,660 --> 01:06:25,000 >> Rob: Svo bara eins keyra hættir á fyrstu mörk 1656 01:06:25,000 --> 01:06:27,010 þú högg, ef þér þá högg áfram, það verður að halda 1657 01:06:27,010 --> 01:06:28,070 fara fyrr en það er næsta Breakpoint. 1658 01:06:28,070 --> 01:06:30,111 Og halda síðan áfram mun fara í næstu mörk. 1659 01:06:30,111 --> 01:06:31,264 1660 01:06:31,264 --> 01:06:32,680 DAVIN: Allar aðrar spurningar um gdb? 1661 01:06:32,680 --> 01:06:33,577 1662 01:06:33,577 --> 01:06:35,410 Þannig að ég held að í fortíðinni, Við höfum beðið þér hvað 1663 01:06:35,410 --> 01:06:37,690 GDB er og gefa dæmi um nokkur atriði sem þú 1664 01:06:37,690 --> 01:06:40,770 getur gert með GDB, svo alvöru einfalt, en já. 1665 01:06:40,770 --> 01:06:42,280 Þar sem þú ferð. 1666 01:06:42,280 --> 01:06:43,250 Og hnúður? 1667 01:06:43,250 --> 01:06:49,571 >> Rob: Já, svo sem átt var það? 1668 01:06:49,571 --> 01:06:50,851 1669 01:06:50,851 --> 01:06:51,726 Nemandi: Það var það. 1670 01:06:51,726 --> 01:06:52,160 DAVIN: Bíddu. 1671 01:06:52,160 --> 01:06:52,270 Rob: Þessi strákur? 1672 01:06:52,270 --> 01:06:52,936 DAVIN: Það eitt. 1673 01:06:52,936 --> 01:06:54,660 Rob: Þessi strákur, ó, ég vissi ekki. 1674 01:06:54,660 --> 01:06:56,940 Þannig að við vorum ekki ljóst á hvað the-- ég ekki 1675 01:06:56,940 --> 01:06:58,680 vita hver það was-- en spurningin. 1676 01:06:58,680 --> 01:07:01,180 Við vitum ekki nákvæmlega hvað þú voru að biðja um það, svo bara 1677 01:07:01,180 --> 01:07:04,800 að skýra eitthvað. 1678 01:07:04,800 --> 01:07:07,750 Svo fyrst, eins og ég sagði áður, typedef þú ert alltaf að nota bara 1679 01:07:07,750 --> 01:07:09,305 búa gælunafn fyrir gerð. 1680 01:07:09,305 --> 01:07:13,420 Svo hérna, gælunafn sem við erum að búa til er fyrir þessa tegund struct hnút. 1681 01:07:13,420 --> 01:07:18,070 >> Svo fyrst, hunsa þetta hnútur í typedef, þannig að þetta struct hnút hrokkið 1682 01:07:18,070 --> 01:07:21,060 Brace niður að næsta hrokkið Brace er struct hnút tegund. 1683 01:07:21,060 --> 01:07:23,470 Og við þurfum að þeim hnút þar upp vegna þess að við 1684 01:07:23,470 --> 01:07:25,190 þarf að vísa hnút í hér. 1685 01:07:25,190 --> 01:07:29,380 Svo með þessa tegund af endurkvæma strúktúrinn, þú þarft að gefa þetta struct nafni, 1686 01:07:29,380 --> 01:07:31,340 eða annað sem þú getur ekki segja struct hnút í hér. 1687 01:07:31,340 --> 01:07:33,340 En áður með nemanda þegar við vorum slegin, að ég held, 1688 01:07:33,340 --> 01:07:35,423 við fengum ekki að segja nemandi þar upp vegna þess að við 1689 01:07:35,423 --> 01:07:40,370 þurfti ekki að segja strúktúr nemandi inni í strúktúr sig. 1690 01:07:40,370 --> 01:07:43,730 Svo er það endurkvæma sem neyðir okkur að segja hnút þar. 1691 01:07:43,730 --> 01:07:46,610 >> Þessi hnútur er bara nafn sem við erum gefa hnút fyrir typedef. 1692 01:07:46,610 --> 01:07:48,520 Svo þessi hnútur er ekki það sama og hnút. 1693 01:07:48,520 --> 01:07:51,567 En þetta struct hnút er sama og struct hnút. 1694 01:07:51,567 --> 01:07:54,150 DAVIN: Svo þegar þú hringir, eins, hnút í meginvirkni þínu, 1695 01:07:54,150 --> 01:07:55,350 þú ert ekki að fara að hafa að segja struct hnút. 1696 01:07:55,350 --> 01:07:58,360 Þú getur bara sagt hnút, því hnútur er different-- er í grundvallaratriðum 1697 01:07:58,360 --> 01:07:59,440 þú ert að segja, OK. 1698 01:07:59,440 --> 01:08:01,490 Í stað þess að þurfa að hringja struct hnút í númerið mitt, 1699 01:08:01,490 --> 01:08:04,050 Ég vil bara að endurnefna það eins hnút til að gera það auðveldara. 1700 01:08:04,050 --> 01:08:06,800 >> Rob: Ef þú alltaf nota typedef, þá er þetta 1701 01:08:06,800 --> 01:08:11,240 er eini staðurinn sem þú ert að fara að hafa að lýsa yfir breytu með struct hnút 1702 01:08:11,240 --> 01:08:11,740 star, já. 1703 01:08:11,740 --> 01:08:14,650 1704 01:08:14,650 --> 01:08:20,801 >> DAVIN: OK, þannig að seinni hluti er erfitt að kenna because-- 1705 01:08:20,801 --> 01:08:22,185 1706 01:08:22,185 --> 01:08:22,685 Rob: Hvað? 1707 01:08:22,685 --> 01:08:24,098 1708 01:08:24,098 --> 01:08:25,649 >> DAVIN: Vegna þess að það er kóðun á pappír. 1709 01:08:25,649 --> 01:08:28,689 Svo á hverju ári sem við höfum kóðann á pappír spurningar. 1710 01:08:28,689 --> 01:08:32,510 Þannig að ég held að á síðasta ári, 12 af 80 stig voru númer á pappír. 1711 01:08:32,510 --> 01:08:36,720 Ári áður að 10 af 80, árið áður, 20 af 100, 1712 01:08:36,720 --> 01:08:37,939 svo alveg nokkrar af þessum. 1713 01:08:37,939 --> 01:08:40,970 Svo þú ert að fara að þurfa að vera fær um að kóða upp þessar aðgerðir af hendi. 1714 01:08:40,970 --> 01:08:45,340 >> Svo ég mynstrağur við gætum farið í gegnum a par af þeim og sjá hvernig fólk gerir, 1715 01:08:45,340 --> 01:08:47,340 konar ganga í gegnum þá hægt með fólk. 1716 01:08:47,340 --> 01:08:48,790 1717 01:08:48,790 --> 01:08:52,420 Svo almennt, strlen og atoi hafa verið mjög vinsæl. 1718 01:08:52,420 --> 01:08:55,670 Á síðasta ári, ég held að við höfðum GetPositiveInt og RandomInt. 1719 01:08:55,670 --> 01:08:58,591 En Pow, svo máttur, einnig jákvæð líka. 1720 01:08:58,591 --> 01:09:00,965 Skulum fara bara í gegnum kannski einn eða tveir af þessum saman. 1721 01:09:00,965 --> 01:09:02,510 1722 01:09:02,510 --> 01:09:03,729 Hvað fólk vill sjá? 1723 01:09:03,729 --> 01:09:05,037 1724 01:09:05,037 --> 01:09:05,767 >> Nemandi: Atoi. 1725 01:09:05,767 --> 01:09:06,350 Nemandi: Já. 1726 01:09:06,350 --> 01:09:06,859 DAVIN: Atoi? 1727 01:09:06,859 --> 01:09:07,800 Nemandi: [inaudible]. 1728 01:09:07,800 --> 01:09:09,682 DAVIN: OK, ég ætla að fara að gera það á borðinu. 1729 01:09:09,682 --> 01:09:11,765 Gera þú hafa a val ef ég gera það hér eða þar? 1730 01:09:11,765 --> 01:09:13,580 1731 01:09:13,580 --> 01:09:14,550 Þar Gabe segir þar. 1732 01:09:14,550 --> 01:09:16,729 1733 01:09:16,729 --> 01:09:19,580 >> Rob: Og þetta er almenn hugsanir á þessum erfðaskrá spurningum. 1734 01:09:19,580 --> 01:09:21,705 Reyndu að skrifa eitthvað. 1735 01:09:21,705 --> 01:09:22,580 Ekki skilja það eftir autt. 1736 01:09:22,580 --> 01:09:23,080 >> DAVIN: Já. 1737 01:09:23,080 --> 01:09:25,520 Rob: Ef þú getur fengið aftur gerð rétt, 1738 01:09:25,520 --> 01:09:27,090 eða kannski við gæti gefið það til þú, en ef þú getur, eins og, 1739 01:09:27,090 --> 01:09:30,256 skrifa almenna virka undirskrift, Ef þú getur fengið grunn tilvikum rétt, 1740 01:09:30,256 --> 01:09:32,244 eða horn tilvikum, eða muna athuga for null, 1741 01:09:32,244 --> 01:09:34,160 eins lengi og þú hafa sumir hlutir, þá kannski við 1742 01:09:34,160 --> 01:09:35,880 getur gefið þér nokkrar bendir fyrir vandamál. 1743 01:09:35,880 --> 01:09:36,810 Ekki bara láta það eftir autt. 1744 01:09:36,810 --> 01:09:38,560 >> DAVIN: Já, og ef þú eru bara alveg 1745 01:09:38,560 --> 01:09:40,580 stumped á hvernig á að raun snúa inn kóða. 1746 01:09:40,580 --> 01:09:43,140 Ef þú skrifar sauðakóða, það er nokkuð gott líka. 1747 01:09:43,140 --> 01:09:46,390 Svo það er eins og, það er sex lið spurning, og þú skrifar rétta sauðakóða, 1748 01:09:46,390 --> 01:09:47,858 þú munt fá að minnsta kosti tveimur stöðum. 1749 01:09:47,858 --> 01:09:49,149 Svo er ekki bara láta þá auður. 1750 01:09:49,149 --> 01:09:50,279 Reyndu að setja eitthvað. 1751 01:09:50,279 --> 01:09:51,770 >> Rob: Það þarf að vera rétt sauðakóða, þó. 1752 01:09:51,770 --> 01:09:52,270 >> DAVIN: Já. 1753 01:09:52,270 --> 01:09:55,381 Rob: Þannig að við erum almennt minna vægari með galla í sauðakóða. 1754 01:09:55,381 --> 01:09:57,130 DAVIN: OK, svo þú krakkar vildi sjá atoi. 1755 01:09:57,130 --> 01:09:58,480 1756 01:09:58,480 --> 01:10:02,820 OK, svo bara really-- svo hvað þú vilt gera 1757 01:10:02,820 --> 01:10:04,969 er þú ert að fara til vera gefið einhvers konar tölu. 1758 01:10:04,969 --> 01:10:07,010 En þetta númer er ekki fara að vera int, ekki satt? 1759 01:10:07,010 --> 01:10:08,574 Hvað er það að fara að vera? 1760 01:10:08,574 --> 01:10:09,480 >> Nemandi: [inaudible]. 1761 01:10:09,480 --> 01:10:11,146 >> DAVIN: Það er að fara til vera a band, ekki satt? 1762 01:10:11,146 --> 01:10:13,160 Svo ef þú varst gefið a string-- skulum say-- 1763 01:10:13,160 --> 01:10:15,228 >> Rob: Ætti ég að draga upp ritstjóri? 1764 01:10:15,228 --> 01:10:16,200 Ég get draga up-- 1765 01:10:16,200 --> 01:10:16,800 >> DAVIN: Oh, þú vilt gera það on-- 1766 01:10:16,800 --> 01:10:17,420 >> Rob: Vilt þú kýst borð? 1767 01:10:17,420 --> 01:10:18,800 >> DAVIN: Hvað viltu gera? 1768 01:10:18,800 --> 01:10:19,900 Ég meina, þú vilt gera það handvirkt? 1769 01:10:19,900 --> 01:10:21,460 Eða þú vilt gera það með tölvu? 1770 01:10:21,460 --> 01:10:22,180 >> Rob: Gerðu það af hendi. 1771 01:10:22,180 --> 01:10:22,805 >> DAVIN: [Hlær] 1772 01:10:22,805 --> 01:10:23,950 Rob: Gerðu það af hendi. 1773 01:10:23,950 --> 01:10:25,469 >> DAVIN: OK, svo það er að fara til vera atoi. 1774 01:10:25,469 --> 01:10:27,760 Svo er það it-- ég meina, við munum líklega gefa þér þetta. 1775 01:10:27,760 --> 01:10:29,106 En hvað er það að fara að fara aftur? 1776 01:10:29,106 --> 01:10:29,452 >> Nemandi: Int. 1777 01:10:29,452 --> 01:10:31,076 >> DAVIN: Það er að fara að skila int, ekki satt? 1778 01:10:31,076 --> 01:10:33,772 So-- Ég vil ekki að gera það þar. 1779 01:10:33,772 --> 01:10:34,510 Ég skal gera það hér. 1780 01:10:34,510 --> 01:10:36,596 >> Rob: Þú getur rífa það niður og þá ýta upp á það. 1781 01:10:36,596 --> 01:10:38,500 1782 01:10:38,500 --> 01:10:40,385 >> DAVIN: já. 1783 01:10:40,385 --> 01:10:43,880 [Hlær] Game breyting. 1784 01:10:43,880 --> 01:10:50,950 OK, þannig að það er að fara að vera int atoi, og hvað er það að fara að taka? 1785 01:10:50,950 --> 01:10:52,180 1786 01:10:52,180 --> 01:10:57,780 A bleikju stjörnu, svo bara band, stjörnu s, eins og þessi. 1787 01:10:57,780 --> 01:10:59,240 >> Rob: Nice stjörnu, ágætur. 1788 01:10:59,240 --> 01:11:02,582 1789 01:11:02,582 --> 01:11:04,040 DAVIN: Þetta gæti ekki vera þar, OK. 1790 01:11:04,040 --> 01:11:04,540 Ræna: Já. 1791 01:11:04,540 --> 01:11:06,670 DAVIN: OK, þannig að fyrstu hlutur sem þú vilt do-- I 1792 01:11:06,670 --> 01:11:08,490 veit ekki hvort einhver leit á starfshætti solutions-- 1793 01:11:08,490 --> 01:11:10,150 en hvað þú ert að fara til að vilja gera er að þú ert 1794 01:11:10,150 --> 01:11:11,570 fara til að vilja hafa lykkju, vegna þess að þú ert 1795 01:11:11,570 --> 01:11:14,100 fara að vilja til raunverulega skref í gegnum þetta band. 1796 01:11:14,100 --> 01:11:18,880 Svo helpful-- Svo skulum segja við erum að fara til a for lykkju, 1797 01:11:18,880 --> 01:11:22,270 og við erum að fara að stíga í gegnum hver þáttur af the band. 1798 01:11:22,270 --> 01:11:23,470 Hversu lengi er það? 1799 01:11:23,470 --> 01:11:26,464 Hversu oft við erum að fara að iterate í að fyrir lykkju? 1800 01:11:26,464 --> 01:11:27,130 Nemandi: Sterln? 1801 01:11:27,130 --> 01:11:27,963 DAVIN: Sterln, já. 1802 01:11:27,963 --> 01:11:29,350 1803 01:11:29,350 --> 01:11:41,294 Svo skulum segja INT lengd jafngildir sterln s. 1804 01:11:41,294 --> 01:11:44,240 1805 01:11:44,240 --> 01:11:48,740 Og bara forvitinn, hvers vegna er það alltaf góður af betra að gera þetta utan lykkjur? 1806 01:11:48,740 --> 01:11:52,277 Eins, hvers vegna er það betra að hringja þessi aðgerð utan úr lykkju? 1807 01:11:52,277 --> 01:11:53,360 Just a fljótur geðheilbrigði athuga? 1808 01:11:53,360 --> 01:11:55,810 1809 01:11:55,810 --> 01:11:56,311 Já? 1810 01:11:56,311 --> 01:11:58,268 Nemandi: Svo þú ert ekki verðum að halda stöðva það. 1811 01:11:58,268 --> 01:11:59,400 Þú getur bara [inaudible]. 1812 01:11:59,400 --> 01:12:01,560 >> DAVIN: Einmitt, svo já, nákvæmlega hvað hún sagði. 1813 01:12:01,560 --> 01:12:03,101 Þannig að við þurfum ekki að halda stöðva það. 1814 01:12:03,101 --> 01:12:05,690 Svo til dæmis, ef ég er að hringja þessi aðgerð inni í lykkju, 1815 01:12:05,690 --> 01:12:08,050 þá er ég að fara að halda að hringja þessi aðgerð mörgum sinnum. 1816 01:12:08,050 --> 01:12:10,080 Og það er að fara að minnka skilvirkni program. 1817 01:12:10,080 --> 01:12:12,370 Svo það er alltaf gagnlegt að lýsa það utan. 1818 01:12:12,370 --> 01:12:14,370 >> Rob: Það er sagt, á eitthvað af þessum vandamálum, 1819 01:12:14,370 --> 01:12:17,940 ansi mikið og lengi sem þú færð a vinna lausn, þú færð fullt kredit. 1820 01:12:17,940 --> 01:12:20,820 Svo ekki hafa áhyggjur ef hönnun er algerlega horrendous. 1821 01:12:20,820 --> 01:12:22,120 1822 01:12:22,120 --> 01:12:25,230 Það gæti gert okkur uppnámi lesa kóðann. 1823 01:12:25,230 --> 01:12:28,160 En svo lengi sem það virkar, þú munt fá stig. 1824 01:12:28,160 --> 01:12:29,302 >> DAVIN: Já. 1825 01:12:29,302 --> 01:12:31,260 OK, svo þá er ég að fara til lýsa sumir breytu. 1826 01:12:31,260 --> 01:12:33,900 Það er bara að fara að hringja í int summa. 1827 01:12:33,900 --> 01:12:37,031 Og ég ætla að setja þetta jafnt og núll, eins og þessi. 1828 01:12:37,031 --> 01:12:38,780 Og það er bara að fara að vera tákn. 1829 01:12:38,780 --> 01:12:40,960 Svo það er að fara til vera hvað ég ætla að fara aftur. 1830 01:12:40,960 --> 01:12:43,730 Þannig að ég ætla að fara að lokum aftur summan af þessu forriti. 1831 01:12:43,730 --> 01:12:44,980 Þannig að ég hef þessar tvær breytur. 1832 01:12:44,980 --> 01:12:45,563 Ég hef lengd. 1833 01:12:45,563 --> 01:12:46,500 Ég hef summa. 1834 01:12:46,500 --> 01:12:48,290 Og nú skulum hoppa í band okkar. 1835 01:12:48,290 --> 01:12:49,510 >> Svo lætur hafa okkar fyrir lykkju. 1836 01:12:49,510 --> 01:13:06,520 Svo fjórum INT I er 0 m, en I er minna en lengd I plús plús. 1837 01:13:06,520 --> 01:13:07,150 Og now-- 1838 01:13:07,150 --> 01:13:10,920 1839 01:13:10,920 --> 01:13:11,420 Ræna: Nice. 1840 01:13:11,420 --> 01:13:14,030 DAVIN: OK, og nú hér kemur kjöt af kóða. 1841 01:13:14,030 --> 01:13:17,380 Svo þú getur raunverulega gert þetta í grundvallaratriðum í einni línu. 1842 01:13:17,380 --> 01:13:20,702 Svo þýðir einhver hafa hugmynd af því sem við erum að fara að gera næst? 1843 01:13:20,702 --> 01:13:23,680 1844 01:13:23,680 --> 01:13:25,380 OK, svo er það í lagi. 1845 01:13:25,380 --> 01:13:35,860 Þannig að við erum að gera að segja summan equals-- láta mig fararskjóti þetta over-- summan 1846 01:13:35,860 --> 01:13:50,010 jafngildir summan sinnum 10 plus-- við erum fara að taka s I mínus einn 1847 01:13:50,010 --> 01:13:54,787 Quote 0 ein tilvitnun gert, eins og þessi. 1848 01:13:54,787 --> 01:13:55,620 Rob: Very innsæi. 1849 01:13:55,620 --> 01:13:56,980 1850 01:13:56,980 --> 01:13:57,880 >> DAVIN: Mulið það. 1851 01:13:57,880 --> 01:14:01,438 OK, svo someone-- ég fékk hana, ég fékk það. 1852 01:14:01,438 --> 01:14:03,680 1853 01:14:03,680 --> 01:14:06,960 OK, þannig að þetta er greinilega að fara upp. 1854 01:14:06,960 --> 01:14:08,320 1855 01:14:08,320 --> 01:14:09,450 Hvað þýðir þetta? 1856 01:14:09,450 --> 01:14:12,120 Svo þýðir einhver veit hvað þetta þýðir? 1857 01:14:12,120 --> 01:14:13,826 Getur allir sjá þetta? 1858 01:14:13,826 --> 01:14:16,088 Nei, enginn getur séð þetta, OK. 1859 01:14:16,088 --> 01:14:17,390 1860 01:14:17,390 --> 01:14:18,340 Ég ætla to-- 1861 01:14:18,340 --> 01:14:20,506 >> Rob: Ég ætla að skrifa uppskrift bara hérna. 1862 01:14:20,506 --> 01:14:23,140 DAVIN: OK, Rob er að fara að gera það á tölvu, sem er gaman. 1863 01:14:23,140 --> 01:14:26,889 1864 01:14:26,889 --> 01:14:27,514 Rob: Ó Guð minn. 1865 01:14:27,514 --> 01:14:34,340 1866 01:14:34,340 --> 01:14:35,010 Eða ég ekki. 1867 01:14:35,010 --> 01:14:36,288 1868 01:14:36,288 --> 01:14:36,954 DAVIN: Standa með. 1869 01:14:36,954 --> 01:14:42,300 1870 01:14:42,300 --> 01:14:44,260 Nemandi: Ég er með spurningu. 1871 01:14:44,260 --> 01:14:45,348 DAVIN: Já, viss. 1872 01:14:45,348 --> 01:14:46,223 Nemandi: [inaudible]? 1873 01:14:46,223 --> 01:14:52,529 1874 01:14:52,529 --> 01:14:54,570 DAVIN: OK, svo það í raun, eins, bara almennt, 1875 01:14:54,570 --> 01:14:56,710 Ef þú varst að setja, eins og, í yfirlýsingu þessari int 1876 01:14:56,710 --> 01:14:59,770 I er 0 kommum lengd jafnt sterln, that-- 1877 01:14:59,770 --> 01:15:01,200 >> Nemandi: [inaudible]. 1878 01:15:01,200 --> 01:15:03,585 >> DAVIN: Það er allt í lagi, vegna þess að that-- 1879 01:15:03,585 --> 01:15:05,543 Nemandi: Hvers vegna vildi þú jafnvel þurft að nota lengd? 1880 01:15:05,543 --> 01:15:08,620 Hvers vegna gætum við ekki bara [inaudible] sterln s, eins og alla tíma [inaudible]? 1881 01:15:08,620 --> 01:15:09,460 >> DAVIN: Meinarðu hérna? 1882 01:15:09,460 --> 01:15:10,001 >> Nemandi: Já. 1883 01:15:10,001 --> 01:15:12,630 DAVIN: Þar sem sérhver skipti sem þetta for lykkju keyrir, 1884 01:15:12,630 --> 01:15:14,295 það er að fara að meta þetta ástand. 1885 01:15:14,295 --> 01:15:14,920 Nemandi: Hægri. 1886 01:15:14,920 --> 01:15:16,836 DAVIN: Og ef þú ert sterln þar, þá er það 1887 01:15:16,836 --> 01:15:19,510 fara að raunverulega kalla að hlutverk hvert einasta sinn. 1888 01:15:19,510 --> 01:15:21,090 Þannig að í stað þess að bara bera það int 1889 01:15:21,090 --> 01:15:23,548 þú ert að fara að hringja í virka og þá bera það 1890 01:15:23,548 --> 01:15:24,510 til skilagildi. 1891 01:15:24,510 --> 01:15:25,860 Já, svo er það bara, já. 1892 01:15:25,860 --> 01:15:28,860 1893 01:15:28,860 --> 01:15:30,770 >> Nice, OK, svo nú geta allir séð það. 1894 01:15:30,770 --> 01:15:33,400 Hvað does-- þetta er eins og þetta er það. 1895 01:15:33,400 --> 01:15:34,580 Þetta er sulta, hérna. 1896 01:15:34,580 --> 01:15:37,030 1897 01:15:37,030 --> 01:15:37,930 Hvað þýðir það? 1898 01:15:37,930 --> 01:15:39,250 1899 01:15:39,250 --> 01:15:39,970 Hvað er ég að gera? 1900 01:15:39,970 --> 01:15:41,890 1901 01:15:41,890 --> 01:15:42,880 Já, hugmynd? 1902 01:15:42,880 --> 01:15:43,482 Já? 1903 01:15:43,482 --> 01:15:45,692 >> Nemandi: Ja, svo þegar þú ert að slá inn fjölda, 1904 01:15:45,692 --> 01:15:47,525 þú ert að fara að vera að fara frá vinstri til hægri, 1905 01:15:47,525 --> 01:15:51,786 svo þú ert að fara að vera að fara í aukastaf frá niður [inaudible]. 1906 01:15:51,786 --> 01:15:52,410 DAVIN: Einmitt. 1907 01:15:52,410 --> 01:15:55,063 Nemandi: Svo hver þú þarft að margfalda 1908 01:15:55,063 --> 01:15:59,490 það sem þú sást sem verðmæti int með þeim tíma sem þú færð til að færa þá yfir einn. 1909 01:15:59,490 --> 01:16:01,590 >> DAVIN: Perfect, fullkominn, svo til dæmis, við skulum 1910 01:16:01,590 --> 01:16:05,376 segja að ég gaf you-- ég fara að skrifa hérna. 1911 01:16:05,376 --> 01:16:06,480 Nei, ég er ekki. 1912 01:16:06,480 --> 01:16:08,640 Ég ætla að skrifa hérna. 1913 01:16:08,640 --> 01:16:12,080 Segjum að ég gaf þér 76, ekki satt? 1914 01:16:12,080 --> 01:16:13,380 Segjum að ég gefa þér 76. 1915 01:16:13,380 --> 01:16:15,360 Það er a band til að byrja með, allt í lagi? 1916 01:16:15,360 --> 01:16:16,840 >> Svo er lengd hvað? 1917 01:16:16,840 --> 01:16:18,060 1918 01:16:18,060 --> 01:16:19,060 2, ekki satt? 1919 01:16:19,060 --> 01:16:20,290 Summan er 0. 1920 01:16:20,290 --> 01:16:21,600 Þá erum við að hoppa í okkar fyrir lykkju. 1921 01:16:21,600 --> 01:16:24,187 OK, fyrsta endurtekning af þetta, hvað er það að fara að vera? 1922 01:16:24,187 --> 01:16:25,270 Það er að fara að vera summan er 0. 1923 01:16:25,270 --> 01:16:27,180 Svo summa sinnum 10 0. 1924 01:16:27,180 --> 01:16:28,500 Það er tilgangslaust. 1925 01:16:28,500 --> 01:16:29,880 Þá hvað gerir þetta? 1926 01:16:29,880 --> 01:16:30,845 1927 01:16:30,845 --> 01:16:31,720 Nemandi: [inaudible]. 1928 01:16:31,720 --> 01:16:33,110 1929 01:16:33,110 --> 01:16:37,430 >> DAVIN: Það er að fara að snúa því eðli í heiltala, ekki satt? 1930 01:16:37,430 --> 01:16:42,160 Það er góður af eins og með þinn vandamál set-- þessu light-- 1931 01:16:42,160 --> 01:16:44,170 það er góður af eins og með Heimadæmi á Visioneer. 1932 01:16:44,170 --> 01:16:45,980 Þú ert að fást við ASCII gildi. 1933 01:16:45,980 --> 01:16:48,520 Svo ef ég gefa þér, eins og, a sjö, en það er a eðli, 1934 01:16:48,520 --> 01:16:50,965 og þú vilt vita, OK, hvað talan er það? 1935 01:16:50,965 --> 01:16:53,540 1936 01:16:53,540 --> 01:16:54,910 Já, þú gætir, já. 1937 01:16:54,910 --> 01:16:55,900 Svo hvað talan er það? 1938 01:16:55,900 --> 01:16:59,550 Þú gætir draga 0 af því, en þú þarft að draga 0, eðli. 1939 01:16:59,550 --> 01:17:01,425 >> Og þar sem sumir fá skemmtiferðamaður upp, þá eru þeir 1940 01:17:01,425 --> 01:17:04,260 eins, OK, vel, ég verð að vita ASCII gildi fyrir þetta próf? 1941 01:17:04,260 --> 01:17:06,218 Nei, þú gerir örugglega ekki þarf að vita ASCII 1942 01:17:06,218 --> 01:17:09,520 gildi, eins og, lágstafir a, hástafi A, núll. 1943 01:17:09,520 --> 01:17:12,060 >> Rob: Það er engin ástæða til að alltaf setja þetta á svindlari lak. 1944 01:17:12,060 --> 01:17:14,226 >> DAVIN: Ákveðið að gera ekki sóa plássi með þessu. 1945 01:17:14,226 --> 01:17:18,090 Þú getur literally-- bara staðinn að segja 48, eins og hægri upp 1946 01:17:18,090 --> 01:17:24,630 það, sem svarar til segja eitt, einn úrfellingarmerki, 1947 01:17:24,630 --> 01:17:27,680 svona, nákvæmlega það sama. 1948 01:17:27,680 --> 01:17:34,106 >> Rob: Þú gætir næstum að hugsa um það eins if-- Guð, ég þarf minn, 1949 01:17:34,106 --> 01:17:37,490 oops-- þú gætir næstum að hugsa um það eins og ef við höfum eitthvað svoleiðis kjötkássa 1950 01:17:37,490 --> 01:17:39,755 skilgreina 0 sem 48. 1951 01:17:39,755 --> 01:17:41,320 1952 01:17:41,320 --> 01:17:42,030 Það mun ekki vinna. 1953 01:17:42,030 --> 01:17:45,502 En hugsaðu um það sem einn vitna 0 einn quote, og fyrir alla stafi. 1954 01:17:45,502 --> 01:17:47,960 Hugsaðu um það eins og a fasti sem táknar að ASCII gildi. 1955 01:17:47,960 --> 01:17:49,080 >> DAVIN: Já. 1956 01:17:49,080 --> 01:17:52,820 OK, þannig að í fyrsta sinn í gegnum, svo með 76-- svo í fyrsta skipti í gegnum, 1957 01:17:52,820 --> 01:17:57,260 þetta er bara eðli 7 mínus eðli 0, 1958 01:17:57,260 --> 01:18:00,420 og þeir eru sjö integers-- vel, þeir 1959 01:18:00,420 --> 01:18:04,030 eru sjö rými í burtu frá hvor öðrum á ASCII töfluna eða hvað sem er. 1960 01:18:04,030 --> 01:18:06,770 Svo það er að fara að skila int 7. 1961 01:18:06,770 --> 01:18:08,720 Svo nú, summan jafngildir 7. 1962 01:18:08,720 --> 01:18:10,830 >> OK, vel, við skulum hoppa þetta fyrir lykkju aftur. 1963 01:18:10,830 --> 01:18:13,010 OK, nú er það summa sinnum 10. 1964 01:18:13,010 --> 01:18:15,800 Svo þú ert í raun færa 7 til vinstri. 1965 01:18:15,800 --> 01:18:17,542 Er að skynsamleg? 1966 01:18:17,542 --> 01:18:19,250 Þú ert í raun færa það til vinstri. 1967 01:18:19,250 --> 01:18:21,790 >> Og þá þú add-- þetta er að fara að vera 6 mínus 0. 1968 01:18:21,790 --> 01:18:22,650 Það er 6. 1969 01:18:22,650 --> 01:18:24,752 Svo það er að fara að vera 70 plús 6. 1970 01:18:24,752 --> 01:18:25,996 76, það er númerið þitt. 1971 01:18:25,996 --> 01:18:28,370 Svo óháð hvaða tala Ég gaf þér, það er hægt bara 1972 01:18:28,370 --> 01:18:31,610 fara að skipta stærri gildi til vinstri, 1 þáttur af 10 1973 01:18:31,610 --> 01:18:35,525 í hvert sinn í for lykkju, og þá bæta við á eftir þörfum. 1974 01:18:35,525 --> 01:18:37,350 1975 01:18:37,350 --> 01:18:37,865 >> Í bak? 1976 01:18:37,865 --> 01:18:40,240 Nemandi: Við þurfum ekki að gera allir að haka í áætluninni? 1977 01:18:40,240 --> 01:18:41,580 1978 01:18:41,580 --> 01:18:44,302 >> Rob: Svo eins langt eins og stöðva fer fyrir the program, 1979 01:18:44,302 --> 01:18:46,510 myndum við segja þér nokkuð mikið það sem þú þarft til að athuga. 1980 01:18:46,510 --> 01:18:48,670 Ef við segja þér ekki neitt, þá yfirleitt 1981 01:18:48,670 --> 01:18:50,320 ráð fyrir að þú þarft að athuga hvað annað. 1982 01:18:50,320 --> 01:18:54,772 Eins og þú might, bara til að vera örugg, þú ætti líklega að athuga hey, er s null? 1983 01:18:54,772 --> 01:18:56,230 Þá hef ég ekki hugmynd um hvað ég á að fara aftur. 1984 01:18:56,230 --> 01:18:58,814 En við myndum segja þér þessi tegund af hlutur. 1985 01:18:58,814 --> 01:18:59,480 0, ég veit það ekki. 1986 01:18:59,480 --> 01:19:02,786 >> DAVIN: Og hvers vegna vildi þú vilt að langsóttur ef s jafngildir null? 1987 01:19:02,786 --> 01:19:03,660 Nemandi: [inaudible]. 1988 01:19:03,660 --> 01:19:04,880 DAVIN: Vegna bleikju stjarna. 1989 01:19:04,880 --> 01:19:05,510 Það er a bendi. 1990 01:19:05,510 --> 01:19:09,240 Svo fullkomlega ásættanlegt yfirlýsingu, gæti ég sagt, OK, 1991 01:19:09,240 --> 01:19:11,917 s jafnt null, vegna þess að það gæti verið bendi núll. 1992 01:19:11,917 --> 01:19:14,250 Svo þegar þú hefur ábendingar í vegi þínum í svona, 1993 01:19:14,250 --> 01:19:15,420 þú ættir sennilega að athuga. 1994 01:19:15,420 --> 01:19:18,461 Vegna þess að ef þú hakar ekki, og þá fara þá í þínar fyrir lykkju, 1995 01:19:18,461 --> 01:19:20,100 og þú ert doing-- fararskjóti niður. 1996 01:19:20,100 --> 01:19:21,980 1997 01:19:21,980 --> 01:19:22,920 Fararskjóti niður. 1998 01:19:22,920 --> 01:19:23,860 >> Rob: Því miður, það er það. 1999 01:19:23,860 --> 01:19:25,860 >> DAVIN: Og svo, eins og, ef það er ekkert, og þá þér 2000 01:19:25,860 --> 01:19:28,267 gera þetta, hvað villu ert þú að fara að fá? 2001 01:19:28,267 --> 01:19:29,850 Nemandi: Þú ert að fara fá a setja sök. 2002 01:19:29,850 --> 01:19:31,250 DAVIN: Þú ert að fara að setja kenna, ekki satt, vegna þess að þú ert 2003 01:19:31,250 --> 01:19:32,616 reyna að kemba í null. 2004 01:19:32,616 --> 01:19:35,240 Svo þú ert að fara að reyna að kemba í minni sem þú átt ekki. 2005 01:19:35,240 --> 01:19:39,550 Þannig að þetta, ef þetta er ekkert, og þú gerir þetta, munt þú hringrás. 2006 01:19:39,550 --> 01:19:43,656 >> Rob: Ég held líka á prófinu sem Við spurði þessa spurningu, segja við ykkur 2007 01:19:43,656 --> 01:19:45,655 að þú getur bara gert ráð það er jákvæð tala. 2008 01:19:45,655 --> 01:19:48,270 Vegna atoi er einnig gert ráð fyrir meðhöndla neikvætt tölur, 2009 01:19:48,270 --> 01:19:49,686 svo þú þyrftir að sérstökum tilvikum. 2010 01:19:49,686 --> 01:19:53,080 Hey, er fyrsti stafurinn a þjóta, en í því tilviki, OK, 2011 01:19:53,080 --> 01:19:54,839 nú er það neikvæð heiltala. 2012 01:19:54,839 --> 01:19:56,380 Við munum segja þér þessar tegundir af hlutum. 2013 01:19:56,380 --> 01:19:58,005 Við munum segja þér hvað þú þarft til að höndla. 2014 01:19:58,005 --> 01:19:59,310 DAVIN: Já. 2015 01:19:59,310 --> 01:20:02,530 Þannig að ég er viss um að sumir gætu have-- ef þú byrjaðir að horfa á gömlu prófum, 2016 01:20:02,530 --> 01:20:03,900 þú hefur séð sterln. 2017 01:20:03,900 --> 01:20:05,120 Það er vinsæll einn. 2018 01:20:05,120 --> 01:20:09,790 Og ég held að í sterln, þurfti að gera þetta ávísun fyrir engu, aftur 2019 01:20:09,790 --> 01:20:10,950 0 eða eitthvað svoleiðis. 2020 01:20:10,950 --> 01:20:11,940 Eins, hafði þig til að athuga for null. 2021 01:20:11,940 --> 01:20:14,230 Og ef þú gerðir ekki, að var benda burt á quiz. 2022 01:20:14,230 --> 01:20:16,750 2023 01:20:16,750 --> 01:20:19,500 Svo engu að síður, er alla finnst í lagi með atoi? 2024 01:20:19,500 --> 01:20:21,112 2025 01:20:21,112 --> 01:20:22,820 Hefur einhver vilja til fara yfir hluta aftur? 2026 01:20:22,820 --> 01:20:23,815 2027 01:20:23,815 --> 01:20:25,565 Rob: Oh já, ég held við segja þér einnig þér 2028 01:20:25,565 --> 01:20:28,565 má ráð fyrir að allt is-- að þeir eru í raun að slá inn númer, 2029 01:20:28,565 --> 01:20:32,821 að þú þarft ekki að hafa áhyggjur, eins, bréf að vera í streng, svo. 2030 01:20:32,821 --> 01:20:33,320 DAVIN: Já. 2031 01:20:33,320 --> 01:20:33,922 Já? 2032 01:20:33,922 --> 01:20:35,713 Nemandi: Getur þú ferð yfir eitt meiri tíma þegar 2033 01:20:35,713 --> 01:20:37,860 þú notar tvöfalda tilvitnun og einn tilvitnun? 2034 01:20:37,860 --> 01:20:41,290 >> DAVIN: Jú, svo tvöfaldur vitna, mjög einfaldlega, er tvöfaldur vitna eru strengir. 2035 01:20:41,290 --> 01:20:43,370 Svo ef þú tvöfaldur vitna eitthvað, það er band. 2036 01:20:43,370 --> 01:20:48,270 Svo, eins og ef ég hefði þetta 0 hérna, og ég gerði þetta, það er band. 2037 01:20:48,270 --> 01:20:50,060 Það er ekki lengur a staf. 2038 01:20:50,060 --> 01:20:54,816 Svo ég get ekki fundið þetta gildi á ASCII minn Mynd, því það er a band, já. 2039 01:20:54,816 --> 01:20:57,770 2040 01:20:57,770 --> 01:20:59,480 >> OK, aðrar spurningar? 2041 01:20:59,480 --> 01:21:00,405 Já? 2042 01:21:00,405 --> 01:21:02,345 >> Nemandi: Svo þú hefur þegar svarað þessu, 2043 01:21:02,345 --> 01:21:05,255 en eins og, þegar við erum í raun og veru skrifa þetta á við próf, 2044 01:21:05,255 --> 01:21:08,165 viltu okkur að skrifa með rista zeroes [inaudible]? 2045 01:21:08,165 --> 01:21:11,041 2046 01:21:11,041 --> 01:21:11,540 DAVIN: Nei 2047 01:21:11,540 --> 01:21:13,800 Spurningin var þá ættir þú setja skástrik gegnum núllin 2048 01:21:13,800 --> 01:21:14,890 að gefa til kynna hvort þeir eru núll? 2049 01:21:14,890 --> 01:21:15,890 Nei, við munum reikna það út. 2050 01:21:15,890 --> 01:21:16,940 2051 01:21:16,940 --> 01:21:19,530 Já, takk, þeir eru góður. 2052 01:21:19,530 --> 01:21:20,860 OK, allt annað? 2053 01:21:20,860 --> 01:21:25,060 Hefur einhver vilja to-- svo ég held sem við höfum keyrt svolítið tímanum. 2054 01:21:25,060 --> 01:21:27,305 Viltu sjá annað, eða? 2055 01:21:27,305 --> 01:21:28,096 Nemandi: RandomInt. 2056 01:21:28,096 --> 01:21:29,230 2057 01:21:29,230 --> 01:21:30,750 >> DAVIN: RandomInt, OK, einmitt. 2058 01:21:30,750 --> 01:21:32,975 Svo skulum gera RandomInt. 2059 01:21:32,975 --> 01:21:34,395 2060 01:21:34,395 --> 01:21:35,270 Ég skal gera það hérna. 2061 01:21:35,270 --> 01:21:36,770 2062 01:21:36,770 --> 01:21:39,210 Svo er RandomInt raun miklu einfaldara. 2063 01:21:39,210 --> 01:21:43,578 Ég held atoi er líklega erfiðasta einn að við höfum beðið í fyrri árum. 2064 01:21:43,578 --> 01:21:44,453 Nemandi: [inaudible]. 2065 01:21:44,453 --> 01:21:46,660 2066 01:21:46,660 --> 01:21:47,161 >> DAVIN: Hvað? 2067 01:21:47,161 --> 01:21:49,493 Rob: Ég ætla að sjá hvort það er góður af hægt að skoða frá hérna. 2068 01:21:49,493 --> 01:21:50,040 DAVIN: Er það? 2069 01:21:50,040 --> 01:21:52,500 Rob: Ég held ekki að það er going-- ég held það er að fara að hlaupa burt til hægri. 2070 01:21:52,500 --> 01:21:53,791 DAVIN: OK, þannig að ég ætla að gera þetta einn. 2071 01:21:53,791 --> 01:21:56,250 Og þá setja bara það á skjánum. 2072 01:21:56,250 --> 01:21:57,150 >> Rob: Allt í lagi. 2073 01:21:57,150 --> 01:21:58,190 >> DAVIN: Þú vilt vera fræðimaður minn? 2074 01:21:58,190 --> 01:21:58,600 >> Ræna: Já. 2075 01:21:58,600 --> 01:21:59,100 >> DAVIN: Nice. 2076 01:21:59,100 --> 01:22:01,210 2077 01:22:01,210 --> 01:22:02,727 OK, get ég eytt þessu? 2078 01:22:02,727 --> 01:22:04,188 >> Nemandi: Já. 2079 01:22:04,188 --> 01:22:05,162 >> DAVIN: Það er svo erfitt. 2080 01:22:05,162 --> 01:22:10,032 2081 01:22:10,032 --> 01:22:12,062 (Söngur) Þú ert að gera hvað þú ert að gera. 2082 01:22:12,062 --> 01:22:14,454 Og gera það sem þú gerir ekki. 2083 01:22:14,454 --> 01:22:14,954 Allt í lagi. 2084 01:22:14,954 --> 01:22:19,790 2085 01:22:19,790 --> 01:22:22,930 >> OK, ef ég man rétt, á prófið sem RandomInt var eins, 2086 01:22:22,930 --> 01:22:26,190 OK, ég ætla að gefa þér tvö tölur, eins og eitt og b. 2087 01:22:26,190 --> 01:22:30,380 Og ég vil að þú að gefa mér a RandomInt milli þessara talna. 2088 01:22:30,380 --> 01:22:33,440 Svo RandomInt er að fara að taka tvær Numbers 2089 01:22:33,440 --> 01:22:41,690 svo RandomInt-- og það er fara að skila int. 2090 01:22:41,690 --> 01:22:42,930 >> Svo er það aftur gildi? 2091 01:22:42,930 --> 01:22:44,151 Ég sagði bara þú. 2092 01:22:44,151 --> 01:22:44,650 Int, ekki satt? 2093 01:22:44,650 --> 01:22:46,400 2094 01:22:46,400 --> 01:22:49,260 Eins og þetta, og þá er það fara að taka tvær ints. 2095 01:22:49,260 --> 01:22:56,301 Svo það er að fara að taka int a og INT b, eins og þessi. 2096 01:22:56,301 --> 01:22:58,217 Svo hvað RandomInt er fara að gera er að það er að fara 2097 01:22:58,217 --> 01:23:02,440 að skila sumir af handahófi gildi á milli þessara tveggja gilda. 2098 01:23:02,440 --> 01:23:05,140 Svo það er að fara að vera meiri en a, minna en b. 2099 01:23:05,140 --> 01:23:09,020 Svo ég held að þú getur sennilega gert ráð fyrir að a er minni af tveimur gildum. 2100 01:23:09,020 --> 01:23:12,210 Þannig að ef við erum að fást við randomness, hvað virka 2101 01:23:12,210 --> 01:23:14,825 höfum við séð að gefur okkur handahófi hluti? 2102 01:23:14,825 --> 01:23:15,450 Nemandi: Drand. 2103 01:23:15,450 --> 01:23:16,506 DAVIN: Drand, nákvæmlega. 2104 01:23:16,506 --> 01:23:18,630 Svo þú ert að fara að öllum líkindum vilt nota drand þína. 2105 01:23:18,630 --> 01:23:19,940 2106 01:23:19,940 --> 01:23:29,160 Svo er hægt að segja INT handahófi, og við munum bara segja að það er 0 núna. 2107 01:23:29,160 --> 01:23:30,170 2108 01:23:30,170 --> 01:23:38,690 Og þeir eru að við erum að fara að segja, OK, handahófi Jafnt drand 48. 2109 01:23:38,690 --> 01:23:39,747 2110 01:23:39,747 --> 01:23:40,830 Og hvað þýðir þetta aftur? 2111 01:23:40,830 --> 01:23:43,742 Hvað þýðir þessi aðgerð gefur þér? 2112 01:23:43,742 --> 01:23:45,610 >> Nemandi: milli 0 og 1. 2113 01:23:45,610 --> 01:23:47,870 >> DAVIN: Já, á milli 0 og 1. 2114 01:23:47,870 --> 01:23:48,890 Svo það er að fara að be-- 2115 01:23:48,890 --> 01:23:51,070 >> Rob: Og þetta is-- ég held myndum við segja þér þetta. 2116 01:23:51,070 --> 01:23:52,670 Eins er hægt að nota drand 48. 2117 01:23:52,670 --> 01:23:54,350 Þú getur staðfest þetta á undanförnum prófið. 2118 01:23:54,350 --> 01:23:56,720 En við myndum líklega segja þér getur notað drand 48, sem 2119 01:23:56,720 --> 01:23:58,790 skilar flotholti milli 0 og 1. 2120 01:23:58,790 --> 01:24:00,830 >> DAVIN: Já, já, ég er nokkuð viss á prófinu 2121 01:24:00,830 --> 01:24:03,860 það segir þér líklega vilt nota drand, já. 2122 01:24:03,860 --> 01:24:07,041 Svo það er að fara að fara aftur eitthvert gildi á milli 0 og 1. 2123 01:24:07,041 --> 01:24:08,790 Og hvað þá ert þú fara til að vilja gera? 2124 01:24:08,790 --> 01:24:16,360 Jæja, þú vilt að margfalda by-- bíddu, ég held að það er eins og þetta, því miður. 2125 01:24:16,360 --> 01:24:18,018 Ég ætla bara að gera þetta. 2126 01:24:18,018 --> 01:24:19,410 Ég veit ekki. 2127 01:24:19,410 --> 01:24:22,240 >> Svo b mínus a. 2128 01:24:22,240 --> 01:24:23,310 2129 01:24:23,310 --> 01:24:24,490 Svo hvers vegna b mínus a? 2130 01:24:24,490 --> 01:24:26,110 2131 01:24:26,110 --> 01:24:30,490 Svo skulum segja drand gefur þig aftur sem int-- OK, ég verð bara að gera the hvíla, 2132 01:24:30,490 --> 01:24:33,380 svo plús a. 2133 01:24:33,380 --> 01:24:36,130 Svo hvað does-- y er b mínus a. 2134 01:24:36,130 --> 01:24:40,670 Svo skulum segja að drand gefur þig aftur hámarksgildi það gæti hugsanlega 2135 01:24:40,670 --> 01:24:41,410 gefa þér. 2136 01:24:41,410 --> 01:24:42,409 Hvað er að fara að vera? 2137 01:24:42,409 --> 01:24:43,010 Nemandi: 1. 2138 01:24:43,010 --> 01:24:44,430 >> DAVIN: 1, ekki satt? 2139 01:24:44,430 --> 01:24:47,880 Þannig að ef þetta er 1, og þú ert margfalda það með b mínus a, 2140 01:24:47,880 --> 01:24:50,110 Jæja, það er bara munurinn mínus A. 2141 01:24:50,110 --> 01:24:52,870 Og ef þú bætir þá aftur á a, sem er hvað? 2142 01:24:52,870 --> 01:24:54,290 2143 01:24:54,290 --> 01:24:55,180 Það er í grundvallaratriðum b. 2144 01:24:55,180 --> 01:24:56,435 2145 01:24:56,435 --> 01:24:57,310 Er að skynsamleg? 2146 01:24:57,310 --> 01:24:57,851 >> Nemandi: Já. 2147 01:24:57,851 --> 01:24:59,480 2148 01:24:59,480 --> 01:25:02,170 >> DAVIN: Svo ef þetta er hámark gildi það gæti hugsanlega verið, 2149 01:25:02,170 --> 01:25:03,175 það er að fara að vera 1. 2150 01:25:03,175 --> 01:25:04,122 2151 01:25:04,122 --> 01:25:06,330 Og þá er þetta bara munurinn á milli tveggja. 2152 01:25:06,330 --> 01:25:11,410 Bæta við á a, þannig að þetta er fara að skila af handahófi. 2153 01:25:11,410 --> 01:25:15,000 2154 01:25:15,000 --> 01:25:18,620 Og í horninu að ræða sem drand gefur þér aftur 1, 2155 01:25:18,620 --> 01:25:20,970 handahófi verður bara vera í raun að b. 2156 01:25:20,970 --> 01:25:22,700 En það er hámark það getur verið. 2157 01:25:22,700 --> 01:25:27,420 Þannig að ef það er að fara að vera minna en það, svo við skulum segja að þess eins 0,9, 2158 01:25:27,420 --> 01:25:31,080 svo þá 0.9 sinnum b mínus a er að fara að vera minna 2159 01:25:31,080 --> 01:25:33,230 en mismunur milli b mínus. 2160 01:25:33,230 --> 01:25:35,830 >> Og svo ef þú bæta við að á að a, þá er þessi gildi 2161 01:25:35,830 --> 01:25:38,986 fara að vera meiri en a, því þú ert að bæta eitthvað á það, 2162 01:25:38,986 --> 01:25:40,360 en það er að fara að vera minna en b. 2163 01:25:40,360 --> 01:25:41,430 2164 01:25:41,430 --> 01:25:44,420 Svo þú ert að fara að fá a handahófi númer, því þú ert að kalla drand. 2165 01:25:44,420 --> 01:25:48,000 Og það Rand, sem handahófi tala er fara að vera einhvers staðar á milli a 2166 01:25:48,000 --> 01:25:49,342 og b. 2167 01:25:49,342 --> 01:25:50,780 Er að skynsamleg? 2168 01:25:50,780 --> 01:25:52,990 >> Rob: Bara til að setja það í steypu tölur, svo 2169 01:25:52,990 --> 01:25:55,450 Segjum að við viljum velja a slembitölu milli 7 og 10. 2170 01:25:55,450 --> 01:25:56,960 Svo b mínus a er allt okkar. 2171 01:25:56,960 --> 01:26:00,150 Svo er það á bilinu þremur tölur sem við viljum að velja úr. 2172 01:26:00,150 --> 01:26:03,290 Og síðan margfalda að á milli 0 og 1 1, 2173 01:26:03,290 --> 01:26:07,430 ef það þá gefur okkur some-- skulum segja að gefur okkur 1.5. 2174 01:26:07,430 --> 01:26:10,670 >> Þá 1.5, við viljum fara 7-10. 2175 01:26:10,670 --> 01:26:14,470 Svo 1,5 plús 7 færir okkur aftur í 7 til 10 úrval okkar. 2176 01:26:14,470 --> 01:26:17,580 Og svo við erum að geyma það inni heiltala, svo það stytt niður til 8. 2177 01:26:17,580 --> 01:26:18,790 Og þá erum við aftur bara það. 2178 01:26:18,790 --> 01:26:21,310 Svo b mínus a er allt okkar. 2179 01:26:21,310 --> 01:26:25,770 a vaktir það upp í tölur að við viljum innan þess marka. 2180 01:26:25,770 --> 01:26:30,540 Svo á milli 7 og 10, og þá erum við getur aftur það sem við enda upp með. 2181 01:26:30,540 --> 01:26:32,684 >> DAVIN: Já, ágætur. 2182 01:26:32,684 --> 01:26:34,470 >> Rob: Þakka þér. 2183 01:26:34,470 --> 01:26:35,628 >> DAVIN: Já, hvað er uppi? 2184 01:26:35,628 --> 01:26:39,746 >> Nemandi: Eigum við að keyra það til hvers konar ASCII villur þegar we're-- ef drand er 2185 01:26:39,746 --> 01:26:40,996 skila float [inaudible]. 2186 01:26:40,996 --> 01:26:42,470 2187 01:26:42,470 --> 01:26:45,360 >> Rob: Svo bara eins Rob sagði vegna þess að handahófi er ekki int, 2188 01:26:45,360 --> 01:26:47,080 svo drand verður fljóta. 2189 01:26:47,080 --> 01:26:48,470 Svo og svo það fjölgar út. 2190 01:26:48,470 --> 01:26:50,507 Og þú gætir fengið nokkrar konar fljóta númer. 2191 01:26:50,507 --> 01:26:51,840 Og þá er það að fara að HÃ. 2192 01:26:51,840 --> 01:26:52,339 >> Nemandi: OK. 2193 01:26:52,339 --> 01:26:53,019 DAVIN: Já. 2194 01:26:53,019 --> 01:26:56,060 Rob: Og ef þýðandinn var að vara þú um, eins og, tap af nákvæmni, 2195 01:26:56,060 --> 01:26:58,986 bara hent við int í þar, og þá er það gott. 2196 01:26:58,986 --> 01:27:00,398 2197 01:27:00,398 --> 01:27:00,898 DAVIN: Já? 2198 01:27:00,898 --> 01:27:02,332 2199 01:27:02,332 --> 01:27:04,722 >> Nemandi: Væri hafa sömu líkur á að fá, 2200 01:27:04,722 --> 01:27:06,156 eins, b eða a [inaudible]? 2201 01:27:06,156 --> 01:27:08,080 2202 01:27:08,080 --> 01:27:10,980 >> Rob: Svo is-- Ég er reyndar wondering-- er RandomInt svokallaði 2203 01:27:10,980 --> 01:27:14,362 að vera númer frá A til minna en B? 2204 01:27:14,362 --> 01:27:16,820 Eins, ef það er á milli 7 og 10, hvað eru möguleikarnir? 2205 01:27:16,820 --> 01:27:18,454 7, 8, og 9, eða 7, 8, 9, 10? 2206 01:27:18,454 --> 01:27:19,120 DAVIN: ég gleymi. 2207 01:27:19,120 --> 01:27:19,880 Á vandamálinu set-- 2208 01:27:19,880 --> 01:27:20,570 >> Rob: Ég held að það er 7, 8, 9. 2209 01:27:20,570 --> 01:27:22,785 >> DAVIN: Það segir sérstaklega manns án aðgreiningar og einn er einkaviðtal. 2210 01:27:22,785 --> 01:27:23,110 >> Ræna: Já. 2211 01:27:23,110 --> 01:27:23,670 >> DAVIN: En ég don't-- ég not-- 2212 01:27:23,670 --> 01:27:25,878 >> Rob: Þannig að ég held að þetta sé ekki innifalinn, en í því tilviki, 2213 01:27:25,878 --> 01:27:28,152 það er jafn líkur á 7, 8 og 9. 2214 01:27:28,152 --> 01:27:29,360 There er engar líkur á 10. 2215 01:27:29,360 --> 01:27:31,770 2216 01:27:31,770 --> 01:27:32,270 DAVIN: Já? 2217 01:27:32,270 --> 01:27:33,395 Nemandi: Ég er með spurningu. 2218 01:27:33,395 --> 01:27:38,090 Við viljum til að skilgreina fall skilar ekki eitt gildi, en fylki. 2219 01:27:38,090 --> 01:27:41,020 Þá hvað væri setningafræði eftir aftur? 2220 01:27:41,020 --> 01:27:44,604 >> DAVIN: OK, svo þá getur þú would-- eftir aftur? 2221 01:27:44,604 --> 01:27:47,020 Svo skulum segja að þú hefðir lýst fylki einhversstaðar þarna. 2222 01:27:47,020 --> 01:27:49,708 Þá myndi bara aftur nafn fylkisins. 2223 01:27:49,708 --> 01:27:50,676 >> Nemandi: OK, þakka þér. 2224 01:27:50,676 --> 01:27:51,718 Þá bara fara aftur með a-- 2225 01:27:51,718 --> 01:27:52,759 DAVIN: Oh bíddu, samhryggist. 2226 01:27:52,759 --> 01:27:54,620 Spurningin var hvernig þú aftur fylki. 2227 01:27:54,620 --> 01:27:56,170 >> Rob: Þó það gæti ekki vera fylki lýst 2228 01:27:56,170 --> 01:27:57,260 á mánudaginn eða eitthvað svoleiðis. 2229 01:27:57,260 --> 01:27:59,510 Það þyrfti að vera eitthvað malloced, vegna malloc 2230 01:27:59,510 --> 01:28:01,610 er hvernig þú færð í kring Sjálfvirk minni úthlutun. 2231 01:28:01,610 --> 01:28:02,109 >> DAVIN: Já. 2232 01:28:02,109 --> 01:28:03,433 2233 01:28:03,433 --> 01:28:04,933 Rob: Hvernig þú færð í kringum staðbundna umfang. 2234 01:28:04,933 --> 01:28:09,670 2235 01:28:09,670 --> 01:28:11,550 >> DAVIN: En þú myndir bara aftur name-- sína 2236 01:28:11,550 --> 01:28:17,890 >> Nemandi: [inaudible] það er ekki einn gildi, fyrir td tvær tölur, svo 2237 01:28:17,890 --> 01:28:18,390 [Inaudible]. 2238 01:28:18,390 --> 01:28:19,590 >> DAVIN: Þú getur ekki snúið aftur margar númer. 2239 01:28:19,590 --> 01:28:20,850 Þú getur ekki, eins og, return-- 2240 01:28:20,850 --> 01:28:23,630 >> Nemandi: Ég talaði um að fara aftur fylki eða eitthvað svoleiðis. 2241 01:28:23,630 --> 01:28:26,050 >> DAVIN: Já, þannig að spurningin er get ég aftur mörg gildi. 2242 01:28:26,050 --> 01:28:27,460 Þú getur ekki snúið aftur mörg gildi. 2243 01:28:27,460 --> 01:28:30,270 Þú getur ekki, eins og, aftur a þá aftur B eða eitthvað svoleiðis. 2244 01:28:30,270 --> 01:28:32,710 Vegna þess að eftir að þú aftur, þér komist út úr fallinu. 2245 01:28:32,710 --> 01:28:35,790 Og þá virka er gert, og eins Rob sagði, er á mánudaginn. 2246 01:28:35,790 --> 01:28:38,260 >> Þannig að allir sem minni verður bara aftur við tölvuna. 2247 01:28:38,260 --> 01:28:40,025 Allt fær gleymt, í grundvallaratriðum. 2248 01:28:40,025 --> 01:28:41,480 2249 01:28:41,480 --> 01:28:44,430 Svo ef þú vilt að skila mörgum gildi, þú þarft að skila array, 2250 01:28:44,430 --> 01:28:45,971 Og hvernig þú gerir það er mallocing. 2251 01:28:45,971 --> 01:28:48,780 Og þá myndi aftur x svoleiðis. 2252 01:28:48,780 --> 01:28:50,280 Í grundvallaratriðum, þú aftur bara nafn. 2253 01:28:50,280 --> 01:28:51,620 Og þegar þú kemur aftur eitthvað eins og þetta, þú ert 2254 01:28:51,620 --> 01:28:53,200 ekki í raun að skila gildi. 2255 01:28:53,200 --> 01:28:55,430 >> Svo skulum segja að þú settir gildin í array. 2256 01:28:55,430 --> 01:28:57,910 Þú ert í raun ekki aftur þá gildi. 2257 01:28:57,910 --> 01:29:01,515 Eins og, ef ég skilaði int, ég er virkilega aftur afrit af þeim gildum. 2258 01:29:01,515 --> 01:29:02,017 2259 01:29:02,017 --> 01:29:03,850 En ef ég væri að fara aftur eitthvað eins og þetta, 2260 01:29:03,850 --> 01:29:06,450 Ég ætla að skila tilvísun þeim gildum. 2261 01:29:06,450 --> 01:29:09,090 Þannig að ég ætla aftur, í grundvallaratriðum, a minni heimilisfang þeim gildum. 2262 01:29:09,090 --> 01:29:10,079 Er að skynsamleg? 2263 01:29:10,079 --> 01:29:10,620 Nemandi: Já. 2264 01:29:10,620 --> 01:29:11,120 DAVIN: Nice. 2265 01:29:11,120 --> 01:29:12,760 2266 01:29:12,760 --> 01:29:13,410 Já? 2267 01:29:13,410 --> 01:29:15,430 >> Nemandi: Þegar þú ert nota drand hérna, 2268 01:29:15,430 --> 01:29:17,660 þú þarft að setja srand áður? 2269 01:29:17,660 --> 01:29:20,320 >> DAVIN: Nei, nei, ég held ekki svo. 2270 01:29:20,320 --> 01:29:23,040 >> Rob: Einmitt, svo þú hefur að segja neitt um srand? 2271 01:29:23,040 --> 01:29:26,900 Sjálfgefin ykkar aldrei segja srand yfirleitt er bara að gera srand af engu. 2272 01:29:26,900 --> 01:29:29,350 Svo drand á eigin vilja vinna sína. 2273 01:29:29,350 --> 01:29:33,759 Og það vilja á sjálfvirkan fræ með núverandi tími, er það sem það notar. 2274 01:29:33,759 --> 01:29:35,175 2275 01:29:35,175 --> 01:29:35,675 DAVIN: Já? 2276 01:29:35,675 --> 01:29:40,950 Nemandi: Ert þú [inaudible] með tölurnar? 2277 01:29:40,950 --> 01:29:42,570 DAVIN: Já, þú getur. 2278 01:29:42,570 --> 01:29:46,770 Nemandi: svo þú gætir segja eins, 4 sinnum 2. 2279 01:29:46,770 --> 01:29:50,280 Málið er, að þú getur ekki gert ráð fyrir þá er int fjögur bæti. 2280 01:29:50,280 --> 01:29:51,020 The only-- 2281 01:29:51,020 --> 01:29:53,830 >> DAVIN: Ég meina, fyrir spurningakeppni sem þú getur. 2282 01:29:53,830 --> 01:29:54,830 [Hlær] 2283 01:29:54,830 --> 01:29:55,780 >> Rob: Mm, nei. 2284 01:29:55,780 --> 01:29:56,780 DAVIN: Já, já þú getur. 2285 01:29:56,780 --> 01:30:00,197 Ef þeir spyrja þig hversu stór int er, þú getur ekki verið, eins og, fjórum eða átta. 2286 01:30:00,197 --> 01:30:02,030 Rob: Oh, þannig að ef Spurningin er sérstaklega, 2287 01:30:02,030 --> 01:30:04,857 eins, ef það er kóðun vandamál, þú ættir að segja stærð int. 2288 01:30:04,857 --> 01:30:06,690 Ef það er borð, eða það segir hversu margir bæti, 2289 01:30:06,690 --> 01:30:08,808 þú ættir ekki að fylla í stærð ints. 2290 01:30:08,808 --> 01:30:11,278 >> NEMENDUR: [Hlær] 2291 01:30:11,278 --> 01:30:18,210 2292 01:30:18,210 --> 01:30:20,580 >> DAVIN: Einmitt, svo er hvers vegna stærð int mikilvægt hér? 2293 01:30:20,580 --> 01:30:23,085 Svo eins og ef við erum að fara til 32-bita örgjörva eða eitthvað svoleiðis, 2294 01:30:23,085 --> 01:30:24,300 þá er það að fara að vera fjórir bytes. 2295 01:30:24,300 --> 01:30:26,342 En á sumum af nýrri efni, gæti það verið hvað? 2296 01:30:26,342 --> 01:30:27,383 Það gæti verið átta, ekki satt? 2297 01:30:27,383 --> 01:30:30,550 Svo this-- ef þú bara erfitt kóða fjórir, þá á sumum vélum, mun það vinna. 2298 01:30:30,550 --> 01:30:32,180 Sumir vélar, mun það ekki vinna. 2299 01:30:32,180 --> 01:30:35,270 En ef á spurningakeppni við erum eins og hvernig stór er int? 2300 01:30:35,270 --> 01:30:35,770 Setjið fjórar. 2301 01:30:35,770 --> 01:30:38,710 2302 01:30:38,710 --> 01:30:39,210 Ræna: Hægri. 2303 01:30:39,210 --> 01:30:39,790 DAVIN: Já? 2304 01:30:39,790 --> 01:30:43,192 Nemandi: Svo vegna þess að við erum að lýsa yfir [Inaudible] inni fall, 2305 01:30:43,192 --> 01:30:45,622 ættum við að setja 3 inn fyrir þau virka? 2306 01:30:45,622 --> 01:30:46,907 Eða getum við notað það úti? 2307 01:30:46,907 --> 01:30:48,740 DAVIN: Þú getur notað það utan að virka. 2308 01:30:48,740 --> 01:30:49,890 Svo hann er að biðja um ókeypis. 2309 01:30:49,890 --> 01:30:51,700 >> Nemandi: Missa lag hvar [inaudible]. 2310 01:30:51,700 --> 01:30:54,720 >> Rob: Oh, frjálsa ekki happen-- sem er hluti af göldrum malloc 2311 01:30:54,720 --> 01:30:57,220 er að þú ert ekki takmarkast við staðbundin umfangi. 2312 01:30:57,220 --> 01:31:00,700 Þú hefur fulla stjórn yfir hversu lengi breytur lifa. 2313 01:31:00,700 --> 01:31:05,380 Svo við köllum malloc hér, gæti það vera fullkomlega aðskilin virka. 2314 01:31:05,380 --> 01:31:08,670 Það gæti verið 10 klst síðar sem við köllum loksins frjáls. 2315 01:31:08,670 --> 01:31:11,764 >> DAVIN: Svo td eins og, a par vikur frá núna þegar þú loksins 2316 01:31:11,764 --> 01:31:13,680 gera orðabók Speller þína psets, ætlar þú að fara 2317 01:31:13,680 --> 01:31:16,410 að hafa einhverja aðgerð sem skapar tonn af hnúður. 2318 01:31:16,410 --> 01:31:18,630 Svo þú ert að mallocing tonn hnúta í þessa aðgerð. 2319 01:31:18,630 --> 01:31:20,670 Og svo seinna í aðskilin virka, þú ert 2320 01:31:20,670 --> 01:31:22,440 fara að vilja til að losa alla þá hnúta. 2321 01:31:22,440 --> 01:31:25,740 Svo þú getur bókstaflega bara fara til losa músina, svo minni heimilisfang 2322 01:31:25,740 --> 01:31:26,684 við hvað þú malloced. 2323 01:31:26,684 --> 01:31:27,600 Og það verður allt í lagi. 2324 01:31:27,600 --> 01:31:29,725 Þú þarft ekki að losa, eins og, í sömu virkni. 2325 01:31:29,725 --> 01:31:30,449 Já? 2326 01:31:30,449 --> 01:31:36,197 >> Nemandi: Svo malloc breytilegur [inaudible] utan? 2327 01:31:36,197 --> 01:31:37,384 Er það sem þú ert að segja? 2328 01:31:37,384 --> 01:31:38,300 DAVIN: Bíddu, segja að? 2329 01:31:38,300 --> 01:31:38,800 Sorry. 2330 01:31:38,800 --> 01:31:42,300 >> Nemandi: Ef malloc breytu geta vera frjáls hvar sem er í kóðanum, 2331 01:31:42,300 --> 01:31:44,800 þá geta þeir nálgast hvar sem er í kóða? 2332 01:31:44,800 --> 01:31:45,800 Getur þú haldið þeim staðbundin? 2333 01:31:45,800 --> 01:31:47,880 >> DAVIN: Oh, spurði hún, eins, breytu, like-- 2334 01:31:47,880 --> 01:31:51,300 2335 01:31:51,300 --> 01:31:55,510 >> Rob: Svo þú þarft enn að hafa einhverskonar tilvísun 2336 01:31:55,510 --> 01:31:57,220 að loka á malloc átti minni. 2337 01:31:57,220 --> 01:31:58,540 Svo hér erum við aftur x. 2338 01:31:58,540 --> 01:31:59,040 Nemandi: Oh. 2339 01:31:59,040 --> 01:32:01,920 Rob: Ef við ekki aftur x hér, og þetta voru bara tóm, 2340 01:32:01,920 --> 01:32:04,550 þá yrðum við ekki aðgang að bendillinn var malloced, 2341 01:32:04,550 --> 01:32:05,920 og það er leki minni. 2342 01:32:05,920 --> 01:32:06,690 >> Nemandi: OK. 2343 01:32:06,690 --> 01:32:10,010 >> DAVIN: Svo eins og við skulum segja þér hafa þetta, eins og, hérna. 2344 01:32:10,010 --> 01:32:10,510 Rob: Nei 2345 01:32:10,510 --> 01:32:13,430 DAVIN: Í meginvirkni minn, ég get ekki bara kalla þetta x og vera, eins og, OK, 2346 01:32:13,430 --> 01:32:14,645 í þessari aðgerð, ég gerði þetta. 2347 01:32:14,645 --> 01:32:14,960 >> Ræna: Hægri. 2348 01:32:14,960 --> 01:32:17,790 >> DAVIN: Þannig að ég ætla að fara að hringja x í, eins, helstu eða eitthvað svoleiðis. 2349 01:32:17,790 --> 01:32:18,540 Þú getur ekki gert það. 2350 01:32:18,540 --> 01:32:19,600 Þú ert að fara að fara aftur eitthvað. 2351 01:32:19,600 --> 01:32:21,000 En hvað ert þú að fara að fara aftur? 2352 01:32:21,000 --> 01:32:22,130 Þú ert að fara að skila minni heimilisfang. 2353 01:32:22,130 --> 01:32:25,130 Og vegna þess að þú kemur aftur með minni heimilisfang, sem hægt er að nálgast annars staðar. 2354 01:32:25,130 --> 01:32:27,262 2355 01:32:27,262 --> 01:32:28,255 Einhverjar fleiri spurningar? 2356 01:32:28,255 --> 01:32:28,755 Já? 2357 01:32:28,755 --> 01:32:31,213 >> Nemandi: Er fallið ofan vera ávísun fyrir [inaudible]? 2358 01:32:31,213 --> 01:32:33,270 2359 01:32:33,270 --> 01:32:35,005 >> DAVIN: Af hverju þarf ég ekki að gera það? 2360 01:32:35,005 --> 01:32:35,880 Nemandi: [inaudible]. 2361 01:32:35,880 --> 01:32:37,755 DAVIN: Af því að þú ert ekki mallocing neitt. 2362 01:32:37,755 --> 01:32:39,640 Svo það er not-- já, það er ekki eins og streng s. 2363 01:32:39,640 --> 01:32:41,160 Það er a bendi einhversstaðar. 2364 01:32:41,160 --> 01:32:42,951 Þetta eru bara tölur. 2365 01:32:42,951 --> 01:32:43,450 Nemandi: OK. 2366 01:32:43,450 --> 01:32:43,949 DAVIN: Já. 2367 01:32:43,949 --> 01:32:47,600 2368 01:32:47,600 --> 01:32:48,470 Nokkuð fleira? 2369 01:32:48,470 --> 01:32:48,970 Rob: Yep? 2370 01:32:48,970 --> 01:32:50,386 Nemandi: En þegar þú [inaudible]? 2371 01:32:50,386 --> 01:32:55,050 2372 01:32:55,050 --> 01:32:58,690 >> Rob: Svo í röð til að losa um minni, myndum við segja hér. 2373 01:32:58,690 --> 01:33:01,350 Svo er x bendi okkar til blokk af minni. 2374 01:33:01,350 --> 01:33:02,845 Við frjáls að músina. 2375 01:33:02,845 --> 01:33:04,470 Og við myndum ekki endilega gera það hér. 2376 01:33:04,470 --> 01:33:05,390 Við getum gert það hvar sem er. 2377 01:33:05,390 --> 01:33:10,400 En þú kallar aðeins frjáls á eitthvað sem malloc ávöxtun. 2378 01:33:10,400 --> 01:33:12,940 Svo malloc, hér, aftur hvað er verið geymd í x. 2379 01:33:12,940 --> 01:33:14,802 Svo við getum hringt frítt á x. 2380 01:33:14,802 --> 01:33:18,730 2381 01:33:18,730 --> 01:33:20,556 Einhverjar Síðustu spurningarnar? 2382 01:33:20,556 --> 01:33:21,701 >> DAVIN: Allar Síðustu spurningarnar? 2383 01:33:21,701 --> 01:33:22,200 Já? 2384 01:33:22,200 --> 01:33:25,152 >> Námsmaður: Því miður, þú getur aftur að útskýra hvers vegna þú myndir losa þarna? 2385 01:33:25,152 --> 01:33:26,630 Hvers vegna [inaudible]? 2386 01:33:26,630 --> 01:33:27,774 >> DAVIN: Fyrir hér? 2387 01:33:27,774 --> 01:33:29,109 >> Nemandi: Já, eins og rétt eftir. 2388 01:33:29,109 --> 01:33:30,900 DAVIN: Þú sennilega vil ekki frjáls hér. 2389 01:33:30,900 --> 01:33:31,630 Rob: Þú myndir sennilega ekki. 2390 01:33:31,630 --> 01:33:33,060 DAVIN: Já, að þetta myndi gera neitt. 2391 01:33:33,060 --> 01:33:35,220 Þetta myndi, eins og, búa minni, gera efni á það, 2392 01:33:35,220 --> 01:33:37,390 og þá strax gleyma um það, já. 2393 01:33:37,390 --> 01:33:39,850 >> Rob: En við gætum gert, eins og, hér fyrir sumir ástæða. 2394 01:33:39,850 --> 01:33:43,902 Við gætum sagt int stjörnu Y jafngildir array aftur. 2395 01:33:43,902 --> 01:33:47,900 Gera smá dót með y, kannski prenta innihald. 2396 01:33:47,900 --> 01:33:49,350 Og svo, að lokum, við erum að gera. 2397 01:33:49,350 --> 01:33:50,626 Við getum frjáls y. 2398 01:33:50,626 --> 01:33:51,501 Nemandi: [inaudible]. 2399 01:33:51,501 --> 01:33:57,839 2400 01:33:57,839 --> 01:33:59,005 DAVIN: Ætti ég skruna niður? 2401 01:33:59,005 --> 01:34:00,445 Takk. 2402 01:34:00,445 --> 01:34:00,945 Ræna: Nice. 2403 01:34:00,945 --> 01:34:02,400 2404 01:34:02,400 --> 01:34:03,646 >> DAVIN: OK, það er það. 2405 01:34:03,646 --> 01:34:04,520 Rob: Allt í lagi, gott. 2406 01:34:04,520 --> 01:34:05,070 Gangi þér vel. 2407 01:34:05,070 --> 01:34:06,800 >> DAVIN: Ef þú hefur einhverjar spurningar, sendu okkur tölvupóst. 2408 01:34:06,800 --> 01:34:08,670 Gangi þér vel. 2409 01:34:08,670 --> 01:34:10,283