1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ALLISON BUCHHOLTZ-AU: Hey, iedereen. 3 00:00:12,170 --> 00:00:13,560 Welkom op de afdeling. 4 00:00:13,560 --> 00:00:17,320 Vandaag is gewoon om alle quiz zijn herzien voor uw quiz op woensdag. 5 00:00:17,320 --> 00:00:20,060 Ik hoop dat iedereen herinnert zich dat ze hebben een quiz op woensdag. 6 00:00:20,060 --> 00:00:22,560 En als je dat niet deed, nou ja, nu heb herinnerd. 7 00:00:22,560 --> 00:00:26,486 Dus woensdag zorg ervoor dat je komt opdagen voor klasse of andere accommodaties als 8 00:00:26,486 --> 00:00:26,985 noodzakelijk. 9 00:00:26,985 --> 00:00:27,845 10 00:00:27,845 --> 00:00:29,220 Jullie gaan geweldig te zijn. 11 00:00:29,220 --> 00:00:30,440 Het zal geweldig zijn. 12 00:00:30,440 --> 00:00:34,910 En ik ga er alles aan doen te helpen bij de voorbereiding u vandaag voor uw quiz 13 00:00:34,910 --> 00:00:35,470 nu. 14 00:00:35,470 --> 00:00:39,960 En ook in het geval u niet weet, Er is een cursus breed beoordeling sessie 15 00:00:39,960 --> 00:00:45,840 vandaag om 07:00 in Northwest labs kamer B103. 16 00:00:45,840 --> 00:00:49,950 Je kunt me weer te zien voor een toegift als Ik zal een deel van die beoordeling sessie leiden 17 00:00:49,950 --> 00:00:50,510 ook. 18 00:00:50,510 --> 00:00:53,218 Dus als je niet genoeg van me krijgen nu kunt u weer komen vanavond. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> Oké, dus eerst iets anders. 21 00:00:56,060 --> 00:00:59,630 Slechts enkele quiz tips voordat we eigenlijk duiken naar reviews. 22 00:00:59,630 --> 00:01:04,160 Dus net als bij elk examen, praktijk zal je zeker helpen. 23 00:01:04,160 --> 00:01:09,260 Er zijn onderzoeken uit het verleden zes of zeven jaar van het bestaan, 24 00:01:09,260 --> 00:01:12,480 dus dat is veel oefening materiaal voor jullie te hebben. 25 00:01:12,480 --> 00:01:15,340 En in feite, vandaag is het echt gewoon gaat worden gaan over welke onderwerpen 26 00:01:15,340 --> 00:01:18,900 dat jullie vragen op ook hebben zo werken via de praktijk problemen 27 00:01:18,900 --> 00:01:20,360 vanaf quiz nul. 28 00:01:20,360 --> 00:01:22,690 Dus ik zal overgeven quiz nul van vorig jaar hier, 29 00:01:22,690 --> 00:01:26,410 en we kunnen werken door middel van eventuele problemen dat jullie zouden willen. 30 00:01:26,410 --> 00:01:27,370 >> Dus oefenen. 31 00:01:27,370 --> 00:01:29,310 Je gaat om te beginnen om dat te doen vandaag. 32 00:01:29,310 --> 00:01:30,230 Code op papier. 33 00:01:30,230 --> 00:01:32,970 Dus ja, als iedereen kon eigenlijk uit 34 00:01:32,970 --> 00:01:35,810 papier, dat zal geweldig zijn, omdat je niet 35 00:01:35,810 --> 00:01:41,470 gaat uw computer op het hebben examen en het schrijven van de code door de hand 36 00:01:41,470 --> 00:01:44,190 vaak veel moeilijker dan je zou verwachten. 37 00:01:44,190 --> 00:01:46,680 Je bent gewend om gewoon het zien en te typen, 38 00:01:46,680 --> 00:01:49,630 en je hebt je compiler u te helpen wanneer je fouten hebt, 39 00:01:49,630 --> 00:01:52,190 maar je hoeft niet te krijgen dat op het examen. 40 00:01:52,190 --> 00:01:55,140 Dus het is echt belangrijk om daadwerkelijk in staat de code uit te schrijven, 41 00:01:55,140 --> 00:01:58,360 en die spier geheugen doen het met de hand zal je echt helpen. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> Dus we krijgen een beetje dicht. 44 00:02:01,690 --> 00:02:02,340 Het is maandag. 45 00:02:02,340 --> 00:02:03,930 Uw examen is op woensdag. 46 00:02:03,930 --> 00:02:06,030 Maar als je tijd hebt, zeker neem een 47 00:02:06,030 --> 00:02:10,199 van de examens van vorig jaar of de jaar voordat het onder tijdsdruk 48 00:02:10,199 --> 00:02:11,660 van een uur en een half. 49 00:02:11,660 --> 00:02:13,730 Gewoon knock-out een uur en de helft van de tijd, 50 00:02:13,730 --> 00:02:17,480 en zitten dan naar beneden, en gewoon werken door de problemen 51 00:02:17,480 --> 00:02:19,962 alsof je daadwerkelijk waren nemen, omdat een 52 00:02:19,962 --> 00:02:23,295 van de grootste dingen die we horen over quizzen is dat ze erg lang. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 Het is veel materiaal. 55 00:02:26,660 --> 00:02:30,850 Er zijn veel vragen, en de meeste mensen kunnen het niet afmaken. 56 00:02:30,850 --> 00:02:34,660 Ik weet dat ik helemaal niet af mijn quizzen toen ik de klas. 57 00:02:34,660 --> 00:02:37,180 >> Op deze nota, als een minder comfortabele sectie, 58 00:02:37,180 --> 00:02:40,570 begrijpen dat deze cursus is bedoeld om tegemoet te komen voor mensen van alle niveaus. 59 00:02:40,570 --> 00:02:43,640 De hele reden dat we u splitsen minder comfortabel, ergens tussen 60 00:02:43,640 --> 00:02:47,660 en comfortabeler is soort het eerlijker te maken. 61 00:02:47,660 --> 00:02:51,699 En als je minder comfortabel, het is niet per se nodig om alles te krijgen. 62 00:02:51,699 --> 00:02:53,990 Alsof u het krijgen van alles, zou je waarschijnlijk 63 00:02:53,990 --> 00:02:55,448 in het comfortabeler sectie. 64 00:02:55,448 --> 00:03:00,160 Zo duidelijk jezelf niet in elkaar slaan te hard als je kunt niet het examen af ​​te maken. 65 00:03:00,160 --> 00:03:01,920 Neem het van mij, ik heb het niet gedaan. 66 00:03:01,920 --> 00:03:03,070 Ik ben nog steeds een concentrator. 67 00:03:03,070 --> 00:03:04,630 Ik ben nog aan het helpen leren de cursus. 68 00:03:04,630 --> 00:03:06,170 Zit je goed. 69 00:03:06,170 --> 00:03:06,670 Prima. 70 00:03:06,670 --> 00:03:08,740 En tot slot, wat te slapen. 71 00:03:08,740 --> 00:03:11,020 Uiteraard met het examen we zeggen dat dit altijd. 72 00:03:11,020 --> 00:03:13,610 Vetmesting de avond tevoren en krijg geen slaap 73 00:03:13,610 --> 00:03:16,390 doet niet-- misschien als dat voor u werkt, go for it. 74 00:03:16,390 --> 00:03:18,790 Maar voor de meeste mensen, het krijgen van wat slaap, 75 00:03:18,790 --> 00:03:22,390 laat je hersenen rust en herstellen voordat hij in voor het examen 76 00:03:22,390 --> 00:03:23,480 zal je echt helpen. 77 00:03:23,480 --> 00:03:26,120 Ook zal er bijna candy zeker op het examen, 78 00:03:26,120 --> 00:03:28,019 dus je moet naar uit te kijken. 79 00:03:28,019 --> 00:03:29,310 Jullie zijn naar grote doen. 80 00:03:29,310 --> 00:03:30,226 Het gaat goed komen. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 En nu in het volgende uur en een half ik zal proberen en prep je zo goed als ik kan. 83 00:03:36,190 --> 00:03:41,260 >> Dus ik heb dia's uit principe alle secties tot nu. 84 00:03:41,260 --> 00:03:45,874 Ik ben niet van plan om te gaan door allemaal omdat dat niet 85 00:03:45,874 --> 00:03:49,040 uitvoerbaar in een uur en een half ook zo werken via praktijk problemen. 86 00:03:49,040 --> 00:03:51,410 Dus in plaats daarvan heb ik een lijst met onderwerpen. 87 00:03:51,410 --> 00:03:55,160 Dit zijn alle dingen dat we konden ondervragen u op. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 Als er iets is die echt springt uit 90 00:03:58,770 --> 00:04:02,140 dat u wilt over te gaan, dat je willen dat ik meer dan conceptueel gaan, 91 00:04:02,140 --> 00:04:04,320 Ik kan proberen en geven u een overzicht daar. 92 00:04:04,320 --> 00:04:07,690 Of als je wilt naar rechts springen in op doen praktijk problemen samen, 93 00:04:07,690 --> 00:04:08,420 kunnen we dat doen. 94 00:04:08,420 --> 00:04:09,330 Het is aan jullie. 95 00:04:09,330 --> 00:04:10,770 Er zijn niet zo heel veel van jullie. 96 00:04:10,770 --> 00:04:13,180 Dus het is wat jullie willen doen. 97 00:04:13,180 --> 00:04:15,667 Ik wil de meeste zijn behulpzaam naar jullie. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 Dus ik laat je gewoon kijken. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> Publiek: Een ding is de grafiek die we houden 102 00:04:30,500 --> 00:04:33,290 zegt over de stack en de heap. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 Gewoon het hele idee achter dat en wat dat betekent. 105 00:04:37,434 --> 00:04:38,350 ALLISON BUCHHOLTZ-AU: Ja, OK. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 Dit is helemaal aan de end, dus laat me doorlopen. 108 00:04:43,216 --> 00:04:45,490 >> PUBLIEK: We hoeven niet te doe het nu, maar wat. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ALLISON BUCHHOLTZ-AU: Was er anything-- deze. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 Is dit soort fuzzy voor mensen? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 Publiek: Ja, ik tweede dat. 115 00:04:55,640 --> 00:04:57,718 En kunnen we ook niet buffer overflow? 116 00:04:57,718 --> 00:04:58,926 ALLISON BUCHHOLTZ-AU: Buffer overflow? 117 00:04:58,926 --> 00:04:59,820 OK. 118 00:04:59,820 --> 00:05:03,460 Dus buffer overflow is vrij gemakkelijk alleen maar om over te praten. 119 00:05:03,460 --> 00:05:08,217 Het is eigenlijk buffert je erover sommige scala geheugen dat je hebt, toch? 120 00:05:08,217 --> 00:05:10,050 We praten meestal over buffer overflow bij 121 00:05:10,050 --> 00:05:15,160 je bent niet te controleren hoeveel de gebruiker is bezig, toch? 122 00:05:15,160 --> 00:05:18,540 En het idee is met buffer overflow is 123 00:05:18,540 --> 00:05:21,535 ze zetten in ver te veel gegevens voor de ruimte 124 00:05:21,535 --> 00:05:23,780 dat je voor hen hebt toegewezen, toch? 125 00:05:23,780 --> 00:05:28,310 >> Dus als je zegt, geef me wat bericht, we zijn 126 00:05:28,310 --> 00:05:31,860 in de veronderstelling dat ze gaan geven ons een redelijke lengte bericht. 127 00:05:31,860 --> 00:05:33,910 Misschien een paar lijnen, wat al niet. 128 00:05:33,910 --> 00:05:35,150 Zodat we niet controleren. 129 00:05:35,150 --> 00:05:38,160 In plaats daarvan voeden ze ons in een hele boek, dat is een boodschap, 130 00:05:38,160 --> 00:05:42,450 en overstroomt de hoeveelheid ruimte die we voor dit hebt toegewezen. 131 00:05:42,450 --> 00:05:48,140 En wat er gebeurt is het misschien overschrijven plaatsen dat het niet hoort. 132 00:05:48,140 --> 00:05:52,890 >> Dus ik weet Professor Malan zei iets over buffer overflow aanvallen. 133 00:05:52,890 --> 00:05:59,050 Dus dat is waar de gebruiker wil invoeren sommige enorme hoeveelheid gegevens in de hoop 134 00:05:59,050 --> 00:06:02,840 dat hij overschrijft verleden het einde van uw buffer 135 00:06:02,840 --> 00:06:06,479 en vervangt something-- ik vraag me af Ik hebben we deze dia in hier. 136 00:06:06,479 --> 00:06:08,270 Ik denk niet dat we hebben die dia's in hier. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 Maar in principe overschrijft hij een deel van het geheugen 139 00:06:14,460 --> 00:06:17,780 dat hem in staat stelt toegang delen van de computer 140 00:06:17,780 --> 00:06:19,530 dat zou je niet normaal hebben toegang tot. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> Grootste ding met buffer overflow is gewoon 143 00:06:23,155 --> 00:06:26,420 te begrijpen dat het gebeurt er als u niet 144 00:06:26,420 --> 00:06:29,210 controleren hoeveel uw gebruiker zet in. 145 00:06:29,210 --> 00:06:32,770 Wanneer u niet soort vrijwaren tegen. 146 00:06:32,770 --> 00:06:36,820 En op zijn eenvoudigste ding, het is gewoon jouw gebruiker 147 00:06:36,820 --> 00:06:39,130 invoeren van een enorme hoeveelheid van gegevens in een poging 148 00:06:39,130 --> 00:06:45,090 om enige zekerheid te overschrijven deel van je geheugen. 149 00:06:45,090 --> 00:06:46,310 Dat is alles wat het is. 150 00:06:46,310 --> 00:06:49,810 >> Dus dit hier, stack en heap. 151 00:06:49,810 --> 00:06:53,090 In principe is dit alles is slechts een weergave van het geheugen 152 00:06:53,090 --> 00:06:54,449 en waar dingen worden opgeslagen. 153 00:06:54,449 --> 00:06:56,240 Dat is echt een soort van alles wat u moet weten. 154 00:06:56,240 --> 00:06:58,520 De grootste dingen die u moet weten zijn 155 00:06:58,520 --> 00:07:01,910 dat-- laat me zien of er is een better-- hier. 156 00:07:01,910 --> 00:07:05,380 Dus dit is de stapel hier. 157 00:07:05,380 --> 00:07:08,410 >> Dus stack heeft te maken met al uw functies 158 00:07:08,410 --> 00:07:10,140 die u belt op een gegeven moment. 159 00:07:10,140 --> 00:07:15,060 En wat belangrijk is om te onthouden gaan uit van vorige week met malloc 160 00:07:15,060 --> 00:07:21,080 is dat je niet echt noodzakelijke controle over. 161 00:07:21,080 --> 00:07:24,780 Het hangt allemaal af wanneer bepaalde functies worden uitgevoerd. 162 00:07:24,780 --> 00:07:28,170 En als ze het uitvoeren, zij hebben wat zijn stack frames genoemd 163 00:07:28,170 --> 00:07:29,290 dat hier te gaan. 164 00:07:29,290 --> 00:07:32,520 >> Dus alle soorten van gebeurt zonder echte inbreng van u. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 Je schrijft je programma, en je laat het uit te voeren, 167 00:07:35,510 --> 00:07:38,470 en de stapel soort neemt zorg van zichzelf als het moet. 168 00:07:38,470 --> 00:07:42,940 Dus als in de belangrijkste u belt kubus, die hier zal worden doorgegeven. 169 00:07:42,940 --> 00:07:44,110 Het zal een kader creëren. 170 00:07:44,110 --> 00:07:48,330 Maar er is niets wat je expliciet doen aan dat andere dan stackframe creëren 171 00:07:48,330 --> 00:07:51,430 schrijf de functie om te beginnen, OK? 172 00:07:51,430 --> 00:07:56,500 >> Wat is een soort van onder uw controle is de heap met malloc. 173 00:07:56,500 --> 00:08:01,950 Dus wanneer je malloc iets, je geheugen nemen van de hoop. 174 00:08:01,950 --> 00:08:05,110 En dat is het geheugen dat u hebben, bij gebrek aan een beter woord, 175 00:08:05,110 --> 00:08:10,300 expliciete controle over, want vergeet niet met malloc 176 00:08:10,300 --> 00:08:12,530 het is in principe is er totdat je anders zeggen. 177 00:08:12,530 --> 00:08:14,890 Voor degenen onder u die keek sectie vorige week, 178 00:08:14,890 --> 00:08:17,670 dat het er is totdat je hem vertelt om weg te gaan. 179 00:08:17,670 --> 00:08:20,850 Het zal er, tenzij zijn anders gezegd niet. 180 00:08:20,850 --> 00:08:24,750 Dus de hoop is gewoon iets je kunt bedenken als het geheugen 181 00:08:24,750 --> 00:08:26,150 dat u controle over. 182 00:08:26,150 --> 00:08:29,010 En dat zijn slechts de twee verschillende grote dingen. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> Anders dan dat, moet je niet hebben te veel zorgen te maken over stack en heap 185 00:08:38,330 --> 00:08:42,159 vragen of meestal meer gewoon als je de lokale parameters 186 00:08:42,159 --> 00:08:45,385 of een functie zou het zijn op de stapel of de heap. 187 00:08:45,385 --> 00:08:47,260 Uiteraard in dit geval zou de stack. 188 00:08:47,260 --> 00:08:49,630 Als je mallocing iets, waar is die vandaan? 189 00:08:49,630 --> 00:08:50,129 De heap. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 Als je kijkt naar de praktijk quizzen, die algemeen het soort vragen 192 00:08:54,230 --> 00:08:55,460 dat zij. 193 00:08:55,460 --> 00:08:57,340 >> U hoeft geen zorgen te maken te veel over. 194 00:08:57,340 --> 00:09:00,980 U krijgt in meer expliciet over stack en heap 195 00:09:00,980 --> 00:09:03,460 later op of in andere CS klassen. 196 00:09:03,460 --> 00:09:06,220 Dus gewoon met een soort van een algemeen idee van wat dit is 197 00:09:06,220 --> 00:09:09,100 zal goed zijn, dat ik gewoon een soort ging. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 Eventuele andere onderwerpen? 200 00:09:12,090 --> 00:09:12,590 Ja? 201 00:09:12,590 --> 00:09:14,923 >> Publiek: Kunt u over te gaan pointers weer echt snel? 202 00:09:14,923 --> 00:09:15,870 ALLISON BUCHHOLTZ-AU: Pointers? 203 00:09:15,870 --> 00:09:18,470 Heeft u conceptuele wilt overzicht van pointers 204 00:09:18,470 --> 00:09:19,994 of wil je oefenen met pointers? 205 00:09:19,994 --> 00:09:21,410 Publiek: Zoiets als de syntax. 206 00:09:21,410 --> 00:09:22,360 ALLISON BUCHHOLTZ-AU: De syntax? 207 00:09:22,360 --> 00:09:22,860 Yeah. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 OK, we krijgen er. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 Ja, dus dit is gewoon een soort van iets als je een recursieve functie, 212 00:09:42,040 --> 00:09:45,954 elke keer dat recursieve functie genoemd, het voegt gewoon andere stack frame. 213 00:09:45,954 --> 00:09:47,870 Vrij veel een voorbeeld van hoe je echt niet 214 00:09:47,870 --> 00:09:50,330 de controle over de frames op je stapel. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> OK, wijzers. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 Oké, dus het maken van pointers. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 Vergeet niet, het is gewoon het type ster. 221 00:10:02,420 --> 00:10:07,140 Dus ongeacht het type gegevens dat je gaat wijzen naar. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 Dus dit een pointer naar een int zijn. 224 00:10:11,440 --> 00:10:13,140 Dit zou een pointer naar een char. 225 00:10:13,140 --> 00:10:14,740 Dit zou een pointer naar een float zijn. 226 00:10:14,740 --> 00:10:17,980 Dus het is eigenlijk wat je wilt dat het te wijzen op, 227 00:10:17,980 --> 00:10:22,300 ster is hoe verklaart u de aanwijzer, OK? 228 00:10:22,300 --> 00:10:26,200 >> Maar dan uiteraard krijgt een beetje lastig als je wijzer hebben 229 00:10:26,200 --> 00:10:27,370 of je hebt de hoofdrol wat dan ook. 230 00:10:27,370 --> 00:10:31,260 Dus het grote verschil is als je declaring-- 231 00:10:31,260 --> 00:10:45,590 dus we hebben some-- zo Dit kost wat int ster. 232 00:10:45,590 --> 00:10:49,650 Dus dit is wat wijzer noemt x naar een int, toch? 233 00:10:49,650 --> 00:10:54,600 Dus niet vergeten wat dit doet is dit noemt het systeem x. 234 00:10:54,600 --> 00:10:56,970 En dit gaat hebben een aantal adres, toch? 235 00:10:56,970 --> 00:11:00,515 Dus laten we gewoon zeggen dat dit ons adres. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 Pointers adressen. 238 00:11:03,570 --> 00:11:08,660 Dus wat dit zegt is dat op dit locatie, zijn we het opslaan van een int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> Dus een andere manier kunnen we denken aan is dat deze enige int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 We hebben niet echt het toegewezen aan nog niks, maar het is gewoon een int. 243 00:11:20,350 --> 00:11:31,540 Dus we kunnen doen is als we ster x gelijk aan 5, wordt dit een 5, OK? 244 00:11:31,540 --> 00:11:38,350 Dit zegt naar wat x is wijzend op, dus ga naar dit adres 245 00:11:38,350 --> 00:11:40,210 en maken het gelijk aan 5. 246 00:11:40,210 --> 00:11:44,390 Dus we toewijzen 5 naar dit adres, toch? 247 00:11:44,390 --> 00:11:52,540 >> En dan als je dit doet, Dit geeft ons het adres van. 248 00:11:52,540 --> 00:11:54,730 Dit is het adres van de exploitant. 249 00:11:54,730 --> 00:11:57,700 Dus wat is het adres van x? 250 00:11:57,700 --> 00:11:58,809 We weten het niet. 251 00:11:58,809 --> 00:12:00,225 We hebben nog niet toegewezen is een adres. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 We zouden kunnen zeggen dat het nu gaven we some-- het een adres, dus het adres is 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 En eigenlijk als we gaan door iets als dit, een soort van wat we deden. 256 00:12:16,980 --> 00:12:25,800 Dus werken via hier-- vind ik het helpt als je trekken uit pointers. 257 00:12:25,800 --> 00:12:28,270 Als je op je examen, ik raden tekenen dozen. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> Dus dit eerste, int x gelijk 5. 260 00:12:33,310 --> 00:12:37,370 Dit betekent gewoon dat we een aantal plaatsen in het geheugen, dat is 5, toch? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 En onze tafel vertelt ons hier dat het op het adres 0x04. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 En dan maken we wat wijzer. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 Dus laten we dit opsplits een tegelijk. 267 00:12:55,310 --> 00:12:59,820 Dus dit maakt sommige box naar een int, toch? 268 00:12:59,820 --> 00:13:01,970 Het gaat om vast te houden sommige adres van een het. 269 00:13:01,970 --> 00:13:03,470 Dus dit is wat wijzer. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 En dit krijt is echt klein. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 Dus we hebben een aantal pointer hier. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 En onze tafel vertelt ons dat adres 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 Cool. 278 00:13:16,200 --> 00:13:23,240 En we zijn het toewijzen naar het adres van x. 279 00:13:23,240 --> 00:13:26,330 >> Vergeet niet, pointers adressen, OK? 280 00:13:26,330 --> 00:13:32,050 Dus als we willen x te houden, hebben we naar het adres operator, gebruiken die 281 00:13:32,050 --> 00:13:36,520 is de ampersand, om het adres te krijgen van x, die in dit geval, 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 En dan als we sommige int exemplaar, dit gewoon 284 00:13:44,430 --> 00:13:48,060 creëert een andere doos die houdt een int ook Copy. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 En als we deze toewijzen aan dit-- zodat deze verwijst naar het. 287 00:13:55,330 --> 00:14:00,090 Dus het zegt te gaan naar wat adres pointer houdt. 288 00:14:00,090 --> 00:14:05,330 Pointer houdt dit adres, dus we zouden hierheen gaan, 289 00:14:05,330 --> 00:14:07,130 en wij zeggen, OK, wat er in zit? 290 00:14:07,130 --> 00:14:08,610 Het is 5. 291 00:14:08,610 --> 00:14:09,815 Dus exemplaar wordt 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 Zinvol? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> Wat als ik probeerde te wijzen Dit om gewoon pointer. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 Wat doet pointer eigenlijk gelijk? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 Het zou net zijn wat pointer bevat, toch? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 En dan wat als ik dit deed? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 Wat zou kopie zijn nu? 304 00:14:39,880 --> 00:14:41,365 305 00:14:41,365 --> 00:14:42,275 >> Publiek: 0x08. 306 00:14:42,275 --> 00:14:44,150 ALLISON BUCHHOLTZ-AU: Yep, de adres van onze pointer. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 Elk deel van dat dat moet opnieuw toegelichte? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 Cool. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 Er is zeker een zeer fun probleem op quiz één 313 00:14:57,740 --> 00:15:00,100 dat we kunnen meer dan dat geeft u meer praktijk. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 De jongens van vorige week kan je vertellen dat het niet zo slecht was. 316 00:15:03,270 --> 00:15:06,000 We kregen een hele chart, en iedereen deed geweldig. 317 00:15:06,000 --> 00:15:10,830 >> OK, dus dat is overzicht van de syntaxis van pointers. 318 00:15:10,830 --> 00:15:15,070 Grootste ding is te begrijpen hoe om ze te maken, doen verwijzen, 319 00:15:15,070 --> 00:15:18,190 en het adres van, OK? 320 00:15:18,190 --> 00:15:18,690 Cool. 321 00:15:18,690 --> 00:15:20,775 Andere onderwerpen die vóór duiken we in de praktijk. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 Ook als we gaan door de praktijk problemen 324 00:15:28,011 --> 00:15:30,760 en er is iets wat je wilt een opfriscursus over, kunnen wij dat ook doen. 325 00:15:30,760 --> 00:15:31,300 Heb je iets? 326 00:15:31,300 --> 00:15:32,758 >> PUBLIEK: Structs en gelinkte lijsten. 327 00:15:32,758 --> 00:15:35,130 ALLISON BUCHHOLTZ-AU: Structs en gelinkte lijsten, OK. 328 00:15:35,130 --> 00:15:37,100 Dus structs. 329 00:15:37,100 --> 00:15:38,990 We eigenlijk gaan meer dan dit vanavond ook. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 OK, dus structs. 332 00:15:41,890 --> 00:15:47,490 Structs zijn in principe gewoon een manier voor u om vast te houden 333 00:15:47,490 --> 00:15:50,430 meerdere waarden van verschillende types. 334 00:15:50,430 --> 00:15:55,150 Dus met een scala wij zijn vernauwd een gegevenstype. 335 00:15:55,150 --> 00:16:00,965 Ons aanbod heeft ofwel om gewoon nummers, of gewoon klusjes, of gewoon praalwagens. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> Maar misschien moet je bevatten meer dan dat. 338 00:16:05,470 --> 00:16:09,130 Misschien moet u hold-- als je praat over een student, 339 00:16:09,130 --> 00:16:13,660 je gaat naar hun huis hebben, hun ID-nummer, hun leeftijd, waar ze wonen, 340 00:16:13,660 --> 00:16:14,240 toch? 341 00:16:14,240 --> 00:16:16,460 En al die zijn verschillende soorten types. 342 00:16:16,460 --> 00:16:18,680 Dus je kunt niet opslaan die alle in een array. 343 00:16:18,680 --> 00:16:21,750 >> Dus wat je kunt doen is je kan een structuur creëren die 344 00:16:21,750 --> 00:16:26,240 je kunt bedenken als je eigen persoonlijke data type. 345 00:16:26,240 --> 00:16:29,130 Dus in plaats van enkel het hebben van ints en in plaats van enkel het hebben van praalwagens, 346 00:16:29,130 --> 00:16:33,210 U kunt een student hebben dat heeft al deze velden in. 347 00:16:33,210 --> 00:16:39,740 Dus de manier waarop we initialiseren onze structs is-- eigenlijk 348 00:16:39,740 --> 00:16:44,921 sinds mijn schrijven is verschrikkelijk, we gaan om de overgang te typen. 349 00:16:44,921 --> 00:16:45,420 Woo. 350 00:16:45,420 --> 00:16:48,800 351 00:16:48,800 --> 00:16:53,150 >> OK, dus als we willen een struct-- creëren Ik ga gewoon naar beneden hier. 352 00:16:53,150 --> 00:16:57,730 Negeer de in belangrijkste wat die we later zullen gebruiken. 353 00:16:57,730 --> 00:17:02,330 Dus de manier waarop je wilt doen het is met typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 En laten we gewoon noemen deze student want dat is wat ik gebruikte. 356 00:17:13,349 --> 00:17:17,801 OK, dus typedef betekent dat je het definiëren van een nieuw type, OK? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 Er zijn nuances in als je dat doet gewoon een structuur versus een typedef struct. 359 00:17:24,355 --> 00:17:26,313 In alle opzichten doeleinden, jullie zijn gewoon 360 00:17:26,313 --> 00:17:29,490 ga ervan uit dat ze ongeveer hetzelfde en net 361 00:17:29,490 --> 00:17:30,820 Gebruik typedef struct voor nu. 362 00:17:30,820 --> 00:17:35,180 Het zal veel meer zichtbaar in geworden uw volgende P set wat die verschillen zijn, 363 00:17:35,180 --> 00:17:37,960 maar ik denk niet dat je nodig hebt om zorgen over dat moment. 364 00:17:37,960 --> 00:17:40,360 Ik zou veel liever je weten hoe er een te maken, 365 00:17:40,360 --> 00:17:41,880 toegang toe, en wijs [? waarde. ?] 366 00:17:41,880 --> 00:17:47,820 >> Een nieuw type struct, en we noemen het student. 367 00:17:47,820 --> 00:17:52,640 Dus nadat we klaar bent met het maken van dit, voor alle doeleinden, 368 00:17:52,640 --> 00:17:55,070 heb je een soort genaamd student. 369 00:17:55,070 --> 00:17:59,610 En kunt u denken aan het gewoon als een soort als een int, of een float, of een char. 370 00:17:59,610 --> 00:18:01,820 Het is gewoon een ander type, OK? 371 00:18:01,820 --> 00:18:04,530 >> Dus in deze, wat hebben we? 372 00:18:04,530 --> 00:18:05,420 We hebben misschien een naam. 373 00:18:05,420 --> 00:18:08,275 Dus misschien willen we een string naam. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 En we hebben misschien een int dat is een ID. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 En we hebben een ander in dat is het telefoonnummer. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 En we hebben some-- laten we eens kijken. 380 00:18:26,200 --> 00:18:27,200 Wat zouden we hebben? 381 00:18:27,200 --> 00:18:29,385 We zullen een stukje tekst in zijn huis te hebben. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 Alle dingen die een student heeft. 384 00:18:34,510 --> 00:18:36,960 >> Dus dit maakt nu een structuur. 385 00:18:36,960 --> 00:18:41,450 Dus hoe kunnen we zorgen voor een student? 386 00:18:41,450 --> 00:18:46,960 Als we een aantal variabele die gaat hier over Walker praten, 387 00:18:46,960 --> 00:18:51,245 dus we have-- we zijn gewoon ga dit wandelaar noemen. 388 00:18:51,245 --> 00:18:52,520 Hij heeft een type. 389 00:18:52,520 --> 00:18:53,770 Wat is je type? 390 00:18:53,770 --> 00:18:54,520 Publiek: Student. 391 00:18:54,520 --> 00:18:55,395 ALLISON BUCHHOLTZ-AU: Student. 392 00:18:55,395 --> 00:18:57,130 393 00:18:57,130 --> 00:19:04,800 Dus dit gewoon creëert een object dat u kunt denk aan die heeft al deze dingen. 394 00:19:04,800 --> 00:19:07,880 U heeft zojuist een rollator student. 395 00:19:07,880 --> 00:19:10,910 Dus nu moeten we in staat zijn om al deze toe te wijzen, toch? 396 00:19:10,910 --> 00:19:13,500 Dus heeft iemand nog hoe we toegang binnen een structuur? 397 00:19:13,500 --> 00:19:14,762 398 00:19:14,762 --> 00:19:15,470 Publiek: Periode. 399 00:19:15,470 --> 00:19:16,730 ALLISON BUCHHOLTZ-AU: Periode Precies. 400 00:19:16,730 --> 00:19:23,795 Dus als we wilden toekennen hem een ​​naam, kunnen we dat doen. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 Uiteraard zou dit be-- hier dit deel zou 403 00:19:28,680 --> 00:19:31,831 zijn binnen de belangrijkste, zo eigenlijk wil ik dit doen. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 Verklaar deze hierboven main zo dat we het kunnen gebruiken binnen main. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 Dus nu wil ik het om ID te doen, en we gaan gewoon wat doen daar, 408 00:20:00,980 --> 00:20:02,970 en dan zullen we een huis toe te wijzen. 409 00:20:02,970 --> 00:20:07,990 410 00:20:07,990 --> 00:20:09,000 Bam. 411 00:20:09,000 --> 00:20:09,650 Cool. 412 00:20:09,650 --> 00:20:19,870 >> Dus nu moeten we ooit nodig hebben om toegang te krijgen iets later on-- misschien we-- 413 00:20:19,870 --> 00:20:25,920 als we ooit nodig hebben om toegang te krijgen tot om het even wat, laten we gewoon doen een int kopie ID. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 En ik wil kopiëren ID Walker's in deze. 416 00:20:30,530 --> 00:20:31,370 Hoe zou ik het doen? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 Je nodig hebt om toegang te krijgen binnen de wandelaar struct tot [? naar die?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 En op dezelfde manier dat we toegewezen het hier, hoe 420 00:20:41,280 --> 00:20:45,573 kunnen we toegang krijgen tot het wanneer we willen geven die waarde aan iets anders? 421 00:20:45,573 --> 00:20:46,406 Publiek: Walker.id. 422 00:20:46,406 --> 00:20:47,252 423 00:20:47,252 --> 00:20:48,376 ALLISON BUCHHOLTZ-AU: Ja, precies. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 Dus dat is zo'n beetje alles wat u moet weten voor structs. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 Je hoeft alleen maar te denken aan ze als een andere variabele. 428 00:20:58,560 --> 00:21:01,710 Eigenlijk een creëer je eigen variabele soort, OK? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 Je gebruikt het om te verklaren variabelen in any way. 431 00:21:07,970 --> 00:21:10,290 Hier rollator is nog steeds een variabele. 432 00:21:10,290 --> 00:21:14,230 Het heeft gewoon een soort student nu in plaats van een type int, of een string type, 433 00:21:14,230 --> 00:21:15,070 of een type char. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 Als er een gemakkelijke manier om te praten over structuren, het is letterlijk een 436 00:21:19,930 --> 00:21:24,430 creëer uw eigen datatype die u toelaat om de groep 437 00:21:24,430 --> 00:21:28,320 al deze soort gegevens bij elkaar. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 Is dat zinvol? 440 00:21:31,595 --> 00:21:33,920 441 00:21:33,920 --> 00:21:34,420 OK. 442 00:21:34,420 --> 00:21:35,920 443 00:21:35,920 --> 00:21:37,530 Dat en de toegang met stippen. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 Vrijwel alles wat je nodig hebt. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> OK, waar heb mijn PowerPoint gaan? 448 00:21:46,600 --> 00:21:47,580 Hier is. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 Nou, dit is raar. 451 00:21:50,520 --> 00:21:53,950 452 00:21:53,950 --> 00:21:55,420 Aha. 453 00:21:55,420 --> 00:21:56,766 OK, cool. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 Iedere andere dingen of hebben we wil aan het hoofd om te oefenen? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 Oefenen? 458 00:22:02,710 --> 00:22:03,501 OK. 459 00:22:03,501 --> 00:22:04,000 Awesome. 460 00:22:04,000 --> 00:22:05,642 461 00:22:05,642 --> 00:22:06,600 Ik ga dit af te sluiten. 462 00:22:06,600 --> 00:22:08,490 Indien op enig moment tijdens oefenvragen, 463 00:22:08,490 --> 00:22:12,630 Ik ben blij om te vernieuwen en gaan door dingen. 464 00:22:12,630 --> 00:22:15,240 Dus ik heb quiz nul up hier. 465 00:22:15,240 --> 00:22:18,370 Als jullie willen trekken het op uw computer, 466 00:22:18,370 --> 00:22:20,670 gewoon graag nemen vijf minuten om te bladeren. 467 00:22:20,670 --> 00:22:23,540 Kiest u misschien een aantal top vragen die u wilt over te gaan. 468 00:22:23,540 --> 00:22:27,390 Als jullie niet kunnen beslissen, zullen we gewoon langzaam beginnen te werken door hen, 469 00:22:27,390 --> 00:22:31,590 maar ik weet zeker dat er gaan wat zijn vragen die u bijzonder 470 00:22:31,590 --> 00:22:34,890 te popelen om over te praten en hebben me door te werken met u allen. 471 00:22:34,890 --> 00:22:36,580 Dus gewoon doorgaan en neem vijf minuten. 472 00:22:36,580 --> 00:22:37,780 Blader door. 473 00:22:37,780 --> 00:22:40,620 En dit is de quiz van 2013. 474 00:22:40,620 --> 00:22:41,841 >> Publiek: Zero? 475 00:22:41,841 --> 00:22:43,630 >> ALLISON BUCHHOLTZ-AU: Yeah, quiz nul. 476 00:22:43,630 --> 00:22:45,647 We zijn niet quiz doet een spul. 477 00:22:45,647 --> 00:22:46,980 We zullen dat doen in een paar weken. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 Ook voor degenen onder u die kwam laat, we hebben snoep, 480 00:22:55,190 --> 00:23:00,580 doen jullie wil snoep? 481 00:23:00,580 --> 00:23:01,530 >> Publiek: Tuurlijk. 482 00:23:01,530 --> 00:23:03,321 >> ALLISON BUCHHOLTZ-AU: Ik ben gewoon gaat rond passeren. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 Hey, als je jongens krijgen hier vroeg, krijg je meer snoep. 485 00:23:11,940 --> 00:23:12,500 Dat is prima. 486 00:23:12,500 --> 00:23:13,550 Ben, wil je snoep wilt? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 U wilt een aantal van deze? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 Er is ook Snickers als iedereen wil Snickers. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 Ik zal ze hier en hier vertrekken. 493 00:23:29,360 --> 00:23:30,946 Voel je vrij. 494 00:23:30,946 --> 00:23:32,485 Wil je niet meer wilt? 495 00:23:32,485 --> 00:23:33,235 Publiek: Alle ingesteld. 496 00:23:33,235 --> 00:23:33,540 Dank u. 497 00:23:33,540 --> 00:23:36,248 >> ALLISON BUCHHOLTZ-AU: En ik had een mooie hoopje er bij het begin. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 Jullie krijgen om de quiz te nemen en Ik krijg bij een quiz indeling feest. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 Het is chaos. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 examens. 504 00:23:57,385 --> 00:23:58,650 Het zal zo leuk zijn. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 Zal geweldig zijn. 507 00:24:02,036 --> 00:24:04,430 Ik ben vrij zeker dat is een van de grootste personeel bonding 508 00:24:04,430 --> 00:24:05,380 nachten van het jaar. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 Heeft iemand quiz nul gedaan vanaf nog vorig jaar uit nieuwsgierigheid? 511 00:24:19,175 --> 00:24:20,335 >> Publiek: Delen ervan. 512 00:24:20,335 --> 00:24:21,543 >> ALLISON BUCHHOLTZ-AU: Delen van het, OK. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 Hebt u vragen over een van hen hebben? 515 00:24:26,482 --> 00:24:28,190 Publiek: Ik heb al ging naar de kantooruren. 516 00:24:28,190 --> 00:24:28,898 Dank je wel. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ALLISON BUCHHOLTZ-AU: Nou, hopelijk het is nog een beetje nuttig. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 Wanneer ben je naar kantooruren voor dat? 521 00:24:45,634 --> 00:24:47,300 Publiek: Mijn TF had ze vanmiddag. 522 00:24:47,300 --> 00:24:47,966 ALLISON BUCHHOLTZ-AU: Oh. 523 00:24:47,966 --> 00:24:48,977 Wie is je TF? 524 00:24:48,977 --> 00:24:49,854 525 00:24:49,854 --> 00:24:51,020 Publiek: Fred [? Wujaya?]. 526 00:24:51,020 --> 00:24:52,622 527 00:24:52,622 --> 00:24:54,080 ALLISON BUCHHOLTZ-AU: Er zijn zoveel TFs. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 Zo veel. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 Prima. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 Iemand enig om te beginnen dat ik kan noteer dat we willen werken? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 Ik neem aan dat de pointers een met de tafel. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 Ga ervoor. 538 00:25:57,610 --> 00:25:59,180 >> Publiek: Misschien is de schakelaar één. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ALLISON BUCHHOLTZ-AU: Dus nummer 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 Ik neem aan dat nummer 8 en 9 zijn waarschijnlijk die mensen willen om over te gaan. 543 00:26:10,770 --> 00:26:12,116 >> Publiek: En 10 en 11. 544 00:26:12,116 --> 00:26:21,860 545 00:26:21,860 --> 00:26:25,806 >> ALLISON BUCHHOLTZ-AU: En jullie weten je krijgt een pagina met aantekeningen, toch? 546 00:26:25,806 --> 00:26:28,450 >> Publiek: Ja, dus wat zijn We mogen dat voor zetten. 547 00:26:28,450 --> 00:26:30,658 >> ALLISON BUCHHOLTZ-AU: Je mag om iets neer te zetten. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 En het kan worden getypt. 550 00:26:32,720 --> 00:26:35,270 Voor zover ik me herinner, waren de onze getypt. 551 00:26:35,270 --> 00:26:37,022 >> Publiek: U kunt dit doen rug en beide zijden? 552 00:26:37,022 --> 00:26:38,780 >> ALLISON BUCHHOLTZ-AU: Ja, aan beide zijden. 553 00:26:38,780 --> 00:26:42,940 Dus zoiets als de hoop en [? back-end?] hoop, uw lopende 554 00:26:42,940 --> 00:26:43,780 tijden. 555 00:26:43,780 --> 00:26:44,840 Nuttig. 556 00:26:44,840 --> 00:26:47,990 Misschien kleine dingen over pointers om u te herinneren. 557 00:26:47,990 --> 00:26:49,205 Syntaxis voor dingen. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 Het hebben net als een skelet programma super nuttig. 560 00:26:54,830 --> 00:27:00,719 Ik weet dat ik altijd vergat precies wat Ik werd verondersteld om te schrijven voor int main, 561 00:27:00,719 --> 00:27:03,010 omdat ik altijd gewoon kopiëren plakken van mijn vorige P set 562 00:27:03,010 --> 00:27:06,232 of het is er al, dus Ik heb nooit echt het schreef, 563 00:27:06,232 --> 00:27:07,690 dus met dat kan zijn super handig. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> OK, dus waarom doen we niet beginnen met nummer 8 dan? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 Prima. 568 00:27:22,810 --> 00:27:23,310 OK. 569 00:27:23,310 --> 00:27:25,060 570 00:27:25,060 --> 00:27:26,310 Dus overweeg hieronder het programma. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 Zo duidelijk als we zien pointers, is het waarschijnlijk 573 00:27:30,700 --> 00:27:32,200 een goed idee om te beginnen met het tekenen, toch? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 Ik wil weten waar al mijn grote stukken van krijt ging. 576 00:27:36,760 --> 00:27:37,870 Dit is een beetje vervelend. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> Dus we hebben hier een aantal swap-functie dat gaat in twee pointers. 579 00:27:45,820 --> 00:27:48,630 Dus in dit geval, zij moet eigenlijk switching 580 00:27:48,630 --> 00:27:53,400 dingen tegenover onze oorspronkelijke swap functie die duurde slechts in kopieën. 581 00:27:53,400 --> 00:27:57,030 Dus wat het gaat doen is-- laten we beginnen met de belangrijkste, 582 00:27:57,030 --> 00:27:58,450 want dat is waar 1 is. 583 00:27:58,450 --> 00:28:04,296 >> Dus hebben we een aantal int x 1. 584 00:28:04,296 --> 00:28:11,860 We hebben een aantal y dat is gelijk aan 2. 585 00:28:11,860 --> 00:28:14,390 En dan hebben we een aantal swap dat gaat om deze te nemen. 586 00:28:14,390 --> 00:28:17,320 En laten we zien wat doen we hier hebben. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 En in onze table-- oh boy. 589 00:28:22,709 --> 00:28:23,792 Hoe ga ik om dit te doen? 590 00:28:23,792 --> 00:28:25,900 Ik ga naar mijn tafel te tekenen hier. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 Nauwelijks waardoor het daar. 593 00:28:50,552 --> 00:28:51,260 Nauwelijks het maken ervan. 594 00:28:51,260 --> 00:28:52,470 595 00:28:52,470 --> 00:28:57,960 1, 2, 3, 4, 5, 6, 7. 596 00:28:57,960 --> 00:29:11,220 597 00:29:11,220 --> 00:29:15,706 En ze geven ons dat 1 is 1 en 1 2. 598 00:29:15,706 --> 00:29:16,206 Cool. 599 00:29:16,206 --> 00:29:17,674 600 00:29:17,674 --> 00:29:18,174 Awesome. 601 00:29:18,174 --> 00:29:19,650 602 00:29:19,650 --> 00:29:20,464 So 3. 603 00:29:20,464 --> 00:29:21,380 En er is [? a 1.?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> Prima. 606 00:29:25,250 --> 00:29:35,202 En dan het adres van x is 0x123. 607 00:29:35,202 --> 00:29:41,260 En y is Ox127. 608 00:29:41,260 --> 00:29:41,760 Cool. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 Prima. 611 00:29:43,595 --> 00:29:46,710 Ik wil dat jullie werken aan dit voor slechts like-- werk op het 612 00:29:46,710 --> 00:29:48,385 met de mensen om je heen. 613 00:29:48,385 --> 00:29:50,340 Ik wou dat ik had gezegd dat terwijl ik aan het opzetten was. 614 00:29:50,340 --> 00:29:50,840 Werken. 615 00:29:50,840 --> 00:29:53,270 Proberen en te werken aan het door jezelf voor een paar minuten, 616 00:29:53,270 --> 00:29:54,930 en dan zal ik aan werken met je mee. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 Omdat de enige manier waarop je echt gaan om te leren is door het zelf te doen. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 Geen zorgen. 621 00:31:30,110 --> 00:31:30,610 Good luck. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> OK, waarom langzaam doen we niet begint te werken door middel van deze. 624 00:32:20,030 --> 00:32:23,695 Dus iedereen krijgt na regel één, x is 1. 625 00:32:23,695 --> 00:32:26,860 Na regel twee, x en y 1 en 2, toch? 626 00:32:26,860 --> 00:32:27,400 Cool. 627 00:32:27,400 --> 00:32:30,310 Dus regel drie is waar dingen krijgen interessant natuurlijk. 628 00:32:30,310 --> 00:32:34,970 >> Dus wat we hier hebben gedaan is dat we nu hebben verwisseld. 629 00:32:34,970 --> 00:32:42,360 We zeggen dat x en y die punten, of zij het adres van x en y, 630 00:32:42,360 --> 00:32:43,390 toch? 631 00:32:43,390 --> 00:32:48,451 Dus in dit geval, drie, Wat is de waarde van een? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 een was doorgegeven in is voorzien, de waarde van het adres van x, toch? 634 00:32:59,806 --> 00:33:02,542 635 00:33:02,542 --> 00:33:03,454 >> Publiek: 1? 636 00:33:03,454 --> 00:33:05,200 >> ALLISON BUCHHOLTZ-AU: Dus voegen we het aan de x? 637 00:33:05,200 --> 00:33:06,420 Wat is het adres x's? 638 00:33:06,420 --> 00:33:07,212 >> Publiek: 0x123. 639 00:33:07,212 --> 00:33:08,087 >> ALLISON BUCHHOLTZ-AU: Precies. 640 00:33:08,087 --> 00:33:13,960 641 00:33:13,960 --> 00:33:16,790 Maar wat is een eigenlijk verwijst naar? 642 00:33:16,790 --> 00:33:20,790 Als we dereferentie een, welke waarde zou het ons geven. 643 00:33:20,790 --> 00:33:21,290 Publiek: 1. 644 00:33:21,290 --> 00:33:23,164 ALLISON BUCHHOLTZ-AU: Het zou geven ons 1, want wat 645 00:33:23,164 --> 00:33:27,810 we zeggen is ga naar deze adres, vertel ons wat de waarde is. 646 00:33:27,810 --> 00:33:28,890 Dus wat zou worden b? 647 00:33:28,890 --> 00:33:30,500 648 00:33:30,500 --> 00:33:31,445 >> Publiek: 0x127. 649 00:33:31,445 --> 00:33:32,320 ALLISON BUCHHOLTZ-AU: Precies. 650 00:33:32,320 --> 00:33:33,610 651 00:33:33,610 --> 00:33:35,410 Dus het is het adres van y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 En wat dan [? dereferentie? ?] 654 00:33:39,811 --> 00:33:40,310 Publiek: 2. 655 00:33:40,310 --> 00:33:42,172 656 00:33:42,172 --> 00:33:43,380 ALLISON BUCHHOLTZ-AU: OK, dus nu vier. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 We zeiden een is equal-- goed nu hebben we gedaan int temp is gelijk aan ster van een. 659 00:33:51,300 --> 00:33:53,580 Dus wat verandert? 660 00:33:53,580 --> 00:33:55,680 Er is maar één ding hier dat verandert. 661 00:33:55,680 --> 00:33:56,180 Wat is het? 662 00:33:56,180 --> 00:33:57,892 663 00:33:57,892 --> 00:33:58,624 >> Publiek: Temp. 664 00:33:58,624 --> 00:33:59,540 ALLISON BUCHHOLTZ-AU: De temp. 665 00:33:59,540 --> 00:34:06,120 Dus we kunnen al deze herschrijven. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 Een goede strategie voor deze is gewoon uitzoeken 668 00:34:10,690 --> 00:34:14,050 welke veranderingen, omdat het vaakst er is maar een ding dat is 669 00:34:14,050 --> 00:34:16,300 gaat veranderen op een bepaald punt, OK? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 Dus we hebben toegewezen temp. 672 00:34:20,100 --> 00:34:26,929 >> Nu is ons volgende punt, vijf, we ster hebben gemaakt een gelijk aan ster b. 673 00:34:26,929 --> 00:34:28,880 Dus wat verandert nu? 674 00:34:28,880 --> 00:34:29,760 >> Publiek: Star een. 675 00:34:29,760 --> 00:34:32,081 >> ALLISON BUCHHOLTZ-AU: ster a, dus al het andere blijft hetzelfde. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 En wat doet de hoofdrol een gelijk? 678 00:34:39,900 --> 00:34:40,659 >> Publiek: 2. 679 00:34:40,659 --> 00:34:41,283 ALLISON BUCHHOLTZ-AU: 2. 680 00:34:41,283 --> 00:34:42,460 681 00:34:42,460 --> 00:34:42,960 Lovely. 682 00:34:42,960 --> 00:34:45,360 683 00:34:45,360 --> 00:34:46,239 Awesome. 684 00:34:46,239 --> 00:34:51,190 OK, en dan nu hebben we B is gelijk aan temp. 685 00:34:51,190 --> 00:34:53,907 Dus het enige wat veranderen is ster b. 686 00:34:53,907 --> 00:34:55,344 Al het andere blijft hetzelfde. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 En wat is ster b gelijk aan nu? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 En je hebt de tafel afgerond. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 Want nu aan het eind, als we zeggen x en y, we weten dat er op dit point-- 693 00:35:18,460 --> 00:35:23,060 we weten dat wanneer we veranderd ster a tot en met 2, 694 00:35:23,060 --> 00:35:29,620 wat dat deed is het zei OK, bij pakken 0x123 hier, verander het. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 Nu was dit 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 En vervolgens op dit punt, we zeiden OK, ga naar ster b. 699 00:35:40,600 --> 00:35:45,305 Dus ga naar het adres op 0x127 en maak er een 1. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 Dus nu helemaal aan het eind, wanneer we eigenlijk terug voor main, 702 00:35:53,110 --> 00:35:56,445 hebben we eigenlijk dat x gelijk aan 2 en y gelijk aan 1. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 Iedereen goed met dat? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 OK, cool. 707 00:36:02,320 --> 00:36:04,030 Nummer 9. 708 00:36:04,030 --> 00:36:05,950 Jullie werken aan dit. 709 00:36:05,950 --> 00:36:09,016 Ik ga voor het opzetten van een bestuur dus we kunnen trekken doorheen. 710 00:36:09,016 --> 00:36:09,910 Het zal een ontploffing zijn. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 De grote tabellen kan echt eng, ik weet het. 713 00:36:16,320 --> 00:36:19,910 Maar als je gewoon nemen ze één rij een tijd, krijgen ze een stuk minder eng. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 Prima. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> Dus je weet dat dit zal hebben doorlopen belangrijkste eerste, toch? 718 00:38:21,190 --> 00:38:24,140 Initialiseert x en y en vervolgens probeert om ze te ruilen. 719 00:38:24,140 --> 00:38:28,560 Dus zelfs swap is hierboven, echte manier het gaat is dat we gaan via de grote, 720 00:38:28,560 --> 00:38:31,040 en dan is het te bellen tot ruilen, oké? 721 00:38:31,040 --> 00:38:32,810 Zodat iedereen weet dat. 722 00:38:32,810 --> 00:38:34,960 >> Dus welke je doen jongens willen beginnen? 723 00:38:34,960 --> 00:38:37,240 Is er iemand echt zeker over een van deze? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 Of zelfs gedeeltelijk zeker? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 Waarom gaan we niet beginnen met x? 728 00:38:48,120 --> 00:38:49,060 Wat vinden we x is? 729 00:38:49,060 --> 00:38:49,735 >> Publiek: 1. 730 00:38:49,735 --> 00:38:50,360 ALLISON BUCHHOLTZ-AU: 1. 731 00:38:50,360 --> 00:38:54,500 732 00:38:54,500 --> 00:38:56,340 Dus waarom is 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 En dat komt omdat de grote onderscheid hier 735 00:39:01,380 --> 00:39:04,890 is dat we alleen passerende exemplaren in, toch? 736 00:39:04,890 --> 00:39:06,520 We zijn niet passeren door middel van verwijzing. 737 00:39:06,520 --> 00:39:08,850 Dus zelfs eind Dit programma x en y 738 00:39:08,850 --> 00:39:14,170 hebben hetzelfde gebleven, omdat ze zijn slechts kopieën in de swap-functie. 739 00:39:14,170 --> 00:39:16,320 Ze eigenlijk niet veranderen, toch? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> Dus hoe zit het met a, b, en temp? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> Publiek: a is b. 744 00:39:22,890 --> 00:39:23,940 >> ALLISON BUCHHOLTZ-AU: a b. 745 00:39:23,940 --> 00:39:28,569 Dus in dit geval, een was x, dat is 1, toch? 746 00:39:28,569 --> 00:39:29,860 Dus hier, laten we er doorheen lopen. 747 00:39:29,860 --> 00:39:33,940 Dus aan het begin, een en b zijn 1 en 2 en ongedefinieerd. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 Dus oorspronkelijk temp krijgt toegewezen aan een, dus temp 1. 750 00:39:40,850 --> 00:39:46,150 a gelijk aan b, dus we 2, en b gelijk aan temp. 751 00:39:46,150 --> 00:39:47,284 Nu krijgen we 1. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> Publiek: In de vorige het verwisseld ampersand x en ampersand y. 754 00:39:55,860 --> 00:39:57,390 Wat houdt dat precies in? 755 00:39:57,390 --> 00:39:59,890 ALLISON BUCHHOLTZ-AU: Dus dat betekent dat je voorbij aan de hand. 756 00:39:59,890 --> 00:40:03,830 Dus dat betekent dat je eigenlijk bent passeren in de adressen waar 757 00:40:03,830 --> 00:40:04,814 x en y worden opgeslagen. 758 00:40:04,814 --> 00:40:06,730 Publiek: Maar je bent niet omwisselen van de adres. 759 00:40:06,730 --> 00:40:07,860 ALLISON BUCHHOLTZ-AU: Je bent niet omwisselen van de adressen. 760 00:40:07,860 --> 00:40:10,015 Je ruilt wat er in hen. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 Net als wat er op dat adres, en dat is waarom het werkt. 763 00:40:14,460 --> 00:40:20,750 Versus in het programma hier wat je doet wordt u maakt kopieën. 764 00:40:20,750 --> 00:40:27,440 Dus je hebt x en y die er bestaan als hun eigen variabelen hier. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 Maar dan wanneer je langs hen in ruil, het is 767 00:40:34,140 --> 00:40:38,090 alsof je het creëren dit hele andere set. 768 00:40:38,090 --> 00:40:41,272 Zodat je nooit echt bent ontroerend x en y. 769 00:40:41,272 --> 00:40:46,890 >> PUBLIEK: Als ampersand x is wat er op het het adres van x, wat zou ster x zijn? 770 00:40:46,890 --> 00:40:53,290 >> ALLISON BUCHHOLTZ-AU: Ampersand x is wat er op het het adres van x, dan star-- goed, 771 00:40:53,290 --> 00:40:54,950 in dit geval, x is geen pointer. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 PUBLIEK: Oh, OK. 774 00:40:57,040 --> 00:40:58,998 Zodat u dit alleen doen want het is niet een pointer. 775 00:40:58,998 --> 00:40:59,890 ALLISON BUCHHOLTZ-AU: Right. 776 00:40:59,890 --> 00:41:03,046 U kunt alleen de ster van doen iets dat een pointer. 777 00:41:03,046 --> 00:41:05,920 Misschien kun je het doet om dingen die zijn het niet, maar de compilatie die u 778 00:41:05,920 --> 00:41:07,350 doen die gekke dingen zouden gebeuren. 779 00:41:07,350 --> 00:41:09,570 En ik ben precies niet zeker wat er zou gebeuren. 780 00:41:09,570 --> 00:41:11,880 U kunt altijd de adres van iets, 781 00:41:11,880 --> 00:41:14,255 maar je kunt niet dereferentie iets dat niet een pointer. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 Als dat zinvol is, dat is een goed onderscheid hebben. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> Dus niet al te slecht, toch? 786 00:41:21,340 --> 00:41:23,650 De tafels zijn hopelijk het krijgen van iets minder eng. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 Prima. 789 00:41:26,690 --> 00:41:28,370 Ah, het plezier Ones. 790 00:41:28,370 --> 00:41:31,265 Dus nu, het schrijven van uw eigen code. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 Dus ik ga u laten kerels werken dit ongeveer vier minuten, 793 00:41:37,950 --> 00:41:41,480 en dan kunnen we praten over manieren om het te benaderen. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 Voel je vrij om te praten met mensen om je heen. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 Ook is dit interessant. 798 00:41:49,155 --> 00:41:51,460 Het is als een all meisjes sectie op dit moment. 799 00:41:51,460 --> 00:41:52,190 Behoorlijk spannend. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 Behalve Chang. 802 00:41:54,502 --> 00:41:56,190 Maar Chang is niet echt deel uit van sectie. 803 00:41:56,190 --> 00:42:17,282 804 00:42:17,282 --> 00:42:17,985 Awesome. 805 00:42:17,985 --> 00:42:18,485 Perfect. 806 00:42:18,485 --> 00:42:38,059 807 00:42:38,059 --> 00:42:39,475 Dus zal ik je een paar tips geven. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 In het geval je meer dan één karakter, waar 810 00:42:46,890 --> 00:42:49,990 je iets anders hebt zoals 123 of 1000 iets, 811 00:42:49,990 --> 00:42:53,790 je nodig hebt om te kunnen lus door en zet elk van deze. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 Dus er zijn een paar manieren waarop je dat zou kunnen doen, 814 00:42:58,699 --> 00:43:01,740 maar je bent zeker gaan hebben een lus ergens in er een lus 815 00:43:01,740 --> 00:43:05,150 door hen, die net zoiets als de giveaway 816 00:43:05,150 --> 00:43:09,540 met zelfs als je belt strlen, die is een soort oh 817 00:43:09,540 --> 00:43:12,418 misschien wil je de lengte gebruiken van de string op een bepaalde manier. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> Prima. 820 00:45:17,829 --> 00:45:20,870 Dus wat doen jullie denken misschien een van de eerste dingen die we willen doen? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 Er zijn een paar gevallen in hier we nodig hebben om rekening te houden, toch? 823 00:45:25,690 --> 00:45:27,360 Ofwel we hebben iets dat is null. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 Wat hebben we? 826 00:45:30,383 --> 00:45:30,882 Gevallen. 827 00:45:30,882 --> 00:45:32,760 828 00:45:32,760 --> 00:45:33,260 Null. 829 00:45:33,260 --> 00:45:34,400 830 00:45:34,400 --> 00:45:42,414 We hebben zo dat zij iets anders dan 09, toch? 831 00:45:42,414 --> 00:45:43,580 Dus laten we zeggen het heeft brieven. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 Of hebben we het geval dat is geldig. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 Drie gevallen te bedenken. 836 00:45:50,130 --> 00:45:53,527 Dus welke denk je dat zou kunnen zijn de gemakkelijkste om te zorgen voor het eerst? 837 00:45:53,527 --> 00:45:54,152 Publiek: Null. 838 00:45:54,152 --> 00:45:55,527 ALLISON BUCHHOLTZ-AU: De zaak is null. 839 00:45:55,527 --> 00:45:56,610 Dus wat zouden we daar doen? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 Publiek: [onverstaanbaar]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ALLISON BUCHHOLTZ-AU: Yeah. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 En wat wil ik doen? 846 00:46:06,550 --> 00:46:07,341 >> Publiek: Return 0. 847 00:46:07,341 --> 00:46:07,935 848 00:46:07,935 --> 00:46:09,110 >> ALLISON BUCHHOLTZ-AU: Precies. 849 00:46:09,110 --> 00:46:09,860 Awesome. 850 00:46:09,860 --> 00:46:10,640 OK. 851 00:46:10,640 --> 00:46:15,270 Dus nu zo dat het heeft brieven en het geval dat het geldig is. 852 00:46:15,270 --> 00:46:19,140 We kunnen eigenlijk verzorgen dit binnen één lus, OK? 853 00:46:19,140 --> 00:46:22,710 Dus een manier om het-- doen wat zou kunnen zijn een eenvoudige manier om te controleren of deze geldig is. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 We zouden moeten gaan door elke letter en doet wat? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> Publiek: Controleer of het in-- 858 00:46:35,640 --> 00:46:39,570 >> ALLISON BUCHHOLTZ-AU: Right, kunt u controleren als het tussen 0 en 9, toch? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 En dan in het geval dat deze geldig is, zijn we 861 00:46:42,700 --> 00:46:46,550 gaat uiteindelijk iteratie onze reeks anyways, toch? 862 00:46:46,550 --> 00:46:48,690 Dus waarom niet proberen we en combineren tot één. 863 00:46:48,690 --> 00:46:51,260 We gaan om te herhalen door uit touw, en als we 864 00:46:51,260 --> 00:46:56,400 dat doen, gaan we eerst doe een check om te zien of die letter 865 00:46:56,400 --> 00:46:58,110 of als dat karakter is geldig. 866 00:46:58,110 --> 00:47:02,150 Als het is, gaan we het uitvoeren operatie die we nodig hebben om het te converteren. 867 00:47:02,150 --> 00:47:05,050 Anders kom zo terug 0,? 868 00:47:05,050 --> 00:47:09,160 >> Dus voordat we dat doen, we Wilt u waarschijnlijk een aantal variabele 869 00:47:09,160 --> 00:47:12,820 we kunnen terugkeren eind dat gaat om onze werkelijke waarde. 870 00:47:12,820 --> 00:47:17,005 Dus we gaan om te initialiseren enkele waarde zijn 0. 871 00:47:17,005 --> 00:47:18,390 En dat is gewoon hoe we beginnen. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 Dus ik ga om zich te ontdoen van. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 Dus hoe gaan we om doorlopen van deze string. 876 00:47:30,489 --> 00:47:31,280 Publiek: voor loop. 877 00:47:31,280 --> 00:47:32,280 ALLISON BUCHHOLTZ-AU: Een lus. 878 00:47:32,280 --> 00:47:33,160 Dus wat is ons voor? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> Publiek: i is 0. 881 00:47:35,909 --> 00:47:36,700 ALLISON BUCHHOLTZ-AU: Mm-hm. 882 00:47:36,700 --> 00:47:38,620 883 00:47:38,620 --> 00:47:41,180 En wat zijn we itereren tot? 884 00:47:41,180 --> 00:47:42,450 >> Publiek: str lengte van s. 885 00:47:42,450 --> 00:47:47,920 886 00:47:47,920 --> 00:47:50,900 >> ALLISON BUCHHOLTZ-AU: OK, nu herinner er is een betere manier. [Onverstaanbaar]. 887 00:47:50,900 --> 00:47:52,935 >> Publiek: Ja, we kunnen doen n gelijk. 888 00:47:52,935 --> 00:47:53,810 ALLISON BUCHHOLTZ-AU: Precies. 889 00:47:53,810 --> 00:47:55,010 890 00:47:55,010 --> 00:47:56,190 >> Publiek: i is kleiner dan n. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ALLISON BUCHHOLTZ-AU: En waarom zouden we dat willen doen? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 Herinner je je de reden? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 PUBLIEK: We moeten het herberekenen. 897 00:48:05,680 --> 00:48:08,735 ALLISON BUCHHOLTZ-AU: Becasue deze manier kunt alleen moeten strlen eens berekenen. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 Als je dat doet i kleiner dan strlen s, dat is betekent dat het herberekent 900 00:48:14,400 --> 00:48:17,050 de lengte telkens je loopt de lus, 901 00:48:17,050 --> 00:48:20,800 dat is niet een enorme kosten van energie, maar het is 902 00:48:20,800 --> 00:48:24,280 betere praktijk om te proberen en dat soort dingen doen eens. 903 00:48:24,280 --> 00:48:27,610 Tenzij misschien heb je een gekke touwtje dat verandert bij elke iteratie. 904 00:48:27,610 --> 00:48:30,371 Maar als het is blijven hetzelfde, sla het op. 905 00:48:30,371 --> 00:48:30,870 Prima. 906 00:48:30,870 --> 00:48:33,430 En dan heb ik plus plus. 907 00:48:33,430 --> 00:48:34,040 Awesome. 908 00:48:34,040 --> 00:48:35,789 We zijn op weg. 909 00:48:35,789 --> 00:48:36,830 Publiek: Echt snel. 910 00:48:36,830 --> 00:48:39,600 Eerste, dus laten we zeggen dat we gewoon Heb ik minder dan strlen van s, 911 00:48:39,600 --> 00:48:42,175 worden ze sorteren ons op design helemaal of gewoon correctheid? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 Zijn ze niet. 914 00:48:44,610 --> 00:48:47,920 We zijn indeling op juistheid voor quizzen voor zover ik weet. 915 00:48:47,920 --> 00:48:52,670 Ik kan een volledig op de niet te maken garantie, maar voor het grootste gedeelte, 916 00:48:52,670 --> 00:48:57,060 overgrote meerderheid is juistheid, omdat je bent onder grote tijdsdruk. 917 00:48:57,060 --> 00:48:59,704 Ontwerp betekent meestal je tijd om na te denken 918 00:48:59,704 --> 00:49:01,245 over de elegantie van uw situatie. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> OK, dus we itereren door. 921 00:49:05,770 --> 00:49:10,640 Dus we moeten ofwel controleren om zien of dit karakter is geldig 922 00:49:10,640 --> 00:49:14,550 of als we kunnen presteren onze normaal [? een i?] functie. 923 00:49:14,550 --> 00:49:16,600 We kunnen maken over wat dat in een tweede. 924 00:49:16,600 --> 00:49:19,340 Dus waarom doen we niet take-- als iemand kan denken 925 00:49:19,340 --> 00:49:21,930 over een manier om te controleren op zien of dit geldig is. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 We weten dat het gaat worden sommige als voorwaarde, toch? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 En vergeet niet dat dit in ASCII, dus hoe zou 930 00:49:32,300 --> 00:49:37,359 zien we als het niet 0,1, 2, 3, 4, 5, 6, 7, 8 of 9. 931 00:49:37,359 --> 00:49:38,150 PUBLIEK: Als alpha. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ALLISON BUCHHOLTZ-AU: Dus als alpha zou alleen laat het ons weten als het een brief. 934 00:49:44,100 --> 00:49:47,810 En als ze ons een symbool, het is nog steeds niet helemaal gaan controleren. 935 00:49:47,810 --> 00:49:54,270 Dus als je trek uw ASCII tafel, we weten dat 0 tot en met 9 936 00:49:54,270 --> 00:49:55,340 in één segment. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 Vertel me de nummers die ze overeen met indien mogelijk. 939 00:50:00,540 --> 00:50:08,136 940 00:50:08,136 --> 00:50:08,677 Publiek: 40. 941 00:50:08,677 --> 00:50:11,440 942 00:50:11,440 --> 00:50:13,714 >> ALLISON BUCHHOLTZ-AU: Dus het bereik is als 40-- 943 00:50:13,714 --> 00:50:14,380 Publiek: Misschien. 944 00:50:14,380 --> 00:50:16,110 945 00:50:16,110 --> 00:50:16,765 48-57. 946 00:50:16,765 --> 00:50:17,430 Ik weet het niet zeker. 947 00:50:17,430 --> 00:50:18,510 >> ALLISON BUCHHOLTZ-AU: 40-57? 948 00:50:18,510 --> 00:50:19,426 >> Publiek: 48, denk ik. 949 00:50:19,426 --> 00:50:20,730 ALLISON BUCHHOLTZ-AU: 48-57. 950 00:50:20,730 --> 00:50:26,070 Dus we weten dat die ASCII symbols-- als de ASCII-waarde niet 951 00:50:26,070 --> 00:50:29,940 tussen 48 en 57, het is niet geldig, toch? 952 00:50:29,940 --> 00:50:32,050 Dus konden we dat gebruiken om ons voordeel misschien? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 Hoe gaan we om te krijgen deze brief, eerst uit? 955 00:50:38,082 --> 00:50:40,910 Hoe moeten we de toegang deze dit karakter? 956 00:50:40,910 --> 00:50:42,010 >> Publiek: s beugel i. 957 00:50:42,010 --> 00:50:42,801 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 958 00:50:42,801 --> 00:50:43,790 959 00:50:43,790 --> 00:50:46,285 Omdat we kunnen bedenken strings als arrays, herinneren. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 Dus wat doen we willen zeggen? 962 00:50:48,740 --> 00:50:55,920 We willen zeggen als dit is-- Ik zal je een hint geven. 963 00:50:55,920 --> 00:50:56,920 Het is een minder. 964 00:50:56,920 --> 00:50:58,711 Wat u denkt dat het moet minder zijn dan? 965 00:50:58,711 --> 00:50:59,074 966 00:50:59,074 --> 00:50:59,615 Publiek: 57? 967 00:50:59,615 --> 00:51:01,550 968 00:51:01,550 --> 00:51:02,900 >> ALLISON BUCHHOLTZ-AU: 47, toch? 969 00:51:02,900 --> 00:51:08,920 Maar het betekent ook dat als je een 0 in enkele [? spaken?], want dat is 970 00:51:08,920 --> 00:51:09,689 het karakter 0. 971 00:51:09,689 --> 00:51:10,605 Je zou ook kunnen zetten 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 Het hebben van de ASCII-tabel, zoals je ziet, is gewoon iets 974 00:51:14,350 --> 00:51:18,580 je moet hebben op je quiz vel. 975 00:51:18,580 --> 00:51:25,830 >> Als dit het geval is, als het een minder dan 0-- niet noodzakelijk en. 976 00:51:25,830 --> 00:51:30,890 Het is nog maar een van beide gaat worden kleiner of groter dan 9. 977 00:51:30,890 --> 00:51:33,055 Zo kunt u vul dit laatste voor mij? 978 00:51:33,055 --> 00:51:36,440 Dus of s van i is wat, Rhea? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> Publiek: Groter dan 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ALLISON BUCHHOLTZ-AU: Er. 983 00:51:44,221 --> 00:51:47,280 Heeft dat zin om iedereen, hoe we daar aankwamen? 984 00:51:47,280 --> 00:51:51,340 Deze problemen, ze zijn als als je eenmaal zie de oplossingen, het is net als oh, OK. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 En dit is de reden waarom de praktijk zal u helpen. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 OK, dus we terug 0. 989 00:51:57,400 --> 00:51:57,900 Lovely. 990 00:51:57,900 --> 00:51:59,000 991 00:51:59,000 --> 00:51:59,670 Prima. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 Anders wat willen we doen? 994 00:52:02,365 --> 00:52:04,640 Dit is het interessante deel waar het is een beetje meer 995 00:52:04,640 --> 00:52:07,550 als wiskunde versus CS in mijn mening. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 Heeft iemand een idee van hoe wij dit doen? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 Dus het belangrijkste om te realiseren, is het eerste teken 1000 00:52:18,155 --> 00:52:21,510 we nemen gaat worden de hoogste orde cijfers, toch? 1001 00:52:21,510 --> 00:52:25,975 Dus als we kijken naar het omzetten van 123, de eerste keer dat we herhalen 1002 00:52:25,975 --> 00:52:30,800 zal worden 1, maar we moeten dat zijn 100 tegen het einde, toch? 1003 00:52:30,800 --> 00:52:34,450 Dus een ding dat je kunt doen is dat bij elke volgende digit 1004 00:52:34,450 --> 00:52:39,670 je neemt, je je waarde te vermenigvuldigen met 10, zodat tegen de tijd dat je het einde bereikt, 1005 00:52:39,670 --> 00:52:42,960 alles is geweest verschoven naar boven, toch? 1006 00:52:42,960 --> 00:52:46,490 >> Dus de eerste keer dat je loopt het, heb je 1 als je waarde. 1007 00:52:46,490 --> 00:52:50,370 Tweede keer dat je het opstart, je vermenigvuldig je de waarde met 10. 1008 00:52:50,370 --> 00:52:55,180 Het zal het updaten zodat het nu 10, en u toevoegt aan uw volgende waarde. 1009 00:52:55,180 --> 00:52:57,830 En dan dat u vermenigvuldigen door 10 en voeg op uw volgende waarde. 1010 00:52:57,830 --> 00:53:01,880 En dit is de reden waarom ze dit zeggen is veel meer als het testen 1011 00:53:01,880 --> 00:53:06,920 een wiskundig algoritme versus CS, maar ik dwaal af. 1012 00:53:06,920 --> 00:53:08,080 Ik schrijf niet de quizzen. 1013 00:53:08,080 --> 00:53:13,520 >> Dus een ding dat we kunnen doen is dat we zeggen waarde tijden is gelijk aan 10. 1014 00:53:13,520 --> 00:53:16,630 Dus dit gaat verschuiven uw digit eens elke keer. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 En dan we willen gewoon toevoegen. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 We willen voegen in wat we zijn net, toch? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 Dus hoe kunnen we eigenlijk zetten onze ASCII-tekens in het aantal 1021 00:53:31,649 --> 00:53:32,440 dat het vertegenwoordigt? 1022 00:53:32,440 --> 00:53:37,680 1023 00:53:37,680 --> 00:53:40,800 >> Dus we weten dat 0 gelijk is aan 47, toch? 1024 00:53:40,800 --> 00:53:44,260 Dus als 0 is 47, wat zouden we moeten doen om het te 1025 00:53:44,260 --> 00:53:47,376 om daadwerkelijk het zijn een int van 0? 1026 00:53:47,376 --> 00:53:48,384 >> Publiek: Het is 48. 1027 00:53:48,384 --> 00:53:49,050 ALLISON BUCHHOLTZ-AU: 48? 1028 00:53:49,050 --> 00:53:49,550 Sorry. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 We zouden aftrekken 48, toch? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 Onthoud ASCII wiskunde? 1033 00:53:59,550 --> 00:54:01,565 We kunnen ze gewoon behandelen als normale getallen. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 Als je ze behandelen als nummers, ze nummers effectief. 1036 00:54:05,900 --> 00:54:10,410 Dus als we s van i, die laten we zeggen in dit geval gelijk aan 0. 1037 00:54:10,410 --> 00:54:14,420 Dus s van i in dit geval zou ASCII-- zijn 1038 00:54:14,420 --> 00:54:16,675 de ASCII int voor het zou zijn 47. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 Dus we konden subtract-- of 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 Je zou kunnen doen, is een manier. 1043 00:54:22,440 --> 00:54:25,125 Heeft iemand een beter leren kennen Zo konden we doen 48? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 We zeiden gewoon 0 is-- gaan in de ASCII kon je citaat 0 doen. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 Dus doet het soort van te maken gevoel hoe dit werkt? 1048 00:54:43,160 --> 00:54:50,080 >> Publiek: Op dit punt, is de waarde 0 want zelfs als je het vermenigvuldigt met 10, 1049 00:54:50,080 --> 00:54:53,340 je begint met nul, dus moet worden ingeschakeld? 1050 00:54:53,340 --> 00:54:59,360 >> ALLISON BUCHHOLTZ-AU: Dus in dit geval, je wil het vermenigvuldigen voordat u toevoegt, 1051 00:54:59,360 --> 00:55:06,650 want in dit geval, ja, het zou nog steeds be-- mijn wijzer ontbreekt. 1052 00:55:06,650 --> 00:55:09,980 De waarde in dit geval, de eerste tijd lopen we het zal nul zijn. 1053 00:55:09,980 --> 00:55:12,320 Dus je bent gewoon toe te voegen Op dat eerste cijfer. 1054 00:55:12,320 --> 00:55:15,930 Wat belangrijk is, is de volgende keer je herhalen, je wilt het opschakelen 1055 00:55:15,930 --> 00:55:18,722 voordat u uw volgende cijfer toevoegen. 1056 00:55:18,722 --> 00:55:21,223 Heeft dat te verduidelijken voor u? 1057 00:55:21,223 --> 00:55:21,723 OK. 1058 00:55:21,723 --> 00:55:23,050 1059 00:55:23,050 --> 00:55:25,900 >> Soms zul je krijgen rare meer Mathy dingen. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 Als je het grootste deel van had dit, je bent nog steeds gaande 1062 00:55:30,750 --> 00:55:32,610 om get-- je gaat vrij goed doen. 1063 00:55:32,610 --> 00:55:35,150 Gedeeltelijke krediet is een zeer big thing op CS50 quizzen. 1064 00:55:35,150 --> 00:55:36,270 Dus schrijven wat je weet. 1065 00:55:36,270 --> 00:55:39,640 Als je alles behalve hier, je bent 1066 00:55:39,640 --> 00:55:41,390 nog steeds gaan doen heel goed het probleem. 1067 00:55:41,390 --> 00:55:43,750 Omdat je het tonen, OK, ik weet bijna. 1068 00:55:43,750 --> 00:55:45,570 Ik weet dat ik door moet herhalen. 1069 00:55:45,570 --> 00:55:47,260 Ik weet wat ik nodig heb om te controleren op. 1070 00:55:47,260 --> 00:55:50,584 Ik doe gewoon niet helemaal krijgen hoe om te zetten. 1071 00:55:50,584 --> 00:55:51,500 Je zult in orde te zijn. 1072 00:55:51,500 --> 00:55:52,850 Ja, je gaat naar verliest een paar punten, 1073 00:55:52,850 --> 00:55:55,641 maar je bent nog steeds om een ​​te krijgen goed aantal punten voor iets 1074 00:55:55,641 --> 00:55:57,990 als dat als je ontbreken deze twee lijnen. 1075 00:55:57,990 --> 00:56:00,660 Ik zou als OK, deze persoon weet wat ze doen. 1076 00:56:00,660 --> 00:56:02,070 Math is hard. 1077 00:56:02,070 --> 00:56:04,930 Dus ik zou zeggen dat je goed zou zijn. 1078 00:56:04,930 --> 00:56:09,474 >> OK, dus jullie klaar om te probeer strlen met pointers nu 1079 00:56:09,474 --> 00:56:10,890 dat jullie zijn pointer meesters? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 Dus ik laat jullie werken op dat voor een klein beetje. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 Als iemand behoefte heeft aan een opfriscursus. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 Dus je wilt pointer gebruiken rekenkunde, en dan als s is null, 1086 00:56:28,060 --> 00:56:29,624 uw implementatie moet terugkeren 0. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 Dit soort dingen die je maakt echt blij om gewoon strlen bellen 1089 00:56:39,670 --> 00:56:40,586 aan het eind van de dag. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 Ik denk dat dit één is misschien een beetje makkelijker dan de vorige, die 1092 00:57:27,624 --> 00:57:28,123 is goed. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 Ik geef je jongens nog een minuut, en dan zullen we werken doorheen. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 En dan krijgen we om naar switches. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> OK, klaar voor jongens? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 Misschien een beetje. 1101 00:59:37,420 --> 00:59:40,210 Dus ik heb je je opgegeven twee opties, toch? 1102 00:59:40,210 --> 00:59:45,810 Ofwel controleren op nul en terug 0 als is, of feitelijk berekenen de lengte. 1103 00:59:45,810 --> 00:59:48,220 Dus wie wil schrijven controleren op null? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 Ga ervoor. 1106 00:59:51,790 --> 00:59:56,460 >> PUBLIEK: Als haakjes s gelijk gelijk aan null return 0. 1107 00:59:56,460 --> 00:59:57,342 1108 00:59:57,342 --> 00:59:58,175 ALLISON BUCHHOLTZ-AU: Lovely. 1109 00:59:58,175 --> 00:59:59,350 1110 00:59:59,350 --> 01:00:02,320 Ik hou als de helft van je probleem is gewoon het controleren op null. 1111 01:00:02,320 --> 01:00:04,820 Ik weet dat met jullie laatste week was ik als check voor null 1112 01:00:04,820 --> 01:00:06,630 letterlijk elke keer. 1113 01:00:06,630 --> 01:00:07,510 OK, so-- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> PUBLIEK: Als return 0 is slechts één lijn, doen we nog steeds de accolade nodig? 1116 01:00:12,750 --> 01:00:15,860 >> ALLISON BUCHHOLTZ-AU: Je hoeft niet technisch hebben ze nodig zolang je consequent bent. 1117 01:00:15,860 --> 01:00:19,240 Het is een goede gewoonte gewoon in de gewoonte te krijgen 1118 01:00:19,240 --> 01:00:21,650 van het gebruik van accolades, maar technisch niet. 1119 01:00:21,650 --> 01:00:23,320 Je ze niet nodig hebt voor één regel. 1120 01:00:23,320 --> 01:00:26,030 We hebben de neiging alleen maar aan te bevelen mensen beginnen te programmeren. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> Dus nu wat zouden we hier willen doen? 1123 01:00:30,450 --> 01:00:32,222 Dus nu weten we dat onze string is geldig. 1124 01:00:32,222 --> 01:00:33,680 We willen berekenen de lengte te houden. 1125 01:00:33,680 --> 01:00:35,620 Wat is waarschijnlijk de eerste wat we willen doen? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> PUBLIEK: een aanmaken int dat is de lengte. 1128 01:00:41,276 --> 01:00:42,150 ALLISON BUCHHOLTZ-AU: Precies. 1129 01:00:42,150 --> 01:00:43,450 Publiek: En we willen het op? 1130 01:00:43,450 --> 01:00:44,210 ALLISON BUCHHOLTZ-AU: 0. 1131 01:00:44,210 --> 01:00:44,710 Perfect. 1132 01:00:44,710 --> 01:00:46,050 1133 01:00:46,050 --> 01:00:47,290 Prima. 1134 01:00:47,290 --> 01:00:48,750 Nu, wat wel wilt doen? 1135 01:00:48,750 --> 01:00:50,000 Dit is echt het grootste deel van het. 1136 01:00:50,000 --> 01:00:50,890 Ga ervoor. 1137 01:00:50,890 --> 01:00:54,370 >> Publiek: Dus je waarschijnlijk wel een lus. 1138 01:00:54,370 --> 01:01:03,150 En dan sinds wanneer je s bel je bent krijgen van het adres van de eerste ding, 1139 01:01:03,150 --> 01:01:05,660 je zou beginnen met i gelijk is aan 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 Vervolgens zolang x Plus ik niet terug slash 0. 1142 01:01:15,755 --> 01:01:17,130 ALLISON BUCHHOLTZ-AU: De null terminator. 1143 01:01:17,130 --> 01:01:18,380 Publiek: De null terminator. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 Dan moet je één op lengte toe te voegen. 1146 01:01:21,088 --> 01:01:22,372 >> ALLISON BUCHHOLTZ-AU: Yeah. 1147 01:01:22,372 --> 01:01:25,940 OK, dus laten draaien dat in zeer concrete code. 1148 01:01:25,940 --> 01:01:27,537 Maar dat is het perfecte idee. 1149 01:01:27,537 --> 01:01:28,870 Dat is precies wat we doen. 1150 01:01:28,870 --> 01:01:31,910 We gaan itereren te zijn door met de aanwijzer. 1151 01:01:31,910 --> 01:01:34,590 Dus wat we willen doen is in plaats van een int 1152 01:01:34,590 --> 01:01:36,660 hier, omdat we niet verwijzen naar een het. 1153 01:01:36,660 --> 01:01:42,390 We verwijzen naar het begin van een touwtje, dat begint zijn sommige adres, 1154 01:01:42,390 --> 01:01:43,300 toch? 1155 01:01:43,300 --> 01:01:44,600 >> Dus willen we een pointer. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 Dus we gaan om enkele char ster hebben, omdat deze overeenkomt met onze s, toch? 1158 01:01:52,310 --> 01:01:57,270 Dus dit is een gegeven moment zijn we het initialiseren aan het begin van de string, OK? 1159 01:01:57,270 --> 01:01:58,949 Dus laten we het gewoon i noemen. 1160 01:01:58,949 --> 01:02:01,740 Als het begin van de string, wat gaat het worden toegewezen aan? 1161 01:02:01,740 --> 01:02:03,690 1162 01:02:03,690 --> 01:02:04,530 Niet 0. 1163 01:02:04,530 --> 01:02:06,238 We willen dat het zijn start van onze string. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 Wat betekent de start van onze string die ons gegeven is? 1166 01:02:09,960 --> 01:02:10,800 >> Publiek: Gewoon s. 1167 01:02:10,800 --> 01:02:11,425 >> ALLISON BUCHHOLTZ-AU: s. 1168 01:02:11,425 --> 01:02:13,070 1169 01:02:13,070 --> 01:02:17,890 Dus dit creëert een aantal nieuwe pointer die staat voor het begin van onze reeks, OK? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 Een andere manier om te denken van het is net als hier is ons aanbod. 1172 01:02:22,777 --> 01:02:26,690 Dat is onze reeks, s. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 Dus laten we zeggen dat dit de eerste plaats, en dit is 0x4. 1175 01:02:32,400 --> 01:02:34,400 1176 01:02:34,400 --> 01:02:34,900 04. 1177 01:02:34,900 --> 01:02:36,330 1178 01:02:36,330 --> 01:02:38,535 Dit is onze s, die dat adres bezit. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 En we zojuist hebt gemaakt een andere genaamd i dat alleen verwijst naar het zelfde ding. 1181 01:02:45,960 --> 01:02:49,437 Dus ze beide slechts wijzen de start van de string. 1182 01:02:49,437 --> 01:02:51,020 Dit is slechts een grafische weergave. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> Dus nu wat we willen doen is willen we herhalen 1185 01:02:57,100 --> 01:03:02,040 onze voorwaarde voor itereren via onze string. 1186 01:03:02,040 --> 01:03:02,920 Nu winkelen. 1187 01:03:02,920 --> 01:03:04,150 Kreeg om te winkelen, jongens. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 Is we willen updaten houden tot bereiken we de null terminator, toch? 1190 01:03:12,390 --> 01:03:14,930 Dus wat zou dat er dan uitzien? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 Willen we i, of willen we ster i is de vraag? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 Is de null terminator een adres of iets zich op een adres? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 Gelegen op een adres, toch? 1197 01:03:33,660 --> 01:03:38,420 >> Dus we moeten dereferentie wat is hier, want dit is slechts enkele adres. 1198 01:03:38,420 --> 01:03:44,350 Om daadwerkelijk te krijgen naar de start we moeten dereferentie deze 1199 01:03:44,350 --> 01:03:46,770 zodat we eigenlijk krijgen wat er in deze eerste plaats. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 Dus als we dat doen ster i, wat we willen niet dat het gelijk? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 Publiek: Back slash? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ALLISON BUCHHOLTZ-AU: Er. 1206 01:03:59,260 --> 01:04:01,430 Is dat zinvol voor iedereen? 1207 01:04:01,430 --> 01:04:05,620 We moeten in onze reeks te gaan en zorg ervoor dat het niet het einde. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 En dan kunnen we gewoon updaten als deze. 1210 01:04:08,990 --> 01:04:09,680 Normaal updaten. 1211 01:04:09,680 --> 01:04:11,910 1212 01:04:11,910 --> 01:04:15,070 Zolang deze BMO, wat hebben we nodig om te doen? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> PUBLIEK: Lengte plus plus. 1215 01:04:18,852 --> 01:04:20,656 1216 01:04:20,656 --> 01:04:21,560 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1217 01:04:21,560 --> 01:04:25,540 En dan na de lus beëindigt, wat willen we om terug te keren? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 PUBLIEK: Lengte? 1220 01:04:27,790 --> 01:04:28,623 ALLISON BUCHHOLTZ-AU: Lengte. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 Daar ga je. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 Uiteraard is het vlees van deze ene is het begrijpen van deze lus. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 Krijgt iedereen hoe dat werkte? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 Ik ben blij om weer te gaan over. 1229 01:04:44,170 --> 01:04:48,400 >> Publiek: Het tweede deel, zodat de ster ik daar, 1230 01:04:48,400 --> 01:04:51,834 dat is het adres van de first-- 1231 01:04:51,834 --> 01:04:53,250 ALLISON BUCHHOLTZ-AU: Het is niet het adres. 1232 01:04:53,250 --> 01:04:54,142 Het is wat op. 1233 01:04:54,142 --> 01:04:55,600 Publiek: Dat is eigenlijk in daar. 1234 01:04:55,600 --> 01:04:57,475 ALLISON BUCHHOLTZ-AU: Dat is wat is eigenlijk in daar. 1235 01:04:57,475 --> 01:05:01,280 Dus dit is saying-- laten me dit beter. 1236 01:05:01,280 --> 01:05:07,940 Dus dit is 0x04, en ik ben gewoon gaan om te zeggen ik ga dit mijn naam te maken. 1237 01:05:07,940 --> 01:05:14,531 1238 01:05:14,531 --> 01:05:15,030 OK. 1239 01:05:15,030 --> 01:05:17,456 1240 01:05:17,456 --> 01:05:19,080 Ja, ik weet dat ik quiz beoordeling vanavond. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 Veel quiz beoordeling. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 Dus laten we zeggen dat deze string is mijn naam, Allison. 1245 01:05:26,620 --> 01:05:28,600 Beetje rommelig, maar het is er. 1246 01:05:28,600 --> 01:05:33,640 En s staat voor de locatie waar de string begint, 1247 01:05:33,640 --> 01:05:41,950 dus ik ga om dit te maken real-- is het adres van een, 1248 01:05:41,950 --> 01:05:45,000 waar de string begint, toch? 1249 01:05:45,000 --> 01:05:48,560 >> Dus wat we hier doen is dat we willen gebruiken pointers om door te herhalen. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 Zo creëren we wat wijzer, i, dat ook is gelijk aan het begin van de string. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 En op elk punt, we willen verder gaan door de array 1254 01:06:03,820 --> 01:06:07,570 hier, totdat wij slaan de null terminator. 1255 01:06:07,570 --> 01:06:12,320 Dus we willen altijd om te controleren wat er bij elk van deze adressen. 1256 01:06:12,320 --> 01:06:15,730 >> Dus dereferentie we i, zodat de eerste keer dat we het doen we 1257 01:06:15,730 --> 01:06:17,810 zeggen, OK, wat er op het adres 0x04? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 Het is een a. 1260 01:06:19,720 --> 01:06:20,660 OK, we zijn goed. 1261 01:06:20,660 --> 01:06:21,770 Increment lengte. 1262 01:06:21,770 --> 01:06:22,790 Ga verder met de volgende. 1263 01:06:22,790 --> 01:06:32,410 Dus Ik-- onthouden pointers toename door de grootte van wat ze wijst. 1264 01:06:32,410 --> 01:06:35,320 Dus in dit geval, omdat het een char, zal het updaten met één. 1265 01:06:35,320 --> 01:06:38,755 Dus nu gaan we kijken naar 5, wat betekent dat het gaat hierheen. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 Dus het zegt OK, ga naar 0x05. 1268 01:06:43,440 --> 01:06:44,270 Wat er in zit? 1269 01:06:44,270 --> 01:06:44,930 Het is een l. 1270 01:06:44,930 --> 01:06:47,870 En het zal blijven doen dat totdat raakt deze. 1271 01:06:47,870 --> 01:06:50,990 En het zegt OK, wat er in welk adres dit is? 1272 01:06:50,990 --> 01:06:53,060 De null terminator, OK. 1273 01:06:53,060 --> 01:06:53,870 Exit. 1274 01:06:53,870 --> 01:06:55,240 En net terug lengte. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 Want je moet wat er eigenlijk op dat adres niet het adres zelf. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> Er zijn maar weinig plaatsen waar u daadwerkelijk nodig het adres. 1279 01:07:05,790 --> 01:07:08,720 De meeste van de tijd dat Gebruikt u bent het en het is 1280 01:07:08,720 --> 01:07:12,424 wanneer u voor het eerst toewijzen van een pointer of als 1281 01:07:12,424 --> 01:07:14,090 je voorbij in een andere functie. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 OK, iedereen goed daar? 1284 01:07:21,330 --> 01:07:21,830 Soort? 1285 01:07:21,830 --> 01:07:23,810 1286 01:07:23,810 --> 01:07:25,040 OK. 1287 01:07:25,040 --> 01:07:28,210 >> Dus het lijkt erop dat we hebben kreeg ongeveer 12 minuten over, 1288 01:07:28,210 --> 01:07:31,340 dus we zullen gaan naar misschien onze laatste probleem, 1289 01:07:31,340 --> 01:07:34,230 en dan is er elke concepten die zijn gekomen 1290 01:07:34,230 --> 01:07:36,830 in de tussentijd kunnen we snel naar boven dat. 1291 01:07:36,830 --> 01:07:42,310 >> Dus schakelen versnellingen is de laatste probleem hier, schakelen statements. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 Dus uw taak is om deze te herschrijven zodat het op dezelfde manier gedraagt 1294 01:07:49,450 --> 01:07:50,580 maar niet switches. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 Krijtachtige handen. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 Dus vragen heeft over dit uit de vleermuis? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 Geen? 1301 01:08:15,920 --> 01:08:16,420 OK. 1302 01:08:16,420 --> 01:08:17,920 1303 01:08:17,920 --> 01:08:22,170 Begrijpt iedereen dat als de geval niets na het te hebben, 1304 01:08:22,170 --> 01:08:25,029 betekent dat het moet volg dan de volgende stap? 1305 01:08:25,029 --> 01:08:28,200 Dus case 1 en 2 in dit geval doen precies hetzelfde. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 Soms is een punt van verwarring. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> Prima. 1310 01:09:33,488 --> 01:09:34,404 Iemand enig idee? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 Yeah? 1313 01:09:36,864 --> 01:09:40,120 >> Publiek: Dus je kan gewoon doen als statements. 1314 01:09:40,120 --> 01:09:41,140 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1315 01:09:41,140 --> 01:09:42,880 Dus wat is onze eerste? 1316 01:09:42,880 --> 01:09:48,120 >> PUBLIEK: Als n gelijk is gelijk aan 1, en de 2 lijnen voor of n gelijken 1317 01:09:48,120 --> 01:09:51,059 gelijk aan 2, dan print klein. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 En dan kun je anders doen als? 1320 01:09:59,520 --> 01:10:02,160 Of kan je gewoon een doen als? 1321 01:10:02,160 --> 01:10:03,650 >> ALLISON BUCHHOLTZ-AU: U kunt anders doen als? 1322 01:10:03,650 --> 01:10:05,274 >> Publiek: Zou het uit of je doen als? 1323 01:10:05,274 --> 01:10:06,320 ALLISON BUCHHOLTZ-AU: Dus het doet. 1324 01:10:06,320 --> 01:10:10,160 Doet anyone-- zo, je zal dezelfde output te krijgen 1325 01:10:10,160 --> 01:10:13,930 als je gewoon ifs versus gebruiken als je anders ifs gebruiken. 1326 01:10:13,930 --> 01:10:17,090 Kunnen jullie denken van de reden waarom je zou willen om een ​​anders te gebruiken 1327 01:10:17,090 --> 01:10:18,680 indien versus een hoop mitsen? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 Moet met efficiëntie. 1330 01:10:21,510 --> 01:10:22,225 Yeah? 1331 01:10:22,225 --> 01:10:24,783 >> Publiek: Het zou controleren alle mitsen elke keer. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ALLISON BUCHHOLTZ-AU: Dus zelfs als het raakte deze eerste, 1334 01:10:28,110 --> 01:10:29,880 het zou gaan op controle elke andere. 1335 01:10:29,880 --> 01:10:36,690 Dus je wilt als anders mitsen in gevallen gebruiken waarbij slechts een van hen ooit zal toepassen. 1336 01:10:36,690 --> 01:10:39,380 Dus wederzijdse uitsluiting is wat hebben we de neiging om te zeggen. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 Als je een heleboel mitsen, betekent dat misschien meer dan een van hen 1339 01:10:46,550 --> 01:10:49,630 zaken, en misschien meer dan een van hen kan waar zijn. 1340 01:10:49,630 --> 01:10:51,910 En jullie beiden willen om uit te voeren als ze waar zijn. 1341 01:10:51,910 --> 01:10:57,180 Als je alleen wilt een van hen aan het werk In deze elkaar uitsluitende gevallen, 1342 01:10:57,180 --> 01:11:00,790 je wilt anders te gebruiken als, omdat Het heeft allemaal te maken met efficiëntie. 1343 01:11:00,790 --> 01:11:05,350 Uw code is gewoon beter ontworpen indien ze aan deze praktijk. 1344 01:11:05,350 --> 01:11:07,330 Dus in dit geval zullen we een else if hebben. 1345 01:11:07,330 --> 01:11:09,080 En dit zou? 1346 01:11:09,080 --> 01:11:11,890 >> Publiek: n gelijk is gelijk aan 3. 1347 01:11:11,890 --> 01:11:12,765 ALLISON BUCHHOLTZ-AU: Perfect. 1348 01:11:12,765 --> 01:11:19,420 1349 01:11:19,420 --> 01:11:20,445 Print medium. 1350 01:11:20,445 --> 01:11:25,190 1351 01:11:25,190 --> 01:11:29,930 En dan in onze laatste geval, wat hebben we? 1352 01:11:29,930 --> 01:11:31,495 Anders of anders als? 1353 01:11:31,495 --> 01:11:32,120 Publiek: Else. 1354 01:11:32,120 --> 01:11:33,450 1355 01:11:33,450 --> 01:11:37,900 >> ALLISON BUCHHOLTZ-AU: Do we want-- U wilt else if want we hebben concrete gevallen. 1356 01:11:37,900 --> 01:11:39,270 Het is niet een soort van een catch all. 1357 01:11:39,270 --> 01:11:44,247 Als u een standaard had in een switch-- herinneren in switches kun je case hebt, 1358 01:11:44,247 --> 01:11:45,330 en dan heb je standaard. 1359 01:11:45,330 --> 01:11:48,760 Als u een standaard gehad, dat is een soort van uw else statement daar. 1360 01:11:48,760 --> 01:11:52,180 Maar als het enige gevallen, dat betekent dat je nodig hebt 1361 01:11:52,180 --> 01:11:54,315 om te controleren om te zien of het is elk van deze. 1362 01:11:54,315 --> 01:11:57,755 Dus in dit geval zou het 4 of 5. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 We willen een afdruk af. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 Het is groot. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 En daar ga je. 1369 01:12:07,509 --> 01:12:08,800 En dat zou je programma. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> Dus in dit geval, als we had een standaard iets, 1372 01:12:17,050 --> 01:12:20,470 we zou anders hebben wat het wilde ons te doen. 1373 01:12:20,470 --> 01:12:23,365 Dus dat is een goed onderscheid te weten, te begrijpen. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 Heeft die helpen met schakelaars voor u? 1376 01:12:27,790 --> 01:12:28,800 Perfect. 1377 01:12:28,800 --> 01:12:29,390 Prima. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> We hebben ongeveer acht minuten over. 1380 01:12:33,340 --> 01:12:37,090 Hebben jullie enig andere high level concepten? 1381 01:12:37,090 --> 01:12:38,720 Vragen in het algemeen? 1382 01:12:38,720 --> 01:12:39,220 Ja? 1383 01:12:39,220 --> 01:12:42,860 >> Publiek: Ik had een vraag over een van hen 1384 01:12:42,860 --> 01:12:46,257 dat over de willekeurige number generator op quiz nul. 1385 01:12:46,257 --> 01:12:47,340 ALLISON BUCHHOLTZ-AU: Oh, die ene. 1386 01:12:47,340 --> 01:12:51,460 Dat men een andere waar het is meer wiskunde than-- ja. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 De oplossing voor zelfs ik als dat-- Ik zie het, ik heb zoiets van wat is dit. 1389 01:12:59,452 --> 01:13:00,590 >> Publiek: Het was nummer 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ALLISON BUCHHOLTZ-AU: Het is vreemd in mijn mening. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 Dus eigenlijk je wilt naar drand48, gebruiken die 1394 01:13:11,630 --> 01:13:15,420 zal je wat geven getal tussen 0 en 1. 1395 01:13:15,420 --> 01:13:21,200 En je wilt het zo te gebruiken dat je een of andere manier krijg a-- 1396 01:13:21,200 --> 01:13:26,690 en het is veel meer een wiskundig probleem voor mij dan denk ik dat een CS probleem. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> De manier waarop je het-- doen en soms zal het net zo zijn. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 Nogmaals, dit zijn de gevallen waarin het is een soort 1401 01:13:41,090 --> 01:13:46,310 van als schrijven wat je kan en gedeeltelijke credit. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 Dus als we willen een terugkeer, we weten dat we 1404 01:13:51,510 --> 01:13:54,182 gaat worden met behulp drand48 een of andere manier, toch? 1405 01:13:54,182 --> 01:13:55,640 Dus waarom niet we noteren alleen dat neer. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 We gebruiken het op een bepaalde manier. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 De manier waarop zij jullie gebruiken is 1410 01:14:04,190 --> 01:14:08,175 als deze, die ik zal proberen uit te leggen. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> Dus eigenlijk wat hier gebeurt is omdat het tussen 0 en 1, 1413 01:14:15,340 --> 01:14:19,300 wat je doet is je vermenigvuldigen by-- dit is veel meer een wiskundige vraag. 1414 01:14:19,300 --> 01:14:22,010 Gewoon volledige disclaimer, is dit helemaal een wiskunde vraag. 1415 01:14:22,010 --> 01:14:23,990 Wat je doet is door 0 en 1 en u 1416 01:14:23,990 --> 01:14:26,460 wil dat het binnen zijn dit bereik je eigenlijk 1417 01:14:26,460 --> 01:14:29,360 erachter te komen hoe groot het bereik is, en dan 1418 01:14:29,360 --> 01:14:32,710 u in principe schaal it up, dat is wat deze aan het doen is. 1419 01:14:32,710 --> 01:14:39,050 >> b minus een geeft je dat bereik, de verschil tussen deze getallen. 1420 01:14:39,050 --> 01:14:44,040 U kunt vermenigvuldigen tussen 0 en 1, en daarna het toevoegen van een enkel 1421 01:14:44,040 --> 01:14:48,870 betekent dat uw opschalen zodat het tussen a en b, 1422 01:14:48,870 --> 01:14:52,377 die ik niet hou echt van dit probleem. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 Zoals ik al zei, deze quiz wordt bedoeld te omvatten 1425 01:15:01,790 --> 01:15:04,110 mensen die minder comfortabel, ergens tussenin, 1426 01:15:04,110 --> 01:15:05,070 en nog veel meer comfortabel. 1427 01:15:05,070 --> 01:15:07,550 Dus als ze het zo gemaakt dat het iets was 1428 01:15:07,550 --> 01:15:10,050 dat iedereen bij de minder comfortabele plek zou krijgen, 1429 01:15:10,050 --> 01:15:12,259 zouden we veel te veel hebben mensen scoren perfectioneert, 1430 01:15:12,259 --> 01:15:13,925 en de meer comfortabele zou vervelen. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> Dus ze hebben altijd deze soort brain teaser vragen 1433 01:15:18,970 --> 01:15:22,695 die zijn bedoeld om een ​​beetje moeilijker dat neem wat creatief denken. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 Als je ze ziet, niet al te stumped. 1436 01:15:27,790 --> 01:15:31,720 Ik zou zeker flip zeggen door eerst uw quiz. 1437 01:15:31,720 --> 01:15:35,020 Het aanpakken van de problemen dat je weet dat je kunt, 1438 01:15:35,020 --> 01:15:38,480 want er is geen gebruik vast komen te zitten Op een probleem wanneer er drie 1439 01:15:38,480 --> 01:15:42,090 of vier of vijf op de pagina na dat je gemakkelijk kunt doen. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> Publiek: Waarom doe je precies vermenigvuldig het met het bereik? 1442 01:15:48,520 --> 01:15:54,935 >> ALLISON BUCHHOLTZ-AU: U vermenigvuldigt het bereik dat je weten-- het is net hoeveel na een 1443 01:15:54,935 --> 01:15:55,485 wil je? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 Dus je kunt bedenken, want het retourneert een getal tussen 0 en 1, 1446 01:16:02,130 --> 01:16:03,890 U kunt het zien als een percentage. 1447 01:16:03,890 --> 01:16:12,195 Dus het is eigenlijk te zeggen als we onze getallenlijn hier, een is hier, 1448 01:16:12,195 --> 01:16:13,840 en b is hier. 1449 01:16:13,840 --> 01:16:19,170 Je bent net als hoeveel verleden een is het? 1450 01:16:19,170 --> 01:16:20,010 Is alles wat we aan het doen zijn. 1451 01:16:20,010 --> 01:16:24,920 Dus je bent gewoon vragen om de percentage van dit bereik, dat 1452 01:16:24,920 --> 01:16:26,170 is wat het geeft je. 1453 01:16:26,170 --> 01:16:30,915 En dan moet je eigenlijk gewoon inpassen door toevoegen van een. 1454 01:16:30,915 --> 01:16:32,302 Het is een wiskundige breinbreker. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> Als er een last minute advies, I zou flip zeggen door de vragen, 1457 01:16:39,060 --> 01:16:41,660 erachter te komen welke je weten dat als, oh ik heb dit. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 Bijna zeker dat ze gaan zijn vragen die je niet weet 1460 01:16:45,820 --> 01:16:49,580 of dat je gaat om tijd te hebben voor, dus sloeg uw sterke punten, OK? 1461 01:16:49,580 --> 01:16:50,990 Jullie zijn naar grote. 1462 01:16:50,990 --> 01:16:52,740 Er zijn een heleboel vragen om een ​​reden, 1463 01:16:52,740 --> 01:16:57,140 zodat je tijd hebt om te soort hebben de mogelijkheid 1464 01:16:57,140 --> 01:16:59,330 welke tonen je bent echt goed in. 1465 01:16:59,330 --> 01:17:02,370 Dus het is OK als je niet goed in alles. 1466 01:17:02,370 --> 01:17:03,371 Speel op je sterke punten. 1467 01:17:03,371 --> 01:17:03,870 Ja? 1468 01:17:03,870 --> 01:17:06,536 >> Publiek: Dus is dit het gaan iets dat afgekapt terugkeren? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 Ja, het zal, omdat drand rendement tussen 0 en 1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 Het zal een int terug, want het zal afkappen 1473 01:17:19,250 --> 01:17:22,933 als we voegen een of vermenigvuldigen met het. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 Cool. 1476 01:17:28,442 --> 01:17:29,525 Op het laatste moment nog vragen? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> Jullie zijn naar grote doen. 1479 01:17:32,615 --> 01:17:34,440 Je gaat fantastisch te zijn. 1480 01:17:34,440 --> 01:17:37,100 En zelfs als niet, zal er zijn snoep hier volgende week. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 En Ik zal van u. 1483 01:17:40,020 --> 01:17:41,270 Ik zal van u guys ongeacht. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 Oké, iedereen, veel geluk. 1486 01:17:43,930 --> 01:17:44,680 Heb een geweldige tijd. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 Je gaat goed komen. 1489 01:17:46,620 --> 01:17:47,370 En weet je wat? 1490 01:17:47,370 --> 01:17:50,310 In twee dagen het gaat voorbij te zijn, terwijl ik 1491 01:17:50,310 --> 01:17:53,675 hebben twee tentamens op donderdag, dus tenminste jullie zal worden gedaan. 1492 01:17:53,675 --> 01:17:56,550 Oké, ik zie jullie volgende week. 1493 01:17:56,550 --> 01:17:58,208