1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ALLISON BUCHHOLTZ-AU: Ei, todo o mundo. 3 00:00:12,170 --> 00:00:13,560 Benvido á sección. 4 00:00:13,560 --> 00:00:17,320 Hoxe é só vai ser todo o cuestionario revisión para a súa proba o mércores. 5 00:00:17,320 --> 00:00:20,060 Espero que todo o mundo se lembra que eles teñen un quiz o mércores. 6 00:00:20,060 --> 00:00:22,560 E se non o fixo, así, agora que foi lembrado. 7 00:00:22,560 --> 00:00:26,486 Entón, mércores, asegúrese de mostrar-se para a clase ou outras aloxamentos como 8 00:00:26,486 --> 00:00:26,985 necesario. 9 00:00:26,985 --> 00:00:27,845 10 00:00:27,845 --> 00:00:29,220 Vostedes están indo a ser incrible. 11 00:00:29,220 --> 00:00:30,440 Será xenial. 12 00:00:30,440 --> 00:00:34,910 E eu vou facer todo o que eu poida para axudar a se preparar hoxe ao seu cuestionario 13 00:00:34,910 --> 00:00:35,470 agora. 14 00:00:35,470 --> 00:00:39,960 E tamén no caso de que non o sei, existe un campo de sesión de revisión ampla 15 00:00:39,960 --> 00:00:45,840 hoxe, ás 07:00, en Laboratorios Noroeste B103 cuarto. 16 00:00:45,840 --> 00:00:49,950 Que me pode ver de novo a un encore como Vou levar parte desa sesión de revisión 17 00:00:49,950 --> 00:00:50,510 tamén. 18 00:00:50,510 --> 00:00:53,218 Entón, se non pode obter o suficiente de min Agora, pode vir de novo esta noite. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> Todos, entón primeiro cousas certas primeiro. 21 00:00:56,060 --> 00:00:59,630 Só algúns consellos do quiz antes realmente mergullo comentarios. 22 00:00:59,630 --> 00:01:04,160 Así como ocorre con calquera exame, a práctica vai certamente axudar. 23 00:01:04,160 --> 00:01:09,260 Existen probas do pasado seis ou sete anos alí, 24 00:01:09,260 --> 00:01:12,480 de xeito que é unha morea de práctica material para que vostedes teñen. 25 00:01:12,480 --> 00:01:15,340 E, de feito, hoxe é realmente só estar indo sobre calquera temas 26 00:01:15,340 --> 00:01:18,900 que vostedes teñen preguntas sobre como ben como traballar a través de problemas prácticos 27 00:01:18,900 --> 00:01:20,360 do cuestionario cero. 28 00:01:20,360 --> 00:01:22,690 Entón, eu vou vomitar cuestionario de cero desde o ano pasado aquí, 29 00:01:22,690 --> 00:01:26,410 e podemos traballar con todos os problemas que vostedes lles gustaría. 30 00:01:26,410 --> 00:01:27,370 >> Así practicando. 31 00:01:27,370 --> 00:01:29,310 Vai comezar a facelo hoxe. 32 00:01:29,310 --> 00:01:30,230 Código no papel. 33 00:01:30,230 --> 00:01:32,970 Entón, si, se todos realmente pode saír 34 00:01:32,970 --> 00:01:35,810 papel, que vai ser gran, porque non é 35 00:01:35,810 --> 00:01:41,470 terá o seu ordenador na exame e escribindo código manualmente 36 00:01:41,470 --> 00:01:44,190 moitas veces é moito máis difícil do que podería esperar. 37 00:01:44,190 --> 00:01:46,680 Está afeito só velo e escriba-lo, 38 00:01:46,680 --> 00:01:49,630 e ten o seu compilador para axudar cando ten erros, 39 00:01:49,630 --> 00:01:52,190 pero non pode iso no exame. 40 00:01:52,190 --> 00:01:55,140 Entón, é realmente importante para realmente ser capaz de escribir o código, 41 00:01:55,140 --> 00:01:58,360 e que a memoria muscular de facer todo na man realmente pode axudar. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> Entón, nós estamos quedando un pouco preto. 44 00:02:01,690 --> 00:02:02,340 É luns. 45 00:02:02,340 --> 00:02:03,930 Seu exame é o mércores. 46 00:02:03,930 --> 00:02:06,030 Pero se ten tempo, asumir definitivamente unha 47 00:02:06,030 --> 00:02:10,199 dos exames do ano pasado ou o ano antes baixo a restrición de tempo 48 00:02:10,199 --> 00:02:11,660 dunha hora e media. 49 00:02:11,660 --> 00:02:13,730 Só bater a fóra unha hora e unha metade do tempo, 50 00:02:13,730 --> 00:02:17,480 e sentir-se para abaixo, e só traballar cos problemas 51 00:02:17,480 --> 00:02:19,962 como se fose verdade toma-lo, porque un 52 00:02:19,962 --> 00:02:23,295 das maiores cousas que escoitamos sobre as probas é que son moi longo. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 É unha gran cantidade de material. 55 00:02:26,660 --> 00:02:30,850 Hai unha morea de preguntas, ea maioría das persoas pode non rematar. 56 00:02:30,850 --> 00:02:34,660 Sei que eu totalmente non rematou meus probas cando tirei a clase. 57 00:02:34,660 --> 00:02:37,180 >> Na mesma nota, como unha menor sección cómodo, 58 00:02:37,180 --> 00:02:40,570 entender que este curso se pretende para atender a persoas de todos os niveis. 59 00:02:40,570 --> 00:02:43,640 Toda a razón que temos que dividir menos cómodo, nalgún lugar entre, 60 00:02:43,640 --> 00:02:47,660 e é máis cómodo para tipo de facelo máis xusto. 61 00:02:47,660 --> 00:02:51,699 E se é menos cómodo, é non é necesario por si para obter todo. 62 00:02:51,699 --> 00:02:53,990 Como se está a recibir todo, probablemente 63 00:02:53,990 --> 00:02:55,448 estar na sección máis cómodo. 64 00:02:55,448 --> 00:03:00,160 Entón, obviamente, non bater-vos moi difícil se non pode rematar o exame. 65 00:03:00,160 --> 00:03:01,920 Tire iso de min, eu non fixen iso. 66 00:03:01,920 --> 00:03:03,070 Eu aínda son un concentrador. 67 00:03:03,070 --> 00:03:04,630 Eu aínda estou axudando impartición do curso. 68 00:03:04,630 --> 00:03:06,170 Vai estar ben. 69 00:03:06,170 --> 00:03:06,670 Todo correcto. 70 00:03:06,670 --> 00:03:08,740 E, finalmente, durmir un pouco. 71 00:03:08,740 --> 00:03:11,020 Obviamente, con calquera exame sempre dicimos iso. 72 00:03:11,020 --> 00:03:13,610 Conxestión na noite anterior e non pode durmir 73 00:03:13,610 --> 00:03:16,390 fai não-- quizais que funciona para ti, vai a el. 74 00:03:16,390 --> 00:03:18,790 Pero, para a gran maioría de persoas, quedando un pouco de sono, 75 00:03:18,790 --> 00:03:22,390 deixar o seu descanso do cerebro e recuperar antes de ir para o exame 76 00:03:22,390 --> 00:03:23,480 realmente vai axudar. 77 00:03:23,480 --> 00:03:26,120 Tamén haberá case certamente doces no exame, 78 00:03:26,120 --> 00:03:28,019 entón ten que mirar para adiante. 79 00:03:28,019 --> 00:03:29,310 Vostedes van facer grande. 80 00:03:29,310 --> 00:03:30,226 El vai estar ben. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 E agora a próxima hora e media eu vai prepara-lo da mellor maneira que eu poida. 83 00:03:36,190 --> 00:03:41,260 >> Entón, eu teño diapositivas basicamente todas as seccións ata agora. 84 00:03:41,260 --> 00:03:45,874 Non vou pasar por todos eles, porque iso non é 85 00:03:45,874 --> 00:03:49,040 viable nunha hora e media, así como traballar a través de problemas prácticos. 86 00:03:49,040 --> 00:03:51,410 Entón, en vez Eu teño unha lista de temas. 87 00:03:51,410 --> 00:03:55,160 Estas son todas as cousas que puidésemos interrogar sobre si. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 Se hai unha cousa que realmente salta para fóra 90 00:03:58,770 --> 00:04:02,140 que pretende pasar por riba, que quere que eu vaia máis conceptualmente, 91 00:04:02,140 --> 00:04:04,320 Podo tentar dar unha visión xeral alí. 92 00:04:04,320 --> 00:04:07,690 Ou se quere ir á dereita para facendo práctica problemas xuntos, 93 00:04:07,690 --> 00:04:08,420 podemos facelo. 94 00:04:08,420 --> 00:04:09,330 Correspóndelle a vós. 95 00:04:09,330 --> 00:04:10,770 Non hai que moitos de vós. 96 00:04:10,770 --> 00:04:13,180 Entón, é todo o que vostedes quere facer. 97 00:04:13,180 --> 00:04:15,667 Quero ser o máis útil para vós. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 Entón eu vou deixar só ollar. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> Audiencia: Unha cousa é a gráfica que mantemos 102 00:04:30,500 --> 00:04:33,290 dicindo sobre a pila eo heap. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 Só a idea detrás que e que iso significa. 105 00:04:37,434 --> 00:04:38,350 ALLISON BUCHHOLTZ-AU: Si, Aceptar. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 Este é todo o camiño no final, entón déixeme percorrer. 108 00:04:43,216 --> 00:04:45,490 >> Audiencia: Non temos a facelo agora, pero o que quere. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ALLISON BUCHHOLTZ-AU: Houbo anything-- este. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 É este tipo de fuzzy para a xente? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 Audiencia: Si, eu estou de acordo. 115 00:04:55,640 --> 00:04:57,718 E podemos tamén facer buffer overflow? 116 00:04:57,718 --> 00:04:58,926 ALLISON BUCHHOLTZ-AU: Buffer overflow? 117 00:04:58,926 --> 00:04:59,820 Está ben. 118 00:04:59,820 --> 00:05:03,460 Entón estourido de buffer está moi fácil só para falar. 119 00:05:03,460 --> 00:05:08,217 É basicamente buffers pensa sobre algunha memoria matriz que ten, non? 120 00:05:08,217 --> 00:05:10,050 Nós normalmente falamos de buffer overflow cando 121 00:05:10,050 --> 00:05:15,160 non está comprobando o como o usuario está poñendo en, non? 122 00:05:15,160 --> 00:05:18,540 E a idea de con estourido de buffer está 123 00:05:18,540 --> 00:05:21,535 están poñendo en moi moitos datos para o espazo 124 00:05:21,535 --> 00:05:23,780 que teña asignado para eles, non? 125 00:05:23,780 --> 00:05:28,310 >> Entón, se di, dar me algunha mensaxe, estamos 126 00:05:28,310 --> 00:05:31,860 asumindo que van dar nos unha mensaxe lonxitude razoable. 127 00:05:31,860 --> 00:05:33,910 Quizais liñas dunha parella, outros enfeites. 128 00:05:33,910 --> 00:05:35,150 Entón, nós non comprobar. 129 00:05:35,150 --> 00:05:38,160 Pola contra, alimentarnos nun todo libro que é unha mensaxe, 130 00:05:38,160 --> 00:05:42,450 e reborda a cantidade de espazo que temos asignado para iso. 131 00:05:42,450 --> 00:05:48,140 E o que pasa é que podería substituír lugares que non se quere. 132 00:05:48,140 --> 00:05:52,890 >> Entón eu sei que o profesor dixo Malan algo sobre ataques de estourido de buffer. 133 00:05:52,890 --> 00:05:59,050 Entón é aí que a entrada de vontade do usuario algúns enorme cantidade de datos na esperanza 134 00:05:59,050 --> 00:06:02,840 que substitúe pasado o final do seu buffer 135 00:06:02,840 --> 00:06:06,479 e substitúe something-- pregúntome Eu temos esas láminas aquí. 136 00:06:06,479 --> 00:06:08,270 Non creo que temos estes diapositivas en aquí. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 Pero, basicamente, el substitúe algunha porción de memoria 139 00:06:14,460 --> 00:06:17,780 que permítelle o acceso ás partes do seu ordenador 140 00:06:17,780 --> 00:06:19,530 que non faría normalmente ten acceso. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> Cousa maior con buffer overflow é só 143 00:06:23,155 --> 00:06:26,420 a entender que pasa cando non está 144 00:06:26,420 --> 00:06:29,210 comprobar o que o seu usuario está poñendo en. 145 00:06:29,210 --> 00:06:32,770 Cando non son o tipo de salvagarda contra iso. 146 00:06:32,770 --> 00:06:36,820 E na súa forma máis simple cousa, é só o usuario 147 00:06:36,820 --> 00:06:39,130 introducindo unha enorme cantidade de datos no intento 148 00:06:39,130 --> 00:06:45,090 para substituír algunha seguridade parte da súa memoria. 149 00:06:45,090 --> 00:06:46,310 Isto é todo o que é. 150 00:06:46,310 --> 00:06:49,810 >> Polo tanto, este aquí, pila e heap. 151 00:06:49,810 --> 00:06:53,090 Basicamente todo isto é só unha representación de memoria 152 00:06:53,090 --> 00:06:54,449 e onde as cousas son gardadas. 153 00:06:54,449 --> 00:06:56,240 Isto é realmente unha especie de todo o que precisa saber. 154 00:06:56,240 --> 00:06:58,520 As maiores cousas que ten que saber son 155 00:06:58,520 --> 00:07:01,910 isso-- déixeme ver se hai unha melhor-- aquí. 156 00:07:01,910 --> 00:07:05,380 Polo tanto, esta é a pila aquí. 157 00:07:05,380 --> 00:07:08,410 >> Entón pila ten que ver coa todas as súas funcións 158 00:07:08,410 --> 00:07:10,140 que está chamando a calquera momento. 159 00:07:10,140 --> 00:07:15,060 E o que é importante lembrar saíndo da semana pasada con malloc 160 00:07:15,060 --> 00:07:21,080 é que realmente non ten control necesario sobre el. 161 00:07:21,080 --> 00:07:24,780 Todo depende de cando certa funcións están sendo executados. 162 00:07:24,780 --> 00:07:28,170 E cando eles están executando, eles ten o que son chamados de cadros de pila 163 00:07:28,170 --> 00:07:29,290 que ir ata aquí. 164 00:07:29,290 --> 00:07:32,520 >> Por iso, todo tipo de pasa sen participación real desde ti. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 Vostede escribe o seu programa, e deixalo correr, 167 00:07:35,510 --> 00:07:38,470 e tipo de pila leva coidar de si mesmo como necesita. 168 00:07:38,470 --> 00:07:42,940 Entón, se o principal que está chamando cubo, que será pasado para acá. 169 00:07:42,940 --> 00:07:44,110 Vai crear un cadro. 170 00:07:44,110 --> 00:07:48,330 Pero non hai nada que explicitamente facer para crear ese marco de pila diferente 171 00:07:48,330 --> 00:07:51,430 escribir a función, para comezar, OK? 172 00:07:51,430 --> 00:07:56,500 >> ¿Que é unha especie de baixo o control é a pila con malloc. 173 00:07:56,500 --> 00:08:01,950 Así, sempre que malloc algo, está tomando a memoria da pila. 174 00:08:01,950 --> 00:08:05,110 E esa é a memoria que teñen, por falta dunha palabra mellor, 175 00:08:05,110 --> 00:08:10,300 control explícito sobre, pois lembre-se con malloc 176 00:08:10,300 --> 00:08:12,530 é basicamente alí ata que diga o contrario. 177 00:08:12,530 --> 00:08:14,890 Para aqueles de vostedes que sección asistiu a semana pasada, 178 00:08:14,890 --> 00:08:17,670 está alí ata que diga a el para ir. 179 00:08:17,670 --> 00:08:20,850 El vai estar alí, a menos se non, non dixen. 180 00:08:20,850 --> 00:08:24,750 Así, a pila é só algo pode pensar en como a memoria 181 00:08:24,750 --> 00:08:26,150 que ten control sobre. 182 00:08:26,150 --> 00:08:29,010 E estes son só o dúas grandes cousas distintas. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> Fóra iso, non debe ter preocuparse moito sobre pila e heap 185 00:08:38,330 --> 00:08:42,159 preguntas ou tipicamente máis xusto se ten parámetros locais 186 00:08:42,159 --> 00:08:45,385 ou unha función sería na pila ou heap. 187 00:08:45,385 --> 00:08:47,260 Obviamente, neste caso sería a pila. 188 00:08:47,260 --> 00:08:49,630 Se está mallocing algo, onde é que vén? 189 00:08:49,630 --> 00:08:50,129 O heap. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 Se ollar para probas prácticos, aqueles son xeralmente do tipo de preguntas 192 00:08:54,230 --> 00:08:55,460 que teñen. 193 00:08:55,460 --> 00:08:57,340 >> Non se preocupe moito sobre iso. 194 00:08:57,340 --> 00:09:00,980 Entrar en máis explicitamente sobre pila e heap 195 00:09:00,980 --> 00:09:03,460 máis tarde ou noutras clases de CS. 196 00:09:03,460 --> 00:09:06,220 Entón, só tes que ter unha especie de idea xeral do que iso é 197 00:09:06,220 --> 00:09:09,100 vai ser bo, que eu só unha especie de pasou. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 Outros temas? 200 00:09:12,090 --> 00:09:12,590 Si? 201 00:09:12,590 --> 00:09:14,923 >> Audiencia: Pode pasar por riba de punteiros de novo moi rápido? 202 00:09:14,923 --> 00:09:15,870 ALLISON BUCHHOLTZ-AU: Punteiros? 203 00:09:15,870 --> 00:09:18,470 Queres conceptual Resumo dos punteiros 204 00:09:18,470 --> 00:09:19,994 ou practica con punteiros? 205 00:09:19,994 --> 00:09:21,410 Audiencia: Así como a sintaxe. 206 00:09:21,410 --> 00:09:22,360 ALLISON BUCHHOLTZ-AU: A sintaxe? 207 00:09:22,360 --> 00:09:22,860 Si. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 OK, estamos chegando alí. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 Si, por iso esta é só unha especie de algo cando ten unha función recursiva, 212 00:09:42,040 --> 00:09:45,954 cada vez que a función recursiva é chamado, el só engade outro cadro de pila. 213 00:09:45,954 --> 00:09:47,870 Practicamente un exemplo de como realmente non 214 00:09:47,870 --> 00:09:50,330 ten control sobre o cadros na súa stack. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> OK, punteiros. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 Todo ben, entón a creación de punteiros. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 Lembre, é só escribir estrela. 221 00:10:02,420 --> 00:10:07,140 Así, calquera tipo de datos que vai estar apuntando. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 Polo tanto, este sería un punteiro para un int. 224 00:10:11,440 --> 00:10:13,140 Este sería un punteiro para un char. 225 00:10:13,140 --> 00:10:14,740 Este sería un punteiro dun flotador. 226 00:10:14,740 --> 00:10:17,980 Por iso é basicamente o que quere queres que sexa apuntando, 227 00:10:17,980 --> 00:10:22,300 estrela é como declarar o punteiro, OK? 228 00:10:22,300 --> 00:10:26,200 >> Pero, entón, obviamente, está un pouco complicado cando tes pointer 229 00:10:26,200 --> 00:10:27,370 ou o que quere que ten estrela. 230 00:10:27,370 --> 00:10:31,260 Así, a gran diferenza é cando está declaring-- 231 00:10:31,260 --> 00:10:45,590 polo que temos some-- así iso leva algún int estrela. 232 00:10:45,590 --> 00:10:49,650 Polo tanto, este é un punteiro chama de x para un int, non? 233 00:10:49,650 --> 00:10:54,600 Entón recorda que provocará É esta chama o sistema x. 234 00:10:54,600 --> 00:10:56,970 E iso vai ten algún enderezo, non? 235 00:10:56,970 --> 00:11:00,515 Entón imos só dicir que este é o noso enderezo. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 Punteiros soster enderezos. 238 00:11:03,570 --> 00:11:08,660 Entón, o que iso di é que, neste localización, estamos almacenando un int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> Así, outra forma, podemos pensar en dicir que este é un int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 Nós realmente non temos asignado a nada aínda, pero é só un int. 243 00:11:20,350 --> 00:11:31,540 Entón o que podemos facer é se nós protagonizar x é igual a 5, tanto se fai un 5, OK? 244 00:11:31,540 --> 00:11:38,350 Isto di para ir a calquera x é apuntando, entón vai a esta dirección 245 00:11:38,350 --> 00:11:40,210 e facelo igual a 5. 246 00:11:40,210 --> 00:11:44,390 Entón imos asignar 5 a esta dirección, non? 247 00:11:44,390 --> 00:11:52,540 >> E entón, se o fas, iso dános a dirección de. 248 00:11:52,540 --> 00:11:54,730 Este é o enderezo do operador. 249 00:11:54,730 --> 00:11:57,700 Entón, cal é a dirección de x? 250 00:11:57,700 --> 00:11:58,809 Non sabemos. 251 00:11:58,809 --> 00:12:00,225 Non lle é asignado un enderezo. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 Poderiamos dicir que é some-- agora demos que un enderezo, de xeito que a dirección é 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 E, de feito, se pasar por algo así, o tipo do que fixemos. 256 00:12:16,980 --> 00:12:25,800 Entón, traballar a través de aquí- eu atopar axuda se aproveitar os punteiros. 257 00:12:25,800 --> 00:12:28,270 Se está no seu exame, eu Recomendo caixas de deseño. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> Polo tanto, este primeiro, int x é igual a 5. 260 00:12:33,310 --> 00:12:37,370 Isto só significa que temos algunha poñer na memoria que é 5, non? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 E a nosa mesa aquí nos di que é o enderezo 0x04. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 E entón creamos algúns punteiro. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 Entón, imos decompô-lo un de cada vez. 267 00:12:55,310 --> 00:12:59,820 Entón iso crea uns caixa para un int, non? 268 00:12:59,820 --> 00:13:01,970 Vai soster algún enderezo dunha lo. 269 00:13:01,970 --> 00:13:03,470 Polo tanto, este é un punteiro. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 E este giz é realmente pequena. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 Polo tanto, temos algúns punteiro aquí. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 E a nosa mesa dinos que é a dirección é 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 Legal. 278 00:13:16,200 --> 00:13:23,240 E estamos atribuíndo Lo ao enderezo de x. 279 00:13:23,240 --> 00:13:26,330 >> Lembre, os punteiros soster enderezos, OK? 280 00:13:26,330 --> 00:13:32,050 Polo tanto, se queremos manter x, temos usar o operador de enderezo, que 281 00:13:32,050 --> 00:13:36,520 é o comercial, para obter o enderezo de x, que neste caso, 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 E entón, se temos algunha copia int, iso só 284 00:13:44,430 --> 00:13:48,060 crea algunha outra caixa que ten unha copia int chamado. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 E se nós atribuílo la a isto-- polo que este é referencia a el. 287 00:13:55,330 --> 00:14:00,090 Entón el di que quere ir punteiro enderezo detén. 288 00:14:00,090 --> 00:14:05,330 Punteiro ocupa este enderezo, entón nós iríamos ata aquí, 289 00:14:05,330 --> 00:14:07,130 e dicimos: OK, o que está nel? 290 00:14:07,130 --> 00:14:08,610 É 5. 291 00:14:08,610 --> 00:14:09,815 Así, torna-se copia 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 Ten sentido? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> E se eu intentase asignar iso só punteiro. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 O que fai punteiro realmente iguais? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 Sería só o que punteiro contén, non? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 E entón o que se eu fixese iso? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 Que copia ser agora? 304 00:14:39,880 --> 00:14:41,365 305 00:14:41,365 --> 00:14:42,275 >> Audiencia: 0x08. 306 00:14:42,275 --> 00:14:44,150 ALLISON BUCHHOLTZ-AU: Si, o dirección do noso punteiro. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 Calquera parte que que ten que ser re-explica? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 Legal. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 Hai sempre un moi problema diversión nun cuestionario 313 00:14:57,740 --> 00:15:00,100 que podemos sobre esta dálle máis práctica. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 Os mozos da semana pasada pode dicirlle que non era tan malo así. 316 00:15:03,270 --> 00:15:06,000 Temos a través dun todo gráfico, e todos fixeron grande. 317 00:15:06,000 --> 00:15:10,830 >> OK, entón iso é vista xeral de sintaxe de punteiros. 318 00:15:10,830 --> 00:15:15,070 Maior cousa é entender como para crealos, facéndoo referenciamento, 319 00:15:15,070 --> 00:15:18,190 e enderezo, OK? 320 00:15:18,190 --> 00:15:18,690 Legal. 321 00:15:18,690 --> 00:15:20,775 Outros temas antes mergullamos en práctica. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 Ademais, se estamos pasando por os problemas de práctica 324 00:15:28,011 --> 00:15:30,760 e hai algo que quere un reciclaxe, podemos facelo tamén. 325 00:15:30,760 --> 00:15:31,300 Ten algo? 326 00:15:31,300 --> 00:15:32,758 >> Audiencia: Estruturas e listas ligadas. 327 00:15:32,758 --> 00:15:35,130 ALLISON BUCHHOLTZ-AU: structs e listas ligadas, Aceptar. 328 00:15:35,130 --> 00:15:37,100 Entón estruturas. 329 00:15:37,100 --> 00:15:38,990 Nós, en realidade, están indo sobre iso esta noite tamén. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 OK, entón estruturas. 332 00:15:41,890 --> 00:15:47,490 Estruturas son, basicamente, só un xeito para que manteña 333 00:15:47,490 --> 00:15:50,430 varios valores de diferentes tipos. 334 00:15:50,430 --> 00:15:55,150 Así, cunha matriz estamos contraeu a un tipo de datos. 335 00:15:55,150 --> 00:16:00,965 A nosa matriz ou ten que ser só números, ou ser só caracteres, ou ser só Carrozas. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> Pero quizais ten que conter máis do que iso. 338 00:16:05,470 --> 00:16:09,130 Quizais ten que hold-- se está falando dun alumno, 339 00:16:09,130 --> 00:16:13,660 terá a súa casa, a súa Número de identificación, a súa idade, onde moran, 340 00:16:13,660 --> 00:16:14,240 non? 341 00:16:14,240 --> 00:16:16,460 E todos os que son diferentes tipos de tipos. 342 00:16:16,460 --> 00:16:18,680 Entón non pode almacenar todos aqueles nunha matriz. 343 00:16:18,680 --> 00:16:21,750 >> Entón, o que podes facer é vostede pode crear un struct, que 344 00:16:21,750 --> 00:16:26,240 pode pensar que o seu propio tipo de datos persoais. 345 00:16:26,240 --> 00:16:29,130 Entón, en vez de só ter ints e no canto de só ter Carrozas, 346 00:16:29,130 --> 00:16:33,210 pode ter un alumno tipo que ten todos eses campos na mesma. 347 00:16:33,210 --> 00:16:39,740 Entón, a nosa forma de arrincar nosas estruturas é-- realmente 348 00:16:39,740 --> 00:16:44,921 desde a miña escrita é terrible, nós van facer a transición á dixitación. 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, por iso, se queremos crear un struct-- Eu estou indo só para el aquí. 352 00:16:53,150 --> 00:16:57,730 Desconsidere o principal en todo o que que usaremos máis tarde. 353 00:16:57,730 --> 00:17:02,330 Así, a forma que quere facer é con typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 E imos chamar este alumno porque iso é o que eu estaba a usar. 356 00:17:13,349 --> 00:17:17,801 OK, entón typedef significa que está a definición dun novo tipo, OK? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 Hai matices en cando fai só un struct contra un struct typedef. 359 00:17:24,355 --> 00:17:26,313 Para todas as intencións e propósitos, vostedes son só 360 00:17:26,313 --> 00:17:29,490 vai asumir que están aproximadamente o mesmo e só 361 00:17:29,490 --> 00:17:30,820 usar typedef struct para agora. 362 00:17:30,820 --> 00:17:35,180 El vai facer moito máis aparente na súa próxima P definir o que esas diferenzas son, 363 00:17:35,180 --> 00:17:37,960 pero eu non creo que precisa se preocupar con iso agora. 364 00:17:37,960 --> 00:17:40,360 Prefiro moito máis sabe como crear un, 365 00:17:40,360 --> 00:17:41,880 acceder a ela, e asignar [? valor. ?] 366 00:17:41,880 --> 00:17:47,820 >> Un novo tipo de estrutura, e estamos chamando-o de estudante. 367 00:17:47,820 --> 00:17:52,640 Entón, despois de que rematar de crear este, para todos os efectos, 368 00:17:52,640 --> 00:17:55,070 vai ter un tipo chamado alumno. 369 00:17:55,070 --> 00:17:59,610 E pode pensar nel só como un tipo como un int ou un float, ou un char. 370 00:17:59,610 --> 00:18:01,820 É só un outro tipo, OK? 371 00:18:01,820 --> 00:18:04,530 >> Así, no presente, o que temos? 372 00:18:04,530 --> 00:18:05,420 Temos quizais un nome. 373 00:18:05,420 --> 00:18:08,275 Entón quizais queiramos un nome de cadea. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 E nós temos quizais un int que é un ID. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 E nós temos un outro en que é o número de teléfono. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 E nós temos some-- veremos. 380 00:18:26,200 --> 00:18:27,200 Que máis podemos ter? 381 00:18:27,200 --> 00:18:29,385 Nós imos ter algunha corda na súa casa. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 Todas as cousas que un estudante ten. 384 00:18:34,510 --> 00:18:36,960 >> Entón, iso crea un struct agora. 385 00:18:36,960 --> 00:18:41,450 Entón, como podemos crear un estudante? 386 00:18:41,450 --> 00:18:46,960 Se temos algunha variable que está vai falar Walker aquí, 387 00:18:46,960 --> 00:18:51,245 entón nós estamos só have-- vai chamar este andador. 388 00:18:51,245 --> 00:18:52,520 El que de un tipo. 389 00:18:52,520 --> 00:18:53,770 Cal é o seu tipo? 390 00:18:53,770 --> 00:18:54,520 Audiencia: Estudante. 391 00:18:54,520 --> 00:18:55,395 ALLISON BUCHHOLTZ-AU: Estudante. 392 00:18:55,395 --> 00:18:57,130 393 00:18:57,130 --> 00:19:04,800 Entón, iso só crea un obxecto que pode pensar que ten todas estas cousas. 394 00:19:04,800 --> 00:19:07,880 Acaba de crear un estudante Walker. 395 00:19:07,880 --> 00:19:10,910 Entón, agora necesitamos ser capaces para asignar todo isto, certo? 396 00:19:10,910 --> 00:19:13,500 Entón, alguén se lembra como temos acceso dentro dun struct? 397 00:19:13,500 --> 00:19:14,762 398 00:19:14,762 --> 00:19:15,470 Audiencia: Período. 399 00:19:15,470 --> 00:19:16,730 ALLISON BUCHHOLTZ-AU: Período Exactamente. 400 00:19:16,730 --> 00:19:23,795 Entón, se quixésemos atribuír lle un nome, poderíamos facelo. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 Obviamente, isto faría ser-- esta parte aquí sería 403 00:19:28,680 --> 00:19:31,831 estar dentro principal, de xeito en realidade, deixe-me facelo. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 Declare esta enriba principal, para que podemos usalo dentro de inicio. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 Entón agora eu quero que faga ID, e imos facer algunha alí, 408 00:20:00,980 --> 00:20:02,970 e despois imos asignar unha 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 Legal. 412 00:20:09,650 --> 00:20:19,870 >> Polo tanto, agora temos que sempre precisan de acceso nada máis tarde on-- quizais nós-- 413 00:20:19,870 --> 00:20:25,920 se algunha vez precisa acceder calquera cousa, imos facer un ID int copia. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 E quero copiar ID para este Walker. 416 00:20:30,530 --> 00:20:31,370 Cómo podería facelo? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 Debe acceder dentro do Walker struct de [? ir que?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 E, do mesmo xeito que nós atribuíu-se aquí, como 420 00:20:41,280 --> 00:20:45,573 poderemos acceder a ela cando queremos dar ese valor a algo máis? 421 00:20:45,573 --> 00:20:46,406 Audiencia: Walker.id. 422 00:20:46,406 --> 00:20:47,252 423 00:20:47,252 --> 00:20:48,376 ALLISON BUCHHOLTZ-AU: Si, exactamente. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 Entón, iso é todo moi bonito que precisa saber para estruturas. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 Só ten pensar en Los como outra variable. 428 00:20:58,560 --> 00:21:01,710 Basicamente a crear a súa propio tipo de variable, OK? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 Usalo para declarar variables en calquera forma. 431 00:21:07,970 --> 00:21:10,290 Aquí Walker aínda é unha variable. 432 00:21:10,290 --> 00:21:14,230 El só ten un alumno tipo agora, no canto dun int tipo, ou un tipo cadea, 433 00:21:14,230 --> 00:21:15,070 ou un tipo char. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 Se houbese un xeito doado de falar sobre estruturas, é literalmente só un 436 00:21:19,930 --> 00:21:24,430 crear o seu propio tipo de datos que permite que agrupe 437 00:21:24,430 --> 00:21:28,320 todas estas diferentes tipo de datos en conxunto. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 Será que isto ten sentido? 440 00:21:31,595 --> 00:21:33,920 441 00:21:33,920 --> 00:21:34,420 Está ben. 442 00:21:34,420 --> 00:21:35,920 443 00:21:35,920 --> 00:21:37,530 Isto e acceder con puntos. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 Practicamente todo o que necesitas. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> OK, onde foi o meu PowerPoint ir? 448 00:21:46,600 --> 00:21:47,580 Aquí está. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 Ben, iso é raro. 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, legal. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 Calquera outras cousas ou nós quere ir á práctica? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 Práctica? 458 00:22:02,710 --> 00:22:03,501 Está ben. 459 00:22:03,501 --> 00:22:04,000 Impresionante. 460 00:22:04,000 --> 00:22:05,642 461 00:22:05,642 --> 00:22:06,600 Vou saír desta. 462 00:22:06,600 --> 00:22:08,490 Se en calquera momento durante cuestións prácticas, 463 00:22:08,490 --> 00:22:12,630 Estou feliz por renovar e pasar por cousas. 464 00:22:12,630 --> 00:22:15,240 Entón, eu teño cuestionario zerar ata aquí. 465 00:22:15,240 --> 00:22:18,370 Se vostedes queren tirar lo no seu computador, 466 00:22:18,370 --> 00:22:20,670 así como levar de cinco minutos para percorrer. 467 00:22:20,670 --> 00:22:23,540 Quizais escoller algúns arriba preguntas que quere pasar por riba. 468 00:22:23,540 --> 00:22:27,390 Se vostedes non poden decidir, nós imos lentamente comezar a traballar con eles, 469 00:22:27,390 --> 00:22:31,590 pero eu estou seguro que vai ser un pouco preguntas que son particularmente 470 00:22:31,590 --> 00:22:34,890 ansioso para falar e ter me traballar con todos vós. 471 00:22:34,890 --> 00:22:36,580 Entón, só tes que ir adiante e tomar cinco minutos. 472 00:22:36,580 --> 00:22:37,780 Desprácese. 473 00:22:37,780 --> 00:22:40,620 E este é a proba desde 2013. 474 00:22:40,620 --> 00:22:41,841 >> Audiencia: Cero? 475 00:22:41,841 --> 00:22:43,630 >> ALLISON BUCHHOLTZ-AU: Si, quiz cero. 476 00:22:43,630 --> 00:22:45,647 Non estamos facendo unha proba de material. 477 00:22:45,647 --> 00:22:46,980 Faremos isto nalgunhas semanas. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 Tamén para aqueles de vostedes que veu ao final, temos doces, 480 00:22:55,190 --> 00:23:00,580 por iso que vostedes queren doce? 481 00:23:00,580 --> 00:23:01,530 >> Audiencia: Claro. 482 00:23:01,530 --> 00:23:03,321 >> ALLISON BUCHHOLTZ-AU: Eu son só vai pasar ao redor. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 Ei, se vostedes cheguen aquí cedo, ten máis doces. 485 00:23:11,940 --> 00:23:12,500 Iso é bo. 486 00:23:12,500 --> 00:23:13,550 Ben, quere doces? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 Quere algún destes? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 Hai tamén Snickers se alguén quere Snickers. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 Vou deixar los aquí e aquí. 493 00:23:29,360 --> 00:23:30,946 Sinto-se libre. 494 00:23:30,946 --> 00:23:32,485 Queres máis? 495 00:23:32,485 --> 00:23:33,235 Audiencia: todo listo. 496 00:23:33,235 --> 00:23:33,540 Grazas. 497 00:23:33,540 --> 00:23:36,248 >> ALLISON BUCHHOLTZ-AU: E eu tiña un bo pequena pila alí no inicio. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 Vostedes comezar a facer a proba e Eu comezo a ter unha festa de cuestionario clasificación. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 É o caos. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 exames. 504 00:23:57,385 --> 00:23:58,650 Vai ser moi divertido. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 Será xenial. 507 00:24:02,036 --> 00:24:04,430 Estou seguro de que esta é unha da maior conexión persoal 508 00:24:04,430 --> 00:24:05,380 noites do ano. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 Alguén xa fixo proba de cero a partir de aínda que o ano pasado, por curiosidade? 511 00:24:19,175 --> 00:24:20,335 >> Audiencia: As partes del. 512 00:24:20,335 --> 00:24:21,543 >> ALLISON BUCHHOLTZ-AU: Partes del, Aceptar. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 Ten preguntas sobre calquera deles? 515 00:24:26,482 --> 00:24:28,190 Audiencia: Eu xa foi para o horario de expediente. 516 00:24:28,190 --> 00:24:28,898 Grazas aínda. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ALLISON BUCHHOLTZ-AU: Ben, espero que aínda é tipo de útil. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 Cando vai para o horario de expediente para iso? 521 00:24:45,634 --> 00:24:47,300 Audiencia: O meu TF tiña-lles esta tarde. 522 00:24:47,300 --> 00:24:47,966 ALLISON BUCHHOLTZ-AU: Oh. 523 00:24:47,966 --> 00:24:48,977 Quen é o seu TF? 524 00:24:48,977 --> 00:24:49,854 525 00:24:49,854 --> 00:24:51,020 Audiencia: Fred [? Wujaya?]. 526 00:24:51,020 --> 00:24:52,622 527 00:24:52,622 --> 00:24:54,080 ALLISON BUCHHOLTZ-AU: Hai tantas TFS. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 Tantos. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 Todo correcto. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 Alguén ten algunha para comezar o que podo anotar que queremos traballar? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 Eu supoño que os punteiros un coa táboa. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 Dalle. 538 00:25:57,610 --> 00:25:59,180 >> Audiencia: Quizais a clave dun. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ALLISON BUCHHOLTZ-AU: Entón o número 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 Presumo número 8 e 9 son probablemente aqueles que a xente quere pasar por riba. 543 00:26:10,770 --> 00:26:12,116 >> Audiencia: 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 vós sabedes recibe unha páxina de notas, non? 546 00:26:25,806 --> 00:26:28,450 >> Audiencia: Si, entón o que son estamos autorizados a poñer sobre iso. 547 00:26:28,450 --> 00:26:30,658 >> ALLISON BUCHHOLTZ-AU: Está autorizado para poñer o que queiras. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 E pode ser ingresaran. 550 00:26:32,720 --> 00:26:35,270 Polo que me lembro, os nosos foron escritas. 551 00:26:35,270 --> 00:26:37,022 >> Audiencia: Pode facer costas e ambos os dous lados? 552 00:26:37,022 --> 00:26:38,780 >> ALLISON BUCHHOLTZ-AU: Si, ambos os lados. 553 00:26:38,780 --> 00:26:42,940 Polo tanto, algo así como a pila e [? back-end?] chea, a súa carreira 554 00:26:42,940 --> 00:26:43,780 veces. 555 00:26:43,780 --> 00:26:44,840 Útil. 556 00:26:44,840 --> 00:26:47,990 Quizais pequenas cousas sobre punteiros para lembra-lo. 557 00:26:47,990 --> 00:26:49,205 Sintaxe para as cousas. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 Tendo como un esqueleto programa pode ser super útil. 560 00:26:54,830 --> 00:27:00,719 Sei que eu sempre esquecía o que Era para eu escribir para int main, 561 00:27:00,719 --> 00:27:03,010 porque sempre pode copiar colar da miña set anterior P 562 00:27:03,010 --> 00:27:06,232 ou que xa está aí, entón Realmente nunca escribiu, 563 00:27:06,232 --> 00:27:07,690 así que ter que se pode super útil. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> OK, entón por que non nós comezar co número 8, entón? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 Todo correcto. 568 00:27:22,810 --> 00:27:23,310 Está ben. 569 00:27:23,310 --> 00:27:25,060 570 00:27:25,060 --> 00:27:26,310 Por iso, considero o programa a continuación. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 Entón, obviamente, cando vemos punteiros, é probablemente 573 00:27:30,700 --> 00:27:32,200 unha boa idea para comezar a debuxar, non? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 Eu quero saber onde todo o meu grandes anacos de giz foi. 576 00:27:36,760 --> 00:27:37,870 Este é tipo de chat. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> Polo tanto, temos aquí algunhas función de intercambio que vai levar en dous punteiros. 579 00:27:45,820 --> 00:27:48,630 Polo tanto, neste caso, realmente debe ser o cambio 580 00:27:48,630 --> 00:27:53,400 cousas contra a nosa intercambio de orixinais función que só tivo en copias. 581 00:27:53,400 --> 00:27:57,030 Entón, o que vai facer é-- imos comezar con principal, 582 00:27:57,030 --> 00:27:58,450 porque é onde 1 é. 583 00:27:58,450 --> 00:28:04,296 >> Polo tanto, temos algúns int x 1. 584 00:28:04,296 --> 00:28:11,860 Temos algúns y que é igual a 2. 585 00:28:11,860 --> 00:28:14,390 E entón temos algún troco que vai levar os. 586 00:28:14,390 --> 00:28:17,320 E imos ver o que temos aquí. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 E no noso mesa-- oh boy. 589 00:28:22,709 --> 00:28:23,792 Como é que eu vou facer iso? 590 00:28:23,792 --> 00:28:25,900 Vou debuxar a miña mesa aquí. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 Facendo mal alí. 593 00:28:50,552 --> 00:28:51,260 Facendo mal. 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 eles nos dan de que un é un, e 1 2. 598 00:29:15,706 --> 00:29:16,206 Legal. 599 00:29:16,206 --> 00:29:17,674 600 00:29:17,674 --> 00:29:18,174 Impresionante. 601 00:29:18,174 --> 00:29:19,650 602 00:29:19,650 --> 00:29:20,464 Entón 3. 603 00:29:20,464 --> 00:29:21,380 E non hai [? 1. unha?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> Todo correcto. 606 00:29:25,250 --> 00:29:35,202 E entón a dirección de x é 0x123. 607 00:29:35,202 --> 00:29:41,260 E y é Ox127. 608 00:29:41,260 --> 00:29:41,760 Legal. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 Todo correcto. 611 00:29:43,595 --> 00:29:46,710 Eu quero que vostedes traballar neste para o traballo só como-- nel 612 00:29:46,710 --> 00:29:48,385 coas persoas ao seu redor. 613 00:29:48,385 --> 00:29:50,340 Gustaríame ter dito que mentres eu estaba montando. 614 00:29:50,340 --> 00:29:50,840 Traballar nel. 615 00:29:50,840 --> 00:29:53,270 Proba e traballar nel por vos por uns minutos, 616 00:29:53,270 --> 00:29:54,930 e despois vou traballar niso con vostede. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 Porque o único xeito que é realmente Vai aprender é facendo iso só. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 Non se preocupe. 621 00:31:30,110 --> 00:31:30,610 Boa sorte. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> OK, por que non nós lentamente comezar a traballar por iso. 624 00:32:20,030 --> 00:32:23,695 Entón, todo o mundo queda tras a liña un, x é 1. 625 00:32:23,695 --> 00:32:26,860 Despois liña dous, X e y son 1 e 2, non? 626 00:32:26,860 --> 00:32:27,400 Legal. 627 00:32:27,400 --> 00:32:30,310 Entón liña de tres é onde as cousas estar interesante, claro. 628 00:32:30,310 --> 00:32:34,970 >> Entón, o que fixemos aquí é que temos agora trocados. 629 00:32:34,970 --> 00:32:42,360 Dicimos que x e y teñen estes puntos, ou teñen a dirección de x e y, 630 00:32:42,360 --> 00:32:43,390 non? 631 00:32:43,390 --> 00:32:48,451 Polo tanto, neste caso, tres, o que é o valor dun? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 un fora transmitido, foi dada o valor do enderezo de x, non? 634 00:32:59,806 --> 00:33:02,542 635 00:33:02,542 --> 00:33:03,454 >> Audiencia: 1? 636 00:33:03,454 --> 00:33:05,200 >> ALLISON BUCHHOLTZ-AU: Entón, nós engadilo á x? 637 00:33:05,200 --> 00:33:06,420 Cal é o enderezo de x? 638 00:33:06,420 --> 00:33:07,212 >> Audiencia: 0x123. 639 00:33:07,212 --> 00:33:08,087 >> ALLISON BUCHHOLTZ-AU: Exactamente. 640 00:33:08,087 --> 00:33:13,960 641 00:33:13,960 --> 00:33:16,790 Pero o que é unha realidade, apuntando? 642 00:33:16,790 --> 00:33:20,790 Se fósemos para eliminar a referencia a, cal o valor que nos daría. 643 00:33:20,790 --> 00:33:21,290 Audiencia: 1. 644 00:33:21,290 --> 00:33:23,164 ALLISON BUCHHOLTZ-AU: Sería ofrécenos un, xa que o que 645 00:33:23,164 --> 00:33:27,810 estamos dicindo é ir a este enderezo, di-nos que é o valor. 646 00:33:27,810 --> 00:33:28,890 Entón, o que sería b? 647 00:33:28,890 --> 00:33:30,500 648 00:33:30,500 --> 00:33:31,445 >> Audiencia: 0x127. 649 00:33:31,445 --> 00:33:32,320 ALLISON BUCHHOLTZ-AU: Exactamente. 650 00:33:32,320 --> 00:33:33,610 651 00:33:33,610 --> 00:33:35,410 Por iso, é a dirección do y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 E entón o que [? desreferenciava? ?] 654 00:33:39,811 --> 00:33:40,310 Audiencia: 2. 655 00:33:40,310 --> 00:33:42,172 656 00:33:42,172 --> 00:33:43,380 ALLISON BUCHHOLTZ-AU: OK, entón agora catro. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 Dixemos un é equal-- ben agora temos feito int temperatura é igual a estrela dun. 659 00:33:51,300 --> 00:33:53,580 Entón, o que cambia? 660 00:33:53,580 --> 00:33:55,680 Só hai unha cousa que cambia aquí. 661 00:33:55,680 --> 00:33:56,180 ¿Que é iso? 662 00:33:56,180 --> 00:33:57,892 663 00:33:57,892 --> 00:33:58,624 >> Audiencia: Temp. 664 00:33:58,624 --> 00:33:59,540 ALLISON BUCHHOLTZ-AU: O temporal. 665 00:33:59,540 --> 00:34:06,120 Así, podemos reescribir todo isto. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 Unha boa estratexia para estes é só descubrir 668 00:34:10,690 --> 00:34:14,050 cales os cambios, porque a maioría das veces só hai unha cousa que é 669 00:34:14,050 --> 00:34:16,300 cambiará nun determinado punto, OK? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 Entón, nós temos asignado temporal. 672 00:34:20,100 --> 00:34:26,929 >> Agora noso seguinte punto, cinco, nós ter feito unha estrela igual para protagonizar b. 673 00:34:26,929 --> 00:34:28,880 Entón, o que cambia agora? 674 00:34:28,880 --> 00:34:29,760 >> Audiencia: estrela a. 675 00:34:29,760 --> 00:34:32,081 >> ALLISON BUCHHOLTZ-AU: estrela un, de xeito o resto permanece o mesmo. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 E o que protagonizar un xeito? 678 00:34:39,900 --> 00:34:40,659 >> Audiencia: 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 Encantador. 682 00:34:42,960 --> 00:34:45,360 683 00:34:45,360 --> 00:34:46,239 Impresionante. 684 00:34:46,239 --> 00:34:51,190 OK, e entón agora temos iniciar b é igual a temperatura. 685 00:34:51,190 --> 00:34:53,907 Entón, o único que o cambio é a estrela b. 686 00:34:53,907 --> 00:34:55,344 Todo o resto permanece o mesmo. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 E o que é estrela b igual a agora? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 E xa completou a mesa. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 Por agora, ao final, se dicimos x e y, sabemos que neste ponto-- 693 00:35:18,460 --> 00:35:23,060 sabemos que cando nós cambiou protagonizar un a dous, 694 00:35:23,060 --> 00:35:29,620 o que fixo é que dixo OK, en abordar 0x123 aquí, cambia-lo. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 Agora, este foi 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 E, a continuación, neste punto, dixemos OK, vaia protagonizar b. 699 00:35:40,600 --> 00:35:45,305 Entón, vai para o enderezo no 0x127 e facelo un 1. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 Entón, agora, ao final, cando nós realmente volver ao inicio, 702 00:35:53,110 --> 00:35:56,445 nós realmente temos que x é igual a 2 e y é igual a 1. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 Todo o mundo ben con iso? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 OK, legal. 707 00:36:02,320 --> 00:36:04,030 Número 9. 708 00:36:04,030 --> 00:36:05,950 Vostedes traballan con iso. 709 00:36:05,950 --> 00:36:09,016 Vou crear un consello para que poidamos chamar por ela. 710 00:36:09,016 --> 00:36:09,910 Vai ser unha explosión. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 As grandes mesas poden ser realmente asustado, eu sei. 713 00:36:16,320 --> 00:36:19,910 Pero se simplemente levalos unha liña de un tempo, eles están moito menos asustado. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 Todo correcto. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> Entón vostede sabe que iso terá atravesado principal en primeiro lugar, non? 718 00:38:21,190 --> 00:38:24,140 Arrinque x e y e entón intenta trocalos. 719 00:38:24,140 --> 00:38:28,560 Así, mesmo intercambio é anterior, forma real que vai é que estamos pasando principal, 720 00:38:28,560 --> 00:38:31,040 e el está chamando ata trocar, todo ben? 721 00:38:31,040 --> 00:38:32,810 Entón, todo o mundo sabe diso. 722 00:38:32,810 --> 00:38:34,960 >> Entón, cal deles caras queren comezar? 723 00:38:34,960 --> 00:38:37,240 Alguén está realmente seguro sobre un destes? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 Ou mesmo parcialmente certo? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 Por que non comezar con x? 728 00:38:48,120 --> 00:38:49,060 Que pensamos x é? 729 00:38:49,060 --> 00:38:49,735 >> Audiencia: 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 Entón por que é 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 E iso porque o gran distinción aquí 735 00:39:01,380 --> 00:39:04,890 é que só son pasando copias, non? 736 00:39:04,890 --> 00:39:06,520 Non estamos pasando por referencia. 737 00:39:06,520 --> 00:39:08,850 Así, mesmo ao final do este programa xe y 738 00:39:08,850 --> 00:39:14,170 permanecer o mesmo, porque son só copias en función de intercambio. 739 00:39:14,170 --> 00:39:16,320 Eles realmente non cambiar, non? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> Entón, o que pasa con a, b, e temperatura? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> Audiencia: 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 Polo tanto, neste caso, unha era x, que é un, non? 746 00:39:28,569 --> 00:39:29,860 Entón, aquí, imos atravesalo-la. 747 00:39:29,860 --> 00:39:33,940 Así, en principio, unha e b son 1 e 2 e indefinido. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 Entón, orixinalmente temperatura queda atribuído a un, de xeito temporal é 1. 750 00:39:40,850 --> 00:39:46,150 un é igual a B, polo tanto, obter 2, eb é igual a temperatura. 751 00:39:46,150 --> 00:39:47,284 Agora temos un. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> Audiencia: O anterior, que trocados ampersand x e y comercial. 754 00:39:55,860 --> 00:39:57,390 O que exactamente significa isto? 755 00:39:57,390 --> 00:39:59,890 ALLISON BUCHHOLTZ-AU: Entón isto significa que está pasando por referencia. 756 00:39:59,890 --> 00:40:03,830 Entón iso significa que está realmente pasando os enderezos de onde 757 00:40:03,830 --> 00:40:04,814 x e y son almacenados. 758 00:40:04,814 --> 00:40:06,730 Audiencia: Pero non é intercambiar a dirección. 759 00:40:06,730 --> 00:40:07,860 ALLISON BUCHHOLTZ-AU: Non é cambiando os enderezos. 760 00:40:07,860 --> 00:40:10,015 Está cambiando o que está dentro deles. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 Como o que é ese enderezo, e é por iso que funciona. 763 00:40:14,460 --> 00:40:20,750 Versus aquí este programa que está facendo é que está creando copias. 764 00:40:20,750 --> 00:40:27,440 Entón tes x e y que existen como as súas propias variables aquí fóra. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 Pero, entón, cando pasa los a cambio, é 767 00:40:34,140 --> 00:40:38,090 como se está creando todo este outro conxunto. 768 00:40:38,090 --> 00:40:41,272 Entón, vostede non está realmente x conmovedor e y. 769 00:40:41,272 --> 00:40:46,890 >> Audiencia: Se comercial x é o que está a dirección de x, o que ía protagonizar x ser? 770 00:40:46,890 --> 00:40:53,290 >> ALLISON BUCHHOLTZ-AU: Ampersand x é o que está a dirección de x, entón star-- ben, 771 00:40:53,290 --> 00:40:54,950 neste caso, x non é un punteiro. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 Audiencia: Oh, Aceptar. 774 00:40:57,040 --> 00:40:58,998 Entón só faino porque non é un punteiro. 775 00:40:58,998 --> 00:40:59,890 ALLISON BUCHHOLTZ-AU: Certo. 776 00:40:59,890 --> 00:41:03,046 Só pode facer de estrela algo que é un punteiro. 777 00:41:03,046 --> 00:41:05,920 Quizais podería facelo para cousas que non son, pero a compilación que 778 00:41:05,920 --> 00:41:07,350 facer cousas malucas que ía ocorrer. 779 00:41:07,350 --> 00:41:09,570 E eu non son exactamente certo o que ía ocorrer. 780 00:41:09,570 --> 00:41:11,880 Sempre pode ter o enderezo de algo, 781 00:41:11,880 --> 00:41:14,255 pero non pode eliminar a referencia algo que non é un punteiro. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 Se isto ten sentido, isto é unha boa distinción de ter. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> Entón non é tan malo, non? 786 00:41:21,340 --> 00:41:23,650 As mesas están espero quedando un pouco menos asustado. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 Todo correcto. 789 00:41:26,690 --> 00:41:28,370 Ah, os divertidos. 790 00:41:28,370 --> 00:41:31,265 Entón, agora, escribir o seu propio código. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 Entón, eu vou deixar vostedes traballan sobre iso por preto de catro minutos, 793 00:41:37,950 --> 00:41:41,480 e despois podemos falar sobre as formas de abordalo-lo. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 Sinto-se libre para falar coa xente ao seu redor. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 Tamén iso é interesante. 798 00:41:49,155 --> 00:41:51,460 É como unha todas as nenas sección agora. 799 00:41:51,460 --> 00:41:52,190 Moi emocionante. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 Excepto para Chang. 802 00:41:54,502 --> 00:41:56,190 Pero Chang non é realmente parte da sección. 803 00:41:56,190 --> 00:42:17,282 804 00:42:17,282 --> 00:42:17,985 Impresionante. 805 00:42:17,985 --> 00:42:18,485 Perfecto. 806 00:42:18,485 --> 00:42:38,059 807 00:42:38,059 --> 00:42:39,475 Entón eu vou dar-lle un par de suxestións. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 No caso en que ten máis dun personaxe, onde 810 00:42:46,890 --> 00:42:49,990 ten algo máis como 123 ou 1000 algo, 811 00:42:49,990 --> 00:42:53,790 ten que ser capaz de lazo a través de e converter cada un deles. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 Polo tanto, hai unha parella formas que podería facelo, 814 00:42:58,699 --> 00:43:01,740 pero definitivamente vai ter un loop for nalgún lugar alí para facer un loop 815 00:43:01,740 --> 00:43:05,150 a través deles, o que é como o tipo de oferta 816 00:43:05,150 --> 00:43:09,540 con mesmo se chamar strlen, que é tipo de gusto oh 817 00:43:09,540 --> 00:43:12,418 pode utilizar usar a lonxitude da secuencia de algunha maneira. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> Todo correcto. 820 00:45:17,829 --> 00:45:20,870 Entón, o que vostedes pensan que se pode unha das primeiras cousas que queremos facer? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 Hai algúns casos en aquí necesitamos explicar, non? 823 00:45:25,690 --> 00:45:27,360 Ou temos algo que é nulo. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 O que temos? 826 00:45:30,383 --> 00:45:30,882 Casos. 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 Temos o caso de que ten algo diferente de 09, non? 831 00:45:42,414 --> 00:45:43,580 Entón, imos dicir que ten cartas. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 Ou temos o caso de que é válido. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 Tres casos de pensar. 836 00:45:50,130 --> 00:45:53,527 Entón, cal deles pensas que se pode a máis fácil de coidar en primeiro lugar? 837 00:45:53,527 --> 00:45:54,152 Audiencia: Null. 838 00:45:54,152 --> 00:45:55,527 ALLISON BUCHHOLTZ-AU: O caso é nula. 839 00:45:55,527 --> 00:45:56,610 Entón o que facemos alí? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 Audiencia: [inaudível]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ALLISON BUCHHOLTZ-AU: Yeah. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 E o que quero facer? 846 00:46:06,550 --> 00:46:07,341 >> Audiencia: Return 0. 847 00:46:07,341 --> 00:46:07,935 848 00:46:07,935 --> 00:46:09,110 >> ALLISON BUCHHOLTZ-AU: Exactamente. 849 00:46:09,110 --> 00:46:09,860 Impresionante. 850 00:46:09,860 --> 00:46:10,640 Está ben. 851 00:46:10,640 --> 00:46:15,270 Entón, agora se haxa cartas e o caso en que é válida. 852 00:46:15,270 --> 00:46:19,140 Podemos realmente coidar iso dentro dun loop, OK? 853 00:46:19,140 --> 00:46:22,710 Así, un xeito de facer ele-- o que podería ser un xeito sinxelo de comprobar se é válido. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 Nós teriamos que pasar por cada letra e facer o que? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> Audiencia: Asegúrese de que é em-- 858 00:46:35,640 --> 00:46:39,570 >> ALLISON BUCHHOLTZ-AU: Correcto, pode comprobar se é entre 0 e 9, non? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 E, a continuación, no caso que é válido, somos 861 00:46:42,700 --> 00:46:46,550 vai acabar iterado nosa cadea de calquera xeito, non? 862 00:46:46,550 --> 00:46:48,690 Entón, por que non tentar combina-los nun só. 863 00:46:48,690 --> 00:46:51,260 Nós imos facer unha iteración a través de fóra da corda, e como nós 864 00:46:51,260 --> 00:46:56,400 facelo, imos primeiro facer unha comprobación para ver se esta letra 865 00:46:56,400 --> 00:46:58,110 ou se este personaxe é válido. 866 00:46:58,110 --> 00:47:02,150 De ser, nós estamos indo a executar o operación que necesitamos convertelo lo. 867 00:47:02,150 --> 00:47:05,050 Se non, que vai voltar 0, non? 868 00:47:05,050 --> 00:47:09,160 >> Entón, antes de facelo, nós Probablemente vai querer algunha variable 869 00:47:09,160 --> 00:47:12,820 que podemos volver ao final que será o seu valor real. 870 00:47:12,820 --> 00:47:17,005 Entón, nós estamos indo a iniciar algún valor a ser 0. 871 00:47:17,005 --> 00:47:18,390 E é así que comezamos. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 Entón, eu estou indo para se librar desa. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 Entón, como é que imos iterado esta cadea. 876 00:47:30,489 --> 00:47:31,280 Audiencia: Para loop. 877 00:47:31,280 --> 00:47:32,280 ALLISON BUCHHOLTZ-AU: Un lazo for. 878 00:47:32,280 --> 00:47:33,160 Entón, cal é o noso para? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> Audiencia: 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 o que estamos repetindo ata? 884 00:47:41,180 --> 00:47:42,450 >> Audiencia: lonxitude de str s. 885 00:47:42,450 --> 00:47:47,920 886 00:47:47,920 --> 00:47:50,900 >> ALLISON BUCHHOLTZ-AU: OK, agora recordo hai un xeito mellor. [Inaudível]. 887 00:47:50,900 --> 00:47:52,935 >> Audiencia: Si, podemos facer n é igual. 888 00:47:52,935 --> 00:47:53,810 ALLISON BUCHHOLTZ-AU: Exactamente. 889 00:47:53,810 --> 00:47:55,010 890 00:47:55,010 --> 00:47:56,190 >> Audiencia: i é menor que n. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ALLISON BUCHHOLTZ-AU: E por iríamos querer facelo? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 Vostede recorda do motivo? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 Audiencia: Temos que recalcular-lo. 897 00:48:05,680 --> 00:48:08,735 ALLISON BUCHHOLTZ-AU: becasue deste xeito só ten que calcular strlen unha vez. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 Se fai i é menor que strlen s, isto é dicir que recalcula 900 00:48:14,400 --> 00:48:17,050 a lonxitude de cada vez realizar o loop, 901 00:48:17,050 --> 00:48:20,800 que non é un custo enorme de enerxía, pero é 902 00:48:20,800 --> 00:48:24,280 mellor práctica para tentar facer cousas como que unha vez. 903 00:48:24,280 --> 00:48:27,610 A non ser que quizais teña unha cadea tolo que está cambiando a cada iteración. 904 00:48:27,610 --> 00:48:30,371 Pero se só pode ir o mesmo, salvalo. 905 00:48:30,371 --> 00:48:30,870 Todo correcto. 906 00:48:30,870 --> 00:48:33,430 E entón eu plus plus. 907 00:48:33,430 --> 00:48:34,040 Impresionante. 908 00:48:34,040 --> 00:48:35,789 Estamos no noso camiño. 909 00:48:35,789 --> 00:48:36,830 Audiencia: Realmente rapidamente. 910 00:48:36,830 --> 00:48:39,600 En primeiro lugar, entón imos dicir que nós só Será que eu menos strlen de s, 911 00:48:39,600 --> 00:48:42,175 están nos clasificar no proxecto en todos ou só de corrección? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 Eles non son. 914 00:48:44,610 --> 00:48:47,920 Estamos clasificación na corrección para probas, tanto como sei. 915 00:48:47,920 --> 00:48:52,670 Non podo facer un en cheo garantía, pero para a maior parte, 916 00:48:52,670 --> 00:48:57,060 gran maioría é correcto, porque está baixo unha morea de restrición de tempo. 917 00:48:57,060 --> 00:48:59,704 Deseño significa tipicamente ten tempo para pensar 918 00:48:59,704 --> 00:49:01,245 sobre a elegancia da súa situación. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> OK, entón nós estamos interactuar a través. 921 00:49:05,770 --> 00:49:10,640 Por iso, necesitamos facer un check para ver se ese personaxe é válido 922 00:49:10,640 --> 00:49:14,550 ou se podemos realizar o noso normal de [? un para i?] función. 923 00:49:14,550 --> 00:49:16,600 Podemos preocupar co que é dicir, en un segundo. 924 00:49:16,600 --> 00:49:19,340 Entón, por que nós non take-- se alguén pode pensar 925 00:49:19,340 --> 00:49:21,930 sobre un xeito de comprobar a ver se isto é válido. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 Sabemos que vai ser algúns se condición, non? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 E recorda se este é en ASCII, entón como pode 930 00:49:32,300 --> 00:49:37,359 vemos se non é 0,1, 2, 3, 4, 5, 6, 7, 8 ou 9. 931 00:49:37,359 --> 00:49:38,150 Audiencia: Se alfa. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ALLISON BUCHHOLTZ-AU: Entón, se alfa faría só deixe-nos saber se é unha carta. 934 00:49:44,100 --> 00:49:47,810 E se eles nos dan un símbolo, é aínda non completamente indo para comprobar. 935 00:49:47,810 --> 00:49:54,270 Entón, se tirar o seu ASCII táboa, sabemos que de 0 a 9 936 00:49:54,270 --> 00:49:55,340 están nun segmento. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 Dime os números que corresponden a, se é posible. 939 00:50:00,540 --> 00:50:08,136 940 00:50:08,136 --> 00:50:08,677 Audiencia: 40. 941 00:50:08,677 --> 00:50:11,440 942 00:50:11,440 --> 00:50:13,714 >> ALLISON BUCHHOLTZ-AU: Entón, o intervalo é como 40-- 943 00:50:13,714 --> 00:50:14,380 Audiencia: Quizais. 944 00:50:14,380 --> 00:50:16,110 945 00:50:16,110 --> 00:50:16,765 48-57. 946 00:50:16,765 --> 00:50:17,430 Eu non estou seguro. 947 00:50:17,430 --> 00:50:18,510 >> ALLISON BUCHHOLTZ-AU: 40-57? 948 00:50:18,510 --> 00:50:19,426 >> Audiencia: 48, eu creo. 949 00:50:19,426 --> 00:50:20,730 ALLISON BUCHHOLTZ-AU: 48-57. 950 00:50:20,730 --> 00:50:26,070 Entón, nós sabemos que os ASCII symbols-- o valor ASCII non está 951 00:50:26,070 --> 00:50:29,940 entre 48 e 57 anos, non é válido, non? 952 00:50:29,940 --> 00:50:32,050 Así, poderiamos usar isto para nosa vantaxe posiblemente? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 Como é que imos chegar Nesta carta, o primeiro fóra? 955 00:50:38,082 --> 00:50:40,910 Como estamos accedendo este este personaxe? 956 00:50:40,910 --> 00:50:42,010 >> Audiencia: s soporte 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 Porque podemos pensar en cordas como matrices, lembre-se. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 Entón, o que queremos dicir? 962 00:50:48,740 --> 00:50:55,920 Queremos dicir que este é-- eu vou che dar unha información. 963 00:50:55,920 --> 00:50:56,920 É un menos que. 964 00:50:56,920 --> 00:50:58,711 ¿Que pensas que debe ser inferior a? 965 00:50:58,711 --> 00:50:59,074 966 00:50:59,074 --> 00:50:59,615 Audiencia: 57? 967 00:50:59,615 --> 00:51:01,550 968 00:51:01,550 --> 00:51:02,900 >> ALLISON BUCHHOLTZ-AU: 47, non? 969 00:51:02,900 --> 00:51:08,920 Pero representa tamén que a medida que a 0 en single [? raios?], porque iso é 970 00:51:08,920 --> 00:51:09,689 o personaxe 0. 971 00:51:09,689 --> 00:51:10,605 Tamén pode poñer 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 Tendo táboa ASCII, como ve, é só algo 974 00:51:14,350 --> 00:51:18,580 ten que ter na súa folla de quiz. 975 00:51:18,580 --> 00:51:25,830 >> Así, se este é o caso, se é un inferior a 0-- e non necesariamente. 976 00:51:25,830 --> 00:51:30,890 É só ou será inferior ou igual a 9. 977 00:51:30,890 --> 00:51:33,055 Así, pode cubrir esta última para min? 978 00:51:33,055 --> 00:51:36,440 Entón, é s de i é o que, Rhea? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> Audiencia: Maior de 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ALLISON BUCHHOLTZ-AU: Non. 983 00:51:44,221 --> 00:51:47,280 Isto ten sentido para todos, como chegamos alí? 984 00:51:47,280 --> 00:51:51,340 Estes problemas, son como unha vez que ver as solucións, é como oh, Aceptar. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 E é por iso que a práctica pode axudar. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 OK, entón nós voltar 0. 989 00:51:57,400 --> 00:51:57,900 Encantador. 990 00:51:57,900 --> 00:51:59,000 991 00:51:59,000 --> 00:51:59,670 Todo correcto. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 Se non, o que queremos facer? 994 00:52:02,365 --> 00:52:04,640 Esta é a parte interesante onde é un pouco máis 995 00:52:04,640 --> 00:52:07,550 como a matemática contra CS na miña opinión. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 Alguén ten unha idea de como podemos facelo? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 Entón, a cousa importante a entender é o primeiro carácter 1000 00:52:18,155 --> 00:52:21,510 estamos levando será o díxito máis alto fin, non? 1001 00:52:21,510 --> 00:52:25,975 Entón, se nós estamos mirando para a conversión 123, a primeira vez que unha iteración 1002 00:52:25,975 --> 00:52:30,800 será un, pero necesitamos que, para ser 100 ata o final, non? 1003 00:52:30,800 --> 00:52:34,450 Entón, unha cousa que pode facer é que con cada díxito posterior 1004 00:52:34,450 --> 00:52:39,670 se toma, vostede multiplica o seu valor por 10, para que polo tempo que chegar ao final, 1005 00:52:39,670 --> 00:52:42,960 todo foi desprazada cara arriba, non? 1006 00:52:42,960 --> 00:52:46,490 >> Así, a primeira vez que executa el, ten 1 como o seu valor. 1007 00:52:46,490 --> 00:52:50,370 É a segunda vez que executa-lo, multiplicar o valor por 10. 1008 00:52:50,370 --> 00:52:55,180 Ha actualiza-lo para que sexa agora 10, e engadir o seu próximo valor. 1009 00:52:55,180 --> 00:52:57,830 E entón multiplicar isto por 10 e engadir o seu próximo valor. 1010 00:52:57,830 --> 00:53:01,880 E é por iso que din que este é moito máis parecido a proba 1011 00:53:01,880 --> 00:53:06,920 un algoritmo matemático contra CS, pero eu desacordo. 1012 00:53:06,920 --> 00:53:08,080 Non escribo os quizzes. 1013 00:53:08,080 --> 00:53:13,520 >> Entón, unha cousa que podemos facer é nós dicir veces de valor igual a 10. 1014 00:53:13,520 --> 00:53:16,630 Entón, iso vai cambiar o díxito unha vez cada hora. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 E entón nós só queremos engadir. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 Queremos engadir o que nós só temos, non? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 Entón, como é que imos realmente converter o noso Caracteres ASCII ao número 1021 00:53:31,649 --> 00:53:32,440 que representa? 1022 00:53:32,440 --> 00:53:37,680 1023 00:53:37,680 --> 00:53:40,800 >> Entón, nós sabemos que 0 é igual a 47, non? 1024 00:53:40,800 --> 00:53:44,260 Entón, se 0 é 47, o que que temos que facer a el 1025 00:53:44,260 --> 00:53:47,376 para realmente facelo ser un int de 0? 1026 00:53:47,376 --> 00:53:48,384 >> Audiencia: É 48. 1027 00:53:48,384 --> 00:53:49,050 ALLISON BUCHHOLTZ-AU: 48? 1028 00:53:49,050 --> 00:53:49,550 Sentímolo. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 Queremos restar 48, non? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 Teña en conta que de matemáticas ASCII? 1033 00:53:59,550 --> 00:54:01,565 Podemos tratalos como números normais. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 Se tratalos como números, eles se fan números de forma eficaz. 1036 00:54:05,900 --> 00:54:10,410 Entón, se temos s de i, que imos dicir, neste caso é igual a 0. 1037 00:54:10,410 --> 00:54:14,420 Así, s de i neste caso sería a ASCII-- 1038 00:54:14,420 --> 00:54:16,675 o int ASCII pois sería 47. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 Así, poderiamos subtract-- ou 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 Podería facelo, é un camiño. 1043 00:54:22,440 --> 00:54:25,125 Alguén sabe unha mellor xeito que poderiamos facer 48? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 Nós só dixo 0 é-- entrar o ASCII que podería facer cotización de 0. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 Entón fai tipo de facer sentido como funciona isto? 1048 00:54:43,160 --> 00:54:50,080 >> Audiencia: Neste punto, é o valor 0 porque mesmo se multiplicar por 10, 1049 00:54:50,080 --> 00:54:53,340 está empezando cero, por iso, debe ser conectado? 1050 00:54:53,340 --> 00:54:59,360 >> ALLISON BUCHHOLTZ-AU: Entón, nese caso, ten quere multiplicala lo antes de engadir, 1051 00:54:59,360 --> 00:55:06,650 porque, neste caso, si, sería aínda ser-- meu punteiro falta. 1052 00:55:06,650 --> 00:55:09,980 O valor neste caso, o primeiro xa que executa-lo será cero. 1053 00:55:09,980 --> 00:55:12,320 Entón está só engadindo en que o primeiro díxito. 1054 00:55:12,320 --> 00:55:15,930 O que é importante é a próxima vez ti interactuar, quere transferir-lo para arriba 1055 00:55:15,930 --> 00:55:18,722 antes de engadir o seguinte díxito. 1056 00:55:18,722 --> 00:55:21,223 Será que aclarar para ti? 1057 00:55:21,223 --> 00:55:21,723 Está ben. 1058 00:55:21,723 --> 00:55:23,050 1059 00:55:23,050 --> 00:55:25,900 >> Ás veces vai máis cousas estrañas Mathy. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 Se tivese máis de iso, aínda vai 1062 00:55:30,750 --> 00:55:32,610 para get-- vai facer moi ben. 1063 00:55:32,610 --> 00:55:35,150 Crédito parcial é moi gran cousa sobre quizzes CS50. 1064 00:55:35,150 --> 00:55:36,270 Entón escriba o que sabe. 1065 00:55:36,270 --> 00:55:39,640 Se ten todo excepto por aquí, é 1066 00:55:39,640 --> 00:55:41,390 aínda vai facer moi ben o problema. 1067 00:55:41,390 --> 00:55:43,750 Porque está mostrando, OK, eu case sei. 1068 00:55:43,750 --> 00:55:45,570 Sei que eu teño para percorrer. 1069 00:55:45,570 --> 00:55:47,260 Eu sei que eu teño para comprobar. 1070 00:55:47,260 --> 00:55:50,584 Eu só non moi obter como convertelo lo. 1071 00:55:50,584 --> 00:55:51,500 Vai estar ben. 1072 00:55:51,500 --> 00:55:52,850 Si, vai perder algúns puntos, 1073 00:55:52,850 --> 00:55:55,641 pero aínda está indo a obter un bo número de puntos para algo 1074 00:55:55,641 --> 00:55:57,990 así, se está falta estas dúas liñas. 1075 00:55:57,990 --> 00:56:00,660 Eu sería como OK, esa persoa sabe o que está facendo. 1076 00:56:00,660 --> 00:56:02,070 Matemáticas é difícil. 1077 00:56:02,070 --> 00:56:04,930 Entón, eu diría que estaría ben. 1078 00:56:04,930 --> 00:56:09,474 >> OK, entón vostedes preparado para tente strlen con punteiros agora 1079 00:56:09,474 --> 00:56:10,890 que vostedes son mestres punteiro? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 Entón, eu vou deixar vostedes traballan en que, por un pouco. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 Se alguén precisa de unha reciclaxe. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 Entón quere usar punteiro aritmética, e, a continuación, se s é nulo, 1086 00:56:28,060 --> 00:56:29,624 súa implementación debe volver 0. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 Cousas como esta que fan moi feliz de só chamar strlen 1089 00:56:39,670 --> 00:56:40,586 ao final do día. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 Creo que este pode ser un pouco máis fácil do que a última, que 1092 00:57:27,624 --> 00:57:28,123 é bo. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 Vou dar a vostedes máis dun minuto, e despois nós imos traballar con el. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 E entón nós comezamos a ir switches. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> OK, rapaces preparados? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 Quizais un pouco. 1101 00:59:37,420 --> 00:59:40,210 Entón, eu dei-lle o seu dúas opcións, non? 1102 00:59:40,210 --> 00:59:45,810 Ou comprobar null e voltar 0 se el é, en realidade, é calcular a lonxitude. 1103 00:59:45,810 --> 00:59:48,220 Entón, quen queira escribir comprobar null? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 Dalle. 1106 00:59:51,790 --> 00:59:56,460 >> Audiencia: Se parénteses s é igual é igual a nulo retorno 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 Eu amo cando a metade do seu problema é só a comprobación de nulo. 1111 01:00:02,320 --> 01:00:04,820 Sei convosco última semana eu era como verificación para nulo 1112 01:00:04,820 --> 01:00:06,630 literalmente o tempo. 1113 01:00:06,630 --> 01:00:07,510 OK, assim-- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> Audiencia: O retorno 0 é só unha liña, que aínda precisamos do soporte rizado? 1116 01:00:12,750 --> 01:00:15,860 >> ALLISON BUCHHOLTZ-AU: Non tecnicamente Debe los, sempre que é consistente. 1117 01:00:15,860 --> 01:00:19,240 É unha boa práctica só para adquirir o hábito 1118 01:00:19,240 --> 01:00:21,650 do uso de claves, pero técnicamente non. 1119 01:00:21,650 --> 01:00:23,320 Non precisa deles para unha liña. 1120 01:00:23,320 --> 01:00:26,030 Nós só adoitan recomendar para persoas a partir de programa. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> Entón agora o que podemos querer facer aquí? 1123 01:00:30,450 --> 01:00:32,222 Polo tanto, agora sabemos que a nosa cadea é válido. 1124 01:00:32,222 --> 01:00:33,680 Queremos manter Compute a lonxitude. 1125 01:00:33,680 --> 01:00:35,620 Que é probablemente a primeira cousa que queremos facer? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> Audiencia: Crear un int que é a lonxitude. 1128 01:00:41,276 --> 01:00:42,150 ALLISON BUCHHOLTZ-AU: Exactamente. 1129 01:00:42,150 --> 01:00:43,450 Audiencia: E queremos configuralo para? 1130 01:00:43,450 --> 01:00:44,210 ALLISON BUCHHOLTZ-AU: 0. 1131 01:00:44,210 --> 01:00:44,710 Perfecto. 1132 01:00:44,710 --> 01:00:46,050 1133 01:00:46,050 --> 01:00:47,290 Todo correcto. 1134 01:00:47,290 --> 01:00:48,750 Agora, o que quere facer? 1135 01:00:48,750 --> 01:00:50,000 Esta é realmente a maior parte del. 1136 01:00:50,000 --> 01:00:50,890 Dalle. 1137 01:00:50,890 --> 01:00:54,370 >> Audiencia: Entón probablemente facer un loop. 1138 01:00:54,370 --> 01:01:03,150 E, a continuación, xa que cando chamar s está obter a dirección da primeiro, 1139 01:01:03,150 --> 01:01:05,660 podería comezar con i é igual a 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 E entón, mentres x máis eu non é barra invertida 0. 1142 01:01:15,755 --> 01:01:17,130 ALLISON BUCHHOLTZ-AU: O terminador nulo. 1143 01:01:17,130 --> 01:01:18,380 Audiencia: O terminador nulo. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 Logo engadir un para longo. 1146 01:01:21,088 --> 01:01:22,372 >> ALLISON BUCHHOLTZ-AU: Yeah. 1147 01:01:22,372 --> 01:01:25,940 OK, entón imos transformar esa en código moi concreto. 1148 01:01:25,940 --> 01:01:27,537 Pero esa é a idea perfecta. 1149 01:01:27,537 --> 01:01:28,870 Isto é o que estamos facendo. 1150 01:01:28,870 --> 01:01:31,910 Nós imos ser a iteración mediante co punteiro. 1151 01:01:31,910 --> 01:01:34,590 Entón, o que queremos facer é, en vez de un int 1152 01:01:34,590 --> 01:01:36,660 aquí, porque somos non referíndose a unha lo. 1153 01:01:36,660 --> 01:01:42,390 Estamos referíndose ao inicio dunha corda, que comezan a ser algún enderezo, 1154 01:01:42,390 --> 01:01:43,300 non? 1155 01:01:43,300 --> 01:01:44,600 >> Entón, nós queremos un punteiro. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 Entón, nós imos ter algunha estrela char, porque corresponde aos nosos s, non? 1158 01:01:52,310 --> 01:01:57,270 Polo tanto, este é un punto que está inicializar para o inicio da cadea, OK? 1159 01:01:57,270 --> 01:01:58,949 Entón imos chamalo i. 1160 01:01:58,949 --> 01:02:01,740 Se é o inicio da cadea, que é o que vai ser asignado a? 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 Queremos que sexa o inicio da nosa cadea. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 Que representa o inicio do nosa cadea que se nos deu? 1166 01:02:09,960 --> 01:02:10,800 >> Audiencia: Just 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 Entón iso crea uns punteiro novo que representa o inicio da nosa cadea, OK? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 Outro xeito de pensar niso é como aquí é a nosa matriz. 1172 01:02:22,777 --> 01:02:26,690 Esa é a nosa corda, s. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 Entón, digamos que este é o primeiro lugar, e este é 0x4. 1175 01:02:32,400 --> 01:02:34,400 1176 01:02:34,400 --> 01:02:34,900 04. 1177 01:02:34,900 --> 01:02:36,330 1178 01:02:36,330 --> 01:02:38,535 Esta é a nosa s, que ten ese enderezo. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 E nós acabamos de crear outro chamado i que só refírese á mesma cousa. 1181 01:02:45,960 --> 01:02:49,437 Entón, eles están ambos só apuntando para o inicio da nosa cadea. 1182 01:02:49,437 --> 01:02:51,020 Esta é só unha representación gráfica. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> Entón agora o que queremos facer é que queremos facer unha iteración 1185 01:02:57,100 --> 01:03:02,040 nosa condición de iteración a través da nosa cadea. 1186 01:03:02,040 --> 01:03:02,920 Agora compra. 1187 01:03:02,920 --> 01:03:04,150 Teño que facer a compra, persoal. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 É que queremos manter a actualización ata alcanzamos o terminador nulo, non? 1190 01:03:12,390 --> 01:03:14,930 Entón, o que podería parecer? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 Queremos i, ou queremos estrela i é a pregunta? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 É o terminador nulo un enderezo ou algo situado nun enderezo? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 Situado en un enderezo, non? 1197 01:03:33,660 --> 01:03:38,420 >> Por iso, necesitamos desreferenciava todo o que é aquí, porque este é só un enderezo. 1198 01:03:38,420 --> 01:03:44,350 Para realmente chegar ao inicio necesitamos desreferenciava este 1199 01:03:44,350 --> 01:03:46,770 para que poidamos realmente comezar o que está neste primeiro lugar. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 Entón, se facemos protagonizar i, o que Non queremos que igual? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 Audiencia: Back barra? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ALLISON BUCHHOLTZ-AU: Non. 1206 01:03:59,260 --> 01:04:01,430 Isto ten sentido para todos? 1207 01:04:01,430 --> 01:04:05,620 Necesitamos entrar na nosa cadea e asegúrese de que non é o final. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 E entón podemos só actualizar como este. 1210 01:04:08,990 --> 01:04:09,680 Actualización normal. 1211 01:04:09,680 --> 01:04:11,910 1212 01:04:11,910 --> 01:04:15,070 Así, mentres estes son Met, o que necesitamos facer? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> Audiencia: Lonxitude 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, despois do loop remata, o que imos querer volver? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 Audiencia: Lonxitude? 1220 01:04:27,790 --> 01:04:28,623 ALLISON BUCHHOLTZ-AU: Lonxitude. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 Alí vai. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 Obviamente, a carne dun presente é entender iso por loop. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 Será que todo o mundo comeza como iso funcionou? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 Estou feliz de pasar por iso de novo. 1229 01:04:44,170 --> 01:04:48,400 >> Audiencia: A segunda parte, de xeito que a estrela i alí, 1230 01:04:48,400 --> 01:04:51,834 que é a dirección do first-- 1231 01:04:51,834 --> 01:04:53,250 ALLISON BUCHHOLTZ-AU: Non é a dirección. 1232 01:04:53,250 --> 01:04:54,142 É o que está. 1233 01:04:54,142 --> 01:04:55,600 Audiencia: Isto é realmente alí. 1234 01:04:55,600 --> 01:04:57,475 ALLISON BUCHHOLTZ-AU: Isto é o que é realmente alí. 1235 01:04:57,475 --> 01:05:01,280 Polo tanto, esta é dizendo-- deixar me facelo mellor. 1236 01:05:01,280 --> 01:05:07,940 Polo tanto, esta é 0x04, e eu só vou para dicir que eu vou facer o meu nome. 1237 01:05:07,940 --> 01:05:14,531 1238 01:05:14,531 --> 01:05:15,030 Está ben. 1239 01:05:15,030 --> 01:05:17,456 1240 01:05:17,456 --> 01:05:19,080 Si, sei que teño revisión cuestionario esta noite. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 Lotes de revisión cuestionario. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 Entón, digamos que esta cadea é o meu nome, Allison. 1245 01:05:26,620 --> 01:05:28,600 Pouco confuso, pero está aí. 1246 01:05:28,600 --> 01:05:33,640 E s representa o lugar de onde a cadea comeza, 1247 01:05:33,640 --> 01:05:41,950 entón eu vou facelo real-- este é o enderezo de un, 1248 01:05:41,950 --> 01:05:45,000 onde a cadea empeza, non? 1249 01:05:45,000 --> 01:05:48,560 >> Entón, o que facemos aquí é que queremos usar punteiros para percorrer. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 Entón creamos algúns punteiro, i, que tamén é igual ao do inicio da cadea. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 E en cada punto, queremos seguir atravesar a matriz 1254 01:06:03,820 --> 01:06:07,570 aquí ata acadar o terminador nulo. 1255 01:06:07,570 --> 01:06:12,320 Entón, nós queremos sempre comprobar o que está en cada un destes enderezos. 1256 01:06:12,320 --> 01:06:15,730 >> Entón, nós desreferenciava i, de xeito que a primeira vez que o facemos nós 1257 01:06:15,730 --> 01:06:17,810 dicir, OK, o que é o enderezo 0x04? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 É unha unha. 1260 01:06:19,720 --> 01:06:20,660 OK, estamos ben. 1261 01:06:20,660 --> 01:06:21,770 Lonxitude de incremento. 1262 01:06:21,770 --> 01:06:22,790 Pasar á seguinte. 1263 01:06:22,790 --> 01:06:32,410 Entón lembre-se i-- punteiros aumento pola tamaño de todo o que está a apuntar. 1264 01:06:32,410 --> 01:06:35,320 Polo tanto, neste caso, xa que é un char, que vai actualizar por un. 1265 01:06:35,320 --> 01:06:38,755 Entón, agora imos ollar para 5, o que significa que está pasando por aquí. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 Por iso, di OK, vaia 0x05. 1268 01:06:43,440 --> 01:06:44,270 O que hai alí dentro? 1269 01:06:44,270 --> 01:06:44,930 É un l. 1270 01:06:44,930 --> 01:06:47,870 E seguirá a facer iso ata acadar este. 1271 01:06:47,870 --> 01:06:50,990 E di OK, o que está en calquera enderezo que é isto? 1272 01:06:50,990 --> 01:06:53,060 O terminador nulo, Aceptar. 1273 01:06:53,060 --> 01:06:53,870 Saída. 1274 01:06:53,870 --> 01:06:55,240 E só volver lonxitude. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 Porque ten que o que é, en realidade, a ese enderezo, non o propio enderezo. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> Hai moi poucos lugares onde realmente precisa do enderezo. 1279 01:07:05,790 --> 01:07:08,720 A maior parte do tempo cando está a usar o e é 1280 01:07:08,720 --> 01:07:12,424 cando está en primeiro lugar asignación dun punteiro ou cando 1281 01:07:12,424 --> 01:07:14,090 está pasando a noutra función. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 OK, todo o mundo ben alí? 1284 01:07:21,330 --> 01:07:21,830 Máis ou menos? 1285 01:07:21,830 --> 01:07:23,810 1286 01:07:23,810 --> 01:07:25,040 Está ben. 1287 01:07:25,040 --> 01:07:28,210 >> Polo tanto, parece que temos ten preto de 12 minutos para a esquerda, 1288 01:07:28,210 --> 01:07:31,340 entón imos pasar a quizais o noso último problema, 1289 01:07:31,340 --> 01:07:34,230 e despois hai ningunha conceptos que veñen-se 1290 01:07:34,230 --> 01:07:36,830 mentres podemos ir rapidamente sobre iso. 1291 01:07:36,830 --> 01:07:42,310 >> Así Cambiando de tema é a última problema aquí, cambiar declaracións. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 Polo tanto, o seu traballo é reescribir esta de xeito que se comporta da mesma 1294 01:07:49,450 --> 01:07:50,580 pero non usa switches. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 Mans gessados. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 Entón, calquera dúbida sobre esta fóra do pau? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 Ningún? 1301 01:08:15,920 --> 01:08:16,420 Está ben. 1302 01:08:16,420 --> 01:08:17,920 1303 01:08:17,920 --> 01:08:22,170 Será que todo o mundo entende que, se o caso non ten nada despois dela, 1304 01:08:22,170 --> 01:08:25,029 isto significa que debe siga o seguinte paso? 1305 01:08:25,029 --> 01:08:28,200 Así, no caso 1 e 2, neste caso facer exactamente o mesmo. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 Ás veces, un punto de confusión. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> Todo correcto. 1310 01:09:33,488 --> 01:09:34,404 Alguén ten algunha idea? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 Si? 1313 01:09:36,864 --> 01:09:40,120 >> Audiencia: Entón pode só facer se declaracións. 1314 01:09:40,120 --> 01:09:41,140 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1315 01:09:41,140 --> 01:09:42,880 Entón, cal é o noso primeiro? 1316 01:09:42,880 --> 01:09:48,120 >> Audiencia: Si n é igual a igual a 1, e as dúas liñas ou para n igual 1317 01:09:48,120 --> 01:09:51,059 é igual a 2, a continuación, imprimir pequenas. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 E entón pode facer outra cousa se? 1320 01:09:59,520 --> 01:10:02,160 Ou pode simplemente facer un caso? 1321 01:10:02,160 --> 01:10:03,650 >> ALLISON BUCHHOLTZ-AU: Pode facer outra cousa se? 1322 01:10:03,650 --> 01:10:05,274 >> Audiencia: Será que importa se faría se? 1323 01:10:05,274 --> 01:10:06,320 ALLISON BUCHHOLTZ-AU: Entón fai. 1324 01:10:06,320 --> 01:10:10,160 Será que anyone-- así, obterá o mesmo resultado 1325 01:10:10,160 --> 01:10:13,930 se usa só IFS contra se usa outra persoa IFS. 1326 01:10:13,930 --> 01:10:17,090 Podedes pensar na razón por que pode querer usar outro 1327 01:10:17,090 --> 01:10:18,680 se contra unha morea de IFS? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 Ten que con eficiencia. 1330 01:10:21,510 --> 01:10:22,225 Si? 1331 01:10:22,225 --> 01:10:24,783 >> Audiencia: Sería comprobe todo IFS á vez. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ALLISON BUCHHOLTZ-AU: Así, mesmo se bateu este primeiro, 1334 01:10:28,110 --> 01:10:29,880 ía en cheque todo outro. 1335 01:10:29,880 --> 01:10:36,690 Entón quere usar if else IFS en casos en que un deles vai aplicar sempre. 1336 01:10:36,690 --> 01:10:39,380 Así, a exclusión mutua é o que temos a tendencia de dicir. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 Se tes unha morea de IFS, isto significa que quizais máis dun deles 1339 01:10:46,550 --> 01:10:49,630 asuntos, e quizais máis do que un deles pode ser verdade. 1340 01:10:49,630 --> 01:10:51,910 E quere que os dous para realizar, se son certas. 1341 01:10:51,910 --> 01:10:57,180 Se só quere un deles para traballar nestes casos mutuamente exclusivos, 1342 01:10:57,180 --> 01:11:00,790 quere usar outra cousa, porque todo isto ten que ver con eficiencia. 1343 01:11:00,790 --> 01:11:05,350 O seu código é só mellor deseñado se adhire a esta práctica. 1344 01:11:05,350 --> 01:11:07,330 Polo tanto, neste caso teremos outra persoa se. 1345 01:11:07,330 --> 01:11:09,080 E iso sería? 1346 01:11:09,080 --> 01:11:11,890 >> Audiencia: n é igual é igual a 3. 1347 01:11:11,890 --> 01:11:12,765 ALLISON BUCHHOLTZ-AU: Perfecto. 1348 01:11:12,765 --> 01:11:19,420 1349 01:11:19,420 --> 01:11:20,445 Medio de impresión. 1350 01:11:20,445 --> 01:11:25,190 1351 01:11:25,190 --> 01:11:29,930 E entón, no noso último caso, o que temos? 1352 01:11:29,930 --> 01:11:31,495 Persoa ou cousa se? 1353 01:11:31,495 --> 01:11:32,120 Audiencia: Else. 1354 01:11:32,120 --> 01:11:33,450 1355 01:11:33,450 --> 01:11:37,900 >> ALLISON BUCHHOLTZ-AU: Do que want-- Quere else if porque temos casos concretos. 1356 01:11:37,900 --> 01:11:39,270 Non é unha especie de captura todo. 1357 01:11:39,270 --> 01:11:44,247 Se tivese un patrón nunha switch-- Teña en conta que de opcións que pode ter caso, 1358 01:11:44,247 --> 01:11:45,330 e entón tes defecto. 1359 01:11:45,330 --> 01:11:48,760 Se tivese un estándar, ese é o tipo da súa declaración máis alá. 1360 01:11:48,760 --> 01:11:52,180 Pero se ten só os casos, que significa que precisa 1361 01:11:52,180 --> 01:11:54,315 comprobar a ver se é cada un deles. 1362 01:11:54,315 --> 01:11:57,755 Polo tanto, neste caso, sería o 4 ou 5. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 Queremos unha impresión off. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 É grande. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 E alí vai vostede. 1369 01:12:07,509 --> 01:12:08,800 E iso sería o seu programa. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> Polo tanto, neste caso, se tiña un defecto de algo, 1372 01:12:17,050 --> 01:12:20,470 teriamos outra cousa en todo o que quería que fixésemos. 1373 01:12:20,470 --> 01:12:23,365 Entón, esa é unha boa distinción coñecer, entender. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 Será que isto axuda con interruptores para ti? 1376 01:12:27,790 --> 01:12:28,800 Perfecto. 1377 01:12:28,800 --> 01:12:29,390 Todo correcto. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> Temos preto de oito minutos do final. 1380 01:12:33,340 --> 01:12:37,090 Vostedes teñen ningunha outros conceptos de alto nivel? 1381 01:12:37,090 --> 01:12:38,720 Preguntas en xeral? 1382 01:12:38,720 --> 01:12:39,220 Si? 1383 01:12:39,220 --> 01:12:42,860 >> Audiencia: Eu tiña un pregunta sobre un deles 1384 01:12:42,860 --> 01:12:46,257 que era sobre o chou xerador de números no cuestionario cero. 1385 01:12:46,257 --> 01:12:47,340 ALLISON BUCHHOLTZ-AU: Ah, aquel. 1386 01:12:47,340 --> 01:12:51,460 Aquel é outro onde é máis matemática than-- si. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 A solución para isso-- eu mesmo cando Eu vexo iso, eu son como o que é iso. 1389 01:12:59,452 --> 01:13:00,590 >> Audiencia: Foi o número 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ALLISON BUCHHOLTZ-AU: É estraño, na miña opinión. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 Entón, basicamente, quere para usar drand48, que 1394 01:13:11,630 --> 01:13:15,420 lle vai dar algún número entre 0 e 1. 1395 01:13:15,420 --> 01:13:21,200 E quere usalo de xeito que dalgún xeito obter a-- 1396 01:13:21,200 --> 01:13:26,690 e é moito máis un problema de matemáticas para min do que eu creo que un problema CS. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> O xeito que fai ele-- e ás veces que vai ser así. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 Unha vez máis, estes son os casos en que é tipo 1401 01:13:41,090 --> 01:13:46,310 de como escribir o que pode e crédito parcial. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 Polo tanto, se queremos un retorno, sabemos que estamos 1404 01:13:51,510 --> 01:13:54,182 estará usando drand48 dalgún xeito, non? 1405 01:13:54,182 --> 01:13:55,640 Entón, por que nós non só anotar que abaixo. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 Estamos a usar iso de algunha maneira. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 O xeito que teñen vós usalo é 1410 01:14:04,190 --> 01:14:08,175 como este, que eu vou tentar explicar. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> Entón, basicamente o que pasa aquí é porque é entre 0 e 1, 1413 01:14:15,340 --> 01:14:19,300 o que está facendo é que está multiplicando por-- iso é moito máis unha cuestión de matemáticas. 1414 01:14:19,300 --> 01:14:22,010 Só disclaimer completo, este é completamente unha cuestión de matemáticas. 1415 01:14:22,010 --> 01:14:23,990 O que está facendo é porque de 0 e 1 e 1416 01:14:23,990 --> 01:14:26,460 quere que sexa dentro desa franxa, o que realmente 1417 01:14:26,460 --> 01:14:29,360 descubrir como gran a franxa é, axiña 1418 01:14:29,360 --> 01:14:32,710 basicamente escala-lo para arriba, que é o que este está facendo. 1419 01:14:32,710 --> 01:14:39,050 >> b menos un dálle esa franxa, o diferenza entre estes números. 1420 01:14:39,050 --> 01:14:44,040 Pode multiplicar entre 0 e 1, e, a continuación, engadindo só un 1421 01:14:44,040 --> 01:14:48,870 significa que o seu deseño-lo de xeito que sexa entre un e b, 1422 01:14:48,870 --> 01:14:52,377 que realmente non me gusta deste problema. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 Como dixen, este quiz pretende englobar 1425 01:15:01,790 --> 01:15:04,110 persoas que son menos cómodos, nalgún lugar no medio, 1426 01:15:04,110 --> 01:15:05,070 e máis cómodo. 1427 01:15:05,070 --> 01:15:07,550 Entón, se eles fixeron iso de xeito que era algo 1428 01:15:07,550 --> 01:15:10,050 que todos no menor lugar cómodo ía estar, 1429 01:15:10,050 --> 01:15:12,259 teriamos lonxe demais persoas marcando perfecciona, 1430 01:15:12,259 --> 01:15:13,925 eo máis cómodo sería aburrido. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> Entón, eles sempre teñen estes tipo de cerebro preguntas provocación 1433 01:15:18,970 --> 01:15:22,695 que está destinado a ser un pouco máis difícil que levar moito pensamento creativo. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 Cando ve-los, non ser moi perplexo. 1436 01:15:27,790 --> 01:15:31,720 Eu definitivamente dicir aleta a través do seu exame primeiro. 1437 01:15:31,720 --> 01:15:35,020 Afrontar os problemas que sabe que pode, 1438 01:15:35,020 --> 01:15:38,480 porque non adianta queda preso nun problema cando existen tres 1439 01:15:38,480 --> 01:15:42,090 ou catro ou cinco na páxina despois de que pode facilmente facer. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> Audiencia: Por que exactamente multiplicala lo pola pista? 1442 01:15:48,520 --> 01:15:54,935 >> ALLISON BUCHHOLTZ-AU: Vostede multiplicar o alcance que vostede sabe-- é como o que tras un 1443 01:15:54,935 --> 01:15:55,485 quere? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 Entón pode pensar, porque retorna un número entre 0 e 1, 1446 01:16:02,130 --> 01:16:03,890 Pode pensar niso como unha porcentaxe. 1447 01:16:03,890 --> 01:16:12,195 Entón está dicindo basicamente, se temos nosa liña número aquí, un está aquí, 1448 01:16:12,195 --> 01:16:13,840 eb é aquí. 1449 01:16:13,840 --> 01:16:19,170 Vostede é como o que un pasado que é? 1450 01:16:19,170 --> 01:16:20,010 É todo o que estamos facendo. 1451 01:16:20,010 --> 01:16:24,920 Entón está só pedindo para o porcentaxe desa franxa, que 1452 01:16:24,920 --> 01:16:26,170 é o que está lle dando. 1453 01:16:26,170 --> 01:16:30,915 E entón basicamente só aumenta-lo engadindo un. 1454 01:16:30,915 --> 01:16:32,302 É un teaser de matemáticas cerebro. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> Se houbo algún consello último minuto, eu diría follas as preguntas, 1457 01:16:39,060 --> 01:16:41,660 descubrir que ten sei que como, oh Eu teño ese. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 Case certamente van ser preguntas que non coñece 1460 01:16:45,820 --> 01:16:49,580 ou que vai ter tempo para, co fin de acadar os seus puntos fortes, OK? 1461 01:16:49,580 --> 01:16:50,990 Vostedes están indo ben. 1462 01:16:50,990 --> 01:16:52,740 Hai unha gran cantidade de cuestións por unha razón, 1463 01:16:52,740 --> 01:16:57,140 para que teña tempo para especie de ter a oportunidade 1464 01:16:57,140 --> 01:16:59,330 para demostrar que vostede é realmente bo. 1465 01:16:59,330 --> 01:17:02,370 Por iso é OK se está non é bo en todo. 1466 01:17:02,370 --> 01:17:03,371 Xoga con seus puntos fortes. 1467 01:17:03,371 --> 01:17:03,870 Si? 1468 01:17:03,870 --> 01:17:06,536 >> Audiencia: Así é que isto vai voltar algo que está truncado? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 Si, é certo, porque drand retorno entre 0 e 1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 Vai voltar un int, porque vai truncar 1473 01:17:19,250 --> 01:17:22,933 cando engadimos un ou multiplicar por el. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 Legal. 1476 01:17:28,442 --> 01:17:29,525 Calquera dúbida de última hora? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> Vostedes van facer grande. 1479 01:17:32,615 --> 01:17:34,440 Está indo a ser fabuloso. 1480 01:17:34,440 --> 01:17:37,100 E mesmo se non for, haberá ser doces aquí a próxima semana. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 E eu vou te amar. 1483 01:17:40,020 --> 01:17:41,270 Vou amar vostedes independente. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 Todo ben, todo, boa sorte. 1486 01:17:43,930 --> 01:17:44,680 Ten un gran tempo. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 Vai estar ben. 1489 01:17:46,620 --> 01:17:47,370 E vostede sabe o que? 1490 01:17:47,370 --> 01:17:50,310 En dous días que vai para ser máis, mentres eu 1491 01:17:50,310 --> 01:17:53,675 ten dúas midterms o xoves, polo que polo menos vós será feito. 1492 01:17:53,675 --> 01:17:56,550 Todo ben, eu vou ver vostedes a próxima semana. 1493 01:17:56,550 --> 01:17:58,208