1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ALLISON BUCHHOLTZ-AU: Hei, toată lumea. 3 00:00:12,170 --> 00:00:13,560 Bine ati venit la pct. 4 00:00:13,560 --> 00:00:17,320 Astăzi este doar o să fie quiz revizui pentru testul pe miercuri. 5 00:00:17,320 --> 00:00:20,060 Sper ca toată lumea își amintește că ei au un test de miercuri. 6 00:00:20,060 --> 00:00:22,560 Și dacă nu, ei bine, acum ai fost amintit. 7 00:00:22,560 --> 00:00:26,486 Deci, miercuri asigurați-vă că apar pentru clasa sau alte cazari la fel de 8 00:00:26,486 --> 00:00:26,985 necesar. 9 00:00:26,985 --> 00:00:27,845 10 00:00:27,845 --> 00:00:29,220 Voi vor fi minunat. 11 00:00:29,220 --> 00:00:30,440 O să fie grozav. 12 00:00:30,440 --> 00:00:34,910 Și am de gând să fac tot ce pot pentru a vă ajuta să se pregătească astăzi pentru testul dumneavoastră 13 00:00:34,910 --> 00:00:35,470 acum. 14 00:00:35,470 --> 00:00:39,960 Și, de asemenea, în cazul în care nu știu, există o sesiune de revizuire larg curs 15 00:00:39,960 --> 00:00:45,840 astăzi, la ora 07, în Laboratoare de Nord-Vest B103 cameră. 16 00:00:45,840 --> 00:00:49,950 Poți să-mi văd din nou, pentru un bis ca Eu voi conduce o parte din acea sesiune de revizuire 17 00:00:49,950 --> 00:00:50,510 de asemenea. 18 00:00:50,510 --> 00:00:53,218 Deci, dacă nu puteți obține destul de mine Acum, puteți veni din nou în seara asta. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> Toate, astfel prima lucruri drepte primul. 21 00:00:56,060 --> 00:00:59,630 Doar câteva sfaturi test înainte de a ne se arunca cu capul de fapt, în a comentarii. 22 00:00:59,630 --> 00:01:04,160 Deci, ca orice examen, practică te va ajuta cu siguranta. 23 00:01:04,160 --> 00:01:09,260 Există examene din trecut șase sau șapte ani pe acolo, 24 00:01:09,260 --> 00:01:12,480 astfel încât o mulțime de practică Material pentru voi să aibă. 25 00:01:12,480 --> 00:01:15,340 Și, de fapt, astăzi este de fapt doar va fi merge pe orice subiect 26 00:01:15,340 --> 00:01:18,900 că voi aveți întrebări cu privire la fel de bine ca de lucru prin probleme de practică 27 00:01:18,900 --> 00:01:20,360 de la test la zero. 28 00:01:20,360 --> 00:01:22,690 Așa că am să vomit test de zero de anul trecut pe aici, 29 00:01:22,690 --> 00:01:26,410 și putem lucra prin orice probleme că voi ar dori să. 30 00:01:26,410 --> 00:01:27,370 >> Deci, practica. 31 00:01:27,370 --> 00:01:29,310 Vei începe să faci asta azi. 32 00:01:29,310 --> 00:01:30,230 Cod pe hârtie. 33 00:01:30,230 --> 00:01:32,970 Deci da, în cazul în care toată lumea ar putea obține efectiv 34 00:01:32,970 --> 00:01:35,810 hârtie, că va fi mare, pentru că tu nu ești 35 00:01:35,810 --> 00:01:41,470 Va trebui computerul pe examen și scrierea de cod de mână 36 00:01:41,470 --> 00:01:44,190 este adesea mult mai dificil decât ați putea aștepta. 37 00:01:44,190 --> 00:01:46,680 V-ați obișnuit doar văzându-l și introduceți-l, 38 00:01:46,680 --> 00:01:49,630 și va trebui compilator pentru a te ajute cand ai erori, 39 00:01:49,630 --> 00:01:52,190 dar tu nu te că pe examenul. 40 00:01:52,190 --> 00:01:55,140 Deci, este foarte important să efectiv fi în măsură să scrie cod, 41 00:01:55,140 --> 00:01:58,360 și că memoria musculara de a face se de mână, te va ajuta cu adevărat. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> Deci, ne apropiem un pic de aproape. 44 00:02:01,690 --> 00:02:02,340 E luni. 45 00:02:02,340 --> 00:02:03,930 Examenul este miercuri. 46 00:02:03,930 --> 00:02:06,030 Dar dacă aveți timp, cu siguranta lua una 47 00:02:06,030 --> 00:02:10,199 a examenelor de anul trecut sau an înainte, sub constrângerea timpului 48 00:02:10,199 --> 00:02:11,660 de o oră și jumătate. 49 00:02:11,660 --> 00:02:13,730 Doar knock out o oră și o jumătate de timp, 50 00:02:13,730 --> 00:02:17,480 și stai te jos, și doar locul de muncă prin problemele 51 00:02:17,480 --> 00:02:19,962 ca și cum ați fost de fapt lua-o, pentru că o 52 00:02:19,962 --> 00:02:23,295 din cele mai mari lucrurile pe care le auzi despre chestionare este că acestea sunt foarte lungi. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 Este o mulțime de materiale. 55 00:02:26,660 --> 00:02:30,850 Există o mulțime de întrebări, și cei mai mulți oameni nu pot duce. 56 00:02:30,850 --> 00:02:34,660 Știu că totul nu a terminat teste mele atunci când am luat clasa. 57 00:02:34,660 --> 00:02:37,180 >> Pe această notă, ca mai puțin secțiune confortabil, 58 00:02:37,180 --> 00:02:40,570 Înțeleg că acest curs este destinat pentru a satisface oameni de toate nivelurile. 59 00:02:40,570 --> 00:02:43,640 Întreaga Motivul pentru care te-ai împărțit mai puțin confortabil, undeva între, 60 00:02:43,640 --> 00:02:47,660 și mai confortabil este de a un fel de al face mai echitabil. 61 00:02:47,660 --> 00:02:51,699 Și dacă ești mai puțin confortabil, e nu este necesar în sine pentru a obține tot. 62 00:02:51,699 --> 00:02:53,990 Ca și în cazul în care ați fost asistent totul, v-ar probabil 63 00:02:53,990 --> 00:02:55,448 fie în partea mai confortabil. 64 00:02:55,448 --> 00:03:00,160 Deci, evident, nu vă bate prea tare dacă nu se poate termina examenul. 65 00:03:00,160 --> 00:03:01,920 Ia-o de la mine, nu am făcut-o. 66 00:03:01,920 --> 00:03:03,070 Sunt încă un concentrator. 67 00:03:03,070 --> 00:03:04,630 Încă ajuta preda cursul. 68 00:03:04,630 --> 00:03:06,170 Vei fi bine. 69 00:03:06,170 --> 00:03:06,670 Bine. 70 00:03:06,670 --> 00:03:08,740 Și, în fine, să dormi. 71 00:03:08,740 --> 00:03:11,020 Evident cu orice examen am spus mereu asta. 72 00:03:11,020 --> 00:03:13,610 Bucherie cu o noapte înainte și nu primesc nici somn 73 00:03:13,610 --> 00:03:16,390 nu not-- poate dacă asta lucreaza pentru tine, du-te pentru el. 74 00:03:16,390 --> 00:03:18,790 Dar pentru marea majoritate a oameni, obtinerea de somn, 75 00:03:18,790 --> 00:03:22,390 permițându odihna creierului și recupera înainte de a veni în pentru examen 76 00:03:22,390 --> 00:03:23,480 te va ajuta cu adevărat. 77 00:03:23,480 --> 00:03:26,120 De asemenea, va exista aproape fi cu siguranta bomboane la examen, 78 00:03:26,120 --> 00:03:28,019 deci trebuie sa te uiti cu nerăbdare să. 79 00:03:28,019 --> 00:03:29,310 Voi vor face mare. 80 00:03:29,310 --> 00:03:30,226 O să fie bine. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 Și acum, în următoarea oră și jumătate am va încerca și tu pregătești cât de bine pot. 83 00:03:36,190 --> 00:03:41,260 >> Deci, am slide-uri de la practic toate secțiunile până acum. 84 00:03:41,260 --> 00:03:45,874 Nu am de gând să treacă prin toate pentru că nu este 85 00:03:45,874 --> 00:03:49,040 posibil într-o oră și jumătate, precum și ca de lucru prin probleme practice. 86 00:03:49,040 --> 00:03:51,410 Deci, în loc Am o listă de subiecte. 87 00:03:51,410 --> 00:03:55,160 Acestea sunt toate lucrurile pe care am putea quiz pe. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 Dacă e ceva că într-adevăr sare 90 00:03:58,770 --> 00:04:02,140 care vrei să mergi peste, pe care le să mă duc peste conceptual, 91 00:04:02,140 --> 00:04:04,320 Pot încerca și da ai o privire de ansamblu acolo. 92 00:04:04,320 --> 00:04:07,690 Sau, dacă vrei să sari direct în a faci probleme practică împreună, 93 00:04:07,690 --> 00:04:08,420 putem face asta. 94 00:04:08,420 --> 00:04:09,330 Depinde de voi. 95 00:04:09,330 --> 00:04:10,770 Nu sunt atât de mulți dintre voi. 96 00:04:10,770 --> 00:04:13,180 Deci, este tot ce voi dori sa faceti. 97 00:04:13,180 --> 00:04:15,667 Vreau să fiu cel mai de ajutor spre voi. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 Așa că am să las să se uite doar. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> Audiența: Un lucru este graficul pe care le ține 102 00:04:30,500 --> 00:04:33,290 spune despre stiva si heap. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 Doar ideea din spatele că și ceea ce ar însemna asta. 105 00:04:37,434 --> 00:04:38,350 ALLISON BUCHHOLTZ-AU: Da, OK. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 Aceasta este tot drumul de la end, asa ca lasa-ma parcurge. 108 00:04:43,216 --> 00:04:45,490 >> Audiența: Noi nu trebuie să fă-o acum, dar orice. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ALLISON BUCHHOLTZ-AU: A fost acolo anything-- asta. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 Este acest tip de neclar pentru oameni? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 Audiența: Da, în al doilea rând asta. 115 00:04:55,640 --> 00:04:57,718 Și putem, de asemenea, nu 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 Deci, buffer overflow este destul de ușor doar pentru a vorbi despre. 119 00:05:03,460 --> 00:05:08,217 Este practic tampon ai despre unii memorie matrice pe care o ai, nu? 120 00:05:08,217 --> 00:05:10,050 Noi de obicei, vorbim despre buffer overflow când 121 00:05:10,050 --> 00:05:15,160 nu ești de verificare cât de mult utilizatorul este de a pune în, nu? 122 00:05:15,160 --> 00:05:18,540 Iar ideea fiind cu buffer overflow este 123 00:05:18,540 --> 00:05:21,535 ele sunt punerea în măsura prea multe date pentru spațiul 124 00:05:21,535 --> 00:05:23,780 care le-ați alocat pentru ei, nu? 125 00:05:23,780 --> 00:05:28,310 >> Deci, dacă spui, da mi ceva mesaj, suntem 126 00:05:28,310 --> 00:05:31,860 presupunând că acestea sunt de gând să dea ne un mesaj lungime rezonabilă. 127 00:05:31,860 --> 00:05:33,910 Poate linii de un cuplu, fleacuri. 128 00:05:33,910 --> 00:05:35,150 Deci, noi nu verifica. 129 00:05:35,150 --> 00:05:38,160 În schimb, ei ne hrănesc într-o Întreaga carte e un mesaj, 130 00:05:38,160 --> 00:05:42,450 și se revarsă suma de spațiu pe care l-am alocat pentru acest lucru. 131 00:05:42,450 --> 00:05:48,140 Și ce se întâmplă este că ar putea suprascrie locuri pe care nu trebuia. 132 00:05:48,140 --> 00:05:52,890 >> Așa că știu profesorul Malan a spus ceva despre atacuri buffer overflow. 133 00:05:52,890 --> 00:05:59,050 Deci, asta e în cazul în care va introduce utilizator o anumită cantitate masivă de date în speranța 134 00:05:59,050 --> 00:06:02,840 că el a suprascrie dribleze sfârșitul tampon ta 135 00:06:02,840 --> 00:06:06,479 și înlocuiește something-- mă întreb Eu am acele diapozitive aici. 136 00:06:06,479 --> 00:06:08,270 Nu cred că avem aceste diapozitive aici. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 Dar de fapt el a suprascrie o parte din memorie 139 00:06:14,460 --> 00:06:17,780 care îi permite accesul a componentelor de pe computer 140 00:06:17,780 --> 00:06:19,530 că nu ar fi au în mod normal acces la. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> Cel mai mare lucru cu buffer overflow este doar 143 00:06:23,155 --> 00:06:26,420 să înțeleagă că se întâmplă atunci când nu sunt 144 00:06:26,420 --> 00:06:29,210 verificarea cât de mult ta utilizator este de a pune în. 145 00:06:29,210 --> 00:06:32,770 Atunci când nu sunt un fel de protejând împotriva. 146 00:06:32,770 --> 00:06:36,820 Și la mai simplă lucru, e doar utilizator ta 147 00:06:36,820 --> 00:06:39,130 introducerea unei cantități masive de date într-o încercare 148 00:06:39,130 --> 00:06:45,090 pentru a suprascrie o anumită siguranță porțiune de memorie. 149 00:06:45,090 --> 00:06:46,310 Asta e tot ce este. 150 00:06:46,310 --> 00:06:49,810 >> Deci, asta aici, stivă și grămadă. 151 00:06:49,810 --> 00:06:53,090 Practic tot acest lucru este este doar o reprezentare a memoriei 152 00:06:53,090 --> 00:06:54,449 și care sunt depozitate lucrurile. 153 00:06:54,449 --> 00:06:56,240 Asta e într-adevăr un fel de tot ce trebuie sa stiti. 154 00:06:56,240 --> 00:06:58,520 Cele mai mari lucrurile pe care trebuie să știți sunt 155 00:06:58,520 --> 00:07:01,910 that-- lasă-mă să văd dacă există o better-- aici. 156 00:07:01,910 --> 00:07:05,380 Deci, aceasta este stiva aici. 157 00:07:05,380 --> 00:07:08,410 >> Deci, stivă are de a face cu toate funcțiile 158 00:07:08,410 --> 00:07:10,140 că tu suni la un moment dat. 159 00:07:10,140 --> 00:07:15,060 Și ceea ce este important să ne amintim merge off de săptămâna trecută cu malloc 160 00:07:15,060 --> 00:07:21,080 este că nu aveți într-adevăr controlul necesar asupra acesteia. 161 00:07:21,080 --> 00:07:24,780 Totul depinde de când anumite Funcțiile sunt executare. 162 00:07:24,780 --> 00:07:28,170 Și atunci când acestea sunt de executare, ele au ceea ce se numesc cadre stiva 163 00:07:28,170 --> 00:07:29,290 care merge în sus aici. 164 00:07:29,290 --> 00:07:32,520 >> Deci, tot felul de se întâmplă fără nici o contribuție reală la tine. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 Poti scrie programul, și tu să-l executați, 167 00:07:35,510 --> 00:07:38,470 și stiva fel de nevoie îngrijire de sine ca are nevoie de. 168 00:07:38,470 --> 00:07:42,940 Deci, dacă în principal suni cub, care va fi trecut pe aici. 169 00:07:42,940 --> 00:07:44,110 Va crea un cadru. 170 00:07:44,110 --> 00:07:48,330 Dar nu e nimic ce faci în mod explicit pentru a crea acel cadru stivă, altele decât 171 00:07:48,330 --> 00:07:51,430 scrie funcția pentru a începe cu, OK? 172 00:07:51,430 --> 00:07:56,500 >> Ce este un fel de sub dvs. Controlul este heap cu malloc. 173 00:07:56,500 --> 00:08:01,950 Deci, ori de câte ori ceva malloc, luați memorie din heap. 174 00:08:01,950 --> 00:08:05,110 Și că este memoria pe care le au, în lipsa unui cuvânt mai bun, 175 00:08:05,110 --> 00:08:10,300 controlul explicit peste, pentru că aduc aminte cu malloc 176 00:08:10,300 --> 00:08:12,530 este practic acolo până spui altfel. 177 00:08:12,530 --> 00:08:14,890 Pentru cei dintre voi care secțiune uitat săptămâna trecută, 178 00:08:14,890 --> 00:08:17,670 e acolo pana se spune să plece. 179 00:08:17,670 --> 00:08:20,850 Acesta va fi acolo, cu excepția cazului în caz contrar, nu a spus. 180 00:08:20,850 --> 00:08:24,750 Deci, heap este doar ceva vă puteți gândi ca memorie 181 00:08:24,750 --> 00:08:26,150 că ai control asupra. 182 00:08:26,150 --> 00:08:29,010 Și acestea sunt doar două lucruri mari diferite. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> Altele decât că, nu ar trebui să aveți să vă faceți griji prea mult despre stivă și heap 185 00:08:38,330 --> 00:08:42,159 întrebări sau de obicei mai multe locații dacă aveți parametri locale 186 00:08:42,159 --> 00:08:45,385 sau o funcție ar fi pe stivă sau heap. 187 00:08:45,385 --> 00:08:47,260 În mod evident, în acest caz, ar fi stiva. 188 00:08:47,260 --> 00:08:49,630 Dacă sunteți mallocing ceva, în cazul în care se că vine de la? 189 00:08:49,630 --> 00:08:50,129 Heap. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 Dacă te uiți la teste de practică, cei sunt în general de tipul de întrebări 192 00:08:54,230 --> 00:08:55,460 pe care le au. 193 00:08:55,460 --> 00:08:57,340 >> Nu trebuie să vă faceți griji prea mult despre asta. 194 00:08:57,340 --> 00:09:00,980 Veți obține în mod mai explicit despre stivă și heap 195 00:09:00,980 --> 00:09:03,460 mai târziu sau în alte clase CS. 196 00:09:03,460 --> 00:09:06,220 Deci, având în doar un fel de idee generală despre ceea ce este aceasta 197 00:09:06,220 --> 00:09:09,100 va fi bun, pe care am doar un fel de trecut peste. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 Orice alte subiecte? 200 00:09:12,090 --> 00:09:12,590 Da? 201 00:09:12,590 --> 00:09:14,923 >> Audiența: Poți să mergi peste indicative din nou foarte repede? 202 00:09:14,923 --> 00:09:15,870 ALLISON BUCHHOLTZ-AU: Pointeri? 203 00:09:15,870 --> 00:09:18,470 Vrei conceptual listă indicii 204 00:09:18,470 --> 00:09:19,994 sau te antrenezi cu indicii? 205 00:09:19,994 --> 00:09:21,410 Audiența: Un fel de sintaxa. 206 00:09:21,410 --> 00:09:22,360 ALLISON BUCHHOLTZ-AU: Sintaxa? 207 00:09:22,360 --> 00:09:22,860 Da. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 OK, ne apropiem acolo. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 Da, deci acesta este doar un fel de ceva atunci când aveți o funcție recursive, 212 00:09:42,040 --> 00:09:45,954 de fiecare dată când această funcție este recursivă numit, se adaugă pur și simplu alt cadru stivă. 213 00:09:45,954 --> 00:09:47,870 Destul de mult un exemplu de modul în care nu prea 214 00:09:47,870 --> 00:09:50,330 au control asupra rame pe stack-ul tău. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> OK, pointer. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 În regulă, deci crearea de indicii. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 Amintiți-vă, e doar de tip stea. 221 00:10:02,420 --> 00:10:07,140 Deci, indiferent de tipul de date pe care ai de gând să fie îndreptată către. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 Deci, acest lucru ar fi un pointer la un int. 224 00:10:11,440 --> 00:10:13,140 Acest lucru ar fi un pointer la un char. 225 00:10:13,140 --> 00:10:14,740 Acest lucru ar fi un pointer la un float. 226 00:10:14,740 --> 00:10:17,980 Deci, este practic indiferent doriți să fie îndreptată către, 227 00:10:17,980 --> 00:10:22,300 stele este modul în care declara indicatorul, OK? 228 00:10:22,300 --> 00:10:26,200 >> Dar apoi, evident, devine un pic dificil atunci când aveți indicatorul 229 00:10:26,200 --> 00:10:27,370 sau ai juca orice. 230 00:10:27,370 --> 00:10:31,260 Deci, diferența de mare este atunci când sunteți declaring-- 231 00:10:31,260 --> 00:10:45,590 așa că avem some-- astfel aceasta ia ceva stea int. 232 00:10:45,590 --> 00:10:49,650 Deci, acest lucru este un pointer solicită x pentru un int, nu? 233 00:10:49,650 --> 00:10:54,600 Deci, amintiți-vă ce face acest lucru este acest lucru necesită sistem x. 234 00:10:54,600 --> 00:10:56,970 Și acest lucru se întâmplă pentru au unele adresa, nu? 235 00:10:56,970 --> 00:11:00,515 Așa că hai să spunem acest lucru este adresa noastră. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 Indicii dețin adrese. 238 00:11:03,570 --> 00:11:08,660 Deci, ceea ce acest spune este că, în acest Locul de amplasare, suntem stocarea unui int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> Deci, un alt mod ne putem gândi aceasta este faptul că aceasta este un int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 Nu am cu adevărat însărcinată nimic încă, dar e doar un int. 243 00:11:20,350 --> 00:11:31,540 Astfel încât să putem face este dacă noi nu stea x este egal cu 5, aceasta devine un 5, OK? 244 00:11:31,540 --> 00:11:38,350 Acest lucru spune du-te la orice x este arătând spre, deci du-te la această adresă 245 00:11:38,350 --> 00:11:40,210 și să-l egal cu 5. 246 00:11:40,210 --> 00:11:44,390 Așa că am atribui 5 la această adresă, nu? 247 00:11:44,390 --> 00:11:52,540 >> Și apoi, dacă faci acest lucru, acest lucru ne dă adresa de. 248 00:11:52,540 --> 00:11:54,730 Aceasta este adresa operatorului. 249 00:11:54,730 --> 00:11:57,700 Deci, ce este adresa lui x? 250 00:11:57,700 --> 00:11:58,809 Nu știm. 251 00:11:58,809 --> 00:12:00,225 Nu l-am alocat o adresă. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 Am putea spune că este some-- acum am dat ea o adresă, astfel încât adresa este 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 Și, de fapt, dacă trecem prin ceva ca aceasta, un fel de ceea ce am făcut. 256 00:12:16,980 --> 00:12:25,800 Deci, de lucru prin here-- mi se pare Aceasta vă ajută dacă scoate indicii. 257 00:12:25,800 --> 00:12:28,270 Dacă sunteți pe examen, am foarte recomanda desen cutii. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> Deci, această primă parte, int x este egal cu 5. 260 00:12:33,310 --> 00:12:37,370 Acest lucru înseamnă că doar avem niște punere în memorie care este de 5, nu? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 Și masa noastră aici ne spune că este la adresa 0x04. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 Și apoi ne-am crea unele pointer. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 Așa că haideți să rupe acest jos, unul câte unul. 267 00:12:55,310 --> 00:12:59,820 Deci, acest lucru creează unele caseta pentru un int, nu? 268 00:12:59,820 --> 00:13:01,970 O să dețină unii adresa de ea. 269 00:13:01,970 --> 00:13:03,470 Deci, acest lucru este un pointer. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 Și acest lucru creta este foarte mic. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 Deci, avem unele pointer aici. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 Și masa noastră ne spune care este adresa este 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 Rece. 278 00:13:16,200 --> 00:13:23,240 Și noi suntem atribuirea l la adresa de x. 279 00:13:23,240 --> 00:13:26,330 >> Amintiți-vă, indicii deține adrese, OK? 280 00:13:26,330 --> 00:13:32,050 Deci, dacă vrem să dețină x, avem pentru a utiliza operatorul adresa, care 281 00:13:32,050 --> 00:13:36,520 este ampersand, pentru a obține adresa de x, care, în acest caz, 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 Și apoi, dacă avem unii copie int, aceasta doar 284 00:13:44,430 --> 00:13:48,060 creează o altă cutie care deține o copie numita int. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 Și dacă am atribui-o astea-- Deci asta e referire. 287 00:13:55,330 --> 00:14:00,090 Deci, se spune du-te la orice adresă pointer deține. 288 00:14:00,090 --> 00:14:05,330 Pointer deține această adresă, deci vom merge pe aici, 289 00:14:05,330 --> 00:14:07,130 și spunem, OK, ce e în ea? 290 00:14:07,130 --> 00:14:08,610 E 5. 291 00:14:08,610 --> 00:14:09,815 Deci, copie devine 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 Face sens? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> Ce se întâmplă dacă am încercat să atribui aceasta doar pentru indicatorul. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 Ce pointer de fapt egal? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 Ar fi pur și simplu indiferent pointer conține, nu? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 Și apoi ce dacă am făcut acest lucru? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 Ce s-ar fi copia acum? 304 00:14:39,880 --> 00:14:41,365 305 00:14:41,365 --> 00:14:42,275 >> Audiența: 0x08. 306 00:14:42,275 --> 00:14:44,150 ALLISON BUCHHOLTZ-AU: Da, Adresa de pointer noastre. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 Orice parte din acel care trebuie să fie re-explicate? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 Rece. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 Nu este cu siguranta un foarte problemă distracție pe unul testul 313 00:14:57,740 --> 00:15:00,100 pe care le putem peste faptul că vă oferă mai multă practică. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 Cei de la saptamana trecuta poate vă spun că nu a fost așa de rău. 316 00:15:03,270 --> 00:15:06,000 Avem printr-un întreg diagramă, și toată lumea a făcut mare. 317 00:15:06,000 --> 00:15:10,830 >> OK, așa că e listă de sintaxă de indicii. 318 00:15:10,830 --> 00:15:15,070 Cel mai mare lucru este intelegerea modului pentru a le crea, face referire, 319 00:15:15,070 --> 00:15:18,190 și adresa, OK? 320 00:15:18,190 --> 00:15:18,690 Rece. 321 00:15:18,690 --> 00:15:20,775 Orice alte subiecte înainte ne-am arunca cu capul în practică. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 De asemenea, dacă mergem prin problemele de practică 324 00:15:28,011 --> 00:15:30,760 și nu e ceva ce vrei un perfecționare pe, putem face asta. 325 00:15:30,760 --> 00:15:31,300 Ai ceva? 326 00:15:31,300 --> 00:15:32,758 >> Audiența: structs și liste postat. 327 00:15:32,758 --> 00:15:35,130 ALLISON BUCHHOLTZ-AU: structs și a listelor legate, OK. 328 00:15:35,130 --> 00:15:37,100 Așa structs. 329 00:15:37,100 --> 00:15:38,990 Noi de fapt de gând peste această seara asta prea. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 OK, așa structs. 332 00:15:41,890 --> 00:15:47,490 Structs sunt, practic, doar o modalitate de a ține 333 00:15:47,490 --> 00:15:50,430 mai multe valori de diferite tipuri. 334 00:15:50,430 --> 00:15:55,150 Deci, cu o serie suntem contractat pentru un tip de date. 335 00:15:55,150 --> 00:16:00,965 Oferta noastră trebuie fie să fie doar numere, sau pur și simplu să fie de caractere, sau pur și simplu să fie flotoare. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> Dar poate ai nevoie pentru a conține mai mult decât atât. 338 00:16:05,470 --> 00:16:09,130 Poate aveți nevoie pentru a hold-- dacă vorbești despre un elev, 339 00:16:09,130 --> 00:16:13,660 ai de gând să aibă casa lor, lor Număr de identificare, vârsta lor, în cazul în care trăiesc, 340 00:16:13,660 --> 00:16:14,240 dreapta? 341 00:16:14,240 --> 00:16:16,460 Și toate acestea sunt diferite tipuri de tipuri. 342 00:16:16,460 --> 00:16:18,680 Astfel încât să nu poate stoca cele toți într-o matrice. 343 00:16:18,680 --> 00:16:21,750 >> Deci, ce puteți face este de tine poate crea o struct, care 344 00:16:21,750 --> 00:16:26,240 vă puteți gândi ca dumneavoastră propriul tip de date cu caracter personal. 345 00:16:26,240 --> 00:16:29,130 Deci, în loc de a avea doar int și în loc de doar cu flotoare, 346 00:16:29,130 --> 00:16:33,210 poti avea un student tip care are toate aceste câmpuri în ea. 347 00:16:33,210 --> 00:16:39,740 Deci, modul în care ne inițializa structs noastre este-- de fapt 348 00:16:39,740 --> 00:16:44,921 deoarece scrisul meu este teribil, ne-am sunt de gând pentru trecerea la dactilografiere. 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, deci, dacă dorim să creăm o struct-- Mă duc să-l aici. 352 00:16:53,150 --> 00:16:57,730 Nerespectarea în principal, indiferent de pe care o vom folosi mai târziu. 353 00:16:57,730 --> 00:17:02,330 Deci, modul în care doriți să faceți este cu typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 Și hai să numim acest student pentru că asta e ceea ce am fost utilizați. 356 00:17:13,349 --> 00:17:17,801 OK, deci înseamnă că ești typedef definirea unui nou tip, OK? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 Există nuanțe în când faci doar un struct, comparativ cu o struct typedef. 359 00:17:24,355 --> 00:17:26,313 Pentru toate punctele și scopuri, voi sunteți doar 360 00:17:26,313 --> 00:17:29,490 de gând să-și asume că sunt aproximativ la fel și drepți 361 00:17:29,490 --> 00:17:30,820 folosi typedef struct pentru acum. 362 00:17:30,820 --> 00:17:35,180 Va deveni mult mai evidente în ta următor P stabilit care sunt acele diferențe, 363 00:17:35,180 --> 00:17:37,960 dar nu cred că aveți nevoie pentru a vă faceți griji despre asta acum. 364 00:17:37,960 --> 00:17:40,360 Mi-ar mai degrabă te Știi cum să creați una, 365 00:17:40,360 --> 00:17:41,880 acces la ea, și să alocați [? valoare. ?] 366 00:17:41,880 --> 00:17:47,820 >> Un nou tip de struct, și suntem numindu-l elev. 367 00:17:47,820 --> 00:17:52,640 Deci, după ce am terminat crearea de acest lucru, pentru toate punctele de vedere, 368 00:17:52,640 --> 00:17:55,070 va avea un tip numit elev. 369 00:17:55,070 --> 00:17:59,610 Și vă puteți gândi la ea doar ca un tip ca un int, sau un flotor, sau un char. 370 00:17:59,610 --> 00:18:01,820 E doar un alt tip, OK? 371 00:18:01,820 --> 00:18:04,530 >> Deci, în aceasta, ce avem? 372 00:18:04,530 --> 00:18:05,420 Avem poate un nume. 373 00:18:05,420 --> 00:18:08,275 Deci, poate că ne dorim un nume șir. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 Și avem poate o int care este un act de identitate. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 Și avem o altă în care e numărul de telefon. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 Si ne-am lăsa some-- vedem. 380 00:18:26,200 --> 00:18:27,200 Ce altceva am putea avea? 381 00:18:27,200 --> 00:18:29,385 Vom avea unele șir la casa lui. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 Toate lucrurile pe care un student le are. 384 00:18:34,510 --> 00:18:36,960 >> Deci, acest lucru creează o struct acum. 385 00:18:36,960 --> 00:18:41,450 Deci, cum am putea crea un elev? 386 00:18:41,450 --> 00:18:46,960 Dacă avem o variabilă care este de gând să vorbesc despre Walker aici, 387 00:18:46,960 --> 00:18:51,245 așa că have-- suntem doar O să numesc acest Walker. 388 00:18:51,245 --> 00:18:52,520 Are nevoie de un tip. 389 00:18:52,520 --> 00:18:53,770 Care este tipul de? 390 00:18:53,770 --> 00:18:54,520 Audiența: 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 Deci, acest lucru creează doar un obiect poți cred că de asta este dotat cu toate aceste lucruri. 394 00:19:04,800 --> 00:19:07,880 Tocmai ai creat un elev Walker. 395 00:19:07,880 --> 00:19:10,910 Așa că acum trebuie să fie în măsură să atribuie toate astea, nu? 396 00:19:10,910 --> 00:19:13,500 Deci, nimeni nu amintesc cum am acces într-un struct? 397 00:19:13,500 --> 00:19:14,762 398 00:19:14,762 --> 00:19:15,470 Audiența: Perioada. 399 00:19:15,470 --> 00:19:16,730 ALLISON BUCHHOLTZ-AU: Perioada Exact. 400 00:19:16,730 --> 00:19:23,795 Deci, dacă am vrut să atribui i un nume, am putea face asta. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 Evident, acest lucru ar be-- această parte de aici s-ar 403 00:19:28,680 --> 00:19:31,831 fie în principal, așa de fapt, lasă-mă să fac asta. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 Declare acest lucru de mai sus principal așa pe care o putem folosi în principal. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 Așa că acum vreau să fac ID-ul, și vom face doar câteva acolo, 408 00:20:00,980 --> 00:20:02,970 iar apoi vom atribui o casă. 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 Rece. 412 00:20:09,650 --> 00:20:19,870 >> Deci, acum ar trebui să avem nevoie pentru acces ceva mai târziu on-- poate we-- 413 00:20:19,870 --> 00:20:25,920 dacă avem nevoie pentru a accesa ceva, hai să facem un act de identitate copie int. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 Și vreau să copiați ID-ul lui Walker în asta. 416 00:20:30,530 --> 00:20:31,370 Cum s-ar putea să o fac? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 Ai nevoie de a accesa în cadrul Walker struct să [? du-te la asta?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 Și în același fel în care ne-am atribuit-o aici, cum 420 00:20:41,280 --> 00:20:45,573 am putea accesa atunci când vrem să da ca valoarea de altceva? 421 00:20:45,573 --> 00:20:46,406 Audiența: Walker.id. 422 00:20:46,406 --> 00:20:47,252 423 00:20:47,252 --> 00:20:48,376 ALLISON BUCHHOLTZ-AU: Da, exact. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 Deci, asta e destul de mult tot ce trebuie să știți pentru structs. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 Trebuie doar să ne gândim la le ca o altă variabilă. 428 00:20:58,560 --> 00:21:01,710 Practic o creați-vă Tipul de variabilă propriu, OK? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 Îl folosiți pentru a declara variabile în nici un fel. 431 00:21:07,970 --> 00:21:10,290 Aici Walker este încă o variabilă. 432 00:21:10,290 --> 00:21:14,230 Ea are doar un elev de tip acum, în loc de un tip int, sau un șir de tip, 433 00:21:14,230 --> 00:21:15,070 sau un char tip. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 Dacă ar fi fost o modalitate ușoară de a vorbi despre structs, este literalmente doar un 436 00:21:19,930 --> 00:21:24,430 crea propriul tip de date care vă permite să grupați 437 00:21:24,430 --> 00:21:28,320 toate aceste diferite un fel de date împreună. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 Are care face sens? 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 Că și accesarea cu puncte. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 Destul de mult tot ce ai nevoie. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> OK, în cazul în care a mers PowerPoint meu? 448 00:21:46,600 --> 00:21:47,580 Iată-l. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 Ei bine, acest lucru este ciudat. 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, rece. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 Orice alte lucruri sau ne vrea să se îndrepte pentru a practica? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 Practica? 458 00:22:02,710 --> 00:22:03,501 OK. 459 00:22:03,501 --> 00:22:04,000 Minunat. 460 00:22:04,000 --> 00:22:05,642 461 00:22:05,642 --> 00:22:06,600 Am de gând să ieși din asta. 462 00:22:06,600 --> 00:22:08,490 Dacă la orice moment în timpul practica întrebări, 463 00:22:08,490 --> 00:22:12,630 Sunt fericit să restructura și du-te prin lucruri. 464 00:22:12,630 --> 00:22:15,240 Deci, am test de la zero aici. 465 00:22:15,240 --> 00:22:18,370 Dacă vreți să trageți l pe computerul dumneavoastră, 466 00:22:18,370 --> 00:22:20,670 doar ca să ia cinci minute pentru a parcurge. 467 00:22:20,670 --> 00:22:23,540 Poate alege unele de top întrebări vrei să mergi peste. 468 00:22:23,540 --> 00:22:27,390 Dacă nu voi poate decide, vom doar începe încet să lucreze prin ei, 469 00:22:27,390 --> 00:22:31,590 dar eu sunt sigur că vor fi unele intrebari pe care le fac deosebit de 470 00:22:31,590 --> 00:22:34,890 dornici de a vorbi despre și să aibă mi lucrez cu tine toate. 471 00:22:34,890 --> 00:22:36,580 Așa că, mergeți mai departe și să ia cinci minute. 472 00:22:36,580 --> 00:22:37,780 A parcurge. 473 00:22:37,780 --> 00:22:40,620 Și acest lucru este testul din 2013. 474 00:22:40,620 --> 00:22:41,841 >> Audiența: Zero? 475 00:22:41,841 --> 00:22:43,630 >> ALLISON BUCHHOLTZ-AU: Da, test de zero. 476 00:22:43,630 --> 00:22:45,647 Noi nu facem concurs unul chestii. 477 00:22:45,647 --> 00:22:46,980 Vom face asta în câteva săptămâni. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 De asemenea, pentru cei dintre voi care a venit la sfârșitul anului, avem bomboane, 480 00:22:55,190 --> 00:23:00,580 așa Vreți bomboane? 481 00:23:00,580 --> 00:23:01,530 >> Audiența: Sigur. 482 00:23:01,530 --> 00:23:03,321 >> ALLISON BUCHHOLTZ-AU: Sunt doar O să treacă în jurul valorii. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 Hei, dacă voi ajunge aici devreme, veți obține mai multe bomboane. 485 00:23:11,940 --> 00:23:12,500 Asta e bine. 486 00:23:12,500 --> 00:23:13,550 Ben, vrei bomboane? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 Vrei unele dintre acestea? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 Există, de asemenea Snickers dacă oricine vrea Snickers. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 Le voi pleca de aici și de aici. 493 00:23:29,360 --> 00:23:30,946 Simțiți-vă liber. 494 00:23:30,946 --> 00:23:32,485 Ai mai vrei? 495 00:23:32,485 --> 00:23:33,235 Audiența: Toate setat. 496 00:23:33,235 --> 00:23:33,540 Mulțumesc. 497 00:23:33,540 --> 00:23:36,248 >> ALLISON BUCHHOLTZ-AU: Și am avut un frumos mic grămadă acolo la început. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 Voi ajunge să ia testul și I a lua pentru a avea o petrecere test clasificare. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 E haos. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 de examene. 504 00:23:57,385 --> 00:23:58,650 O să fie atât de distractiv. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 Va fi mare. 507 00:24:02,036 --> 00:24:04,430 Sunt destul de sigur că e unul din cel mai mare lipirea personal 508 00:24:04,430 --> 00:24:05,380 nopți ale anului. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 A făcut cineva test de zero de la anul trecut, dar din curiozitate? 511 00:24:19,175 --> 00:24:20,335 >> Audiența: Piese de ea. 512 00:24:20,335 --> 00:24:21,543 >> ALLISON BUCHHOLTZ-AU: Piese de ea, OK. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 Ai intrebari cu privire la vreuna dintre ele? 515 00:24:26,482 --> 00:24:28,190 Audiența: Am deja a mers la ore de birou. 516 00:24:28,190 --> 00:24:28,898 Vă mulțumim totuși. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ALLISON BUCHHOLTZ-AU: Ei bine, sperăm este încă un fel de ajutor. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 Când te-ai dus la orelor de program pentru asta? 521 00:24:45,634 --> 00:24:47,300 Audiența: TF meu le-a avut această după-amiază. 522 00:24:47,300 --> 00:24:47,966 ALLISON BUCHHOLTZ-AU: Oh. 523 00:24:47,966 --> 00:24:48,977 Cine e TF ta? 524 00:24:48,977 --> 00:24:49,854 525 00:24:49,854 --> 00:24:51,020 Audiența: Fred [? Wujaya?]. 526 00:24:51,020 --> 00:24:52,622 527 00:24:52,622 --> 00:24:54,080 ALLISON BUCHHOLTZ-AU: Sunt atât de multe TFS. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 Atât de multe. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 Bine. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 Oricine are orice pentru a începe care pot noteze pe care ne-o dorim pentru a lucra la? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 Presupun că indicii una cu tabelul. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 Du-te pentru ea. 538 00:25:57,610 --> 00:25:59,180 >> Audiența: Poate comutatorul unul. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ALLISON BUCHHOLTZ-AU: Deci, numărul 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 Presupun că numărul 8 și 9 sunt, probabil, unele dintre persoanele vreau să merg peste. 543 00:26:10,770 --> 00:26:12,116 >> Audiența: Și 10 și 11. 544 00:26:12,116 --> 00:26:21,860 545 00:26:21,860 --> 00:26:25,806 >> ZAMYLA chan: Și voi ști veți obține o pagină de note, nu? 546 00:26:25,806 --> 00:26:28,450 >> Audiența: Da, deci ce sunt ne-am permis să pun pe asta. 547 00:26:28,450 --> 00:26:30,658 >> ALLISON BUCHHOLTZ-AU: Ai voie pentru a pune tot ce vrei. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 Și poate fi introdus. 550 00:26:32,720 --> 00:26:35,270 În ceea ce îmi amintesc, a noastră s-au tastat. 551 00:26:35,270 --> 00:26:37,022 >> Audiența: Puteți face o spate și ambele părți? 552 00:26:37,022 --> 00:26:38,780 >> ALLISON BUCHHOLTZ-AU: Da, ambele părți. 553 00:26:38,780 --> 00:26:42,940 Deci, ceva de genul heap și [? capătul din spate?] morman, alergare 554 00:26:42,940 --> 00:26:43,780 ori. 555 00:26:43,780 --> 00:26:44,840 Util. 556 00:26:44,840 --> 00:26:47,990 Poate lucruri mici despre indicii pentru a vă reaminti. 557 00:26:47,990 --> 00:26:49,205 Sintaxa pentru lucruri. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 Avand la fel ca un schelet Programul poate fi foarte util. 560 00:26:54,830 --> 00:27:00,719 Știu că mereu am uitat exact ceea ce Trebuia să scrie pentru int main, 561 00:27:00,719 --> 00:27:03,010 pentru că mereu am copie paste din setul meu P precedent 562 00:27:03,010 --> 00:27:06,232 sau e deja acolo, așa Eu niciodata nu a scris, 563 00:27:06,232 --> 00:27:07,690 astfel având, care poate fi foarte util. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> OK, așa că de ce nu ne-am începe cu numărul 8, atunci? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 Bine. 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 Deci, ia în considerare programul de mai jos. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 Deci, în mod evident, atunci când vom vedea indicii, este, probabil, 573 00:27:30,700 --> 00:27:32,200 o idee bună pentru a începe să desenați, nu? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 Vreau să știu unde totul meu bucăți mari de creta s-au. 576 00:27:36,760 --> 00:27:37,870 Aceasta este un fel de enervant. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> Deci, avem aici o funcție de swap care va lua în două indicii. 579 00:27:45,820 --> 00:27:48,630 Deci, în acest caz, ei ar trebui să fie de fapt de comutare 580 00:27:48,630 --> 00:27:53,400 lucruri față de schimb noastră originală funcție pe care a luat doar în exemplare. 581 00:27:53,400 --> 00:27:57,030 Deci, ceea ce va face este-- Să începem cu principalul, 582 00:27:57,030 --> 00:27:58,450 pentru că în cazul în care 1 este. 583 00:27:58,450 --> 00:28:04,296 >> Deci, avem unele int x 1. 584 00:28:04,296 --> 00:28:11,860 Avem niște y care este egal cu 2. 585 00:28:11,860 --> 00:28:14,390 Și apoi avem ceva de swap care va lua cele. 586 00:28:14,390 --> 00:28:17,320 Și să vedem ce avem noi aici. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 Și în table-- nostru oh boy. 589 00:28:22,709 --> 00:28:23,792 Cum am de gând să fac acest lucru? 590 00:28:23,792 --> 00:28:25,900 Am de gând să atragă masa mea aici. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 Abia face acolo. 593 00:28:50,552 --> 00:28:51,260 Abia face. 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 Și ei ne dau că 1 este 1, și 1 2. 598 00:29:15,706 --> 00:29:16,206 Rece. 599 00:29:16,206 --> 00:29:17,674 600 00:29:17,674 --> 00:29:18,174 Minunat. 601 00:29:18,174 --> 00:29:19,650 602 00:29:19,650 --> 00:29:20,464 Deci, 3. 603 00:29:20,464 --> 00:29:21,380 Și nu e [? o 1.?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> Bine. 606 00:29:25,250 --> 00:29:35,202 Și apoi adresa lui x este 0x123. 607 00:29:35,202 --> 00:29:41,260 Și y este Ox127. 608 00:29:41,260 --> 00:29:41,760 Rece. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 Bine. 611 00:29:43,595 --> 00:29:46,710 Vreau ca voi lucra la acest pentru munca doar like-- pe ea 612 00:29:46,710 --> 00:29:48,385 cu oamenii din jurul tău. 613 00:29:48,385 --> 00:29:50,340 Îmi doresc să fi spus că în timp ce am fost înființarea. 614 00:29:50,340 --> 00:29:50,840 Lucrez la el. 615 00:29:50,840 --> 00:29:53,270 Încercați și de a lucra pe el de -vă pentru câteva minute, 616 00:29:53,270 --> 00:29:54,930 iar apoi voi lucra pe el cu tine. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 Pentru că singura cale prin care sunteți cu adevărat O să învățăm este de a face singur. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 Nu vă faceți griji. 621 00:31:30,110 --> 00:31:30,610 Mult noroc. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> OK, de ce nu avem încet începe să lucreze prin aceasta. 624 00:32:20,030 --> 00:32:23,695 Deci, toată lumea devine, după o linie, x este 1. 625 00:32:23,695 --> 00:32:26,860 După linia doi, x și y sunt 1 și 2, nu? 626 00:32:26,860 --> 00:32:27,400 Rece. 627 00:32:27,400 --> 00:32:30,310 Deci, linia trei este în cazul în care lucrurile primi interesant, desigur. 628 00:32:30,310 --> 00:32:34,970 >> Deci, ceea ce am făcut aici este ne-am schimbat acum. 629 00:32:34,970 --> 00:32:42,360 Noi spunem că x și y au aceste puncte, sau ei au adresa lui x și y, 630 00:32:42,360 --> 00:32:43,390 dreapta? 631 00:32:43,390 --> 00:32:48,451 Deci, în acest caz, trei, care este valoarea unui? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 o a fost trecut în, a fost dat valoarea adresei x, nu? 634 00:32:59,806 --> 00:33:02,542 635 00:33:02,542 --> 00:33:03,454 >> Audiența: 1? 636 00:33:03,454 --> 00:33:05,200 >> ALLISON BUCHHOLTZ-AU: Deci, am adauga la x? 637 00:33:05,200 --> 00:33:06,420 Care este adresa lui x? 638 00:33:06,420 --> 00:33:07,212 >> Audiența: 0x123. 639 00:33:07,212 --> 00:33:08,087 >> ALLISON BUCHHOLTZ-AU: Exact. 640 00:33:08,087 --> 00:33:13,960 641 00:33:13,960 --> 00:33:16,790 Dar ceea ce este un fapt ce indică spre? 642 00:33:16,790 --> 00:33:20,790 Dacă ar fi să dereference o, ce valoare ne-ar da. 643 00:33:20,790 --> 00:33:21,290 Audiența: 1. 644 00:33:21,290 --> 00:33:23,164 ALLISON BUCHHOLTZ-AU: Ar fi da-ne o, pentru că ceea ce 645 00:33:23,164 --> 00:33:27,810 ce spunem este să mergeți la acest adresă, spune-ne ce valoarea este. 646 00:33:27,810 --> 00:33:28,890 Deci, ceea ce ar fi b? 647 00:33:28,890 --> 00:33:30,500 648 00:33:30,500 --> 00:33:31,445 >> Audiența: 0x127. 649 00:33:31,445 --> 00:33:32,320 ALLISON BUCHHOLTZ-AU: Exact. 650 00:33:32,320 --> 00:33:33,610 651 00:33:33,610 --> 00:33:35,410 Deci e adresa lui y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 Și apoi ce [? dereference? ?] 654 00:33:39,811 --> 00:33:40,310 Audiența: 2. 655 00:33:40,310 --> 00:33:42,172 656 00:33:42,172 --> 00:33:43,380 ALLISON BUCHHOLTZ-AU: OK, deci acum patru. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 Am spus-o este equal-- bine acum ne-am int temp făcut este egal cu stea de-o. 659 00:33:51,300 --> 00:33:53,580 Deci, ce se schimbă? 660 00:33:53,580 --> 00:33:55,680 Există doar un singur lucru care se schimbă aici. 661 00:33:55,680 --> 00:33:56,180 Ce este? 662 00:33:56,180 --> 00:33:57,892 663 00:33:57,892 --> 00:33:58,624 >> Audiența: Temp. 664 00:33:58,624 --> 00:33:59,540 ALLISON BUCHHOLTZ-AU: temp. 665 00:33:59,540 --> 00:34:06,120 Astfel încât să putem rescrie toate acestea. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 O strategie bună pentru acestea este doar imaginind 668 00:34:10,690 --> 00:34:14,050 Ce schimbări, pentru că cele mai multe ori exista un singur lucru care este 669 00:34:14,050 --> 00:34:16,300 va schimba la un moment dat, OK? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 Așa că am atribuit temp. 672 00:34:20,100 --> 00:34:26,929 >> Acum, următorul nostru punct, cinci, am au făcut o stea egal să stea b. 673 00:34:26,929 --> 00:34:28,880 Deci, ce se schimbă acum? 674 00:34:28,880 --> 00:34:29,760 >> AUDIENTA: Stea o. 675 00:34:29,760 --> 00:34:32,081 >> ALLISON BUCHHOLTZ-AU: Stea-o, așa orice altceva rămâne la fel. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 Și ce juca un egal? 678 00:34:39,900 --> 00:34:40,659 >> Audiența: 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 Minunat. 684 00:34:46,239 --> 00:34:51,190 OK, iar apoi acum ne-am începe b este egală cu temperatura. 685 00:34:51,190 --> 00:34:53,907 Deci, singurul lucru schimbarea este steaua b. 686 00:34:53,907 --> 00:34:55,344 Orice altceva rămâne la fel. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 Și ceea ce este steaua b egal cu acum? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 Și ai terminat masa. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 Pentru că acum, la final, dacă spunem x și y, știm că în acest point-- 693 00:35:18,460 --> 00:35:23,060 știm că atunci când ne schimbat juca o la 2, 694 00:35:23,060 --> 00:35:29,620 ceea ce a făcut ca este a spus OK, la adresa 0x123 aici, o schimbe. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 Acum, acest lucru a fost de 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 Și apoi la acest punct, am spus OK, du-te să stea b. 699 00:35:40,600 --> 00:35:45,305 Deci, du-te la adresa la 0x127 și un 1 face. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 Deci, acum, la sfârșit, atunci când ne întoarcem de fapt de principal, 702 00:35:53,110 --> 00:35:56,445 avem de fapt că x este egal cu 2 și y este egal cu 1. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 Toată lumea bună cu asta? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 OK, rece. 707 00:36:02,320 --> 00:36:04,030 Numărul de 9. 708 00:36:04,030 --> 00:36:05,950 Voi lucra la asta. 709 00:36:05,950 --> 00:36:09,016 Am de gând să înființeze un consiliu de astfel încât să putem trage prin ea. 710 00:36:09,016 --> 00:36:09,910 Va fi o explozie. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 Marile Tabelele pot fi într-adevăr înfricoșător, știu. 713 00:36:16,320 --> 00:36:19,910 Dar dacă tu doar le luam rând la un timp, primesc mult mai puțin înfricoșător. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 Bine. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> Astfel încât să știi că acest lucru va avea trecut prin principală întâi, nu? 718 00:38:21,190 --> 00:38:24,140 Initializeaza x și y și apoi încearcă să le schimba. 719 00:38:24,140 --> 00:38:28,560 Deci, chiar de swap este de mai sus, un fel de real merge este că vom trece prin principal, 720 00:38:28,560 --> 00:38:31,040 și apoi se asteptare până la schimb, în ​​regulă? 721 00:38:31,040 --> 00:38:32,810 Astfel încât toată lumea știe asta. 722 00:38:32,810 --> 00:38:34,960 >> Deci, pe care o face tu Vreți să începeți cu? 723 00:38:34,960 --> 00:38:37,240 Este cineva sigur aproximativ una din astea? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 Sau chiar parțial sigur? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 De ce nu începem cu x? 728 00:38:48,120 --> 00:38:49,060 Ce credem x este? 729 00:38:49,060 --> 00:38:49,735 >> Audiența: 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 Deci, atunci de ce este 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 Și asta pentru că mare distincție aici 735 00:39:01,380 --> 00:39:04,890 este că suntem doar asociate de exemplare in, nu? 736 00:39:04,890 --> 00:39:06,520 Nu ne trece prin referință. 737 00:39:06,520 --> 00:39:08,850 Deci, chiar la sfârșitul acest program x și y 738 00:39:08,850 --> 00:39:14,170 au ramas la fel, pentru că ei sunt doar copii în funcția de swap. 739 00:39:14,170 --> 00:39:16,320 Ei nu schimba de fapt, nu? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> Deci, ce despre a, b, și temp? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> Audiența: a este b. 744 00:39:22,890 --> 00:39:23,940 >> ALLISON BUCHHOLTZ-AU: a este b. 745 00:39:23,940 --> 00:39:28,569 Deci, în acest caz, un fost x, care este de 1, nu? 746 00:39:28,569 --> 00:39:29,860 Deci, aici, să mergem prin ea. 747 00:39:29,860 --> 00:39:33,940 Deci, la început, a și b sunt 1 și 2 și nedefinit. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 Deci, inițial temp devine atribuit unui, deci temp este 1. 750 00:39:40,850 --> 00:39:46,150 a este egal cu b, Deci, ajungem 2, iar b este egală cu temperatura. 751 00:39:46,150 --> 00:39:47,284 Acum avem 1. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> Audiența: In cel pe care îl precedent schimbate ampersand x și y ampersand. 754 00:39:55,860 --> 00:39:57,390 Ce anume înseamnă asta? 755 00:39:57,390 --> 00:39:59,890 ALLISON BUCHHOLTZ-AU: Deci asta înseamnă că te trece prin referință. 756 00:39:59,890 --> 00:40:03,830 Deci, asta înseamnă că tu ești de fapt care trece în adresele unde 757 00:40:03,830 --> 00:40:04,814 x și y sunt stocate. 758 00:40:04,814 --> 00:40:06,730 Audiența: Dar tu nu ești schimbarea adresei. 759 00:40:06,730 --> 00:40:07,860 ALLISON BUCHHOLTZ-AU: Nu ești schimbarea adresele. 760 00:40:07,860 --> 00:40:10,015 Te schimbarea ceea ce este în interiorul lor. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 Ca ce-i la acea adresă, și de aceea funcționează. 763 00:40:14,460 --> 00:40:20,750 Versus în acest program aici ceea ce ce faci este bază crearea de copii. 764 00:40:20,750 --> 00:40:27,440 Deci, ai x și y care există ca și propriilor variabile aici. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 Dar atunci când treci le în schimb, e 767 00:40:34,140 --> 00:40:38,090 ca în cazul în care creați acest alt set întreg. 768 00:40:38,090 --> 00:40:41,272 Deci, nu ești niciodată de fapt x și y emoționante. 769 00:40:41,272 --> 00:40:46,890 >> Audiența: Dacă ampersand X este ceea ce este la adresa de x, ceea ce ar juca x fi? 770 00:40:46,890 --> 00:40:53,290 >> ALLISON BUCHHOLTZ-AU: Ampersand x este ceea ce este la adresa lui x, atunci star-- bine, 771 00:40:53,290 --> 00:40:54,950 în acest caz, X nu este un pointer. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 Audiența: Oh, OK. 774 00:40:57,040 --> 00:40:58,998 Deci, tu faci numai acest lucru pentru ca nu este un pointer. 775 00:40:58,998 --> 00:40:59,890 ALLISON BUCHHOLTZ-AU: pe dreapta. 776 00:40:59,890 --> 00:41:03,046 Puteți face numai stele de ceva care este un pointer. 777 00:41:03,046 --> 00:41:05,920 Poate ai putea face pentru lucruri care nu sunt, dar compila vă că 778 00:41:05,920 --> 00:41:07,350 face acest lucru lucruri nebunești s-ar întâmpla. 779 00:41:07,350 --> 00:41:09,570 Și nu sunt exact sigur ce se va întâmpla. 780 00:41:09,570 --> 00:41:11,880 Puteți lua întotdeauna Adresa de ceva, 781 00:41:11,880 --> 00:41:14,255 dar nu poți dereference ceva ce nu e un pointer. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 În cazul în care are sens, e o distincție bun pentru a avea. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> Deci, nu prea rău, nu? 786 00:41:21,340 --> 00:41:23,650 Tabelele sunt, sperăm, asistent mai puțin înfricoșător. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 Bine. 789 00:41:26,690 --> 00:41:28,370 Ah, cele distractive. 790 00:41:28,370 --> 00:41:31,265 Deci, acum, scrie propriul cod. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 Așa că am de gând să lase voi lucrați Pe aceasta timp de aproximativ patru minute, 793 00:41:37,950 --> 00:41:41,480 și apoi putem vorbi despre modalități de a aborda. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 Simțiți-vă liber pentru a vorbi cu oamenii din jurul tău. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 De asemenea, acest lucru este interesant. 798 00:41:49,155 --> 00:41:51,460 E ca și cum un toate fetele secțiune chiar acum. 799 00:41:51,460 --> 00:41:52,190 Destul de interesant. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 Cu excepția Chang. 802 00:41:54,502 --> 00:41:56,190 Dar Chang nu este cu adevărat parte a secțiunii. 803 00:41:56,190 --> 00:42:17,282 804 00:42:17,282 --> 00:42:17,985 Minunat. 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 Deci, eu vă va oferi câteva indicii. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 În cazul în care aveți mai mult de un caracter, în cazul în care 810 00:42:46,890 --> 00:42:49,990 ai altceva cum ar fi 123 sau 1000 ceva, 811 00:42:49,990 --> 00:42:53,790 aveți nevoie pentru a fi în măsură să buclă prin și de a converti fiecare dintre acestea. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 Deci, există un cuplu moduri în care puteți face acest lucru, 814 00:42:58,699 --> 00:43:01,740 dar ai cu siguranta va avea o buclă de undeva acolo la bucla 815 00:43:01,740 --> 00:43:05,150 prin intermediul lor, care este un fel de giveaway 816 00:43:05,150 --> 00:43:09,540 cu chiar daca apel strlen, care este un fel de oh 817 00:43:09,540 --> 00:43:12,418 poate doriți să utilizați lungimea șirului într-un fel. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> Bine. 820 00:45:17,829 --> 00:45:20,870 Deci, ce voi că ar putea fi unul dintre primele lucruri pe care vrem să le facem? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 Sunt câteva cazuri în aici avem nevoie pentru a ține cont de, nu? 823 00:45:25,690 --> 00:45:27,360 Fie avem ceva care este nul. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 Ce avem? 826 00:45:30,383 --> 00:45:30,882 Cazuri. 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 Avem cazul în care aceasta are altceva decât 09, nu? 831 00:45:42,414 --> 00:45:43,580 Deci, haideți să spunem că are litere. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 Sau avem cazul în care este valabilă. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 Trei cazuri să se gândească la. 836 00:45:50,130 --> 00:45:53,527 Deci, pe care o credeți că ar putea fi cel mai ușor să aibă grijă de primul? 837 00:45:53,527 --> 00:45:54,152 Audiența: Null. 838 00:45:54,152 --> 00:45:55,527 ALLISON BUCHHOLTZ-AU: Cazul este nul. 839 00:45:55,527 --> 00:45:56,610 Deci, ce am face acolo? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 Audiența: [inaudibil]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ALLISON BUCHHOLTZ-AU: Da. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 Și ceea ce vreau să fac? 846 00:46:06,550 --> 00:46:07,341 >> Audiența: Întoarcere 0. 847 00:46:07,341 --> 00:46:07,935 848 00:46:07,935 --> 00:46:09,110 >> ALLISON BUCHHOLTZ-AU: Exact. 849 00:46:09,110 --> 00:46:09,860 Minunat. 850 00:46:09,860 --> 00:46:10,640 OK. 851 00:46:10,640 --> 00:46:15,270 Deci, acum cazul în care aceasta are litere iar în cazul că este valid. 852 00:46:15,270 --> 00:46:19,140 Putem avea grijă de fapt din aceasta în termen de o buclă, OK? 853 00:46:19,140 --> 00:46:22,710 Deci, un mod de a face it-- ceea ce ar putea fi un mod simplu de a verifica dacă este valabil. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 Ne-ar trebui să treacă prin fiecare literă și de a face ce? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> Audiența: Verificați dacă este in-- 858 00:46:35,640 --> 00:46:39,570 >> ALLISON BUCHHOLTZ-AU: pe dreapta, puteți verifica dacă este între 0 și 9, nu? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 Și apoi, în cazul asta e valabil, suntem 861 00:46:42,700 --> 00:46:46,550 O să ajung iterarea prin string nostru oricum, nu? 862 00:46:46,550 --> 00:46:48,690 Deci, de ce să nu încercăm și combina-le într-o singură. 863 00:46:48,690 --> 00:46:51,260 Mergem de a repeta prin șir afară, și așa cum am 864 00:46:51,260 --> 00:46:56,400 face acest lucru, vom întâi face o verificare pentru a vedea dacă această scrisoare 865 00:46:56,400 --> 00:46:58,110 sau în cazul în care personajul este valid. 866 00:46:58,110 --> 00:47:02,150 Dacă este, vom efectua operație pe care trebuie să-l convertească. 867 00:47:02,150 --> 00:47:05,050 În caz contrar, acesta revine la 0, nu? 868 00:47:05,050 --> 00:47:09,160 >> Deci, inainte de a face asta, noi probabil anunt de unele variabile 869 00:47:09,160 --> 00:47:12,820 că ne putem întoarce la sfârșitul anului care va fi valoarea noastră reală. 870 00:47:12,820 --> 00:47:17,005 Deci, vom inițializa o anumită valoare să fie 0. 871 00:47:17,005 --> 00:47:18,390 Si acesta este doar modul în care vom începe. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 Așa că am de gând să scape de acest lucru. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 Deci, cum vom itera prin acest șir. 876 00:47:30,489 --> 00:47:31,280 Audiența: Pentru buclă. 877 00:47:31,280 --> 00:47:32,280 ALLISON BUCHHOLTZ-AU: A pentru bucla. 878 00:47:32,280 --> 00:47:33,160 Deci, ce e de nostru? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> Audiența: i este 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 Și ceea ce suntem iterarea până la? 884 00:47:41,180 --> 00:47:42,450 >> Audiența: lungime str de s. 885 00:47:42,450 --> 00:47:47,920 886 00:47:47,920 --> 00:47:50,900 >> ALLISON BUCHHOLTZ-AU: OK, acum amintiți-vă există o cale mai bună. [Inaudibil]. 887 00:47:50,900 --> 00:47:52,935 >> Audiența: Da, putem face n egal. 888 00:47:52,935 --> 00:47:53,810 ALLISON BUCHHOLTZ-AU: Exact. 889 00:47:53,810 --> 00:47:55,010 890 00:47:55,010 --> 00:47:56,190 >> Audiența: i este mai mic decât n. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ALLISON BUCHHOLTZ-AU: Și de ce am vrea să facem asta? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 Îți amintești motivul? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 Audiența: Trebuie să-l recalculeze. 897 00:48:05,680 --> 00:48:08,735 ALLISON BUCHHOLTZ-AU: Becasue acest fel, Trebuie doar să calculeze strlen dată. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 Dacă veți face i este mai mică de strlen s, asta e ce înseamnă că recalculează 900 00:48:14,400 --> 00:48:17,050 lungimea de fiecare dată rulați pentru buclă, 901 00:48:17,050 --> 00:48:20,800 care nu este un cost uriaș de energie, dar e 902 00:48:20,800 --> 00:48:24,280 practică mai bine pentru a încerca și face lucruri de genul asta odată. 903 00:48:24,280 --> 00:48:27,610 Cu excepția cazului poate aveți un șir nebun care se schimbă la fiecare iterație. 904 00:48:27,610 --> 00:48:30,371 Dar dacă stă la fel, salvați-l. 905 00:48:30,371 --> 00:48:30,870 Bine. 906 00:48:30,870 --> 00:48:33,430 Și apoi m-am, plus, plus. 907 00:48:33,430 --> 00:48:34,040 Minunat. 908 00:48:34,040 --> 00:48:35,789 Suntem pe drum. 909 00:48:35,789 --> 00:48:36,830 Audiența: Într-adevăr repede. 910 00:48:36,830 --> 00:48:39,600 În primul rând, așa să spunem ne-am Ti-am mai puțin de strlen de s, 911 00:48:39,600 --> 00:48:42,175 sunt ele ne clasificare pe design la toate sau doar corectitudine? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 Nu sunt. 914 00:48:44,610 --> 00:48:47,920 Suntem clasificare pe corectitudine pentru teste în măsura în care știu. 915 00:48:47,920 --> 00:48:52,670 Nu pot face o pe deplin garanție, dar pentru cea mai mare parte, 916 00:48:52,670 --> 00:48:57,060 marea majoritate este corectitudine, pentru că esti sub o mulțime de constrângere timp. 917 00:48:57,060 --> 00:48:59,704 Design înseamnă de obicei ai timp să te gândești 918 00:48:59,704 --> 00:49:01,245 despre eleganta de situația dumneavoastră. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> OK, așa că iterarea prin intermediul. 921 00:49:05,770 --> 00:49:10,640 Așa că trebuie să fie verificați la a se vedea dacă acest personaj este valabil 922 00:49:10,640 --> 00:49:14,550 sau dacă ne putem efectua noastră normale [? o sa i?] funcție. 923 00:49:14,550 --> 00:49:16,600 Putem să vă faceți griji despre ceea ce că este într-o secundă. 924 00:49:16,600 --> 00:49:19,340 Deci, de ce nu ne-am take-- în cazul în care cineva poate gândi 925 00:49:19,340 --> 00:49:21,930 despre o modalitate de a verifica la a se vedea dacă acest lucru este valabil. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 Stim ca va fi unele în cazul în stare, nu? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 Și amintiți-vă acest lucru este în ASCII, așa cum s-ar putea 930 00:49:32,300 --> 00:49:37,359 vom vedea dacă nu e 0,1, 2, 3, 4, 5, 6, 7, 8, sau 9. 931 00:49:37,359 --> 00:49:38,150 Audiența: Dacă alfa. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ALLISON BUCHHOLTZ-AU: Deci, dacă ar fi alfa numai să ne spui dacă e o scrisoare. 934 00:49:44,100 --> 00:49:47,810 Și dacă ne dea un simbol, e încă nu destul de gând să verifice. 935 00:49:47,810 --> 00:49:54,270 Deci, dacă vă trage în sus ASCII ta masă, știm că de la 0 la 9 936 00:49:54,270 --> 00:49:55,340 sunt într-un singur segment. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 Spune-mi numerele pe care le corespund, dacă este posibil. 939 00:50:00,540 --> 00:50:08,136 940 00:50:08,136 --> 00:50:08,677 Audiența: 40. 941 00:50:08,677 --> 00:50:11,440 942 00:50:11,440 --> 00:50:13,714 >> ALLISON BUCHHOLTZ-AU: Deci, intervalul este ca 40-- 943 00:50:13,714 --> 00:50:14,380 Audiența: Poate. 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 Nu sunt sigur. 947 00:50:17,430 --> 00:50:18,510 >> ALLISON BUCHHOLTZ-AU: 40-57? 948 00:50:18,510 --> 00:50:19,426 >> Audiența: 48, cred. 949 00:50:19,426 --> 00:50:20,730 ALLISON BUCHHOLTZ-AU: 48-57. 950 00:50:20,730 --> 00:50:26,070 Deci, noi știm că cei ASCII symbols-- daca valoarea ASCII nu este 951 00:50:26,070 --> 00:50:29,940 între 48 și 57, nu e valabil, nu? 952 00:50:29,940 --> 00:50:32,050 Deci, am putea folosi pentru a avantajul nostru, eventual? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 Cum vom obține aceasta scrisoare, în primul rând off? 955 00:50:38,082 --> 00:50:40,910 Cum suntem accesarea acest acest personaj? 956 00:50:40,910 --> 00:50:42,010 >> Audiența: s suport 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 Pentru ca ne putem gândi siruri de caractere ca matrice, amintiți-vă. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 Deci, ce vrem să spunem? 962 00:50:48,740 --> 00:50:55,920 Vrem să spunem dacă acest lucru este-- O să-ți dau un indiciu. 963 00:50:55,920 --> 00:50:56,920 E o mai mică. 964 00:50:56,920 --> 00:50:58,711 Ce să-l crezi trebuie să fie mai mică de? 965 00:50:58,711 --> 00:50:59,074 966 00:50:59,074 --> 00:50:59,615 Audiența: 57? 967 00:50:59,615 --> 00:51:01,550 968 00:51:01,550 --> 00:51:02,900 >> ALLISON BUCHHOLTZ-AU: 47, dreapta? 969 00:51:02,900 --> 00:51:08,920 Dar reprezintă, de asemenea, că în timp ce un 0 în singur [? spițe?], pentru că asta e 970 00:51:08,920 --> 00:51:09,689 caracterul 0. 971 00:51:09,689 --> 00:51:10,605 Ai putea, de asemenea, pune 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 Având tabelul ASCII, cum vezi tu, e doar ceva 974 00:51:14,350 --> 00:51:18,580 ar trebui să aveți pe foaia de test. 975 00:51:18,580 --> 00:51:25,830 >> Deci, dacă este cazul, dacă e un mai puțin de 0-- nu neapărat și. 976 00:51:25,830 --> 00:51:30,890 Se numai, fie va fi mai mică sau mai mare de 9. 977 00:51:30,890 --> 00:51:33,055 Astfel încât puteți să completați acest ultim pentru mine? 978 00:51:33,055 --> 00:51:36,440 Deci, sau s a i este ceea ce, Rhea? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> Audiența: mai mare de 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ALLISON BUCHHOLTZ-AU: Nu. 983 00:51:44,221 --> 00:51:47,280 Asta face sens pentru pentru toată lumea, cum am ajuns acolo? 984 00:51:47,280 --> 00:51:51,340 Aceste probleme, sunt ca o dată ce a se vedea soluțiile, e ca și cum oh, OK. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 Și de aceea practică vă va ajuta. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 OK, deci ne întoarcem la 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 Bine. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 În caz contrar, ce vrem să facem? 994 00:52:02,365 --> 00:52:04,640 Aceasta este partea interesanta în cazul în care este un pic mai mult 995 00:52:04,640 --> 00:52:07,550 cum ar fi matematica, față de CS, în opinia mea. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 Are cineva o idee de cum putem să facem acest lucru? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 Deci, cel mai important lucru pentru își dau seama este primul caracter 1000 00:52:18,155 --> 00:52:21,510 vom lua va fi cea mai mare cifra comanda, nu? 1001 00:52:21,510 --> 00:52:25,975 Deci, dacă ne uităm la conversie 123, prima dată când am repeta 1002 00:52:25,975 --> 00:52:30,800 va fi de 1, dar avem nevoie de care să fie de 100 până la sfârșitul anului, nu? 1003 00:52:30,800 --> 00:52:34,450 Deci, un singur lucru il poti face este că cu fiecare cifră 1004 00:52:34,450 --> 00:52:39,670 luați, vă înmulțiți valoarea ta de 10, astfel încât până în momentul când ajunge la sfârșitul anului, 1005 00:52:39,670 --> 00:52:42,960 totul a fost mutat în sus, nu? 1006 00:52:42,960 --> 00:52:46,490 >> Deci, prima dată când rulați ea, ai 1, ca valoare. 1007 00:52:46,490 --> 00:52:50,370 A doua oară când îl rulați, vă multiplica valoarea cu 10. 1008 00:52:50,370 --> 00:52:55,180 Acesta va fi actualizat, astfel încât este acum 10, și adăugați pe dvs. de valoare următor. 1009 00:52:55,180 --> 00:52:57,830 Și apoi multiplica că, prin 10 și se adaugă la valoarea ta viitoare. 1010 00:52:57,830 --> 00:53:01,880 Și acesta este motivul pentru care spun acest lucru este mult mai mult ca de testare 1011 00:53:01,880 --> 00:53:06,920 un algoritm de matematica față de CS, dar am face o digresiune. 1012 00:53:06,920 --> 00:53:08,080 Nu scrie chestionare. 1013 00:53:08,080 --> 00:53:13,520 >> Deci, un singur lucru putem face este să ne spune ori de valoare egală cu 10. 1014 00:53:13,520 --> 00:53:16,630 Deci, acest lucru se va schimba Format din cinci cifre o dată de fiecare dată. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 Și apoi ne-am dori să adăugați. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 Dorim să adăugăm în ceea ce tocmai am primit, nu? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 Deci, cum putem transforma în realitate noastre ASCII de caractere într-un număr 1021 00:53:31,649 --> 00:53:32,440 pe care o reprezintă? 1022 00:53:32,440 --> 00:53:37,680 1023 00:53:37,680 --> 00:53:40,800 >> Deci, noi știm că 0 este egal cu 47, nu? 1024 00:53:40,800 --> 00:53:44,260 Deci, dacă 0 este de 47, ceea ce ar trebui noi să facem să-l 1025 00:53:44,260 --> 00:53:47,376 pentru a face de fapt aceasta este o int de la 0? 1026 00:53:47,376 --> 00:53:48,384 >> Audiența: E 48. 1027 00:53:48,384 --> 00:53:49,050 ALLISON BUCHHOLTZ-AU: 48? 1028 00:53:49,050 --> 00:53:49,550 Scuze. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 Ne-ar scădea 48, dreapta? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 Amintiți-vă ASCII matematica? 1033 00:53:59,550 --> 00:54:01,565 Le putem trata doar cum ar fi numere normale. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 Dacă le tratezi ca numere, ele devin numere eficient. 1036 00:54:05,900 --> 00:54:10,410 Deci, dacă avem s de i, care permit lui spune în acest caz este egal cu 0. 1037 00:54:10,410 --> 00:54:14,420 Deci s de i, în acest caz, ar fi ASCII-- 1038 00:54:14,420 --> 00:54:16,675 int ASCII pentru a fi 47. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 Deci, am putea subtract-- sau 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 Ai putea face asta, este o modalitate. 1043 00:54:22,440 --> 00:54:25,125 Stie cineva o mai bună Astfel am putea face 48? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 Tocmai am spus 0 este-- intra în ASCII ai putea face citat 0. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 Deci, nu este un fel de a face sens cum functioneaza acest lucru? 1048 00:54:43,160 --> 00:54:50,080 >> Audiența: În acest moment, este valoarea 0 pentru că chiar dacă îl înmulțește cu 10, 1049 00:54:50,080 --> 00:54:53,340 începi cu zero deci ar trebui să fie pornit? 1050 00:54:53,340 --> 00:54:59,360 >> ALLISON BUCHHOLTZ-AU: Deci, în acest caz, doriți să-l multiplice înainte de a adăuga, 1051 00:54:59,360 --> 00:55:06,650 pentru că în acest caz, da, ar fi încă be-- pointer-mi lipsește. 1052 00:55:06,650 --> 00:55:09,980 Valoarea, în acest caz, prima timp vom rula va fi zero. 1053 00:55:09,980 --> 00:55:12,320 Deci, esti doar adăugarea pe care prima cifră. 1054 00:55:12,320 --> 00:55:15,930 Ceea ce este important este data viitoare voi repeta, pe care doriți să-l transfere în sus 1055 00:55:15,930 --> 00:55:18,722 înainte de a adăuga următoarea cifre pe. 1056 00:55:18,722 --> 00:55:21,223 Asta clarifica pentru tine? 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 >> Uneori, ai de gând să a obține mai multe lucruri ciudate Mathy. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 Dacă ați avut cel mai mult de aceasta, ești încă în desfășurare 1062 00:55:30,750 --> 00:55:32,610 pentru get-- ai de gând să faci destul de bine. 1063 00:55:32,610 --> 00:55:35,150 Credit parțial este o foarte mare lucru pe chestionare CS50. 1064 00:55:35,150 --> 00:55:36,270 Deci, scrie ce stii. 1065 00:55:36,270 --> 00:55:39,640 Dacă ați luat tot cu excepția aici, ești 1066 00:55:39,640 --> 00:55:41,390 încă de gând să faci foarte bine problema. 1067 00:55:41,390 --> 00:55:43,750 Pentru că ești afisat, OK, aproape știu. 1068 00:55:43,750 --> 00:55:45,570 Știu că am nevoie pentru a itera prin intermediul. 1069 00:55:45,570 --> 00:55:47,260 Știu ce am nevoie pentru a verifica. 1070 00:55:47,260 --> 00:55:50,584 Nu doar eu fac destul de ajunge cum să-l convertească. 1071 00:55:50,584 --> 00:55:51,500 Vei fi bine. 1072 00:55:51,500 --> 00:55:52,850 Da, ai de gând să pierde câteva puncte, 1073 00:55:52,850 --> 00:55:55,641 dar sunteți încă mergi la a lua o număr bun de puncte pentru ceva 1074 00:55:55,641 --> 00:55:57,990 ca și cum că, dacă sunteți lipsesc aceste două linii. 1075 00:55:57,990 --> 00:56:00,660 Mi-ar fi ca în regulă, această persoană știe ce fac. 1076 00:56:00,660 --> 00:56:02,070 Math este greu. 1077 00:56:02,070 --> 00:56:04,930 Deci, aș spune că vei fi bine. 1078 00:56:04,930 --> 00:56:09,474 >> OK, deci voi gata să încercați să strlen cu indicii acum 1079 00:56:09,474 --> 00:56:10,890 că voi sunteți stăpâni indicatorul? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 Așa că voi lăsa voi lucra pe care pentru un pic. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 Dacă cineva are nevoie de o reîmprospătare a cunoștințelor. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 Deci, doriți să utilizați indicatorul aritmetică, iar apoi, dacă s este nul, 1086 00:56:28,060 --> 00:56:29,624 punerea în aplicare a dvs. ar trebui să se întoarcă la 0. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 Lucruri de genul asta pe care le fac într-adevăr fericit pentru a apela doar strlen 1089 00:56:39,670 --> 00:56:40,586 la finalul zilei. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 Cred că acest lucru ar putea fi un pic mai ușor decât ultima, care 1092 00:57:27,624 --> 00:57:28,123 este bun. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 Îți voi da băieți un minut, iar apoi vom lucra prin ea. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 Și apoi vom ajunge pentru a merge la switch-uri. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> OK, băieți gata? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 Poate un pic. 1101 00:59:37,420 --> 00:59:40,210 Așa că te-am dat tău două opțiuni, nu? 1102 00:59:40,210 --> 00:59:45,810 Fie verifica pentru nul și să se întoarcă la 0 dacă ea este, de fapt, sau calcula lungimea. 1103 00:59:45,810 --> 00:59:48,220 Deci, cine vrea să scrie verifica pentru nul? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 Du-te pentru ea. 1106 00:59:51,790 --> 00:59:56,460 >> Audiența: Dacă paranteze s este egal cu egal nul 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 Îmi place când jumătate problema ta este doar de verificare pentru nul. 1111 01:00:02,320 --> 01:00:04,820 Știu cu voi trecut Saptamana aceasta am fost ca cec de nul 1112 01:00:04,820 --> 01:00:06,630 literalmente de fiecare dată. 1113 01:00:06,630 --> 01:00:07,510 OK, deci-- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> Audiența: Dacă return 0 este o singură linie, avem nevoie de încă acolada? 1116 01:00:12,750 --> 01:00:15,860 >> ALLISON BUCHHOLTZ-AU: Tu nu faci tehnic nevoie de ele ca de mult ești consecvent. 1117 01:00:15,860 --> 01:00:19,240 E bună practică doar pentru a obține în obiceiul 1118 01:00:19,240 --> 01:00:21,650 de a folosi acolade, dar punct de vedere tehnic nu. 1119 01:00:21,650 --> 01:00:23,320 Nu aveți nevoie de ele pentru o linie. 1120 01:00:23,320 --> 01:00:26,030 Doar avem tendința să-l recomand pentru persoane incepand de la programul. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> Deci, acum ce s-ar putea vrem să facem aici? 1123 01:00:30,450 --> 01:00:32,222 Deci, acum stim ca șir nostru este valid. 1124 01:00:32,222 --> 01:00:33,680 Vrem să păstreze calcul lungimea. 1125 01:00:33,680 --> 01:00:35,620 Care este, probabil, primul lucru pe care doriți să faceți? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> Audiența: Creați un int care este lungimea. 1128 01:00:41,276 --> 01:00:42,150 ALLISON BUCHHOLTZ-AU: Exact. 1129 01:00:42,150 --> 01:00:43,450 Audiența: Și noi vrem să-l setat la? 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 Bine. 1134 01:00:47,290 --> 01:00:48,750 Acum, ce vrei să fac? 1135 01:00:48,750 --> 01:00:50,000 Acest lucru este într-adevăr cea mai mare parte de ea. 1136 01:00:50,000 --> 01:00:50,890 Du-te pentru ea. 1137 01:00:50,890 --> 01:00:54,370 >> Audiența: Deci, probabil, faci o buclă pentru. 1138 01:00:54,370 --> 01:01:03,150 Și apoi de când apelați s te asistent adresa de primul lucru, 1139 01:01:03,150 --> 01:01:05,660 v-ar începe cu i este egal cu 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 Apoi, atâta timp cât x plus i nu este înapoi slash 0. 1142 01:01:15,755 --> 01:01:17,130 ALLISON BUCHHOLTZ-AU: terminatorul nul. 1143 01:01:17,130 --> 01:01:18,380 Audiența: terminatorul nul. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 Apoi, adăugați o la lungime. 1146 01:01:21,088 --> 01:01:22,372 >> ALLISON BUCHHOLTZ-AU: Da. 1147 01:01:22,372 --> 01:01:25,940 OK, speram rândul său, că în cod foarte concret. 1148 01:01:25,940 --> 01:01:27,537 Dar asta este ideea perfecta. 1149 01:01:27,537 --> 01:01:28,870 Asta e exact ceea ce facem. 1150 01:01:28,870 --> 01:01:31,910 Vom fi iterarea prin cu indicatorul. 1151 01:01:31,910 --> 01:01:34,590 Deci, ceea ce vrem să facem este în loc de un int 1152 01:01:34,590 --> 01:01:36,660 aici, pentru că suntem nu se referă la un l. 1153 01:01:36,660 --> 01:01:42,390 Suntem referindu-se la începutul unei șir, că începe să fie o adresa, 1154 01:01:42,390 --> 01:01:43,300 dreapta? 1155 01:01:43,300 --> 01:01:44,600 >> Deci, ne dorim un pointer. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 Deci, vom avea unele stele char, pentru că aceasta corespunde e noastre, nu? 1158 01:01:52,310 --> 01:01:57,270 Deci, aceasta este un moment dat ne inițializarea la începutul șirului, OK? 1159 01:01:57,270 --> 01:01:58,949 Așa că hai să spunem i. 1160 01:01:58,949 --> 01:02:01,740 Dacă e de început al șirului, ce se va fi atribuit? 1161 01:02:01,740 --> 01:02:03,690 1162 01:02:03,690 --> 01:02:04,530 Nu 0. 1163 01:02:04,530 --> 01:02:06,238 Ne dorim ca acesta să fie începe de string noastre. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 Ce reprezintă începutul șir nostru, care a fost dat la noi? 1166 01:02:09,960 --> 01:02:10,800 >> Audiența: Doar 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 Deci, acest lucru creează unele noi pointer care reprezintă începutul șir noastre, OK? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 Un alt mod de a gândi de ea este ca aici e oferta noastră. 1172 01:02:22,777 --> 01:02:26,690 Asta-i string noastră, s. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 Așa că haideți să spun acest lucru este în primul rând la fața locului, iar acest lucru este 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 Acest lucru este s nostru, care deține acea adresă. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 Și am creat doar un alt unul numit i că doar se referă la același lucru. 1181 01:02:45,960 --> 01:02:49,437 Deci, acestea sunt ambele la doar arătând la începutul șir noastre. 1182 01:02:49,437 --> 01:02:51,020 Aceasta este doar o reprezentare grafică. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> Deci, acum ce vrem să faci este ne-o dorim pentru a itera 1185 01:02:57,100 --> 01:03:02,040 condiția noastră pentru iterarea prin șir nostru. 1186 01:03:02,040 --> 01:03:02,920 Acum cumpărături. 1187 01:03:02,920 --> 01:03:04,150 Trebuie să magazin, băieți. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 Se vrem să păstrăm actualizarea până la ajungem terminatorul nul, nu? 1190 01:03:12,390 --> 01:03:14,930 Deci, ce s-ar putea ca arata? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 Nu vrem i, sau ne dorim stea i este întrebarea? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 Este terminatorul null o adresă sau ceva situat la o adresă? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 Situat la o adresă, nu? 1197 01:03:33,660 --> 01:03:38,420 >> Deci, avem nevoie dereference tot ceea ce este aici, pentru că aceasta este doar o adresă. 1198 01:03:38,420 --> 01:03:44,350 Pentru a ajunge de fapt la început avem nevoie pentru a dereference acest 1199 01:03:44,350 --> 01:03:46,770 astfel încât să putem obține de fapt, ceea ce este în acest primul loc. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 Deci, dacă facem Star I, ceea ce Nu vrem să egal? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 Audiența: Back slash? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ALLISON BUCHHOLTZ-AU: Nu. 1206 01:03:59,260 --> 01:04:01,430 Asta face sens pentru toată lumea? 1207 01:04:01,430 --> 01:04:05,620 Avem nevoie pentru a merge în șir noastră și asigurați-vă că nu e sfârșitul. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 Și atunci putem actualiza la fel ca aceasta. 1210 01:04:08,990 --> 01:04:09,680 Actualizarea normală. 1211 01:04:09,680 --> 01:04:11,910 1212 01:04:11,910 --> 01:04:15,070 Deci, atâta timp cât acestea sunt met, ce trebuie să facem? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> Audiența: Lungime 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 Iar apoi, după de buclă se termină, ceea ce vrem să se întoarcă? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 Audiența: Lungime? 1220 01:04:27,790 --> 01:04:28,623 ALLISON BUCHHOLTZ-AU: Lungime. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 Acolo te duci. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 Evident, carnea de acesta Se înțelege acest lucru pentru buclă. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 Are toată lumea ajunge cât de care a lucrat? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 Sunt fericit pentru a trece peste asta din nou. 1229 01:04:44,170 --> 01:04:48,400 >> Audiența: Cea de a doua parte, astfel încât steaua i acolo, 1230 01:04:48,400 --> 01:04:51,834 asta e adresa first-- 1231 01:04:51,834 --> 01:04:53,250 ALLISON BUCHHOLTZ-AU: Nu e adresa. 1232 01:04:53,250 --> 01:04:54,142 E ceea ce-i la. 1233 01:04:54,142 --> 01:04:55,600 Audiența: Asta este de fapt acolo. 1234 01:04:55,600 --> 01:04:57,475 ALLISON BUCHHOLTZ-AU: E ceea ce este de fapt acolo. 1235 01:04:57,475 --> 01:05:01,280 Deci, aceasta este saying-- permite mă fac acest lucru mai bine. 1236 01:05:01,280 --> 01:05:07,940 Deci, aceasta este 0x04, iar eu sunt doar de gând să spun că am de gând să fac acest nume meu. 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 Da, știu că am de revizuire test in seara asta. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 O mulțime de revizuire test. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 Deci, să spunem că acest șir este numele meu, Allison. 1245 01:05:26,620 --> 01:05:28,600 Puțin murdar, dar e acolo. 1246 01:05:28,600 --> 01:05:33,640 Și s reprezintă locația de unde șirul începe, 1247 01:05:33,640 --> 01:05:41,950 așa că am de gând să facă acest lucru real-- aceasta este adresa unui, 1248 01:05:41,950 --> 01:05:45,000 în cazul în care începe șirul, nu? 1249 01:05:45,000 --> 01:05:48,560 >> Deci, ce facem noi aici este vrem să folosesc indicii pentru a itera prin intermediul. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 Așa că am de a crea unele pointer, i, de asemenea, că este egal cu începutul șirului. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 Și la fiecare punct, vrem să continua trece prin matrice 1254 01:06:03,820 --> 01:06:07,570 aici până ne-am lovit de terminare nul. 1255 01:06:07,570 --> 01:06:12,320 Așa că am mereu doriți să verificați ceea ce este la fiecare dintre aceste adrese. 1256 01:06:12,320 --> 01:06:15,730 >> Așa că am dereference i, astfel încât prima dată când l-am facem 1257 01:06:15,730 --> 01:06:17,810 spune, OK, ce e la adresa 0x04? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 Este o o. 1260 01:06:19,720 --> 01:06:20,660 OK, suntem bine. 1261 01:06:20,660 --> 01:06:21,770 Lungime creștere. 1262 01:06:21,770 --> 01:06:22,790 Trece la următoarea. 1263 01:06:22,790 --> 01:06:32,410 Deci, amintiți-vă Eu-- creștere indicii de mărime de tot ceea ce te arătând spre. 1264 01:06:32,410 --> 01:06:35,320 Deci, în acest caz, deoarece este un char, acesta va fi actualizat de către unul. 1265 01:06:35,320 --> 01:06:38,755 Deci, acum ne vom uita la 5, ceea ce înseamnă că se întâmplă aici. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 Deci, se spune OK, du-te la 0x05. 1268 01:06:43,440 --> 01:06:44,270 Ce e acolo? 1269 01:06:44,270 --> 01:06:44,930 E o l. 1270 01:06:44,930 --> 01:06:47,870 Și va continua să faci asta până când se lovește asta. 1271 01:06:47,870 --> 01:06:50,990 Și se spune OK, ceea ce este în indiferent de adresa asta? 1272 01:06:50,990 --> 01:06:53,060 Terminatorul nul, OK. 1273 01:06:53,060 --> 01:06:53,870 Ieșire. 1274 01:06:53,870 --> 01:06:55,240 Și doar o lungime reveni. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 Pentru că ai nevoie de ceea ce este de fapt la adresa, nu adresa în sine. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> Există foarte puține locuri în care tu de fapt nevoie de adresa. 1279 01:07:05,790 --> 01:07:08,720 Cele mai multe ori, atunci când pe care îl utilizați și e 1280 01:07:08,720 --> 01:07:12,424 atunci când sunt în primul rând atribuirea unui pointer sau atunci când 1281 01:07:12,424 --> 01:07:14,090 esti o trece într-o altă funcție. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 OK, toată lumea bună acolo? 1284 01:07:21,330 --> 01:07:21,830 Un fel de? 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 >> Deci, se pare ca ne-am Trebuie aproximativ 12 minute la stânga, 1288 01:07:28,210 --> 01:07:31,340 asa ca vom merge pe la poate ultima noastră problemă, 1289 01:07:31,340 --> 01:07:34,230 și apoi nu e nici o concepte care au venit în sus 1290 01:07:34,230 --> 01:07:36,830 între timp putem du-te repede peste asta. 1291 01:07:36,830 --> 01:07:42,310 >> Deci, de comutare unelte este ultimul problemă aici, comutați declarații. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 Deci, munca ta este de a rescrie acest astfel încât acesta se comportă la fel 1294 01:07:49,450 --> 01:07:50,580 dar nu folosesc switch-uri. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 Mâinile albicioase. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 Deci, orice intrebari despre acest off bâta? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 Nici unul? 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 Are toată lumea să înțeleagă că, dacă caz nu are nimic după el, 1304 01:08:22,170 --> 01:08:25,029 aceasta înseamnă că ar trebui urmați pasul următor? 1305 01:08:25,029 --> 01:08:28,200 Deci, cazul 1 și 2, în acest caz, face exact același lucru. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 Uneori, un punct de confuzie. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> Bine. 1310 01:09:33,488 --> 01:09:34,404 Cineva vreo idee? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 Da? 1313 01:09:36,864 --> 01:09:40,120 >> Audiența: Deci poți doar fac în cazul în declarații. 1314 01:09:40,120 --> 01:09:41,140 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1315 01:09:41,140 --> 01:09:42,880 Deci, care e primul nostru una? 1316 01:09:42,880 --> 01:09:48,120 >> Audiența: Dacă n este egal cu egal cu 1, și 2 linii de sau n este egal 1317 01:09:48,120 --> 01:09:51,059 este egal cu 2, apoi imprimați mic. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 Și atunci se poate face altfel dacă? 1320 01:09:59,520 --> 01:10:02,160 Sau poți să faci o în cazul în care? 1321 01:10:02,160 --> 01:10:03,650 >> ALLISON BUCHHOLTZ-AU: Puteți face o altfel dacă? 1322 01:10:03,650 --> 01:10:05,274 >> Audiența: Ar conta dacă ai face daca? 1323 01:10:05,274 --> 01:10:06,320 ALLISON BUCHHOLTZ-AU: Deci, o face. 1324 01:10:06,320 --> 01:10:10,160 Are anyone-- așa, tu va primi aceeași ieșire 1325 01:10:10,160 --> 01:10:13,930 dacă utilizați doar FI față de dacă utilizați FI altceva. 1326 01:10:13,930 --> 01:10:17,090 Poate voi gândi la motivul de ce ar putea să doriți să utilizați o altfel 1327 01:10:17,090 --> 01:10:18,680 în cazul în care față de o mulțime de IFS? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 Trebuie să se cu eficiență. 1330 01:10:21,510 --> 01:10:22,225 Da? 1331 01:10:22,225 --> 01:10:24,783 >> Audiența: Se vor verifica toate IS de fiecare dată. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ALLISON BUCHHOLTZ-AU: Deci, chiar dacă a lovit această primă parte, 1334 01:10:28,110 --> 01:10:29,880 s-ar merge pe cec orice alt unul. 1335 01:10:29,880 --> 01:10:36,690 Deci, doriți să utilizați dacă altcineva ar fi dacă, în cazuri în cazul în care doar unul dintre ei va aplica vreodată. 1336 01:10:36,690 --> 01:10:39,380 Deci, excludere reciprocă este ceea ce avem tendinta de a spune. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 Dacă aveți o grămadă de IFS, aceasta înseamnă care poate mai mult de unul dintre ei 1339 01:10:46,550 --> 01:10:49,630 materie, și poate mai mult una dintre ele poate fi adevărat. 1340 01:10:49,630 --> 01:10:51,910 Si doriti amandoi pentru a executa dacă sunt adevărate. 1341 01:10:51,910 --> 01:10:57,180 Dacă doriți doar unul dintre ei la locul de muncă în aceste cazuri se exclud reciproc, 1342 01:10:57,180 --> 01:11:00,790 doriți să utilizați altceva cazul în care, pentru că totul are de a face cu eficiență. 1343 01:11:00,790 --> 01:11:05,350 Codul dvs. este pur și simplu mai bine proiectat în cazul în care aderă la această practică. 1344 01:11:05,350 --> 01:11:07,330 Deci, în acest caz vom avea un altfel dacă. 1345 01:11:07,330 --> 01:11:09,080 Și acest lucru ar fi? 1346 01:11:09,080 --> 01:11:11,890 >> Audiența: n egal este egal cu 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 Mediu de imprimare. 1350 01:11:20,445 --> 01:11:25,190 1351 01:11:25,190 --> 01:11:29,930 Și apoi, în ultima noastră caz, ce avem? 1352 01:11:29,930 --> 01:11:31,495 Altceva sau altcineva dacă? 1353 01:11:31,495 --> 01:11:32,120 Audiența: Else. 1354 01:11:32,120 --> 01:11:33,450 1355 01:11:33,450 --> 01:11:37,900 >> ALLISON BUCHHOLTZ-AU: Do ne doresti cu Vrei altfel dacă pentru că avem cazuri concrete. 1356 01:11:37,900 --> 01:11:39,270 Nu este un fel de captură tot. 1357 01:11:39,270 --> 01:11:44,247 Dacă ați avut o implicit într-un switch-- amintiți-vă în switch-uri poti avea caz, 1358 01:11:44,247 --> 01:11:45,330 și apoi ai implicit. 1359 01:11:45,330 --> 01:11:48,760 Dacă ați avut un default, asta e un fel de altfel declarația dumneavoastră acolo. 1360 01:11:48,760 --> 01:11:52,180 Dar dacă are doar de cazuri, ceea ce înseamnă că aveți nevoie 1361 01:11:52,180 --> 01:11:54,315 pentru a verifica pentru a vedea dacă este fiecare dintre acestea. 1362 01:11:54,315 --> 01:11:57,755 Deci, în acest caz, ar 4 sau 5. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 Ne dorim o imprimare schimbat. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 E mare. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 Și acolo te duci. 1369 01:12:07,509 --> 01:12:08,800 Și care ar fi programul. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> Deci, în acest caz, dacă ne-am a avut un ceva implicit, 1372 01:12:17,050 --> 01:12:20,470 am avea o alta în orice ar fi vrut ca noi să facem. 1373 01:12:20,470 --> 01:12:23,365 Astfel că este o distincție bun să cunoască, să înțeleagă. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 Asta ajuta cu switch-uri pentru tine? 1376 01:12:27,790 --> 01:12:28,800 Perfect. 1377 01:12:28,800 --> 01:12:29,390 Bine. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> Avem aproximativ opt minute. 1380 01:12:33,340 --> 01:12:37,090 Nu voi avea nici o alte concepte de nivel înalt? 1381 01:12:37,090 --> 01:12:38,720 Întrebări în general? 1382 01:12:38,720 --> 01:12:39,220 Da? 1383 01:12:39,220 --> 01:12:42,860 >> Audiența: Am avut o întrebare despre una dintre ele 1384 01:12:42,860 --> 01:12:46,257 că a fost de aproximativ aleatoare Generator de numere pe test de zero. 1385 01:12:46,257 --> 01:12:47,340 ALLISON BUCHHOLTZ-AU: Oh, asta o. 1386 01:12:47,340 --> 01:12:51,460 Care unul este un alt unul în cazul în care este mai mult matematica than-- da. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 Soluția a that-- chiar eu, atunci când Eu o văd, îmi pare ca ceea ce este aceasta. 1389 01:12:59,452 --> 01:13:00,590 >> Audiența: A fost numărul 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ALLISON BUCHHOLTZ-AU: E ciudat, în opinia mea. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 Deci, practic vrei pentru a utiliza drand48, care 1394 01:13:11,630 --> 01:13:15,420 vă va oferi o număr între 0 și 1. 1395 01:13:15,420 --> 01:13:21,200 Și tu vrei să-l folosească așa că veți obține într-un fel un-- 1396 01:13:21,200 --> 01:13:26,690 și este mult mai mult o problema de matematica pentru mine decât eu cred o problemă CS. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> Modul în care faci it-- și uneori, acesta va fi la fel ca asta. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 Din nou, acestea sunt cazurile în care este un fel 1401 01:13:41,090 --> 01:13:46,310 ca și cum scrie ceea ce ai poate și credit parțial. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 Deci, dacă ne dorim o întoarcere, știm că suntem 1404 01:13:51,510 --> 01:13:54,182 gând să fie utilizând drand48 într-un fel, nu? 1405 01:13:54,182 --> 01:13:55,640 Deci, de ce nu ne-am noteze că jos. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 Suntem o utilizați într-un fel. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 Modul în care au voi folosi este 1410 01:14:04,190 --> 01:14:08,175 ca aceasta, pe care am să încerc și să explice. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> Deci, practic ce se întâmplă aici se datorează faptului că este între 0 și 1, 1413 01:14:15,340 --> 01:14:19,300 ceea ce faci este bază înmulțirea by-- acest lucru este foarte mult o chestiune de matematică. 1414 01:14:19,300 --> 01:14:22,010 Doar disclaimer complet, acest lucru este complet o întrebare de matematică. 1415 01:14:22,010 --> 01:14:23,990 Ceea ce faci este din cauza 0 și 1 și tu 1416 01:14:23,990 --> 01:14:26,460 vreau să fie în această gamă, de fapt, 1417 01:14:26,460 --> 01:14:29,360 dau seama cât de mare intervalul este, apoi 1418 01:14:29,360 --> 01:14:32,710 tu practic o scară în sus, care este ceea ce aceasta face. 1419 01:14:32,710 --> 01:14:39,050 >> b minus o va da acest interval, diferența între aceste numere. 1420 01:14:39,050 --> 01:14:44,040 Puteți multiplica între 0 și 1, și apoi adăugarea unei locații 1421 01:14:44,040 --> 01:14:48,870 înseamnă că dumneavoastră extinderea astfel încât este mai între a și b, 1422 01:14:48,870 --> 01:14:52,377 pe care nu mi-a plăcut într-adevăr această problemă. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 Așa cum am spus, acest test intenționează să cuprindă 1425 01:15:01,790 --> 01:15:04,110 oameni care sunt mai putin confortabile, undeva în între, 1426 01:15:04,110 --> 01:15:05,070 și mai confortabil. 1427 01:15:05,070 --> 01:15:07,550 Deci, în cazul în care a făcut atât de că a fost ceva 1428 01:15:07,550 --> 01:15:10,050 că toată lumea la mai puțin loc confortabil ar obține, 1429 01:15:10,050 --> 01:15:12,259 am avea mult prea multe oameni, a marcat Perfecți, 1430 01:15:12,259 --> 01:15:13,925 și mai confortabil ar fi plictisit. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> Deci, ei au întotdeauna aceste fel de întrebări teaser creierului 1433 01:15:18,970 --> 01:15:22,695 care sunt menite să fie un pic mai greu care să ia o gândire creativă. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 Când le vezi, nu te prea busteni. 1436 01:15:27,790 --> 01:15:31,720 Aș spune cu siguranta flip- prin testul dumneavoastră. 1437 01:15:31,720 --> 01:15:35,020 Abordeze problemele care știți că puteți, 1438 01:15:35,020 --> 01:15:38,480 pentru că n-are rost să se înțepenească pe o problemă atunci când există trei 1439 01:15:38,480 --> 01:15:42,090 sau patru sau cinci pe pagina după care le puteți face cu ușurință. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> Audiența: De ce anume crezi multiplica prin gama? 1442 01:15:48,520 --> 01:15:54,935 >> ALLISON BUCHHOLTZ-AU: Tu multiplica în intervalul care tu know-- e ca cat de mult după o 1443 01:15:54,935 --> 01:15:55,485 vrei? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 Deci, vă puteți gândi, pentru că ea returnează un număr între 0 și 1, 1446 01:16:02,130 --> 01:16:03,890 vă puteți gândi la ea ca la un procent. 1447 01:16:03,890 --> 01:16:12,195 Deci, este practic spune dacă avem linia noastra de numărul de aici, un e aici, 1448 01:16:12,195 --> 01:16:13,840 și b este aici. 1449 01:16:13,840 --> 01:16:19,170 Ești ca cat de mult o dribleze este? 1450 01:16:19,170 --> 01:16:20,010 Este tot ce facem. 1451 01:16:20,010 --> 01:16:24,920 Deci, esti doar a cere procent din acest interval, care 1452 01:16:24,920 --> 01:16:26,170 este ceea ce te da. 1453 01:16:26,170 --> 01:16:30,915 Și apoi, practic, doar scară-l prin adaugarea unei. 1454 01:16:30,915 --> 01:16:32,302 Este un teaser matematica creier. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> Dacă a existat vreun sfat ultimul minut, I ar spune Flip prin întrebări, 1457 01:16:39,060 --> 01:16:41,660 dau seama care anume te stiu ca cum ar fi, oh am asta. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 Aproape sigur că o să fie întrebări pe care nu vor ști 1460 01:16:45,820 --> 01:16:49,580 sau că ai de gând să aibă timp de, astfel încât a lovit punctele tale forte, OK? 1461 01:16:49,580 --> 01:16:50,990 Voi o să mare. 1462 01:16:50,990 --> 01:16:52,740 Există o mulțime de întrebări pentru un motiv, 1463 01:16:52,740 --> 01:16:57,140 astfel încât să aveți timp să un fel de au posibilitatea 1464 01:16:57,140 --> 01:16:59,330 pentru a demonstra ceea ce esti foarte bun la. 1465 01:16:59,330 --> 01:17:02,370 Deci, e în regulă, dacă ești nu e bun la toate. 1466 01:17:02,370 --> 01:17:03,371 Joaca la punctele tale forte. 1467 01:17:03,371 --> 01:17:03,870 Da? 1468 01:17:03,870 --> 01:17:06,536 >> Audiența: Deci, este acest gând să a reveni ceva care este trunchiat? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 Da, va fi, pentru că drand se întoarce între 0 și 1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 Va returna un int, pentru că ea va trunchia 1473 01:17:19,250 --> 01:17:22,933 când vom adăuga o sau multiplica de aceasta. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 Rece. 1476 01:17:28,442 --> 01:17:29,525 Orice întrebări de ultim minut? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> Voi vor face mare. 1479 01:17:32,615 --> 01:17:34,440 Vei fi fabulos. 1480 01:17:34,440 --> 01:17:37,100 Și chiar dacă nu, va exista fi bomboane aici săptămâna viitoare. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 Și eu te iubesc. 1483 01:17:40,020 --> 01:17:41,270 Te voi iubi băieți, indiferent. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 În regulă, toată lumea, noroc. 1486 01:17:43,930 --> 01:17:44,680 Au o mare de timp. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 Vei fi bine. 1489 01:17:46,620 --> 01:17:47,370 Și știi ce? 1490 01:17:47,370 --> 01:17:50,310 În două zile, se întâmplă să fie peste, în timp ce eu 1491 01:17:50,310 --> 01:17:53,675 au două examenele de joi, astfel cel puțin voi se va face. 1492 01:17:53,675 --> 01:17:56,550 Bine, am să vă văd săptămâna viitoare. 1493 01:17:56,550 --> 01:17:58,208