1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ALLISON BUCHHOLTZ-AU: Ciao, tutti. 3 00:00:12,170 --> 00:00:13,560 Benvenuti alla sezione. 4 00:00:13,560 --> 00:00:17,320 Oggi è solo andare a essere tutto quiz rivedere per il quiz il Mercoledì. 5 00:00:17,320 --> 00:00:20,060 Spero che tutti si ricorda che hanno un quiz il Mercoledì. 6 00:00:20,060 --> 00:00:22,560 E se non l'avete fatto, bene, ora che hai ricordato. 7 00:00:22,560 --> 00:00:26,486 Quindi Mercoledì assicuratevi ti presenti per la classe o di altre strutture come 8 00:00:26,486 --> 00:00:26,985 necessaria. 9 00:00:26,985 --> 00:00:27,845 10 00:00:27,845 --> 00:00:29,220 Voi ragazzi stanno per essere impressionante. 11 00:00:29,220 --> 00:00:30,440 Sta andando essere grande. 12 00:00:30,440 --> 00:00:34,910 E ho intenzione di fare tutto il possibile Per aiutarvi a preparare oggi per il tuo quiz 13 00:00:34,910 --> 00:00:35,470 ora. 14 00:00:35,470 --> 00:00:39,960 E anche nel caso in cui non si conosce, c'è una grande sessione di revisione corso 15 00:00:39,960 --> 00:00:45,840 oggi alle 7 Laboratori Northwest stanza B103. 16 00:00:45,840 --> 00:00:49,950 Si può vedermi ancora per un bis come Io guiderò parte di quella sessione di revisione 17 00:00:49,950 --> 00:00:50,510 anche. 18 00:00:50,510 --> 00:00:53,218 Quindi, se non è possibile ottenere abbastanza di me ora, si può venire anche stasera. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> Va bene, allora andiamo con ordine. 21 00:00:56,060 --> 00:00:59,630 Solo alcuni suggerimenti quiz prima di in realtà tuffarsi per le recensioni. 22 00:00:59,630 --> 00:01:04,160 Così come per ogni esame, pratica sarà sicuramente dare una mano. 23 00:01:04,160 --> 00:01:09,260 Ci sono esami del passato sei o sette anni in là, 24 00:01:09,260 --> 00:01:12,480 in modo che un sacco di pratica materiale per voi ragazzi di avere. 25 00:01:12,480 --> 00:01:15,340 E infatti, oggi è in realtà solo sta per andare su qualsiasi argomento 26 00:01:15,340 --> 00:01:18,900 che voi ragazzi avete domande sul come pure come lavorare attraverso i problemi di pratica 27 00:01:18,900 --> 00:01:20,360 da quiz zero. 28 00:01:20,360 --> 00:01:22,690 Così mi butto fino a zero quiz rispetto allo scorso anno qui, 29 00:01:22,690 --> 00:01:26,410 e siamo in grado di lavorare con tutti i problemi che voi ragazzi vorrebbero. 30 00:01:26,410 --> 00:01:27,370 >> Così la pratica. 31 00:01:27,370 --> 00:01:29,310 Hai intenzione di iniziare a fare oggi. 32 00:01:29,310 --> 00:01:30,230 Codice in materia di carta. 33 00:01:30,230 --> 00:01:32,970 Quindi sì, se tutti potrebbe effettivamente uscire 34 00:01:32,970 --> 00:01:35,810 carta, che sarà grande, perché non sei 35 00:01:35,810 --> 00:01:41,470 sta per avere il computer sul esame e scrivendo il codice a mano 36 00:01:41,470 --> 00:01:44,190 è spesso molto più difficile di quanto ci si potrebbe aspettare. 37 00:01:44,190 --> 00:01:46,680 Siete abituati a solo vederlo e digitando, 38 00:01:46,680 --> 00:01:49,630 e avete il vostro compilatore di si dare una mano quando si hanno errori, 39 00:01:49,630 --> 00:01:52,190 ma non si ottiene che durante l'esame. 40 00:01:52,190 --> 00:01:55,140 Quindi è davvero importante realtà essere in grado di scrivere il codice, 41 00:01:55,140 --> 00:01:58,360 e che la memoria muscolare di fare a mano sarà davvero aiutare. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> Quindi stiamo diventando un po 'stretto. 44 00:02:01,690 --> 00:02:02,340 E 'Lunedi. 45 00:02:02,340 --> 00:02:03,930 Il tuo esame è il Mercoledì. 46 00:02:03,930 --> 00:02:06,030 Ma se avete tempo, sicuramente prendere una 47 00:02:06,030 --> 00:02:10,199 degli esami dello scorso anno o la anno prima sotto il vincolo di tempo 48 00:02:10,199 --> 00:02:11,660 di un'ora e mezza. 49 00:02:11,660 --> 00:02:13,730 Basta mettere fuori un'ora e mezzo di tempo, 50 00:02:13,730 --> 00:02:17,480 e sedersi giù, e solo di lavoro attraverso i problemi 51 00:02:17,480 --> 00:02:19,962 come se si fosse in realtà prenderlo, perché uno 52 00:02:19,962 --> 00:02:23,295 dei più grandi cose che abbiamo sentito parlare quiz è che sono molto lunghi. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 Si tratta di un sacco di materiale. 55 00:02:26,660 --> 00:02:30,850 Ci sono un sacco di domande, e la maggior parte delle persone non può finire. 56 00:02:30,850 --> 00:02:34,660 So che non sono assolutamente non ho finito i miei quiz quando ho preso la classe. 57 00:02:34,660 --> 00:02:37,180 >> In tal senso, come meno sezione confortevole, 58 00:02:37,180 --> 00:02:40,570 capire che questo corso è destinato per soddisfare le persone di tutti i livelli. 59 00:02:40,570 --> 00:02:43,640 Tutta la ragione che abbiamo di dividere meno confortevole, da qualche parte tra, 60 00:02:43,640 --> 00:02:47,660 e più comodo è quello tipo di renderlo più equo. 61 00:02:47,660 --> 00:02:51,699 E se si è meno confortevole, è non è necessario di per sé per ottenere tutto. 62 00:02:51,699 --> 00:02:53,990 Come se si fosse trovato tutto, si sarebbe probabilmente 63 00:02:53,990 --> 00:02:55,448 essere nella sezione più comodo. 64 00:02:55,448 --> 00:03:00,160 Così, ovviamente, non battere voi stessi up troppo difficile se non si riesce a finire l'esame. 65 00:03:00,160 --> 00:03:01,920 Prendere da me, non l'ho fatto. 66 00:03:01,920 --> 00:03:03,070 Sono ancora un concentratore. 67 00:03:03,070 --> 00:03:04,630 Sto ancora aiutando insegnare il corso. 68 00:03:04,630 --> 00:03:06,170 Andrà tutto bene. 69 00:03:06,170 --> 00:03:06,670 Bene. 70 00:03:06,670 --> 00:03:08,740 E, infine, dormire un po '. 71 00:03:08,740 --> 00:03:11,020 Ovviamente con qualsiasi esame diciamo sempre questo. 72 00:03:11,020 --> 00:03:13,610 Vadano a finire la sera prima e non ottenere il sonno 73 00:03:13,610 --> 00:03:16,390 fa not-- forse se tale funziona per voi, andare per esso. 74 00:03:16,390 --> 00:03:18,790 Ma per la stragrande maggioranza degli persone, ottenere un certo sonno, 75 00:03:18,790 --> 00:03:22,390 lasciare il vostro riposo cervello e recuperare prima di entrare all'esame 76 00:03:22,390 --> 00:03:23,480 sarà davvero aiutare. 77 00:03:23,480 --> 00:03:26,120 Inoltre ci sarà quasi sicuramente caramelle all'esame, 78 00:03:26,120 --> 00:03:28,019 in modo da avere per guardare al futuro. 79 00:03:28,019 --> 00:03:29,310 Voi ragazzi stanno andando a fare grande. 80 00:03:29,310 --> 00:03:30,226 Sta andando bene. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 E ora nella prossima ora e mezza mi cercherà di preparare nel miglior modo possibile. 83 00:03:36,190 --> 00:03:41,260 >> Così ho diapositive da fondo tutte le sezioni fino ad ora. 84 00:03:41,260 --> 00:03:45,874 Non ho intenzione di passare attraverso tutti loro perché non è 85 00:03:45,874 --> 00:03:49,040 fattibile in un'ora e mezza pure come lavorare attraverso i problemi di pratica. 86 00:03:49,040 --> 00:03:51,410 Così, invece ho un elenco di argomenti. 87 00:03:51,410 --> 00:03:55,160 Queste sono tutte le cose che potremmo quiz su. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 Se c'è qualcosa che salta davvero fuori 90 00:03:58,770 --> 00:04:02,140 che si desidera andare oltre, che si vuoi che vada oltre concettualmente, 91 00:04:02,140 --> 00:04:04,320 Posso cercare di dare una panoramica lì. 92 00:04:04,320 --> 00:04:07,690 Oppure, se si desidera passare a destra in facendo problemi pratici insieme, 93 00:04:07,690 --> 00:04:08,420 siamo in grado di farlo. 94 00:04:08,420 --> 00:04:09,330 Sta a voi ragazzi. 95 00:04:09,330 --> 00:04:10,770 Non ci sono che molti di voi. 96 00:04:10,770 --> 00:04:13,180 Quindi è tutto ciò che voi ragazzi piace fare. 97 00:04:13,180 --> 00:04:15,667 Voglio essere il più utile verso voi ragazzi. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 Quindi ti lascio solo guardare. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> PUBBLICO: Una cosa è il grafico che teniamo 102 00:04:30,500 --> 00:04:33,290 dicendo circa lo stack e l'heap. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 Solo l'idea che sta dietro che e che cosa significa. 105 00:04:37,434 --> 00:04:38,350 ZAMYLA Chandler: Sì, OK. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 Questo è tutto il senso alla fine, così mi permetta di scorrere. 108 00:04:43,216 --> 00:04:45,490 >> PUBBLICO: Non abbiamo a farlo ora, ma qualunque cosa. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ALLISON BUCHHOLTZ-AU: C'era anything-- questo. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 E 'questo tipo di sfocato per la gente? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 PUBBLICO: Sì, io secondo che. 115 00:04:55,640 --> 00:04:57,718 E possiamo anche fare overflow del buffer? 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 Così overflow del buffer è abbastanza facile solo per parlare. 119 00:05:03,460 --> 00:05:08,217 Si tratta fondamentalmente di buffer ne pensate un po 'di memoria di matrice che hai, giusto? 120 00:05:08,217 --> 00:05:10,050 Noi di solito parliamo di overflow del buffer quando 121 00:05:10,050 --> 00:05:15,160 non state controllando quanto l'utente sta mettendo in, giusto? 122 00:05:15,160 --> 00:05:18,540 E l'idea è con overflow del buffer è 123 00:05:18,540 --> 00:05:21,535 stanno mettendo nel lontano troppi dati per lo spazio 124 00:05:21,535 --> 00:05:23,780 che avete assegnato per loro, giusto? 125 00:05:23,780 --> 00:05:28,310 >> Quindi, se si dice, dà me qualche messaggio, noi siamo 126 00:05:28,310 --> 00:05:31,860 supponendo che andranno a dare un messaggio di lunghezza ragionevole. 127 00:05:31,860 --> 00:05:33,910 Forse un paio di linee, roba del genere. 128 00:05:33,910 --> 00:05:35,150 Quindi noi non controlliamo. 129 00:05:35,150 --> 00:05:38,160 Invece ci si nutrono in un intero libro che è un messaggio, 130 00:05:38,160 --> 00:05:42,450 e trabocca la quantità di spazio che abbiamo assegnato per questo. 131 00:05:42,450 --> 00:05:48,140 E quello che succede è che potrebbe sovrascrivere luoghi che non è supposto. 132 00:05:48,140 --> 00:05:52,890 >> Quindi so professor Malan ha detto qualcosa di attacchi di buffer overflow. 133 00:05:52,890 --> 00:05:59,050 Ecco dove l'input volontà dell'utente una certa quantità enorme di dati, nella speranza 134 00:05:59,050 --> 00:06:02,840 che sovrascrive passato la fine del buffer 135 00:06:02,840 --> 00:06:06,479 e sostituisce something-- mi chiedo Io ci ho quelle diapositive qui. 136 00:06:06,479 --> 00:06:08,270 Non credo che abbiamo quelle diapositive a qui. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 Ma in fondo si sovrascrive una porzione della memoria 139 00:06:14,460 --> 00:06:17,780 che gli consente l'accesso a parti del computer 140 00:06:17,780 --> 00:06:19,530 che non si farebbe normalmente accesso. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> Cosa più grande con buffer overflow è solo 143 00:06:23,155 --> 00:06:26,420 capire che succede quando non si è 144 00:06:26,420 --> 00:06:29,210 verificare quanto il vostro utente sta mettendo in. 145 00:06:29,210 --> 00:06:32,770 Quando non siete tipo di salvaguardia contro tale. 146 00:06:32,770 --> 00:06:36,820 E alla sua più semplice cosa, è solo il tuo utente 147 00:06:36,820 --> 00:06:39,130 inserendo una massiccia quantità di dati in un tentativo 148 00:06:39,130 --> 00:06:45,090 per sovrascrivere una certa sicurezza parte della vostra memoria. 149 00:06:45,090 --> 00:06:46,310 Questo è tutto ciò che è. 150 00:06:46,310 --> 00:06:49,810 >> Quindi questo qui, stack e heap. 151 00:06:49,810 --> 00:06:53,090 Fondamentalmente tutto questo è distante solo una rappresentazione della memoria 152 00:06:53,090 --> 00:06:54,449 e dove sono memorizzati cose. 153 00:06:54,449 --> 00:06:56,240 Questo è davvero tipo di tutto quello che devi sapere. 154 00:06:56,240 --> 00:06:58,520 Le più grandi cose che quello che dovete sapere sono 155 00:06:58,520 --> 00:07:01,910 che-- fammi vedere se c'è un better-- qui. 156 00:07:01,910 --> 00:07:05,380 Quindi questo è lo stack qui. 157 00:07:05,380 --> 00:07:08,410 >> Quindi stack ha a che fare con tutte le funzioni 158 00:07:08,410 --> 00:07:10,140 che si sta chiamando in un dato momento. 159 00:07:10,140 --> 00:07:15,060 E ciò che è importante da ricordare andando fuori di settimana scorsa con malloc 160 00:07:15,060 --> 00:07:21,080 è che in realtà non hanno necessario controllo su di esso. 161 00:07:21,080 --> 00:07:24,780 Tutto dipende da quando alcuni le funzioni sono in esecuzione. 162 00:07:24,780 --> 00:07:28,170 E quando sono in esecuzione, si sono quelli che vengono chiamati stack frame 163 00:07:28,170 --> 00:07:29,290 che vanno qui. 164 00:07:29,290 --> 00:07:32,520 >> Così tutti i tipi di verifica senza una vera input da voi. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 Si scrive il programma, e si lascia correre, 167 00:07:35,510 --> 00:07:38,470 e la pila tipo di prende cura di sé in quanto è necessario. 168 00:07:38,470 --> 00:07:42,940 Quindi, se nel principale stai chiamando cubo, che sarà passato qui. 169 00:07:42,940 --> 00:07:44,110 Sarà creare una cornice. 170 00:07:44,110 --> 00:07:48,330 Ma non c'è niente che esplicitamente fa per creare quel stack frame diverso da 171 00:07:48,330 --> 00:07:51,430 scrivere la funzione per cominciare, OK? 172 00:07:51,430 --> 00:07:56,500 >> Che è una specie di sotto la controllo è l'heap con malloc. 173 00:07:56,500 --> 00:08:01,950 Così ogni volta che malloc qualcosa, si prende la memoria dal mucchio. 174 00:08:01,950 --> 00:08:05,110 E questo è la memoria che si hanno, per mancanza di una parola migliore, 175 00:08:05,110 --> 00:08:10,300 controllo esplicito, perché ricordare con malloc 176 00:08:10,300 --> 00:08:12,530 è fondamentalmente lì fino a quando si dice il contrario. 177 00:08:12,530 --> 00:08:14,890 Per quelli di voi che sezione guardato la settimana scorsa, 178 00:08:14,890 --> 00:08:17,670 è lì fino a quando gli si dice di andare via. 179 00:08:17,670 --> 00:08:20,850 Sarà lì a meno che non altrimenti non detto. 180 00:08:20,850 --> 00:08:24,750 Così l'heap è solo qualcosa si può pensare come memoria 181 00:08:24,750 --> 00:08:26,150 di avere il controllo su. 182 00:08:26,150 --> 00:08:29,010 E questi sono solo la due diverse cose grandi. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> Oltre a questo, non si dovrebbe avere di preoccuparsi troppo di stack e heap 185 00:08:38,330 --> 00:08:42,159 domande o tipicamente più giusta se si dispone di parametri locali 186 00:08:42,159 --> 00:08:45,385 o una funzione sarebbe sullo stack o heap. 187 00:08:45,385 --> 00:08:47,260 Ovviamente in questo caso sarebbe pila. 188 00:08:47,260 --> 00:08:49,630 Se stai mallocing qualcosa, dove è che viene? 189 00:08:49,630 --> 00:08:50,129 L'heap. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 Se si guarda al quiz di pratica, quelli sono generalmente del tipo di domande 192 00:08:54,230 --> 00:08:55,460 che hanno. 193 00:08:55,460 --> 00:08:57,340 >> Non devi preoccuparti troppo su di esso. 194 00:08:57,340 --> 00:09:00,980 Si ottiene in modo più esplicito su stack e heap 195 00:09:00,980 --> 00:09:03,460 più avanti, o in altre classi CS. 196 00:09:03,460 --> 00:09:06,220 Quindi, solo con una specie di idea generale di cosa si tratta 197 00:09:06,220 --> 00:09:09,100 sarà buono, che ho solo un po 'andato oltre. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 Eventuali altri argomenti? 200 00:09:12,090 --> 00:09:12,590 Sì? 201 00:09:12,590 --> 00:09:14,923 >> PUBBLICO: Si può andare oltre puntatori di nuovo molto velocemente? 202 00:09:14,923 --> 00:09:15,870 ALLISON BUCHHOLTZ-AU: Puntatori? 203 00:09:15,870 --> 00:09:18,470 Vuoi concettuale Panoramica di puntatori 204 00:09:18,470 --> 00:09:19,994 o non si pratica con i puntatori? 205 00:09:19,994 --> 00:09:21,410 PUBBLICO: Un po 'come la sintassi. 206 00:09:21,410 --> 00:09:22,360 ALLISON BUCHHOLTZ-AU: La sintassi? 207 00:09:22,360 --> 00:09:22,860 Sì. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 OK, ci stiamo arrivando. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 Sì, quindi questo è solo un po 'di qualcosa quando si dispone di una funzione ricorsiva, 212 00:09:42,040 --> 00:09:45,954 ogni volta che la funzione ricorsiva è chiamato, si aggiunge solo altro stack frame. 213 00:09:45,954 --> 00:09:47,870 Più o meno un esempio di quanto non lo fai davvero 214 00:09:47,870 --> 00:09:50,330 il controllo sulla cornici sul tuo stack. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> OK, puntatori. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 Va bene, in modo da creare puntatori. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 Ricordate, è sufficiente digitare stelle. 221 00:10:02,420 --> 00:10:07,140 Quindi, qualsiasi tipo di dati che si sta andando ad essere punta a. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 Quindi questo sarebbe un puntatore a un int. 224 00:10:11,440 --> 00:10:13,140 Questo sarebbe un puntatore ad un char. 225 00:10:13,140 --> 00:10:14,740 Questo sarebbe un puntatore ad un galleggiante. 226 00:10:14,740 --> 00:10:17,980 Quindi è fondamentalmente ciò che si desidera puntare a, 227 00:10:17,980 --> 00:10:22,300 stella è come dichiarare il puntatore, OK? 228 00:10:22,300 --> 00:10:26,200 >> Ma poi, ovviamente, diventa un po ' difficile quando si dispone di puntatore 229 00:10:26,200 --> 00:10:27,370 o avete qualunque stella. 230 00:10:27,370 --> 00:10:31,260 Quindi la grande differenza è quando sei declaring-- 231 00:10:31,260 --> 00:10:45,590 così abbiamo some-- così questo richiede un po 'int stelle. 232 00:10:45,590 --> 00:10:49,650 Quindi questo è un puntatore chiamate x ad un int, giusto? 233 00:10:49,650 --> 00:10:54,600 Quindi ricorda che cosa questo fa è questo chiama il sistema x. 234 00:10:54,600 --> 00:10:56,970 E questo sta per avere qualche indirizzo, giusto? 235 00:10:56,970 --> 00:11:00,515 Quindi diciamo solo che questo è il nostro indirizzo. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 Puntatori tenere indirizzi. 238 00:11:03,570 --> 00:11:08,660 Quindi, cosa dice questo è che a questo posizione, stiamo memorizzando un int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> Quindi un altro modo possiamo pensare questo è che questo è un int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 Non abbiamo davvero assegnato a ancora nulla, ma è solo un int. 243 00:11:20,350 --> 00:11:31,540 Così possiamo fare è se non STAR x è uguale a 5, questo diventa un 5, OK? 244 00:11:31,540 --> 00:11:38,350 Questo dice di andare a tutto ciò che x è che punta a, in modo da andare a questo indirizzo 245 00:11:38,350 --> 00:11:40,210 e renderlo uguale a 5. 246 00:11:40,210 --> 00:11:44,390 Quindi si assegna 5 a questo indirizzo, giusto? 247 00:11:44,390 --> 00:11:52,540 >> E poi se si esegue questa operazione, questo ci dà l'indirizzo. 248 00:11:52,540 --> 00:11:54,730 Questo è l'indirizzo dell'operatore. 249 00:11:54,730 --> 00:11:57,700 Allora, qual è l'indirizzo di x? 250 00:11:57,700 --> 00:11:58,809 Non lo sappiamo. 251 00:11:58,809 --> 00:12:00,225 Non abbiamo assegnato un indirizzo. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 Potremmo dire che è some-- ora abbiamo dato un indirizzo, per cui l'indirizzo è 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 E in realtà se andiamo attraverso qualcosa in questo modo, un po 'quello che abbiamo fatto. 256 00:12:16,980 --> 00:12:25,800 Quindi, lavorando attraverso qui-- trovo è utile se si disegna fuori puntatori. 257 00:12:25,800 --> 00:12:28,270 Se siete sul vostro exam, I Consiglio vivamente disegno scatole. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> Quindi questo primo, int x uguale a 5. 260 00:12:33,310 --> 00:12:37,370 Questo significa solo che abbiamo un po ' mettere in memoria che è 5, giusto? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 E la nostra tabella qui ci dice che è all'indirizzo 0x04. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 E poi creiamo un po 'di puntatore. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 Quindi cerchiamo di rompere questo giù uno alla volta. 267 00:12:55,310 --> 00:12:59,820 Quindi, questo crea un po ' box per un int, giusto? 268 00:12:59,820 --> 00:13:01,970 Sta andando a tenere un certo indirizzo di esso. 269 00:13:01,970 --> 00:13:03,470 Quindi questo è un puntatore. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 E questo gesso è davvero piccolo. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 Così abbiamo un po 'di puntatore qui. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 E il nostro tavolo ci dice che è l'indirizzo è 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 Freddo. 278 00:13:16,200 --> 00:13:23,240 E stiamo assegnando all'indirizzo di x. 279 00:13:23,240 --> 00:13:26,330 >> Ricordate, puntatori tengono indirizzi, OK? 280 00:13:26,330 --> 00:13:32,050 Quindi, se vogliamo tenere x, abbiamo usare l'operatore indirizzo, che 281 00:13:32,050 --> 00:13:36,520 è la e commerciale, per ottenere l'indirizzo di x, che in questo caso, 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 E poi se abbiamo alcuni int copia, questo solo 284 00:13:44,430 --> 00:13:48,060 crea un altro dialogo che detiene un int chiamato copia. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 E se si assegna a questo-- quindi questo fa riferimento esso. 287 00:13:55,330 --> 00:14:00,090 Così si dice andare a qualsiasi puntatore indirizzo detiene. 288 00:14:00,090 --> 00:14:05,330 Puntatore detiene questo indirizzo, così andavamo qui, 289 00:14:05,330 --> 00:14:07,130 e si dice, OK, che cosa è in esso? 290 00:14:07,130 --> 00:14:08,610 E '5. 291 00:14:08,610 --> 00:14:09,815 Quindi copia diventa 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 Dare un senso? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> Che cosa succede se ho cercato di assegnare questo puntatore solo. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 Che cosa fa il puntatore in realtà uguali? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 Sarebbe solo ciò che puntatore contiene, giusto? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 E poi cosa succede se ho fatto questo? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 Che cosa sarebbe la copia è ora? 304 00:14:39,880 --> 00:14:41,365 305 00:14:41,365 --> 00:14:42,275 >> PUBBLICO: 0x08. 306 00:14:42,275 --> 00:14:44,150 ZAMYLA Chandler: Sì, il indirizzo del nostro puntatore. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 Qualsiasi parte che tale ha bisogno di essere ri-spiegato? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 Freddo. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 C'è sicuramente molto divertimento problema su un quiz 313 00:14:57,740 --> 00:15:00,100 che possiamo su quella ti dà più pratica. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 I ragazzi di settimana scorsa può vi dico che non era poi così male. 316 00:15:03,270 --> 00:15:06,000 Abbiamo ottenuto attraverso un intero grafico, e tutti hanno fatto grande. 317 00:15:06,000 --> 00:15:10,830 >> OK, quindi questo è panoramica sintassi dei puntatori. 318 00:15:10,830 --> 00:15:15,070 Cosa più importante è capire come crearli, fare riferimento, 319 00:15:15,070 --> 00:15:18,190 e l'indirizzo, OK? 320 00:15:18,190 --> 00:15:18,690 Freddo. 321 00:15:18,690 --> 00:15:20,775 Eventuali altri argomenti prima ci immergiamo in pratica. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 Anche se stiamo attraversando i problemi pratici 324 00:15:28,011 --> 00:15:30,760 e c'è qualcosa che si desidera un aggiornamento su, siamo in grado di fare anche questo. 325 00:15:30,760 --> 00:15:31,300 Avete qualcosa? 326 00:15:31,300 --> 00:15:32,758 >> PUBBLICO: Structs e le liste collegate. 327 00:15:32,758 --> 00:15:35,130 ALLISON BUCHHOLTZ-AU: Structs e collegati liste, OK. 328 00:15:35,130 --> 00:15:37,100 Così le strutture. 329 00:15:37,100 --> 00:15:38,990 Noi in realtà stiamo andando su questo anche stasera. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 OK, così le strutture. 332 00:15:41,890 --> 00:15:47,490 Le strutture sono fondamentalmente solo un modo per voi di tenere 333 00:15:47,490 --> 00:15:50,430 più valori di tipo diverso. 334 00:15:50,430 --> 00:15:55,150 Così con un array siamo ristretto ad un solo tipo di dati. 335 00:15:55,150 --> 00:16:00,965 Il nostro array ha o essere solo numeri, o semplicemente essere caratteri, o semplicemente essere galleggianti. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> Ma forse è necessario contengono più. 338 00:16:05,470 --> 00:16:09,130 Forse avete bisogno di hold-- se stai parlando di uno studente, 339 00:16:09,130 --> 00:16:13,660 si sta andando ad avere la loro casa, la loro Numero ID, la loro età, in cui vivono, 340 00:16:13,660 --> 00:16:14,240 giusto? 341 00:16:14,240 --> 00:16:16,460 E tutti questi sono diversi tipi di tipi. 342 00:16:16,460 --> 00:16:18,680 Quindi non è possibile memorizzare quelli tutto in un array. 343 00:16:18,680 --> 00:16:21,750 >> Che cosa si può fare è in grado di creare una struttura, che 344 00:16:21,750 --> 00:16:26,240 si può pensare come il tuo proprio tipo di dati personali. 345 00:16:26,240 --> 00:16:29,130 Così, invece di avere int e invece di avere carri allegorici, 346 00:16:29,130 --> 00:16:33,210 si può avere un tipo di studente che ha tutti questi campi in esso. 347 00:16:33,210 --> 00:16:39,740 Così il nostro modo di inizializzare i nostri struct è-- realtà 348 00:16:39,740 --> 00:16:44,921 dal momento che la mia scrittura è terribile, abbiamo stanno per passare alla digitazione. 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, quindi se vogliamo creare un struct-- Sto solo andando a esso qui. 352 00:16:53,150 --> 00:16:57,730 Ignorare il principale in qualunque che useremo in seguito. 353 00:16:57,730 --> 00:17:02,330 Quindi il modo in cui si vuole fare è con typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 E facciamo solo chiamare questo studente perché è quello che stavo usando. 356 00:17:13,349 --> 00:17:17,801 OK, allora significa che sei typedef la definizione di un nuovo tipo, OK? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 Ci sono sfumature in quando si fanno solo una struttura rispetto a una struct typedef. 359 00:17:24,355 --> 00:17:26,313 Per tutti gli effetti e scopi, voi ragazzi sono solo 360 00:17:26,313 --> 00:17:29,490 andando ad assumere sono approssimativamente la stessa e solo 361 00:17:29,490 --> 00:17:30,820 utilizzare typedef struct per ora. 362 00:17:30,820 --> 00:17:35,180 Esso diventerà modo più evidente nella vostra successivo P impostato quali sono queste differenze sono, 363 00:17:35,180 --> 00:17:37,960 ma non credo che avete bisogno di preoccuparsi che in questo momento. 364 00:17:37,960 --> 00:17:40,360 Avrei preferito che si sapere come crearne uno, 365 00:17:40,360 --> 00:17:41,880 accedervi, e assegnare [? valore. ?] 366 00:17:41,880 --> 00:17:47,820 >> Un nuovo tipo di struct, e noi chiediamo che studente. 367 00:17:47,820 --> 00:17:52,640 Così, dopo aver finito di creare questo, per tutti gli effetti, 368 00:17:52,640 --> 00:17:55,070 si avrà un tipo chiamato studente. 369 00:17:55,070 --> 00:17:59,610 E si può pensare ad esso come un tipo come un int, o di un galleggiante, o un char. 370 00:17:59,610 --> 00:18:01,820 E 'solo un altro tipo, OK? 371 00:18:01,820 --> 00:18:04,530 >> Quindi, in questo, che cosa abbiamo? 372 00:18:04,530 --> 00:18:05,420 Abbiamo forse un nome. 373 00:18:05,420 --> 00:18:08,275 Così forse si vuole un nome di stringa. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 E noi abbiamo forse un int che è un ID. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 E abbiamo un altro in questo è il numero di telefono. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 E abbiamo some-- vediamo. 380 00:18:26,200 --> 00:18:27,200 Che altro potremmo fare? 381 00:18:27,200 --> 00:18:29,385 Avremo un po 'di corda a casa sua. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 Tutte le cose che uno studente ha. 384 00:18:34,510 --> 00:18:36,960 >> Quindi, questo crea una struct ora. 385 00:18:36,960 --> 00:18:41,450 Così come potremmo creare uno studente? 386 00:18:41,450 --> 00:18:46,960 Se abbiamo qualche variabile che è intenzione di parlare di Walker qui, 387 00:18:46,960 --> 00:18:51,245 così abbiamo have-- siamo solo andando a chiamare questo camminatore. 388 00:18:51,245 --> 00:18:52,520 Ha bisogno di un tipo. 389 00:18:52,520 --> 00:18:53,770 Qual è il tuo tipo? 390 00:18:53,770 --> 00:18:54,520 PUBBLICO: Studente. 391 00:18:54,520 --> 00:18:55,395 ALLISON BUCHHOLTZ-AU: Studente. 392 00:18:55,395 --> 00:18:57,130 393 00:18:57,130 --> 00:19:04,800 Quindi questo crea solo un oggetto è possibile pensare che ha tutte queste cose. 394 00:19:04,800 --> 00:19:07,880 È appena creato uno studente camminatore. 395 00:19:07,880 --> 00:19:10,910 Così ora abbiamo bisogno di essere in grado attribuire tutti questi, giusto? 396 00:19:10,910 --> 00:19:13,500 Così qualcuno si ricorda come si accede all'interno di una struttura? 397 00:19:13,500 --> 00:19:14,762 398 00:19:14,762 --> 00:19:15,470 PUBBLICO: Periodo. 399 00:19:15,470 --> 00:19:16,730 ALLISON BUCHHOLTZ-AU: Periodo Esattamente. 400 00:19:16,730 --> 00:19:23,795 Quindi, se volessimo assegnare lui un nome, potremmo farlo. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 Ovviamente questo sarebbe essere-- questa parte qui sarebbe 403 00:19:28,680 --> 00:19:31,831 essere all'interno principale, quindi in realtà mi permetta di fare questo. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 Dichiarare questo sopra principale in modo che possiamo utilizzare all'interno principale. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 Così ora io voglio fare ID, e ci limiteremo a fare un po 'di là, 408 00:20:00,980 --> 00:20:02,970 e poi ci assegniamo una casa. 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 Freddo. 412 00:20:09,650 --> 00:20:19,870 >> Così ora dovremmo mai bisogno di accesso nulla dopo on-- forse we-- 413 00:20:19,870 --> 00:20:25,920 se mai bisogno di accedere a qualsiasi cosa, facciamo solo fare un ID int copia. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 E voglio copiare ID di Walker in questo. 416 00:20:30,530 --> 00:20:31,370 Come potrei farlo? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 È necessario accedere all'interno del camminatore struttura per [? andare a quella?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 E nello stesso modo che assegnato qui, come 420 00:20:41,280 --> 00:20:45,573 potremmo accedervi quando vogliamo dare quel valore a qualcosa d'altro? 421 00:20:45,573 --> 00:20:46,406 PUBBLICO: Walker.id. 422 00:20:46,406 --> 00:20:47,252 423 00:20:47,252 --> 00:20:48,376 ZAMYLA Chandler: Sì, esattamente. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 Ecco, questo è più o meno tutto è necessario conoscere per le strutture. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 Hai solo bisogno di pensare come un'altra variabile. 428 00:20:58,560 --> 00:21:01,710 Fondamentalmente un creare il tuo proprio tipo di variabile, OK? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 Si usa per dichiarare variabili in alcun modo. 431 00:21:07,970 --> 00:21:10,290 Ecco walker è ancora una variabile. 432 00:21:10,290 --> 00:21:14,230 Ha solo uno studente tipo ora invece di tipo int, o una stringa di tipo, 433 00:21:14,230 --> 00:21:15,070 o un tipo char. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 Se ci fosse un modo semplice per parlare circa le strutture, è letteralmente a 436 00:21:19,930 --> 00:21:24,430 creare il proprio tipo di dati che consente di raggruppare 437 00:21:24,430 --> 00:21:28,320 tutti questi diversi tipo di dati insieme. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 Fa questo ha un senso? 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 Questo e l'accesso con i puntini. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 Praticamente tutto ciò che serve. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> OK, dove ha fatto il mio PowerPoint andare? 448 00:21:46,600 --> 00:21:47,580 Ecco qui. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 Beh, questo è strano. 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, fresco. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 Tutte le altre cose o siamo noi voglia di andare a praticare? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 Pratica? 458 00:22:02,710 --> 00:22:03,501 Ok. 459 00:22:03,501 --> 00:22:04,000 Impressionante. 460 00:22:04,000 --> 00:22:05,642 461 00:22:05,642 --> 00:22:06,600 Ho intenzione di uscire da questa. 462 00:22:06,600 --> 00:22:08,490 Se in qualsiasi momento durante questioni pratiche, 463 00:22:08,490 --> 00:22:12,630 Sono felice di rinnovare e passare attraverso le cose. 464 00:22:12,630 --> 00:22:15,240 Così ho quiz zero fino qui. 465 00:22:15,240 --> 00:22:18,370 Se voi volete tirare in su sul vostro computer, 466 00:22:18,370 --> 00:22:20,670 proprio come prendere cinque minuti per sfogliare. 467 00:22:20,670 --> 00:22:23,540 Forse scegliere alcuni top domande che vogliono andare oltre. 468 00:22:23,540 --> 00:22:27,390 Se non voi ragazzi può decidere, ci limiteremo a lentamente iniziare a lavorare attraverso di loro, 469 00:22:27,390 --> 00:22:31,590 ma sono sicuro che ci stanno per essere alcuni le domande che si sono particolarmente 470 00:22:31,590 --> 00:22:34,890 desideroso di parlare e avere farmi lavorare attraverso con tutti voi. 471 00:22:34,890 --> 00:22:36,580 Quindi, basta andare avanti e prendere cinque minuti. 472 00:22:36,580 --> 00:22:37,780 Scorrere. 473 00:22:37,780 --> 00:22:40,620 E questo è il quiz a partire dal 2013. 474 00:22:40,620 --> 00:22:41,841 >> PUBBLICO: Zero? 475 00:22:41,841 --> 00:22:43,630 >> ZAMYLA Chandler: Sì, quiz zero. 476 00:22:43,630 --> 00:22:45,647 Non stiamo facendo un quiz cose. 477 00:22:45,647 --> 00:22:46,980 Faremo che in un paio di settimane. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 Anche per quelli di voi che è venuto in ritardo, abbiamo caramelle, 480 00:22:55,190 --> 00:23:00,580 quindi fate voi ragazzi volete caramelle? 481 00:23:00,580 --> 00:23:01,530 >> PUBBLICO: Certo. 482 00:23:01,530 --> 00:23:03,321 >> ZAMYLA Chandler: Io sono solo andare a passare intorno. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 Ehi, se voi ragazzi arrivare qui presto, si ottiene di più caramelle. 485 00:23:11,940 --> 00:23:12,500 Va bene. 486 00:23:12,500 --> 00:23:13,550 Ben, vuoi caramelle? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 Vuoi un po 'di questi? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 C'è anche Snickers se qualcuno vuole Snickers. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 Li lascio qui e qui. 493 00:23:29,360 --> 00:23:30,946 Sentitevi liberi. 494 00:23:30,946 --> 00:23:32,485 Vuoi più? 495 00:23:32,485 --> 00:23:33,235 PUBBLICO: Tutto pronto. 496 00:23:33,235 --> 00:23:33,540 Grazie. 497 00:23:33,540 --> 00:23:36,248 >> ZAMYLA Chandler: E ho avuto una bella mucchietto lì all'inizio. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 Ragazzi, arriva a prendere il quiz e Ho arrivare ad avere un partito quiz classificazione. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 E 'il caos. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 esami. 504 00:23:57,385 --> 00:23:58,650 Sta andando essere molto divertente. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 Andando a essere grande. 507 00:24:02,036 --> 00:24:04,430 Sono abbastanza sicuro che è una del più grande legame personale 508 00:24:04,430 --> 00:24:05,380 notti dell'anno. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 Qualcuno ha fatto quiz zero dal ma l'anno scorso per curiosità? 511 00:24:19,175 --> 00:24:20,335 >> PUBBLICO: Le parti di esso. 512 00:24:20,335 --> 00:24:21,543 >> ALLISON BUCHHOLTZ-AU: Le parti di esso, OK. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 Hai domande su qualcuno di loro? 515 00:24:26,482 --> 00:24:28,190 PUBBLICO: Ho già è andato a orari di ufficio. 516 00:24:28,190 --> 00:24:28,898 Grazie comunque. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ZAMYLA Chandler: Beh, speriamo è ancora un po 'utile. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 Quando sei andato a orario di ufficio per questo? 521 00:24:45,634 --> 00:24:47,300 PUBBLICO: Il mio TF aveva loro questo pomeriggio. 522 00:24:47,300 --> 00:24:47,966 ZAMYLA Chandler: Oh. 523 00:24:47,966 --> 00:24:48,977 Chi è il tuo TF? 524 00:24:48,977 --> 00:24:49,854 525 00:24:49,854 --> 00:24:51,020 PUBBLICO: Fred [? Wujaya?]. 526 00:24:51,020 --> 00:24:52,622 527 00:24:52,622 --> 00:24:54,080 ALLISON BUCHHOLTZ-AU: Ci sono così tante TF. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 Tanti. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 Bene. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 Qualcuno ha qualche per iniziare che posso Annotare che vogliamo lavorare? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 Suppongo che i puntatori uno con la tabella. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 Andare per esso. 538 00:25:57,610 --> 00:25:59,180 >> PUBBLICO: Forse l'interruttore uno. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ALLISON BUCHHOLTZ-AU: Così il numero 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 Presumo numero 8 e 9 sono probabilmente quelle persone vogliono andare oltre. 543 00:26:10,770 --> 00:26:12,116 >> PUBBLICO: E 10 e 11. 544 00:26:12,116 --> 00:26:21,860 545 00:26:21,860 --> 00:26:25,806 >> ZAMYLA Chan: E voi ragazzi sanno si ottiene una pagina di note, giusto? 546 00:26:25,806 --> 00:26:28,450 >> PUBBLICO: Sì, così che cosa sono abbiamo permesso di mettere su questo. 547 00:26:28,450 --> 00:26:30,658 >> ALLISON BUCHHOLTZ-AU: si è permesso per mettere tutto quello che vuoi. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 E può essere digitato. 550 00:26:32,720 --> 00:26:35,270 Per quanto mi ricordo, la nostra era digitato. 551 00:26:35,270 --> 00:26:37,022 >> PUBBLICO: Si può fare posteriore ed entrambe le parti? 552 00:26:37,022 --> 00:26:38,780 >> ZAMYLA Chandler: Sì, entrambe le parti. 553 00:26:38,780 --> 00:26:42,940 Quindi, qualcosa di simile al mucchio e [? back-end?] mucchio, la vostra corsa 554 00:26:42,940 --> 00:26:43,780 volte. 555 00:26:43,780 --> 00:26:44,840 Utile. 556 00:26:44,840 --> 00:26:47,990 Forse piccole cose puntatori per ricordare. 557 00:26:47,990 --> 00:26:49,205 Sintassi per le cose. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 Avendo proprio come uno scheletro programma può essere super utile. 560 00:26:54,830 --> 00:27:00,719 So che ho sempre dimenticato esattamente cosa Avrei dovuto scrivere per int main, 561 00:27:00,719 --> 00:27:03,010 perché ho sempre e solo copiare incolla da mio precedente serie P 562 00:27:03,010 --> 00:27:06,232 o è già lì, in modo da Non ho mai scritto, 563 00:27:06,232 --> 00:27:07,690 in modo da avere che può essere super utile. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> OK, allora perché non lo facciamo noi iniziare con il numero 8, allora? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 Bene. 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 Quindi prendere in considerazione il programma qui di seguito. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 Così, ovviamente, quando vediamo puntatori, è probabilmente 573 00:27:30,700 --> 00:27:32,200 una buona idea per iniziare a disegnare, giusto? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 Voglio sapere dove tutta la mia grossi pezzi di gesso sono andati. 576 00:27:36,760 --> 00:27:37,870 Questo è un po 'fastidioso. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> Così abbiamo qui una qualche funzione di scambio che sta andando a prendere in due puntatori. 579 00:27:45,820 --> 00:27:48,630 Quindi, in questo caso, dovrebbe in realtà essere di commutazione 580 00:27:48,630 --> 00:27:53,400 cose contro il nostro scambio originale funzione che ha preso solo sulle copie. 581 00:27:53,400 --> 00:27:57,030 Così che cosa sta andando a fare è-- cominciamo con principale, 582 00:27:57,030 --> 00:27:58,450 perché è lì che è 1. 583 00:27:58,450 --> 00:28:04,296 >> Così abbiamo un po 'di int x 1. 584 00:28:04,296 --> 00:28:11,860 Abbiamo alcuni y che è pari a 2. 585 00:28:11,860 --> 00:28:14,390 E poi abbiamo un po 'di swap che sta andando a prendere quelle. 586 00:28:14,390 --> 00:28:17,320 E vediamo cosa abbiamo qui. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 E nel nostro table-- oh ragazzo. 589 00:28:22,709 --> 00:28:23,792 Come faccio a fare questo? 590 00:28:23,792 --> 00:28:25,900 Io vado a disegnare il mio tavolo qui. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 A mala pena fare lì. 593 00:28:50,552 --> 00:28:51,260 A mala pena farla. 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 E ci danno che 1 è 1, e 1 2. 598 00:29:15,706 --> 00:29:16,206 Freddo. 599 00:29:16,206 --> 00:29:17,674 600 00:29:17,674 --> 00:29:18,174 Impressionante. 601 00:29:18,174 --> 00:29:19,650 602 00:29:19,650 --> 00:29:20,464 Quindi 3. 603 00:29:20,464 --> 00:29:21,380 E c'è [? 1. un?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> Bene. 606 00:29:25,250 --> 00:29:35,202 E poi l'indirizzo di x è 0x123. 607 00:29:35,202 --> 00:29:41,260 E Y è Ox127. 608 00:29:41,260 --> 00:29:41,760 Freddo. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 Bene. 611 00:29:43,595 --> 00:29:46,710 Voglio che i ragazzi lavorare su questo per lavoro solo like-- su di esso 612 00:29:46,710 --> 00:29:48,385 con le persone intorno a voi. 613 00:29:48,385 --> 00:29:50,340 Vorrei aver detto che mentre stavo installando. 614 00:29:50,340 --> 00:29:50,840 Lavorare su di esso. 615 00:29:50,840 --> 00:29:53,270 Cercare di lavorare su di esso per voi stessi per un paio di minuti, 616 00:29:53,270 --> 00:29:54,930 e poi lavorerò su di esso con voi. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 Perché l'unico modo siete veramente intenzione di imparare è quello di farlo da soli. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 Nessun problema. 621 00:31:30,110 --> 00:31:30,610 Buona fortuna. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> OK, perché non facciamo lentamente iniziare a lavorare con questo. 624 00:32:20,030 --> 00:32:23,695 Così, ognuno ottiene dopo la linea uno, x è 1. 625 00:32:23,695 --> 00:32:26,860 Dopo la linea due, x e y sono 1 e 2, giusto? 626 00:32:26,860 --> 00:32:27,400 Freddo. 627 00:32:27,400 --> 00:32:30,310 Quindi la linea tre è dove le cose diventare interessante, naturalmente. 628 00:32:30,310 --> 00:32:34,970 >> Quindi quello che abbiamo fatto qui è ora abbiamo scambiato. 629 00:32:34,970 --> 00:32:42,360 Diciamo che x e y sono quei punti, o hanno l'indirizzo di x ed y, 630 00:32:42,360 --> 00:32:43,390 giusto? 631 00:32:43,390 --> 00:32:48,451 Quindi in questo caso, tre, qual è il valore di un? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 una erano state trasmesse in, è stato dato il valore dell'indirizzo di x, giusto? 634 00:32:59,806 --> 00:33:02,542 635 00:33:02,542 --> 00:33:03,454 >> PUBBLICO: 1? 636 00:33:03,454 --> 00:33:05,200 >> ALLISON BUCHHOLTZ-AU: Così aggiungiamo alla x? 637 00:33:05,200 --> 00:33:06,420 Qual è l'indirizzo di x? 638 00:33:06,420 --> 00:33:07,212 >> PUBBLICO: 0x123. 639 00:33:07,212 --> 00:33:08,087 >> ALLISON BUCHHOLTZ-AU: Esattamente. 640 00:33:08,087 --> 00:33:13,960 641 00:33:13,960 --> 00:33:16,790 Ma ciò che è una realtà che punta a? 642 00:33:16,790 --> 00:33:20,790 Se dovessimo dereferenziare una, che valore avrebbe ci darà. 643 00:33:20,790 --> 00:33:21,290 PUBBLICO: 1. 644 00:33:21,290 --> 00:33:23,164 ALLISON BUCHHOLTZ-AU: Sarebbe ci danno 1, perché ciò che 645 00:33:23,164 --> 00:33:27,810 stiamo dicendo è andare a questo indirizzo, ci dicono che cosa il valore è. 646 00:33:27,810 --> 00:33:28,890 Quindi, quello che sarebbe stato b? 647 00:33:28,890 --> 00:33:30,500 648 00:33:30,500 --> 00:33:31,445 >> PUBBLICO: 0x127. 649 00:33:31,445 --> 00:33:32,320 ALLISON BUCHHOLTZ-AU: Esattamente. 650 00:33:32,320 --> 00:33:33,610 651 00:33:33,610 --> 00:33:35,410 Quindi è l'indirizzo di y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 E poi che cosa [? dereference? ?] 654 00:33:39,811 --> 00:33:40,310 PUBBLICO: 2. 655 00:33:40,310 --> 00:33:42,172 656 00:33:42,172 --> 00:33:43,380 ALLISON BUCHHOLTZ-AU: OK, ora quattro. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 Abbiamo detto a è equal-- bene ora che abbiamo int temperatura fatto è uguale a stella di una. 659 00:33:51,300 --> 00:33:53,580 Così che cosa cambia? 660 00:33:53,580 --> 00:33:55,680 C'è solo una cosa che cambia qui. 661 00:33:55,680 --> 00:33:56,180 Che cos'è? 662 00:33:56,180 --> 00:33:57,892 663 00:33:57,892 --> 00:33:58,624 >> PUBBLICO: Temp. 664 00:33:58,624 --> 00:33:59,540 ALLISON BUCHHOLTZ-AU: La temperatura. 665 00:33:59,540 --> 00:34:06,120 Quindi possiamo riscrivere tutti questi. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 Una buona strategia per queste è solo per capire 668 00:34:10,690 --> 00:34:14,050 quali cambiamenti, perché spesso c'è solo una cosa che è 669 00:34:14,050 --> 00:34:16,300 intenzione di cambiare in qualsiasi punto, OK? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 Così abbiamo assegnato temperatura. 672 00:34:20,100 --> 00:34:26,929 >> Ora il nostro prossimo punto, cinque, abbiamo hanno fatto una stella pari a stella b. 673 00:34:26,929 --> 00:34:28,880 Che cosa cambia ora? 674 00:34:28,880 --> 00:34:29,760 >> PUBBLICO: STAR a. 675 00:34:29,760 --> 00:34:32,081 >> ALLISON BUCHHOLTZ-AU: Stella a, so tutto il resto rimane lo stesso. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 E cosa significa recitare un pari? 678 00:34:39,900 --> 00:34:40,659 >> PUBBLICO: 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 Incantevole. 682 00:34:42,960 --> 00:34:45,360 683 00:34:45,360 --> 00:34:46,239 Impressionante. 684 00:34:46,239 --> 00:34:51,190 OK, e quindi ora abbiamo inizio B è uguale a temperatura. 685 00:34:51,190 --> 00:34:53,907 Quindi l'unica cosa che cambia è stella b. 686 00:34:53,907 --> 00:34:55,344 Tutto il resto rimane lo stesso. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 E che cosa è stella b uguale a ora? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 E hai completato la tabella. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 Perché ora alla fine, se diciamo x e y, sappiamo che in questo point-- 693 00:35:18,460 --> 00:35:23,060 sappiamo che quando abbiamo cambiato una stella a 2, 694 00:35:23,060 --> 00:35:29,620 cosa che ha fatto è detto OK, a affrontare 0x123 qui, cambiarlo. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 Ora questo è stato 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 E poi, a questo punto, abbiamo detto OK, vai a stella b. 699 00:35:40,600 --> 00:35:45,305 Quindi, andare all'indirizzo in 0x127 e ne fanno un 1. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 Così ora alla fine quando abbiamo effettivamente ritorno per principale, 702 00:35:53,110 --> 00:35:56,445 in realtà abbiamo che x è pari a 2 ed y è uguale a 1. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 Tutto bene con quello? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 OK, fresco. 707 00:36:02,320 --> 00:36:04,030 Numero 9. 708 00:36:04,030 --> 00:36:05,950 Voi ragazzi lavorare su questo. 709 00:36:05,950 --> 00:36:09,016 Ho intenzione di creare una scheda in modo che possiamo richiamare attraverso di essa. 710 00:36:09,016 --> 00:36:09,910 Sarà un colpo di vento. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 Le grandi tabelle possono essere davvero spaventoso, lo so. 713 00:36:16,320 --> 00:36:19,910 Ma se si prende loro una riga alla una volta, ottengono molto meno spaventoso. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 Bene. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> In modo da sapere che questo avrà attraversato principale prima, giusto? 718 00:38:21,190 --> 00:38:24,140 Inizializza x e y e poi cerca di scambiarle. 719 00:38:24,140 --> 00:38:28,560 Quindi, anche di swap è al di sopra, vero modo esso va è che stiamo attraversando principale, 720 00:38:28,560 --> 00:38:31,040 e poi è chiamando fino a scambiare, va bene? 721 00:38:31,040 --> 00:38:32,810 Così tutti sanno che. 722 00:38:32,810 --> 00:38:34,960 >> Così che uno si fa ragazzi vogliono iniziare? 723 00:38:34,960 --> 00:38:37,240 C'è qualcuno che è veramente sicuro su uno di questi? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 O anche parzialmente sicuro? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 Perché non cominciamo con x? 728 00:38:48,120 --> 00:38:49,060 Cosa pensiamo x è? 729 00:38:49,060 --> 00:38:49,735 >> PUBBLICO: 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 E allora perché è 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 E questo perché la grande distinzione qui 735 00:39:01,380 --> 00:39:04,890 è che siamo solo passando copie in, giusto? 736 00:39:04,890 --> 00:39:06,520 Non siamo passaggio per riferimento. 737 00:39:06,520 --> 00:39:08,850 Quindi, anche alla fine del questo programma xey 738 00:39:08,850 --> 00:39:14,170 sono rimasti gli stessi, perché sono solo copie nella funzione di scambio. 739 00:39:14,170 --> 00:39:16,320 Essi in realtà non cambiano, giusto? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> E per quanto riguarda a, b, e la temperatura? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> PUBBLICO: a è b. 744 00:39:22,890 --> 00:39:23,940 >> ALLISON BUCHHOLTZ-AU: a è b. 745 00:39:23,940 --> 00:39:28,569 Quindi, in questo caso, una era x, che è 1, giusto? 746 00:39:28,569 --> 00:39:29,860 Quindi, ecco, cerchiamo di camminare attraverso di essa. 747 00:39:29,860 --> 00:39:33,940 Quindi all'inizio, a e b sono 1 e 2 e indefinito. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 Quindi originariamente temperatura diventa assegnato ad una, quindi temp è 1. 750 00:39:40,850 --> 00:39:46,150 a è uguale a b, in modo da ottenere 2, e B è uguale alla temperatura. 751 00:39:46,150 --> 00:39:47,284 Ora abbiamo 1. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> PUBBLICO: Nel precedente è scambiati ampersand x e y e commerciale. 754 00:39:55,860 --> 00:39:57,390 Che cosa significa esattamente? 755 00:39:57,390 --> 00:39:59,890 ALLISON BUCHHOLTZ-AU: In modo che significa che si sta passando per riferimento. 756 00:39:59,890 --> 00:40:03,830 Quindi questo significa che si sta effettivamente passando gli indirizzi di dove 757 00:40:03,830 --> 00:40:04,814 xey sono memorizzati. 758 00:40:04,814 --> 00:40:06,730 Pubblico: Ma tu non sei scambiando l'indirizzo. 759 00:40:06,730 --> 00:40:07,860 ALLISON BUCHHOLTZ-AU: Tu non sei scambiando gli indirizzi. 760 00:40:07,860 --> 00:40:10,015 Stai scambiando ciò che è dentro di loro. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 Come quello che è a tale indirizzo, ed è per questo che funziona. 763 00:40:14,460 --> 00:40:20,750 Versus in questo programma cosa che stai facendo è che stai creando copie. 764 00:40:20,750 --> 00:40:27,440 In modo da avere x e y che esistono come le proprie variabili qui fuori. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 Ma poi quando si passa li in scambio, è 767 00:40:34,140 --> 00:40:38,090 come se si sta creando tutto questo altro set. 768 00:40:38,090 --> 00:40:41,272 Quindi non si è mai realmente toccando x e y. 769 00:40:41,272 --> 00:40:46,890 >> PUBBLICO: Se x e commerciale è ciò che è in l'indirizzo di x, quale sarebbe stella x essere? 770 00:40:46,890 --> 00:40:53,290 >> ALLISON BUCHHOLTZ-AU: Ampersand x è ciò che è in l'indirizzo di x, allora star-- bene, 771 00:40:53,290 --> 00:40:54,950 in questo caso, x non è un puntatore. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 PUBBLICO: Oh, OK. 774 00:40:57,040 --> 00:40:58,998 Così solo si esegue questa operazione perché non è un puntatore. 775 00:40:58,998 --> 00:40:59,890 ALLISON BUCHHOLTZ-AU: Giusto. 776 00:40:59,890 --> 00:41:03,046 Si può fare solo stelle di qualcosa che è un puntatore. 777 00:41:03,046 --> 00:41:05,920 Forse si potrebbe fare per le cose che non sono, ma la compilazione che si 778 00:41:05,920 --> 00:41:07,350 fanno cose folli sarebbe successo. 779 00:41:07,350 --> 00:41:09,570 E non sono esattamente sicuro di quello che sarebbe successo. 780 00:41:09,570 --> 00:41:11,880 Si può sempre prendere il Indirizzo di qualcosa, 781 00:41:11,880 --> 00:41:14,255 ma non si può risolvere il riferimento qualcosa che non è un puntatore. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 Se questo ha un senso, che è una buona distinzione di avere. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> Quindi non troppo male, vero? 786 00:41:21,340 --> 00:41:23,650 I tavoli sono si spera ottenere un po 'meno paura. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 Bene. 789 00:41:26,690 --> 00:41:28,370 Ah, quelli divertenti. 790 00:41:28,370 --> 00:41:31,265 Così ora, a scrivere il proprio codice. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 Quindi ho intenzione di farvi lavoro ragazzi su questo per circa quattro minuti, 793 00:41:37,950 --> 00:41:41,480 e poi possiamo parlare sui modi di avvicinarsi. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 Sentitevi liberi di parlare con la gente intorno a voi. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 Anche questo è interessante. 798 00:41:49,155 --> 00:41:51,460 E 'come una tutte le ragazze sezione in questo momento. 799 00:41:51,460 --> 00:41:52,190 Piuttosto eccitante. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 Tranne Chang. 802 00:41:54,502 --> 00:41:56,190 Ma Chang non è realmente parte della sezione. 803 00:41:56,190 --> 00:42:17,282 804 00:42:17,282 --> 00:42:17,985 Impressionante. 805 00:42:17,985 --> 00:42:18,485 Perfetto. 806 00:42:18,485 --> 00:42:38,059 807 00:42:38,059 --> 00:42:39,475 Quindi io vi darò un paio di suggerimenti. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 Nel caso in cui si ha più di un carattere, in cui 810 00:42:46,890 --> 00:42:49,990 hai qualcosa di diverso come 123 o 1000 qualcosa, 811 00:42:49,990 --> 00:42:53,790 è necessario essere in grado di ciclo attraverso e convertire ciascuno di questi. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 Quindi ci sono un paio modi si potrebbe fare che, 814 00:42:58,699 --> 00:43:01,740 ma si sta sicuramente andando ad avere un ciclo for in qualche parte lì per ciclo 815 00:43:01,740 --> 00:43:05,150 attraverso di loro, il che è un po 'come il giveaway 816 00:43:05,150 --> 00:43:09,540 con anche se si chiama strlen, che è una specie di come oh 817 00:43:09,540 --> 00:43:12,418 forse si vuole utilizzare la lunghezza della stringa in qualche modo. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> Bene. 820 00:45:17,829 --> 00:45:20,870 Allora, cosa ne pensate voi ragazzi potrebbe essere una delle prime cose che vogliamo fare? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 Ci sono un paio di casi in qui abbiamo bisogno di spiegare, giusto? 823 00:45:25,690 --> 00:45:27,360 In entrambi i casi abbiamo qualcosa che è nullo. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 Cosa abbiamo? 826 00:45:30,383 --> 00:45:30,882 Casi. 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 Abbiamo il caso che ha qualcosa di diverso da 09, giusto? 831 00:45:42,414 --> 00:45:43,580 Quindi cerchiamo di dire che ha le lettere. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 O abbiamo il caso che è valida. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 Tre casi a pensare. 836 00:45:50,130 --> 00:45:53,527 Quindi, quale pensi possa essere il più facile da prendere cura di prima? 837 00:45:53,527 --> 00:45:54,152 PUBBLICO: Null. 838 00:45:54,152 --> 00:45:55,527 ALLISON BUCHHOLTZ-AU: Il caso è nullo. 839 00:45:55,527 --> 00:45:56,610 Allora, cosa faremmo lì fare? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 PUBBLICO: [incomprensibile]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ZAMYLA Chandler: Sì. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 E quello che voglio fare? 846 00:46:06,550 --> 00:46:07,341 >> PUBBLICO: Restituzione di 0. 847 00:46:07,341 --> 00:46:07,935 848 00:46:07,935 --> 00:46:09,110 >> ALLISON BUCHHOLTZ-AU: Esattamente. 849 00:46:09,110 --> 00:46:09,860 Impressionante. 850 00:46:09,860 --> 00:46:10,640 Ok. 851 00:46:10,640 --> 00:46:15,270 Così ora Qualora si sia lettere e il caso che sia valida. 852 00:46:15,270 --> 00:46:19,140 Siamo in grado di effettivamente prendere cura di questo all'interno di un loop, OK? 853 00:46:19,140 --> 00:46:22,710 Quindi un modo per fare it-- ciò che potrebbe essere un modo semplice per controllare se è valida. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 Dovremmo passare attraverso ogni lettera e fare che cosa? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> PUBBLICO: Verificare se è dentro-- 858 00:46:35,640 --> 00:46:39,570 >> ALLISON BUCHHOLTZ-AU: Giusto, è possibile controllare se è compreso tra 0 e 9, giusto? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 E poi nel caso che è valida, siamo 861 00:46:42,700 --> 00:46:46,550 andando a finire scorrendo nostra stringa comunque, giusto? 862 00:46:46,550 --> 00:46:48,690 Allora perché non proviamo e unirli in uno solo. 863 00:46:48,690 --> 00:46:51,260 Stiamo per iterare attraverso le corde, e come abbiamo 864 00:46:51,260 --> 00:46:56,400 fare questo, stiamo andando alla prima fare un controllo per vedere se quella lettera 865 00:46:56,400 --> 00:46:58,110 o se quel personaggio è valido. 866 00:46:58,110 --> 00:47:02,150 Se lo è, abbiamo intenzione di eseguire la operazione che abbiamo bisogno di convertirlo. 867 00:47:02,150 --> 00:47:05,050 Altrimenti tornerà 0, giusto? 868 00:47:05,050 --> 00:47:09,160 >> Quindi, prima di farlo, abbiamo probabilmente vuole qualche variabile 869 00:47:09,160 --> 00:47:12,820 che siamo in grado di tornare alla fine che sta per essere il nostro valore reale. 870 00:47:12,820 --> 00:47:17,005 Quindi stiamo andando inizializzare qualche valore da 0. 871 00:47:17,005 --> 00:47:18,390 E questo è solo il modo in cui iniziamo. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 Quindi ho intenzione di sbarazzarsi di questo. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 Quindi, come facciamo a scorrere questa stringa. 876 00:47:30,489 --> 00:47:31,280 Destinatari: per ciclo. 877 00:47:31,280 --> 00:47:32,280 ALLISON BUCHHOLTZ-AU: Un ciclo for. 878 00:47:32,280 --> 00:47:33,160 Allora, qual è la nostra per? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> PUBBLICO: i è 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 E che siamo l'iterazione fino a quando? 884 00:47:41,180 --> 00:47:42,450 >> PUBBLICO: lunghezza str di s. 885 00:47:42,450 --> 00:47:47,920 886 00:47:47,920 --> 00:47:50,900 >> ALLISON BUCHHOLTZ-AU: OK, ora ricordo c'è un modo migliore. [Incomprensibile]. 887 00:47:50,900 --> 00:47:52,935 >> PUBBLICO: Sì, possiamo fare n è uguale a. 888 00:47:52,935 --> 00:47:53,810 ALLISON BUCHHOLTZ-AU: Esattamente. 889 00:47:53,810 --> 00:47:55,010 890 00:47:55,010 --> 00:47:56,190 >> PUBBLICO: i è minore di n. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ZAMYLA Chandler: E perché vorremmo farlo? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 Ti ricordi il motivo? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 PUBBLICO: Dobbiamo ricalcolare esso. 897 00:48:05,680 --> 00:48:08,735 ALLISON BUCHHOLTZ-AU: Lo stavano ristrutturando questo modo si avere solo per calcolare strlen una volta. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 Se fate i è inferiore a strlen s, che è significa che ricalcola 900 00:48:14,400 --> 00:48:17,050 la lunghezza ogni volta si esegue il ciclo for, 901 00:48:17,050 --> 00:48:20,800 che non è un costo enorme di energia, ma è 902 00:48:20,800 --> 00:48:24,280 migliore pratica per cercare di fare cose del genere una volta. 903 00:48:24,280 --> 00:48:27,610 A meno che forse hai una stringa pazzo che sta cambiando ad ogni iterazione. 904 00:48:27,610 --> 00:48:30,371 Ma se si tratta di rimanere lo stesso, salvarlo. 905 00:48:30,371 --> 00:48:30,870 Bene. 906 00:48:30,870 --> 00:48:33,430 E poi i plus plus. 907 00:48:33,430 --> 00:48:34,040 Impressionante. 908 00:48:34,040 --> 00:48:35,789 Siamo sulla nostra strada. 909 00:48:35,789 --> 00:48:36,830 PUBBLICO: molto velocemente. 910 00:48:36,830 --> 00:48:39,600 In primo luogo, quindi diciamo che abbiamo appena Ti ho meno di strlen di s, 911 00:48:39,600 --> 00:48:42,175 ci stanno classificazione sul design a tutti o solo correttezza? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 Non sono. 914 00:48:44,610 --> 00:48:47,920 Siamo classificazione ai principi di correttezza per i quiz, per quanto ne so. 915 00:48:47,920 --> 00:48:52,670 Non riesco a fare una sul pieno garanzia, ma per la maggior parte, 916 00:48:52,670 --> 00:48:57,060 stragrande maggioranza è la correttezza, perché sei molto sotto vincolo di tempo. 917 00:48:57,060 --> 00:48:59,704 Progettazione significa in genere si ha il tempo di pensare 918 00:48:59,704 --> 00:49:01,245 circa l'eleganza della vostra situazione. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> OK, quindi stiamo scorrendo. 921 00:49:05,770 --> 00:49:10,640 Quindi abbiamo bisogno di entrambi verificate a vedere se questo personaggio è valido 922 00:49:10,640 --> 00:49:14,550 o se siamo in grado di svolgere il nostro normale [? A a I?] funzione. 923 00:49:14,550 --> 00:49:16,600 Siamo in grado di preoccuparsi di ciò che cioè in un secondo. 924 00:49:16,600 --> 00:49:19,340 Allora perché non take-- se qualcuno può pensare 925 00:49:19,340 --> 00:49:21,930 a un modo per controllare vedere se questo è valido. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 Sappiamo che sarà un po 'se la condizione, giusto? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 E ricordate che questo è in ASCII, così come potrebbe 930 00:49:32,300 --> 00:49:37,359 vediamo se non è 0,1, 2, 3, 4, 5, 6, 7, 8, o 9. 931 00:49:37,359 --> 00:49:38,150 PUBBLICO: Se alfa. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ALLISON BUCHHOLTZ-AU: Quindi, se alpha sarebbe solo di farci sapere se si tratta di una lettera. 934 00:49:44,100 --> 00:49:47,810 E se ci danno un simbolo, è ancora non del tutto andando a controllare. 935 00:49:47,810 --> 00:49:54,270 Quindi, se si tira su la tua ASCII tavolo, sappiamo che da 0 a 9 936 00:49:54,270 --> 00:49:55,340 sono in un segmento. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 Dimmi i numeri che hanno conforme a se possibile. 939 00:50:00,540 --> 00:50:08,136 940 00:50:08,136 --> 00:50:08,677 PUBBLICO: 40. 941 00:50:08,677 --> 00:50:11,440 942 00:50:11,440 --> 00:50:13,714 >> ALLISON BUCHHOLTZ-AU: Quindi la gamma è come 40-- 943 00:50:13,714 --> 00:50:14,380 PUBBLICO: Forse. 944 00:50:14,380 --> 00:50:16,110 945 00:50:16,110 --> 00:50:16,765 Da 48 a 57. 946 00:50:16,765 --> 00:50:17,430 Non sono sicuro. 947 00:50:17,430 --> 00:50:18,510 >> ALLISON BUCHHOLTZ-AU: 40-57? 948 00:50:18,510 --> 00:50:19,426 >> PUBBLICO: 48, credo. 949 00:50:19,426 --> 00:50:20,730 ALLISON BUCHHOLTZ-AU: da 48 a 57. 950 00:50:20,730 --> 00:50:26,070 Così sappiamo che quelli ASCII symbols-- se il valore ASCII non è 951 00:50:26,070 --> 00:50:29,940 tra il 48 e il 57, non è valido, giusto? 952 00:50:29,940 --> 00:50:32,050 Così potremmo usarla per il nostro vantaggio forse? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 Come faremo a ottenere questa lettera, prima di tutto? 955 00:50:38,082 --> 00:50:40,910 Come stiamo accedendo questo questo personaggio? 956 00:50:40,910 --> 00:50:42,010 >> PUBBLICO: s staffa 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 Perché possiamo pensare stringhe come array, ricorda. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 Allora, cosa vogliamo dire? 962 00:50:48,740 --> 00:50:55,920 Vogliamo dire se questo è-- Ti do un suggerimento. 963 00:50:55,920 --> 00:50:56,920 Si tratta di un meno. 964 00:50:56,920 --> 00:50:58,711 Cosa pensi che deve essere inferiore? 965 00:50:58,711 --> 00:50:59,074 966 00:50:59,074 --> 00:50:59,615 PUBBLICO: 57? 967 00:50:59,615 --> 00:51:01,550 968 00:51:01,550 --> 00:51:02,900 >> ALLISON BUCHHOLTZ-AU: 47, giusto? 969 00:51:02,900 --> 00:51:08,920 Ma rappresenta anche che mentre uno 0 in single [? spokes?], perché è 970 00:51:08,920 --> 00:51:09,689 il carattere 0. 971 00:51:09,689 --> 00:51:10,605 Si potrebbe anche mettere 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 Avendo la tabella ASCII, come vedi, è solo qualcosa 974 00:51:14,350 --> 00:51:18,580 si dovrebbe avere sul vostro foglio di quiz. 975 00:51:18,580 --> 00:51:25,830 >> Quindi, se questo è il caso, se è un meno di 0-- non necessariamente e. 976 00:51:25,830 --> 00:51:30,890 E 'solo uno dei due sta per essere inferiore o superiore a 9. 977 00:51:30,890 --> 00:51:33,055 Così si può compilare questo ultimo per me? 978 00:51:33,055 --> 00:51:36,440 Quindi o s di i è quello che, Rhea? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> PUBBLICO: Maggiore di 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ALLISON BUCHHOLTZ-AU: Ci. 983 00:51:44,221 --> 00:51:47,280 Questo fa senso tutti, come ci siamo arrivati? 984 00:51:47,280 --> 00:51:51,340 Questi problemi, sono come una volta visualizzare le soluzioni, è come oh, OK. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 E questo è il motivo per cui la pratica vi aiuterà. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 OK, così torniamo 0. 989 00:51:57,400 --> 00:51:57,900 Incantevole. 990 00:51:57,900 --> 00:51:59,000 991 00:51:59,000 --> 00:51:59,670 Bene. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 In caso contrario, che cosa vogliamo fare? 994 00:52:02,365 --> 00:52:04,640 Questa è la parte interessante dove è un po 'più 995 00:52:04,640 --> 00:52:07,550 come la matematica contro il CS a mio parere. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 Qualcuno ha un'idea di come si potrebbe fare questo? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 Quindi la cosa importante realizzare è il primo carattere 1000 00:52:18,155 --> 00:52:21,510 stiamo prendendo sta per essere la più alta cifra di ordine, giusto? 1001 00:52:21,510 --> 00:52:25,975 Quindi, se stiamo guardando la conversione 123, la prima volta che l'iterazione 1002 00:52:25,975 --> 00:52:30,800 sta per essere 1, ma abbiamo bisogno di che, per essere 100 entro la fine, giusto? 1003 00:52:30,800 --> 00:52:34,450 Quindi una cosa che si può fare è che con ogni cifra successiva 1004 00:52:34,450 --> 00:52:39,670 si prende, si moltiplica il tuo valore di 10, in modo che nel momento in cui raggiunge la fine, 1005 00:52:39,670 --> 00:52:42,960 tutto è stato spostato verso l'alto, giusto? 1006 00:52:42,960 --> 00:52:46,490 >> Così la prima volta che si esegue esso, si ha 1 come valore. 1007 00:52:46,490 --> 00:52:50,370 La seconda volta lo si esegue, si moltiplicare il valore di 10. 1008 00:52:50,370 --> 00:52:55,180 Si aggiorna in modo che sia ormai 10, e aggiungere il vostro prossimo valore. 1009 00:52:55,180 --> 00:52:57,830 E poi si moltiplica per 10 e aggiungere il vostro prossimo valore. 1010 00:52:57,830 --> 00:53:01,880 Ed è per questo che dicono questo è molto più simile test 1011 00:53:01,880 --> 00:53:06,920 un algoritmo matematico contro CS, ma sto divagando. 1012 00:53:06,920 --> 00:53:08,080 Non scrivo i quiz. 1013 00:53:08,080 --> 00:53:13,520 >> Quindi una cosa che possiamo fare è che dicono volte valore è uguale a 10. 1014 00:53:13,520 --> 00:53:16,630 Quindi questo sta per cambiare la vostra cifra una volta ogni volta. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 E poi vogliamo solo aggiungere. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 Vogliamo aggiungere a ciò che abbiamo appena ricevuto, giusto? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 Quindi, come possiamo realmente convertire il nostro Caratteri ASCII in numero 1021 00:53:31,649 --> 00:53:32,440 che rappresenta? 1022 00:53:32,440 --> 00:53:37,680 1023 00:53:37,680 --> 00:53:40,800 >> Così sappiamo che 0 è uguale a 47, giusto? 1024 00:53:40,800 --> 00:53:44,260 Quindi, se 0 è 47, cosa avremmo dovuto fare per essa 1025 00:53:44,260 --> 00:53:47,376 per fare effettivamente che si tratti di un int di 0? 1026 00:53:47,376 --> 00:53:48,384 >> PUBBLICO: E '48. 1027 00:53:48,384 --> 00:53:49,050 ALLISON BUCHHOLTZ-AU: 48? 1028 00:53:49,050 --> 00:53:49,550 Scusi. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 Vorremmo sottrarre 48, giusto? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 Ricordate la matematica ASCII? 1033 00:53:59,550 --> 00:54:01,565 Siamo in grado di trattarli solo come i numeri normali. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 Se li trattano come numeri, diventano i numeri in modo efficace. 1036 00:54:05,900 --> 00:54:10,410 Quindi, se abbiamo s di i, che permettono di dice in questo caso è uguale a 0. 1037 00:54:10,410 --> 00:54:14,420 Così s di i in questo caso sarebbe il ASCII-- 1038 00:54:14,420 --> 00:54:16,675 int ASCII per sarebbe 47. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 Così potremmo subtract-- o 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 Si potrebbe fare che, è un modo. 1043 00:54:22,440 --> 00:54:25,125 Qualcuno sa una migliore modo potremmo fare 48? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 Abbiamo appena detto 0 è-- andare in ASCII si poteva fare di citazione 0. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 Così fa che tipo di fare senso come funziona? 1048 00:54:43,160 --> 00:54:50,080 >> PUBBLICO: A questo punto, è il valore 0 perché anche se si moltiplica per 10, 1049 00:54:50,080 --> 00:54:53,340 stai partendo da zero, così dovrebbe essere acceso? 1050 00:54:53,340 --> 00:54:59,360 >> ALLISON BUCHHOLTZ-AU: Quindi, in questo caso, si voglio moltiplicarlo prima di aggiungere, 1051 00:54:59,360 --> 00:55:06,650 perché in questo caso, si, sarebbe essere-- ancora il mio puntatore è mancante. 1052 00:55:06,650 --> 00:55:09,980 Il valore in questo caso, la prima tempo corriamo sarà pari a zero. 1053 00:55:09,980 --> 00:55:12,320 Quindi stai solo l'aggiunta di su tale prima cifra. 1054 00:55:12,320 --> 00:55:15,930 Quello che è importante è la prossima volta di eseguire iterazioni, si desidera spostare in su 1055 00:55:15,930 --> 00:55:18,722 prima di aggiungere il vostro prossimo cifra. 1056 00:55:18,722 --> 00:55:21,223 Vuol chiarire per voi? 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 >> A volte si sta andando a ottenere più cose strane Mathy. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 Se avete avuto la maggior parte dei questo, siete ancora in corso 1062 00:55:30,750 --> 00:55:32,610 per get-- si sta andando a fare abbastanza bene. 1063 00:55:32,610 --> 00:55:35,150 Punteggio parziale è molto grande cosa su quiz CS50. 1064 00:55:35,150 --> 00:55:36,270 Quindi scrivi quello che sai. 1065 00:55:36,270 --> 00:55:39,640 Se hai tutto ad eccezione di qui, sei 1066 00:55:39,640 --> 00:55:41,390 ancora intenzione di fare molto bene il problema. 1067 00:55:41,390 --> 00:55:43,750 Perché si sta mostrando, OK, ho quasi so. 1068 00:55:43,750 --> 00:55:45,570 So che ho bisogno di scorrere. 1069 00:55:45,570 --> 00:55:47,260 Io so quello che mi serve per verificare. 1070 00:55:47,260 --> 00:55:50,584 Faccio solo non del tutto ottenere come convertirlo. 1071 00:55:50,584 --> 00:55:51,500 Si sta andando ad essere OK. 1072 00:55:51,500 --> 00:55:52,850 Sì, si sta andando a perdere un paio di punti, 1073 00:55:52,850 --> 00:55:55,641 ma si sta ancora intenzione di ottenere un buon numero di punti per qualcosa 1074 00:55:55,641 --> 00:55:57,990 così se siete mancano queste due linee. 1075 00:55:57,990 --> 00:56:00,660 Vorrei essere come OK, questa persona sa quello che stanno facendo. 1076 00:56:00,660 --> 00:56:02,070 La matematica è difficile. 1077 00:56:02,070 --> 00:56:04,930 Quindi direi che saresti bene. 1078 00:56:04,930 --> 00:56:09,474 >> OK, in modo da voi ragazzi pronti a provare strlen con i puntatori ora 1079 00:56:09,474 --> 00:56:10,890 che voi siete maestri puntatore? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 Così vi svelo lavoro ragazzi su questo per un po '. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 Se qualcuno ha bisogno di un aggiornamento. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 Così si desidera utilizzare puntatore aritmetica, e poi se s è nullo, 1086 00:56:28,060 --> 00:56:29,624 l'implementazione deve restituire 0. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 Cose come questa che ti fanno davvero felice di chiamare solo strlen 1089 00:56:39,670 --> 00:56:40,586 alla fine della giornata. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 Penso che questo potrebbe essere un po ' più facile che l'ultimo, che 1092 00:57:27,624 --> 00:57:28,123 è buono. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 Ti darò ragazzi un altro minuto, e poi lavoreremo attraverso di essa. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 E poi si arriva a andare in switch. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> OK, pronti ragazzi? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 Forse un po '. 1101 00:59:37,420 --> 00:59:40,210 Quindi io ho dato il tuo due opzioni, giusto? 1102 00:59:40,210 --> 00:59:45,810 In entrambi i casi verificare la presenza di nulla e restituisce 0 se è, o addirittura calcolare la lunghezza. 1103 00:59:45,810 --> 00:59:48,220 Allora, chi vuole scrivere controllare per nulla? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 Andare per esso. 1106 00:59:51,790 --> 00:59:56,460 >> PUBBLICO: Se parentesi s uguale uguale a zero 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 piace quando la metà del vostro problema è solo controllando per nulla. 1111 01:00:02,320 --> 01:00:04,820 So che con voi ragazzi ultima settimana ero come controllo per nulla 1112 01:00:04,820 --> 01:00:06,630 letteralmente ogni volta. 1113 01:00:06,630 --> 01:00:07,510 OK, so-- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> PUBBLICO: Se return 0 è solo una linea, abbiamo ancora bisogno della parentesi graffa? 1116 01:00:12,750 --> 01:00:15,860 >> ZAMYLA Chandler: Non lo sai tecnicamente bisogno di loro tutto il tempo che sei coerente. 1117 01:00:15,860 --> 01:00:19,240 E 'buona pratica solo per prendere l'abitudine 1118 01:00:19,240 --> 01:00:21,650 di utilizzare parentesi graffe, ma tecnicamente no. 1119 01:00:21,650 --> 01:00:23,320 Non ne hanno bisogno per una riga. 1120 01:00:23,320 --> 01:00:26,030 Abbiamo appena tendiamo a consigliarlo per le persone che iniziano a programma. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> Così ora che cosa potremmo desiderare di fare qui? 1123 01:00:30,450 --> 01:00:32,222 Così ora sappiamo che la nostra stringa è valida. 1124 01:00:32,222 --> 01:00:33,680 Vogliamo continuare a calcolare la lunghezza. 1125 01:00:33,680 --> 01:00:35,620 Qual è probabilmente la prima cosa vogliamo fare? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> PUBBLICO: Creazione di un int che è la lunghezza. 1128 01:00:41,276 --> 01:00:42,150 ALLISON BUCHHOLTZ-AU: Esattamente. 1129 01:00:42,150 --> 01:00:43,450 PUBBLICO: E vogliamo impostarlo su? 1130 01:00:43,450 --> 01:00:44,210 ALLISON BUCHHOLTZ-AU: 0. 1131 01:00:44,210 --> 01:00:44,710 Perfetto. 1132 01:00:44,710 --> 01:00:46,050 1133 01:00:46,050 --> 01:00:47,290 Bene. 1134 01:00:47,290 --> 01:00:48,750 Ora quello che voglio fare? 1135 01:00:48,750 --> 01:00:50,000 Questa è davvero la maggior parte di esso. 1136 01:00:50,000 --> 01:00:50,890 Andare per esso. 1137 01:00:50,890 --> 01:00:54,370 >> PUBBLICO: Quindi probabilmente si fa un ciclo for. 1138 01:00:54,370 --> 01:01:03,150 E poi da quando si chiama s sei ottenere l'indirizzo della prima cosa, 1139 01:01:03,150 --> 01:01:05,660 si dovrebbe iniziare con i uguale a 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 E poi finché x più i non è barra rovesciata 0. 1142 01:01:15,755 --> 01:01:17,130 ALLISON BUCHHOLTZ-AU: Il terminatore null. 1143 01:01:17,130 --> 01:01:18,380 PUBBLICO: Il terminatore nullo. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 Poi si aggiunge uno di lunghezza. 1146 01:01:21,088 --> 01:01:22,372 >> ZAMYLA Chandler: Sì. 1147 01:01:22,372 --> 01:01:25,940 OK, così lascia girare che in codice molto concreto. 1148 01:01:25,940 --> 01:01:27,537 Ma questa è l'idea perfetta. 1149 01:01:27,537 --> 01:01:28,870 Questo è esattamente quello che stiamo facendo. 1150 01:01:28,870 --> 01:01:31,910 Stiamo per essere l'iterazione attraverso con il puntatore. 1151 01:01:31,910 --> 01:01:34,590 Così che cosa vogliamo fare è invece di un int 1152 01:01:34,590 --> 01:01:36,660 qui, perché siamo non si riferisce a un sistema IT. 1153 01:01:36,660 --> 01:01:42,390 Ci riferiamo per l'inizio di un stringa, che cominciare ad essere un po 'di indirizzo, 1154 01:01:42,390 --> 01:01:43,300 giusto? 1155 01:01:43,300 --> 01:01:44,600 >> Quindi vogliamo un puntatore. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 Quindi stiamo andando ad avere qualche stella char, perché corrisponde ai nostri s, giusto? 1158 01:01:52,310 --> 01:01:57,270 Quindi questo è un certo punto siamo inizializzazione all'inizio della stringa, OK? 1159 01:01:57,270 --> 01:01:58,949 Così facciamo solo chiamano i. 1160 01:01:58,949 --> 01:02:01,740 Se è l'inizio della stringa, che cosa sta andando da assegnare? 1161 01:02:01,740 --> 01:02:03,690 1162 01:02:03,690 --> 01:02:04,530 Non 0. 1163 01:02:04,530 --> 01:02:06,238 Noi vogliamo che sia il inizio della nostra stringa. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 Cosa rappresenta l'inizio di la nostra stringa che è stato dato a noi? 1166 01:02:09,960 --> 01:02:10,800 >> PUBBLICO: Basta 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 Quindi, questo crea un po 'di nuovo puntatore che rappresenta l'inizio della nostra stringa, OK? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 Un altro modo di pensare di esso è come qui è la nostra gamma. 1172 01:02:22,777 --> 01:02:26,690 Questa è la nostra stringa, s. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 Quindi diciamo che questo è il primo luogo, e questo è 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 Questa è la nostra s, che contiene quell'indirizzo. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 E abbiamo appena creato un altro chiamato i che si riferisce solo alla stessa cosa. 1181 01:02:45,960 --> 01:02:49,437 Quindi, sono entrambi solo puntando all'inizio della nostra stringa. 1182 01:02:49,437 --> 01:02:51,020 Questa è solo una rappresentazione grafica. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> Così ora che cosa vogliamo fare è che vogliamo iterare 1185 01:02:57,100 --> 01:03:02,040 la nostra condizione per iterazione attraverso la nostra stringa. 1186 01:03:02,040 --> 01:03:02,920 Ora lo shopping. 1187 01:03:02,920 --> 01:03:04,150 Avuto modo di fare acquisti, ragazzi. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 È che vogliamo mantenere l'aggiornamento fino a quando raggiungiamo il terminatore nullo, giusto? 1190 01:03:12,390 --> 01:03:14,930 Così che cosa potrebbe che essere simile? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 Vogliamo i, o vogliamo stelle, i è la domanda? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 Il terminatore nullo un indirizzo o qualcosa del genere trova a un indirizzo? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 Situato a un indirizzo, giusto? 1197 01:03:33,660 --> 01:03:38,420 >> Quindi abbiamo bisogno di risolvere il riferimento ciò che è qui, perché questo è solo un po 'di indirizzo. 1198 01:03:38,420 --> 01:03:44,350 Per arrivare in realtà all'inizio abbiamo bisogno di dereference questo 1199 01:03:44,350 --> 01:03:46,770 in modo che realmente otteniamo cosa c'è in questo primo posto. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 Quindi, se facciamo Star I, cosa non vogliamo che uguali? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 PUBBLICO: Indietro barra? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ALLISON BUCHHOLTZ-AU: Ci. 1206 01:03:59,260 --> 01:04:01,430 Questo fa senso per tutti? 1207 01:04:01,430 --> 01:04:05,620 Abbiamo bisogno di andare nella nostra stringa e fare in modo che non è la fine. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 E poi possiamo solo aggiornare come questo. 1210 01:04:08,990 --> 01:04:09,680 Aggiornamento Normale. 1211 01:04:09,680 --> 01:04:11,910 1212 01:04:11,910 --> 01:04:15,070 Quindi, fintanto che questi sono met, che cosa dobbiamo fare? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> PUBBLICO: Lunghezza 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 E poi, dopo il ciclo for termina, cosa vogliamo tornare? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 PUBBLICO: Lunghezza? 1220 01:04:27,790 --> 01:04:28,623 ALLISON BUCHHOLTZ-AU: Lunghezza. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 Ecco fatto. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 Ovviamente la carne di questo è la comprensione di questo ciclo for. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 Ricevono tutti il ​​modo che ha funzionato? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 Sono felice di andare su di esso di nuovo. 1229 01:04:44,170 --> 01:04:48,400 >> PUBBLICO: Il secondo parte, per cui la stella ho lì, 1230 01:04:48,400 --> 01:04:51,834 questo è l'indirizzo del first-- 1231 01:04:51,834 --> 01:04:53,250 ZAMYLA Chandler: Non è l'indirizzo. 1232 01:04:53,250 --> 01:04:54,142 E 'quello che sta. 1233 01:04:54,142 --> 01:04:55,600 PUBBLICO: Questo è in realtà in là. 1234 01:04:55,600 --> 01:04:57,475 ALLISON BUCHHOLTZ-AU: Questo è ciò che è in realtà in là. 1235 01:04:57,475 --> 01:05:01,280 Quindi questo è saying-- lasciare me fare questo meglio. 1236 01:05:01,280 --> 01:05:07,940 Quindi questo è 0x04, e sto solo andando dire che ho intenzione di fare questo il mio nome. 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 Sì, so di avere recensione quiz stasera. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 Un sacco di revisione quiz. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 Quindi diciamo che questa stringa è il mio nome, Allison. 1245 01:05:26,620 --> 01:05:28,600 Po 'disordinato, ma è lì. 1246 01:05:28,600 --> 01:05:33,640 E s rappresenta la posizione dove la stringa inizia, 1247 01:05:33,640 --> 01:05:41,950 così ho intenzione di fare questo real-- questo è l'indirizzo di un, 1248 01:05:41,950 --> 01:05:45,000 dove inizia la stringa, giusto? 1249 01:05:45,000 --> 01:05:48,560 >> Quindi quello che facciamo qui è che vogliamo utilizzare i puntatori per scorrere. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 Quindi creiamo un po 'di puntatore, i, che anche è uguale all'inizio della stringa. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 E in ogni punto, vogliamo continuare a passare attraverso la matrice 1254 01:06:03,820 --> 01:06:07,570 qui fino a quando abbiamo raggiunto il terminatore null. 1255 01:06:07,570 --> 01:06:12,320 Quindi, vogliamo sempre di verificare che cosa è a ciascuno di questi indirizzi. 1256 01:06:12,320 --> 01:06:15,730 >> Così abbiamo dereferenziare i, in modo che la prima volta che lo facciamo noi 1257 01:06:15,730 --> 01:06:17,810 dire, OK, che cosa è all'indirizzo 0x04? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 E 'un a. 1260 01:06:19,720 --> 01:06:20,660 OK, siamo a posto. 1261 01:06:20,660 --> 01:06:21,770 Incremento di lunghezza. 1262 01:06:21,770 --> 01:06:22,790 Passare a quello successivo. 1263 01:06:22,790 --> 01:06:32,410 Così I-- ricordare puntatori aumento dal dimensioni di quello che stanno indicando. 1264 01:06:32,410 --> 01:06:35,320 Quindi in questo caso, dal momento che è un char, che sarà l'aggiornamento per uno. 1265 01:06:35,320 --> 01:06:38,755 Così ora stiamo andando a guardare 5, il che significa che sta andando qui. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 Così dice OK, passare al 0x05. 1268 01:06:43,440 --> 01:06:44,270 Cosa c'è dentro? 1269 01:06:44,270 --> 01:06:44,930 E 'un l. 1270 01:06:44,930 --> 01:06:47,870 E sarà continuare a fare che finché colpisce questo. 1271 01:06:47,870 --> 01:06:50,990 E dice OK, che cosa è in qualunque indirizzo è? 1272 01:06:50,990 --> 01:06:53,060 Il terminatore null, OK. 1273 01:06:53,060 --> 01:06:53,870 Uscita. 1274 01:06:53,870 --> 01:06:55,240 E proprio ritorno di lunghezza. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 Perché avete bisogno di quello che in realtà è a tale indirizzo, non l'indirizzo stesso. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> Ci sono pochissimi posti dove hai veramente bisogno l'indirizzo. 1279 01:07:05,790 --> 01:07:08,720 La maggior parte del tempo in cui si sta utilizzando il ed è 1280 01:07:08,720 --> 01:07:12,424 quando si è in primo luogo l'assegnazione di un puntatore o quando 1281 01:07:12,424 --> 01:07:14,090 si sta passando in un'altra funzione. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 OK, tutto bene lì? 1284 01:07:21,330 --> 01:07:21,830 Tipo? 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 >> Quindi sembra che abbiamo ottenuto circa 12 minuti dalla fine, 1288 01:07:28,210 --> 01:07:31,340 quindi andremo a forse il nostro ultimo problema, 1289 01:07:31,340 --> 01:07:34,230 e poi c'è qualche concetti che sono venuti su 1290 01:07:34,230 --> 01:07:36,830 nel frattempo possiamo andare rapidamente su quella. 1291 01:07:36,830 --> 01:07:42,310 >> Quindi il passaggio ingranaggi è l'ultimo problema qui, passare dichiarazioni. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 Così il vostro compito è quello di riscrivere questo in modo che si comporta allo stesso 1294 01:07:49,450 --> 01:07:50,580 ma non fa uso di interruttori. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 Mani gessati. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 Quindi, tutte le domande circa questo fuori del blocco? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 Nessuno? 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 Fa capire a tutti che se il caso non ha nulla dopo, 1304 01:08:22,170 --> 01:08:25,029 significa che dovrebbe seguire il passo successivo? 1305 01:08:25,029 --> 01:08:28,200 Quindi caso 1 e 2 in questo caso fare la stessa identica cosa. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 Talvolta un punto di confusione. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> Bene. 1310 01:09:33,488 --> 01:09:34,404 Qualcuno ha qualche idea? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 Sì? 1313 01:09:36,864 --> 01:09:40,120 >> Pubblico: Così si può basta fare if. 1314 01:09:40,120 --> 01:09:41,140 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1315 01:09:41,140 --> 01:09:42,880 Allora, qual è la nostra prima? 1316 01:09:42,880 --> 01:09:48,120 >> PUBBLICO: Se n è uguale a è uguale a 1, e le 2 linee per n pari o 1317 01:09:48,120 --> 01:09:51,059 è uguale a 2, quindi stampare piccole. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 E poi si può fare altro se? 1320 01:09:59,520 --> 01:10:02,160 Oppure si può fare solo un caso? 1321 01:10:02,160 --> 01:10:03,650 >> ALLISON BUCHHOLTZ-AU: Si può fare altro se? 1322 01:10:03,650 --> 01:10:05,274 >> PUBBLICO: Cambierebbe qualcosa se lo fai se? 1323 01:10:05,274 --> 01:10:06,320 ALLISON BUCHHOLTZ-AU: Così lo fa. 1324 01:10:06,320 --> 01:10:10,160 Anyone-- fa così, si otterrà lo stesso risultato 1325 01:10:10,160 --> 01:10:13,930 se si utilizza solo se e contro se si utilizza altro IFS. 1326 01:10:13,930 --> 01:10:17,090 Can you guys pensare alla ragione il motivo per cui si potrebbe desiderare di utilizzare un altro 1327 01:10:17,090 --> 01:10:18,680 se rispetto a un sacco di IFS? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 Deve con efficienza. 1330 01:10:21,510 --> 01:10:22,225 Sì? 1331 01:10:22,225 --> 01:10:24,783 >> PUBBLICO: Sarebbe verificare tutte le IFS ogni volta. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ALLISON BUCHHOLTZ-AU: Quindi, anche se ha colpito il primo, 1334 01:10:28,110 --> 01:10:29,880 sarebbe andare al check ogni altro. 1335 01:10:29,880 --> 01:10:36,690 Così si desidera utilizzare if else if nei casi dove solo uno di essi sarà mai applicare. 1336 01:10:36,690 --> 01:10:39,380 Così la mutua esclusione è quello che si tende a dire. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 Se si dispone di un gruppo di IFS, significa che forse più di uno di essi 1339 01:10:46,550 --> 01:10:49,630 questioni, e forse più di uno di essi può essere vero. 1340 01:10:49,630 --> 01:10:51,910 E si vuole entrambi da eseguire se sono vere. 1341 01:10:51,910 --> 01:10:57,180 Se si desidera solo uno di loro a lavorare in questi casi mutuamente esclusivi, 1342 01:10:57,180 --> 01:11:00,790 che si desidera utilizzare altro se, a causa tutto ha a che fare con l'efficienza. 1343 01:11:00,790 --> 01:11:05,350 Il tuo codice è solo meglio progettato se aderisce a questa pratica. 1344 01:11:05,350 --> 01:11:07,330 Quindi, in questo caso avremo un altro caso. 1345 01:11:07,330 --> 01:11:09,080 E questo sarebbe? 1346 01:11:09,080 --> 01:11:11,890 >> PUBBLICO: n è uguale uguale a 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 Supporto di stampa. 1350 01:11:20,445 --> 01:11:25,190 1351 01:11:25,190 --> 01:11:29,930 E poi nel nostro ultimo caso, che cosa abbiamo? 1352 01:11:29,930 --> 01:11:31,495 Altrimenti oppure se? 1353 01:11:31,495 --> 01:11:32,120 PUBBLICO: Else. 1354 01:11:32,120 --> 01:11:33,450 1355 01:11:33,450 --> 01:11:37,900 >> ALLISON BUCHHOLTZ-AU: Do ci want-- Volete else if perché abbiamo casi concreti. 1356 01:11:37,900 --> 01:11:39,270 Non è una specie di fermo tutto. 1357 01:11:39,270 --> 01:11:44,247 Se tu avessi un difetto in un switch-- ricordare in switch si può avere caso, 1358 01:11:44,247 --> 01:11:45,330 e poi ci sono di default. 1359 01:11:45,330 --> 01:11:48,760 Se tu avessi un default, che è genere della sua dichiarazione il resto c'è. 1360 01:11:48,760 --> 01:11:52,180 Ma se ha solo casi, che significa che è necessario 1361 01:11:52,180 --> 01:11:54,315 per verificare se si tratta di ciascuno di questi. 1362 01:11:54,315 --> 01:11:57,755 Quindi in questo caso, sarebbe il 4 o 5. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 Vogliamo una stampa fuori. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 E 'grande. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 E ci si va. 1369 01:12:07,509 --> 01:12:08,800 E questo sarebbe il vostro programma. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> Quindi, in questo caso in cui aveva un qualcosa di predefinito, 1372 01:12:17,050 --> 01:12:20,470 avremmo un altro qualunque cosa voleva che noi facessimo. 1373 01:12:20,470 --> 01:12:23,365 In modo che sia una buona distinzione di conoscere, di capire. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 Ritiene che aiutano con interruttori per voi? 1376 01:12:27,790 --> 01:12:28,800 Perfetto. 1377 01:12:28,800 --> 01:12:29,390 Bene. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> Abbiamo circa otto minuti dalla fine. 1380 01:12:33,340 --> 01:12:37,090 Fate voi ragazzi avete qualsiasi altri concetti di alto livello? 1381 01:12:37,090 --> 01:12:38,720 Domande in generale? 1382 01:12:38,720 --> 01:12:39,220 Sì? 1383 01:12:39,220 --> 01:12:42,860 >> PUBBLICO: Ho avuto un domanda di uno di loro 1384 01:12:42,860 --> 01:12:46,257 che era circa casuale numero generatore di quiz a zero. 1385 01:12:46,257 --> 01:12:47,340 ZAMYLA Chandler: Oh, quello. 1386 01:12:47,340 --> 01:12:51,460 Quello è un altro in cui è più la matematica than-- sì. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 La soluzione di che-- anche io quando La vedo io, io sono come quello che è questo. 1389 01:12:59,452 --> 01:13:00,590 >> PUBBLICO: E 'stato il numero 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ZAMYLA Chandler: E 'strano, a mio parere. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 Quindi, in pratica si vuole utilizzare drand48, che 1394 01:13:11,630 --> 01:13:15,420 vi darà un po ' numero compreso tra 0 e 1. 1395 01:13:15,420 --> 01:13:21,200 E si desidera utilizzare in modo che in qualche modo si ottiene a-- 1396 01:13:21,200 --> 01:13:26,690 ed è molto più di un problema di matematica a me che penso che un problema CS. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> Il modo in cui si fa it-- e a volte sarà proprio essere così. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 Di nuovo, questi sono i casi in cui è sorta 1401 01:13:41,090 --> 01:13:46,310 di come scrivere quello che può e del credito parziale. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 Quindi, se vogliamo un ritorno, sappiamo che siamo 1404 01:13:51,510 --> 01:13:54,182 intenzione di utilizzare drand48 in qualche modo, giusto? 1405 01:13:54,182 --> 01:13:55,640 Allora perché non ci butto solo che verso il basso. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 Stiamo usando in qualche modo. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 Il modo in cui essi hanno voi ragazzi usate è 1410 01:14:04,190 --> 01:14:08,175 in questo modo, che cercherò di spiegare. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> Quindi, in pratica quello che succede qui è perché è compreso tra 0 e 1, 1413 01:14:15,340 --> 01:14:19,300 quello che stai facendo è che stai moltiplicando by-- questo è molto una questione di matematica. 1414 01:14:19,300 --> 01:14:22,010 Basta disclaimer completo, questo è completamente una domanda di matematica. 1415 01:14:22,010 --> 01:14:23,990 Quello che stai facendo è a causa di 0 e 1 e si 1416 01:14:23,990 --> 01:14:26,460 Voglio che sia all'interno questa gamma, è in realtà 1417 01:14:26,460 --> 01:14:29,360 capire quanto è grande l'intervallo è, quindi 1418 01:14:29,360 --> 01:14:32,710 che, fondamentalmente, scalare verso l'alto, che è ciò che questo sta facendo. 1419 01:14:32,710 --> 01:14:39,050 >> b meno una ti dà tale intervallo, il differenza tra questi numeri. 1420 01:14:39,050 --> 01:14:44,040 È possibile moltiplicare tra 0 e 1, e quindi aggiungendo un solo 1421 01:14:44,040 --> 01:14:48,870 significa che la tua scala in su in modo che sia tra A e B, 1422 01:14:48,870 --> 01:14:52,377 che non mi piace molto questo problema. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 Come ho detto, questo quiz è destinata a comprendere 1425 01:15:01,790 --> 01:15:04,110 le persone che sono meno confortevoli, una via di mezzo, 1426 01:15:04,110 --> 01:15:05,070 e più confortevole. 1427 01:15:05,070 --> 01:15:07,550 Quindi, se l'hanno fatta così che si trattava di qualcosa di 1428 01:15:07,550 --> 01:15:10,050 che tutti al meno luogo confortevole otterrebbe, 1429 01:15:10,050 --> 01:15:12,259 avremmo troppi Persone Segnare perfeziona, 1430 01:15:12,259 --> 01:15:13,925 e la più comoda sarebbe annoiato. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> Così hanno sempre questi tipo di domande rompicapo 1433 01:15:18,970 --> 01:15:22,695 che sono destinate ad essere un po 'più difficile che prendono un po 'di pensiero creativo. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 Quando li vedi, non troppo perplesso. 1436 01:15:27,790 --> 01:15:31,720 Mi sarebbe sicuramente dire di vibrazione attraverso il quiz prima. 1437 01:15:31,720 --> 01:15:35,020 Affrontare i problemi che si sa è possibile, 1438 01:15:35,020 --> 01:15:38,480 perché è inutile rimanere bloccati su un problema quando ci sono tre 1439 01:15:38,480 --> 01:15:42,090 o quattro o cinque sulla pagina dopo di che si può facilmente fare. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> PUBBLICO: Perché esattamente si fa moltiplicarlo per la gamma? 1442 01:15:48,520 --> 01:15:54,935 >> ALLISON BUCHHOLTZ-AU: si moltiplica la gamma che si know-- è come quanto dopo un 1443 01:15:54,935 --> 01:15:55,485 vuoi? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 Così si può pensare, perché restituisce un numero compreso tra 0 e 1, 1446 01:16:02,130 --> 01:16:03,890 si può pensare ad esso come una percentuale. 1447 01:16:03,890 --> 01:16:12,195 Quindi è fondamentalmente dicendo se abbiamo la nostra linea numero qui, una è qui, 1448 01:16:12,195 --> 01:16:13,840 e b è qui. 1449 01:16:13,840 --> 01:16:19,170 Sei come la quantità di un passato vero? 1450 01:16:19,170 --> 01:16:20,010 E 'tutto quello che stiamo facendo. 1451 01:16:20,010 --> 01:16:24,920 Quindi, si sta solo chiedendo il percentuale di questa gamma, che 1452 01:16:24,920 --> 01:16:26,170 è quello che ti sta dando. 1453 01:16:26,170 --> 01:16:30,915 E poi fondamentalmente solo ingrandisce di aggiungendo una. 1454 01:16:30,915 --> 01:16:32,302 E 'un rompicapo matematico. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> Se ci fosse qualche consiglio dell'ultimo minuto, direi di vibrazione attraverso le domande, 1457 01:16:39,060 --> 01:16:41,660 capire quali quelli che si So che, come, oh ho ottenuto questo. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 Quasi sicuramente andranno a essere domande che non sapere 1460 01:16:45,820 --> 01:16:49,580 o che si sta andando ad avere il tempo per, in modo da colpire i vostri punti di forza, OK? 1461 01:16:49,580 --> 01:16:50,990 Voi ragazzi stanno andando alla grande. 1462 01:16:50,990 --> 01:16:52,740 Ci sono molti domande per un motivo, 1463 01:16:52,740 --> 01:16:57,140 in modo da avere il tempo di tipo di avere la possibilità 1464 01:16:57,140 --> 01:16:59,330 per dimostrare ciò che sei veramente bravo a. 1465 01:16:59,330 --> 01:17:02,370 Quindi è OK se siete non bravo in tutto. 1466 01:17:02,370 --> 01:17:03,371 Gioca ai vostri punti di forza. 1467 01:17:03,371 --> 01:17:03,870 Sì? 1468 01:17:03,870 --> 01:17:06,536 >> PUBBLICO: Quindi è questo andare a restituire qualcosa che è troncato? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 Sì, lo farà, perché drand i rendimenti compresi tra 0 e 1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 Sarà restituire un int, perché sarà troncare 1473 01:17:19,250 --> 01:17:22,933 quando si aggiunge una o moltiplichiamo per esso. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 Freddo. 1476 01:17:28,442 --> 01:17:29,525 Tutte le domande last minute? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> Voi ragazzi stanno andando a fare grande. 1479 01:17:32,615 --> 01:17:34,440 Si sta andando ad essere favoloso. 1480 01:17:34,440 --> 01:17:37,100 E anche se non ci sarà essere caramelle qui la prossima settimana. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 E io ti amo. 1483 01:17:40,020 --> 01:17:41,270 Ti amerò ragazzi a prescindere. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 Va bene, tutti, buona fortuna. 1486 01:17:43,930 --> 01:17:44,680 Hanno un grande momento. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 Si sta andando ad essere bene. 1489 01:17:46,620 --> 01:17:47,370 E sai una cosa? 1490 01:17:47,370 --> 01:17:50,310 In due giorni è in corso essere finita, mentre io 1491 01:17:50,310 --> 01:17:53,675 avere due midterms il Giovedi, così almeno sarà fatto voi ragazzi. 1492 01:17:53,675 --> 01:17:56,550 Va bene, ci vediamo ragazzi la prossima settimana. 1493 01:17:56,550 --> 01:17:58,208