1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ALLISON BUCHHOLTZ-AU: Hey, todo el mundo. 3 00:00:12,170 --> 00:00:13,560 Bienvenidos a la sección. 4 00:00:13,560 --> 00:00:17,320 Hoy es sólo va a ser todo concurso revisar para su examen el miércoles. 5 00:00:17,320 --> 00:00:20,060 Espero que todo el mundo recuerda que tienen un concurso para el Miércoles. 6 00:00:20,060 --> 00:00:22,560 Y si no lo hizo, así, ahora que has estado recordado. 7 00:00:22,560 --> 00:00:26,486 Así Miércoles asegurarse usted se presenta para la clase o como otros alojamientos 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 Ustedes van a ser impresionante. 11 00:00:29,220 --> 00:00:30,440 Va a ser grande. 12 00:00:30,440 --> 00:00:34,910 Y yo voy a hacer todo lo que pueda para ayudar a prepararse hoy para su concurso 13 00:00:34,910 --> 00:00:35,470 ahora. 14 00:00:35,470 --> 00:00:39,960 Y también en el caso de que usted no sabe, hay una sesión de revisión amplia curso 15 00:00:39,960 --> 00:00:45,840 hoy a las 7 en punto de Laboratorios del Noroeste B103 habitación. 16 00:00:45,840 --> 00:00:49,950 Usted me puede ver de nuevo para hacer un bis como Voy a llevar parte de esa sesión de revisión 17 00:00:49,950 --> 00:00:50,510 también. 18 00:00:50,510 --> 00:00:53,218 Así que si usted no puede obtener suficiente de mí Ahora, usted puede venir otra vez esta noche. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> Muy bien por lo que lo primero es lo primero,. 21 00:00:56,060 --> 00:00:59,630 A sólo algunos consejos de concurso antes de que en realidad bucear en las revisiones. 22 00:00:59,630 --> 00:01:04,160 Así como con cualquier examen, la práctica sin duda ayudará a cabo. 23 00:01:04,160 --> 00:01:09,260 Hay exámenes del pasado seis o siete años de la existencia, 24 00:01:09,260 --> 00:01:12,480 así que eso es una gran cantidad de práctica material para que ustedes tienen. 25 00:01:12,480 --> 00:01:15,340 Y de hecho, hoy en día es en realidad va a ir sobre cualquier tema 26 00:01:15,340 --> 00:01:18,900 que ustedes tienen preguntas sobre como así como trabajar a través de problemas de práctica 27 00:01:18,900 --> 00:01:20,360 de concurso cero. 28 00:01:20,360 --> 00:01:22,690 Así que voy a vomitar cero concurso desde el año pasado aquí, 29 00:01:22,690 --> 00:01:26,410 y podemos trabajar con cualquier problema que ustedes le gustaría. 30 00:01:26,410 --> 00:01:27,370 >> Así que la práctica. 31 00:01:27,370 --> 00:01:29,310 Vas a empezar a hacer eso hoy. 32 00:01:29,310 --> 00:01:30,230 Código en el papel. 33 00:01:30,230 --> 00:01:32,970 Así que sí, si todo el mundo en realidad podría salir 34 00:01:32,970 --> 00:01:35,810 papel, que va a ser grande, porque no eres 35 00:01:35,810 --> 00:01:41,470 va a tener el equipo en el examen y escribir el código a mano 36 00:01:41,470 --> 00:01:44,190 es a menudo mucho más difícil que se podría esperar. 37 00:01:44,190 --> 00:01:46,680 Usted está acostumbrado a sólo viendo y escribiendo, 38 00:01:46,680 --> 00:01:49,630 y usted tiene su compilador ayudarle cuando tiene errores, 39 00:01:49,630 --> 00:01:52,190 pero usted no consigue que en el examen. 40 00:01:52,190 --> 00:01:55,140 Así que es realmente importante en realidad ser capaz de escribir el código, 41 00:01:55,140 --> 00:01:58,360 y que la memoria muscular de hacer a mano realmente le ayudará. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> Así que estamos poniendo un poco estrecha. 44 00:02:01,690 --> 00:02:02,340 Es lunes. 45 00:02:02,340 --> 00:02:03,930 Su examen es el miércoles. 46 00:02:03,930 --> 00:02:06,030 Pero si tienes tiempo, Definitivamente tomar uno 47 00:02:06,030 --> 00:02:10,199 de los exámenes del año pasado o el años antes bajo la restricción de tiempo 48 00:02:10,199 --> 00:02:11,660 de una hora y media. 49 00:02:11,660 --> 00:02:13,730 Sólo noquear a una hora y media de tiempo, 50 00:02:13,730 --> 00:02:17,480 y sentarse por sí mismo, y sólo el trabajo a través de los problemas 51 00:02:17,480 --> 00:02:19,962 como si estuviera realmente tomarlo, porque uno 52 00:02:19,962 --> 00:02:23,295 de las cosas más grandes que oímos hablar las pruebas es que son muy largos. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 Se trata de una gran cantidad de material. 55 00:02:26,660 --> 00:02:30,850 Hay un montón de preguntas, y la mayoría de la gente no puede terminar. 56 00:02:30,850 --> 00:02:34,660 Sé que estoy totalmente de no terminar mis pruebas cuando me llevaron a la clase. 57 00:02:34,660 --> 00:02:37,180 >> En ese sentido, como una menor sección cómodo, 58 00:02:37,180 --> 00:02:40,570 entiende que este curso está destinado para atender a las personas de todos los niveles. 59 00:02:40,570 --> 00:02:43,640 La razón por la que tenemos que dividir menos cómodo, en algún lugar entre, 60 00:02:43,640 --> 00:02:47,660 y más cómodo es tipo de hacerla más justa. 61 00:02:47,660 --> 00:02:51,699 Y si usted es menos cómodo, es no es necesario en sí para conseguir todo. 62 00:02:51,699 --> 00:02:53,990 Al igual que si usted estaba recibiendo todo, lo haría probablemente 63 00:02:53,990 --> 00:02:55,448 estar en la sección más cómodo. 64 00:02:55,448 --> 00:03:00,160 Así que, obviamente, no golpearon a sí mismos hasta demasiado difícil si usted no puede terminar el examen. 65 00:03:00,160 --> 00:03:01,920 Toma de mí, yo no lo hice. 66 00:03:01,920 --> 00:03:03,070 Sigo siendo un concentrador. 67 00:03:03,070 --> 00:03:04,630 Todavía estoy ayudando a enseñar el curso. 68 00:03:04,630 --> 00:03:06,170 Vas a estar bien. 69 00:03:06,170 --> 00:03:06,670 Bien. 70 00:03:06,670 --> 00:03:08,740 Y, por último, dormir un poco. 71 00:03:08,740 --> 00:03:11,020 Obviamente con cualquier examen siempre decimos esto. 72 00:03:11,020 --> 00:03:13,610 Abarrotar la noche anterior y no conseguir dormir 73 00:03:13,610 --> 00:03:16,390 hace no-- tal vez si que que funciona para usted, vaya para él. 74 00:03:16,390 --> 00:03:18,790 Sin embargo, para la gran mayoría de gente, conseguir un poco de sueño, 75 00:03:18,790 --> 00:03:22,390 dejando su descanso cerebral y recuperar antes de entrar en el examen 76 00:03:22,390 --> 00:03:23,480 realmente le ayudará. 77 00:03:23,480 --> 00:03:26,120 También habrá casi seguramente dulces en el examen, 78 00:03:26,120 --> 00:03:28,019 así que tienes que esperar. 79 00:03:28,019 --> 00:03:29,310 Ustedes van a hacer muy bien. 80 00:03:29,310 --> 00:03:30,226 Va a estar bien. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 Y ahora, en la siguiente hora y media me tratará y preparar de la mejor manera que puedo. 83 00:03:36,190 --> 00:03:41,260 >> Así que tengo diapositivas de, básicamente, todas las secciones hasta ahora. 84 00:03:41,260 --> 00:03:45,874 Yo no voy a ir a través de todos ellos porque eso no es 85 00:03:45,874 --> 00:03:49,040 factible en una hora y media, así como trabajar a través de problemas de práctica. 86 00:03:49,040 --> 00:03:51,410 Así que en vez que tengo una lista de temas. 87 00:03:51,410 --> 00:03:55,160 Estas son todas las cosas que pudiéramos interrogar a usted en. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 Si hay algo que realmente salta a cabo 90 00:03:58,770 --> 00:04:02,140 que quiere ir más, que quiero que me vaya más conceptualmente, 91 00:04:02,140 --> 00:04:04,320 Puedo tratar de dar usted una visión general allí. 92 00:04:04,320 --> 00:04:07,690 O si quieres saltar a la derecha en a haciendo problemas de práctica juntos, 93 00:04:07,690 --> 00:04:08,420 podemos hacer eso. 94 00:04:08,420 --> 00:04:09,330 Todo depende de ustedes. 95 00:04:09,330 --> 00:04:10,770 No hay que muchos de ustedes. 96 00:04:10,770 --> 00:04:13,180 Así que es lo que les gusta a ustedes hacer. 97 00:04:13,180 --> 00:04:15,667 Quiero ser el más útil hacia ustedes. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 Así que voy a dejar que acaba de ver. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> AUDIENCIA: Una cosa es el gráfico que guardemos 102 00:04:30,500 --> 00:04:33,290 diciendo acerca de la pila y el montón. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 Sólo la idea detrás eso y lo que eso significa. 105 00:04:37,434 --> 00:04:38,350 ALLISON BUCHHOLTZ-AU: Sí, está bien. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 Este es todo el camino a la final, así que me desplazo a través. 108 00:04:43,216 --> 00:04:45,490 >> AUDIENCIA: Nosotros no tenemos que hacerlo ahora, pero lo que sea. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ALLISON BUCHHOLTZ-AU: ¿Hubo anything-- éste. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 ¿Es este tipo de difusa para la gente? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 AUDIENCIA: Sí, lo segundo que. 115 00:04:55,640 --> 00:04:57,718 Y podemos también qué buffer overflow? 116 00:04:57,718 --> 00:04:58,926 ALLISON BUCHHOLTZ-AU: Desbordamiento de búfer? 117 00:04:58,926 --> 00:04:59,820 Okay. 118 00:04:59,820 --> 00:05:03,460 Así buffer overflow es bastante fácil sólo para hablar. 119 00:05:03,460 --> 00:05:08,217 Se trata básicamente de buffers se piensa en parte de la memoria de matriz que tiene, ¿verdad? 120 00:05:08,217 --> 00:05:10,050 Por lo general hablamos de desbordamiento de búfer cuando 121 00:05:10,050 --> 00:05:15,160 usted no está comprobando cuánto el usuario está poniendo en, ¿verdad? 122 00:05:15,160 --> 00:05:18,540 Y la idea de ser con tampón de desbordamiento es 123 00:05:18,540 --> 00:05:21,535 que están poniendo en el momento demasiados datos para el espacio 124 00:05:21,535 --> 00:05:23,780 que ha asignado para ellos, ¿verdad? 125 00:05:23,780 --> 00:05:28,310 >> Así que si usted dice, da me algún mensaje, estamos 126 00:05:28,310 --> 00:05:31,860 asumiendo que van a dar nosotros un mensaje de longitud razonable. 127 00:05:31,860 --> 00:05:33,910 Tal vez un par de líneas, lo que sea. 128 00:05:33,910 --> 00:05:35,150 Así que no comprobamos. 129 00:05:35,150 --> 00:05:38,160 En su lugar, nos dan de comer en un todo libro que es un mensaje, 130 00:05:38,160 --> 00:05:42,450 y se desborda la cantidad de espacio que hemos asignado para esto. 131 00:05:42,450 --> 00:05:48,140 Y lo que pasa es que podría sobrescribir lugares que no se supone. 132 00:05:48,140 --> 00:05:52,890 >> Así que sé que el profesor dijo Malan algo acerca de los ataques de desbordamiento de búfer. 133 00:05:52,890 --> 00:05:59,050 Así que ahí es donde la entrada de la voluntad del usuario una cierta cantidad masiva de datos en las esperanzas 134 00:05:59,050 --> 00:06:02,840 que sobrescribe pasado Al final de su búfer 135 00:06:02,840 --> 00:06:06,479 y reemplaza algo-- me pregunto Yo que tengo esas diapositivas aquí. 136 00:06:06,479 --> 00:06:08,270 Yo no creo que tengamos aquellas diapositivas de aquí. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 Pero, básicamente, que sobrescribe una parte de la memoria 139 00:06:14,460 --> 00:06:17,780 que le permite el acceso a las partes de su computadora 140 00:06:17,780 --> 00:06:19,530 que usted no lo haría normalmente tener acceso. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> Lo más importante con desbordamiento de buffer es sólo 143 00:06:23,155 --> 00:06:26,420 entender que ocurre cuando usted no está 144 00:06:26,420 --> 00:06:29,210 comprobación de la cantidad de su usuario está poniendo en. 145 00:06:29,210 --> 00:06:32,770 Cuando usted no es tipo de salvaguardar contra eso. 146 00:06:32,770 --> 00:06:36,820 Y en su forma más simple cosa, es sólo tu usuario 147 00:06:36,820 --> 00:06:39,130 la introducción de una cantidad masiva de datos en un intento 148 00:06:39,130 --> 00:06:45,090 sobrescribir algo de seguridad parte de su memoria. 149 00:06:45,090 --> 00:06:46,310 Eso es todo lo que es. 150 00:06:46,310 --> 00:06:49,810 >> Así que esta aquí, la pila y el montón. 151 00:06:49,810 --> 00:06:53,090 Básicamente todo esto es sólo es una representación de la memoria 152 00:06:53,090 --> 00:06:54,449 y donde se guardan las cosas. 153 00:06:54,449 --> 00:06:56,240 Eso es muy amable de Todo lo que necesitas saber. 154 00:06:56,240 --> 00:06:58,520 Las cosas más grandes que lo que necesita saber son 155 00:06:58,520 --> 00:07:01,910 que-- déjame ver si hay un mejor-- aquí. 156 00:07:01,910 --> 00:07:05,380 Así que esta es la pila de aquí. 157 00:07:05,380 --> 00:07:08,410 >> Así que la pila tiene que ver con todas sus funciones 158 00:07:08,410 --> 00:07:10,140 que usted está llamando en cualquier momento dado. 159 00:07:10,140 --> 00:07:15,060 Y lo que es importante recordar ir fuera de la semana pasada con malloc 160 00:07:15,060 --> 00:07:21,080 es que usted realmente no tiene control necesario sobre él. 161 00:07:21,080 --> 00:07:24,780 Todo depende de cuando cierta funciones están ejecutando. 162 00:07:24,780 --> 00:07:28,170 Y cuando se están ejecutando, que tienen lo que se llaman marcos de pila 163 00:07:28,170 --> 00:07:29,290 que suben aquí. 164 00:07:29,290 --> 00:07:32,520 >> Por lo tanto, todo tipo de pasa sin ninguna entrada de bienes de usted. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 Usted escribe su programa, y se deja correr, 167 00:07:35,510 --> 00:07:38,470 y la pila de tipo de toma cuidar de sí mismo, ya que necesita. 168 00:07:38,470 --> 00:07:42,940 Así que si en el principal que está llamando cubo, que se pasará por aquí. 169 00:07:42,940 --> 00:07:44,110 Se va a crear un marco. 170 00:07:44,110 --> 00:07:48,330 Pero no hay nada que usted hace de forma explícita para crear ese marco de pila que no sea 171 00:07:48,330 --> 00:07:51,430 escribir la función, para empezar, ¿de acuerdo? 172 00:07:51,430 --> 00:07:56,500 >> ¿Qué es una especie de bajo de su el control es el montón con malloc. 173 00:07:56,500 --> 00:08:01,950 Así que cada vez que malloc algo, usted está tomando memoria del montón. 174 00:08:01,950 --> 00:08:05,110 Y esa es la memoria que usted tener, por falta de una palabra mejor, 175 00:08:05,110 --> 00:08:10,300 control explícito sobre, porque recuerde con malloc 176 00:08:10,300 --> 00:08:12,530 es básicamente allí hasta que digan lo contrario. 177 00:08:12,530 --> 00:08:14,890 Para aquellos de ustedes que sección visto la semana pasada, 178 00:08:14,890 --> 00:08:17,670 que está ahí hasta que usted le dice que se vaya. 179 00:08:17,670 --> 00:08:20,850 Será allí a menos de otro modo no dicho. 180 00:08:20,850 --> 00:08:24,750 Así que el montón es sólo algo se puede pensar en como memoria 181 00:08:24,750 --> 00:08:26,150 que usted tiene control sobre. 182 00:08:26,150 --> 00:08:29,010 Y esos son sólo los dos grandes cosas diferentes. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> Aparte de eso, usted no debe tener que preocuparse demasiado acerca de pila y el montón 185 00:08:38,330 --> 00:08:42,159 preguntas o típicamente más justo si tiene parámetros locales 186 00:08:42,159 --> 00:08:45,385 o una función sería en la pila o montón. 187 00:08:45,385 --> 00:08:47,260 Obviamente, en este caso sería la pila. 188 00:08:47,260 --> 00:08:49,630 Si usted está mallocing algo, ¿Dónde está que viene? 189 00:08:49,630 --> 00:08:50,129 El montón. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 Si nos fijamos en los concursos de práctica, los son generalmente el tipo de preguntas 192 00:08:54,230 --> 00:08:55,460 que tienen. 193 00:08:55,460 --> 00:08:57,340 >> Usted no tiene que preocuparse demasiado en ello. 194 00:08:57,340 --> 00:09:00,980 Te metes en forma más explícita acerca de pila y el montón 195 00:09:00,980 --> 00:09:03,460 más tarde o en otras clases de CS. 196 00:09:03,460 --> 00:09:06,220 Así que tener una especie de idea general de lo que es esto 197 00:09:06,220 --> 00:09:09,100 será bueno, que yo sólo un poco se fue por arriba. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 Cualesquiera otros temas? 200 00:09:12,090 --> 00:09:12,590 ¿Sí? 201 00:09:12,590 --> 00:09:14,923 >> AUDIENCIA: ¿Se puede ir más punteros de nuevo muy rápidamente? 202 00:09:14,923 --> 00:09:15,870 ALLISON BUCHHOLTZ-AU: Punteros? 203 00:09:15,870 --> 00:09:18,470 ¿Quieres conceptual visión general de punteros 204 00:09:18,470 --> 00:09:19,994 o practicas con los punteros? 205 00:09:19,994 --> 00:09:21,410 AUDIENCIA: Algo así como la sintaxis. 206 00:09:21,410 --> 00:09:22,360 ALLISON BUCHHOLTZ-AU: La sintaxis? 207 00:09:22,360 --> 00:09:22,860 Sí. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 Bien, nos vamos acercando. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 Sí, así que esto es sólo un poco de algo cuando se tiene una función recursiva, 212 00:09:42,040 --> 00:09:45,954 cada vez que la función recursiva es llamado, que sólo añade otro marco de pila. 213 00:09:45,954 --> 00:09:47,870 Más o menos un ejemplo de la forma en que realmente no 214 00:09:47,870 --> 00:09:50,330 tener control sobre el marcos en su pila. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> Aceptar, punteros. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 Muy bien, por lo que la creación de punteros. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 Recuerde, es sólo tienes que escribir la estrella. 221 00:10:02,420 --> 00:10:07,140 Asi que cualquier tipo de datos que usted va a estar apuntando a. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 Así que este sería un puntero a un int. 224 00:10:11,440 --> 00:10:13,140 Esto sería un puntero a un char. 225 00:10:13,140 --> 00:10:14,740 Esto sería un puntero a un flotador. 226 00:10:14,740 --> 00:10:17,980 Así que es básicamente lo que sea quieres que estar apuntando a, 227 00:10:17,980 --> 00:10:22,300 estrella es cómo se declara el puntero, ¿de acuerdo? 228 00:10:22,300 --> 00:10:26,200 >> Pero entonces, evidentemente, pone un poco complicado cuando tienes puntero 229 00:10:26,200 --> 00:10:27,370 o usted tiene protagonizar lo que sea. 230 00:10:27,370 --> 00:10:31,260 Así que la gran diferencia es cuando estás declaring-- 231 00:10:31,260 --> 00:10:45,590 así que tenemos tan some-- esto toma algunos int estrellas. 232 00:10:45,590 --> 00:10:49,650 Así que esto es un poco de puntero llama x a un int, ¿verdad? 233 00:10:49,650 --> 00:10:54,600 Así que recuerda lo que esto hace es esta llama al sistema de x. 234 00:10:54,600 --> 00:10:56,970 Y esto va a tener un poco de dirección, ¿no? 235 00:10:56,970 --> 00:11:00,515 Así que digamos que esta es nuestra dirección. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 Los punteros tienen direcciones. 238 00:11:03,570 --> 00:11:08,660 Así que lo que dice es que en este ubicación, estamos almacenando un int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> Así que otra manera podemos pensar en esto es que esto es algún int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 Realmente no hemos asignado a nada todavía, pero es sólo un int. 243 00:11:20,350 --> 00:11:31,540 Así que nos podemos hacer es si nosotros STAR x es igual a 5, este se convierte en un 5, ¿de acuerdo? 244 00:11:31,540 --> 00:11:38,350 Esto dice ir a cualquier x es apuntando a, por lo que ir a esta dirección 245 00:11:38,350 --> 00:11:40,210 y que sea igual a 5. 246 00:11:40,210 --> 00:11:44,390 Así que asignamos 5 a esta dirección, ¿no? 247 00:11:44,390 --> 00:11:52,540 >> Y entonces, si usted hace esto, esto nos da la dirección de. 248 00:11:52,540 --> 00:11:54,730 Esta es la dirección del operador. 249 00:11:54,730 --> 00:11:57,700 Entonces, ¿cuál es la dirección de x? 250 00:11:57,700 --> 00:11:58,809 No sabemos. 251 00:11:58,809 --> 00:12:00,225 No hemos dotado con una dirección. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 Podríamos decir que es some-- ahora nos dimos una dirección, por lo que la dirección es de 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 Y en realidad, si pasamos por algo como esto, algo de lo que hicimos. 256 00:12:16,980 --> 00:12:25,800 Así que trabajar a través de aquí-- Encuentro ayuda si usted dibuja hacia fuera punteros. 257 00:12:25,800 --> 00:12:28,270 Si usted está en su examen, lo recomiendo dibujar cajas. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> Así que esta primera, int x es igual a 5. 260 00:12:33,310 --> 00:12:37,370 Esto sólo significa que tenemos un poco de colocar en la memoria que es 5, ¿no? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 Y nuestra mesa aquí nos dice que es en la dirección 0x04. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 Y entonces se crea un poco de puntero. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 Así que vamos a romper esto abajo una a la vez. 267 00:12:55,310 --> 00:12:59,820 Así que esto crea algunos boxear a un int, ¿verdad? 268 00:12:59,820 --> 00:13:01,970 Se va a celebrar alguna dirección de un él. 269 00:13:01,970 --> 00:13:03,470 Así que esto es cierto puntero. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 Y esta tiza es realmente pequeño. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 Así que tenemos un poco de puntero aquí. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 Y nuestra mesa nos dice que es la dirección es 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 Enfriar. 278 00:13:16,200 --> 00:13:23,240 Y estamos asignando a la dirección de x. 279 00:13:23,240 --> 00:13:26,330 >> Recuerde, los punteros tienen direcciones, ¿de acuerdo? 280 00:13:26,330 --> 00:13:32,050 Así que si queremos mantener x, tenemos utilizar el operador de dirección, lo que 281 00:13:32,050 --> 00:13:36,520 es el símbolo de unión, para obtener la dirección de x, que en este caso, 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 Y luego, si tenemos alguna copia int, esto sólo 284 00:13:44,430 --> 00:13:48,060 crea alguna otra caja que mantiene un int llamada copia. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 Y si asignamos a esto-- por lo que este hace referencia a ella. 287 00:13:55,330 --> 00:14:00,090 Así que dice ir a cualquier puntero de dirección se mantiene. 288 00:14:00,090 --> 00:14:05,330 Puntero mantiene esta dirección, por lo que nos gustaría ir por aquí, 289 00:14:05,330 --> 00:14:07,130 y decimos, bien, lo que está en él? 290 00:14:07,130 --> 00:14:08,610 Es 5. 291 00:14:08,610 --> 00:14:09,815 Entonces copia se convierte en 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 Tiene sentido? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> ¿Qué pasa si he tratado de asignar esta a solo puntero. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 ¿Qué significa en realidad puntero igual? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 Sólo sería lo puntero contiene, ¿no? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 Y entonces, ¿qué si lo hice? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 ¿Cuál sería la copia ser ahora? 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: Sí, la dirección de nuestro puntero. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 Cualquier parte de eso que necesita ser re-explica? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 Enfriar. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 Definitivamente hay una muy diversión problema en una prueba 313 00:14:57,740 --> 00:15:00,100 que podamos sobre esa le da más práctica. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 Los chicos de la semana pasada puede decirle que no era tan malo. 316 00:15:03,270 --> 00:15:06,000 Llegamos a través de un entero carta, y todo el mundo lo hicieron muy bien. 317 00:15:06,000 --> 00:15:10,830 >> OK, así que eso es información general de la sintaxis de los punteros. 318 00:15:10,830 --> 00:15:15,070 Lo más importante es entender cómo crearlos, hacer referencia, 319 00:15:15,070 --> 00:15:18,190 y la dirección, ¿de acuerdo? 320 00:15:18,190 --> 00:15:18,690 Enfriar. 321 00:15:18,690 --> 00:15:20,775 Cualesquiera otros temas antes nos sumergimos en la práctica. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 Además, si estamos pasando por los problemas de la práctica 324 00:15:28,011 --> 00:15:30,760 y hay algo que usted quiere un actualización sobre, podemos hacer eso también. 325 00:15:30,760 --> 00:15:31,300 ¿Tiene usted algo? 326 00:15:31,300 --> 00:15:32,758 >> AUDIENCIA: Estructuras y listas enlazadas. 327 00:15:32,758 --> 00:15:35,130 ALLISON BUCHHOLTZ-AU: Las estructuras y vinculado listas, en Aceptar. 328 00:15:35,130 --> 00:15:37,100 Así estructuras. 329 00:15:37,100 --> 00:15:38,990 En realidad nos vamos sobre esta noche también. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 OK, así estructuras. 332 00:15:41,890 --> 00:15:47,490 Las estructuras son básicamente sólo una forma para que usted mantenga 333 00:15:47,490 --> 00:15:50,430 múltiples valores de tipos diferentes. 334 00:15:50,430 --> 00:15:55,150 Así que con un arsenal somos constreñida a un tipo de datos. 335 00:15:55,150 --> 00:16:00,965 Nuestra gama ya sea tiene que ser sólo números, o simplemente ser caracteres, o simplemente ser carrozas. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> Pero, tal vez necesites contener más que eso. 338 00:16:05,470 --> 00:16:09,130 Tal vez usted necesita para hold-- si estamos hablando de un estudiante, 339 00:16:09,130 --> 00:16:13,660 usted va a tener su casa, su Número de identificación, su edad, lugar de residencia, 340 00:16:13,660 --> 00:16:14,240 ¿verdad? 341 00:16:14,240 --> 00:16:16,460 Y todos los que son diferentes tipos de tipos. 342 00:16:16,460 --> 00:16:18,680 Así que no se puede almacenar los que todos en una matriz. 343 00:16:18,680 --> 00:16:21,750 >> Así que lo que puede hacer usted es puede crear una estructura, la cual 344 00:16:21,750 --> 00:16:26,240 se puede pensar en como tu propio tipo de datos de carácter personal. 345 00:16:26,240 --> 00:16:29,130 Así que en lugar de sólo tener ints y en lugar de sólo con carrozas, 346 00:16:29,130 --> 00:16:33,210 usted puede tener un estudiante tipo que tiene todos estos campos en el mismo. 347 00:16:33,210 --> 00:16:39,740 Así que la forma inicializamos nuestras estructuras es-- realidad 348 00:16:39,740 --> 00:16:44,921 ya que mi escritura es terrible, van a la transición a escribir. 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 >> Aceptar, por lo que si queremos crear un struct-- Yo sólo voy a aquí abajo. 352 00:16:53,150 --> 00:16:57,730 No tenga en cuenta el principal en lo que sea que utilizaremos más adelante. 353 00:16:57,730 --> 00:17:02,330 Así que la forma en que quieres hacer es con typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 Y vamos a llamar a este estudiante porque eso es lo que yo estaba usando. 356 00:17:13,349 --> 00:17:17,801 OK, así que typedef significa que eres la definición de un nuevo tipo, ¿de acuerdo? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 Hay matices en cuando lo hace sólo una estructura frente a una estructura typedef. 359 00:17:24,355 --> 00:17:26,313 Para todos los intentos y propósitos, ustedes son sólo 360 00:17:26,313 --> 00:17:29,490 va a suponer que son aproximadamente el mismo y justo 361 00:17:29,490 --> 00:17:30,820 utilizar typedef struct por ahora. 362 00:17:30,820 --> 00:17:35,180 Se convertirá de forma más evidente en su siguiente P establece cuáles son esas diferencias, 363 00:17:35,180 --> 00:17:37,960 pero yo no creo que se necesita preocuparse de eso ahora mismo. 364 00:17:37,960 --> 00:17:40,360 Me gustaría mucho que saber cómo crear uno, 365 00:17:40,360 --> 00:17:41,880 acceder a ella, y asignar [? valor. ?] 366 00:17:41,880 --> 00:17:47,820 >> Un nuevo tipo de estructura, y estamos pidiendo que los estudiantes. 367 00:17:47,820 --> 00:17:52,640 Así que después hemos terminado la creación de este, para todos los intentos y propósitos, 368 00:17:52,640 --> 00:17:55,070 usted tendrá un tipo llamado estudiante. 369 00:17:55,070 --> 00:17:59,610 Y usted puede pensar en él sólo como un tipo como un int o un float, o un char. 370 00:17:59,610 --> 00:18:01,820 Es sólo otro tipo, ¿de acuerdo? 371 00:18:01,820 --> 00:18:04,530 >> Así que en éste, ¿qué tenemos? 372 00:18:04,530 --> 00:18:05,420 Tenemos tal vez un nombre. 373 00:18:05,420 --> 00:18:08,275 Así que tal vez queremos un nombre de cadena. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 Y tenemos quizá un int que es un ID. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 Y tenemos otro en ese es el número de teléfono. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 Y hemos dejado some-- a ver. 380 00:18:26,200 --> 00:18:27,200 ¿Qué más podríamos tener? 381 00:18:27,200 --> 00:18:29,385 Vamos a tener un poco de cuerda en su casa. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 Todas las cosas que un estudiante tiene. 384 00:18:34,510 --> 00:18:36,960 >> Así que esto crea una estructura ahora. 385 00:18:36,960 --> 00:18:41,450 Entonces, ¿cómo podríamos crear un estudiante? 386 00:18:41,450 --> 00:18:46,960 Si tenemos alguna variable que es va a hablar de Walker aquí, 387 00:18:46,960 --> 00:18:51,245 así que tener-- sólo somos va a llamar a este andador. 388 00:18:51,245 --> 00:18:52,520 Él necesita un tipo. 389 00:18:52,520 --> 00:18:53,770 ¿Cuál es tu tipo? 390 00:18:53,770 --> 00:18:54,520 AUDIENCIA: Estudiante. 391 00:18:54,520 --> 00:18:55,395 ALLISON BUCHHOLTZ-AU: Estudiante. 392 00:18:55,395 --> 00:18:57,130 393 00:18:57,130 --> 00:19:04,800 Así que esto simplemente crea un objeto que pueda pensar en que tiene todas estas cosas. 394 00:19:04,800 --> 00:19:07,880 Usted acaba de crear un estudiante andador. 395 00:19:07,880 --> 00:19:10,910 Así que ahora tenemos que ser capaces asignar todos estos, ¿no? 396 00:19:10,910 --> 00:19:13,500 Así que ¿alguien recuerda cómo accedemos dentro de una estructura? 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 Así que si queríamos asignar él un nombre, que podría hacer eso. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 Obviamente, esto haría ser-- esta parte aquí sería 403 00:19:28,680 --> 00:19:31,831 estar dentro de principal, por lo en realidad déjame hacer esto. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 Declare que este por encima de principal, así que podemos usarla dentro de principal. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 Así que ahora yo quiero que haga ID, y sólo tendremos que hacer un poco de allí, 408 00:20:00,980 --> 00:20:02,970 y luego le asignaremos una casa. 409 00:20:02,970 --> 00:20:07,990 410 00:20:07,990 --> 00:20:09,000 Bam. 411 00:20:09,000 --> 00:20:09,650 Enfriar. 412 00:20:09,650 --> 00:20:19,870 >> Así que ahora si alguna vez necesitan acceso algo más tarde tal vez en-- nosotros-- 413 00:20:19,870 --> 00:20:25,920 si alguna vez necesitamos acceder a cualquier cosa, vamos a hacer una copia de identificación int. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 Y quiero copiar ID de Walker en esto. 416 00:20:30,530 --> 00:20:31,370 ¿Cómo podría yo hacerlo? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 Usted necesita tener acceso dentro del caminante struct a [? ir a ese?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 Y de la misma manera que asignado hasta aquí, ¿cómo 420 00:20:41,280 --> 00:20:45,573 podríamos acceder a ella cuando queremos dar ese valor a otra cosa? 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: Sí, exactamente. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 Así que eso es más o menos todo lo que necesita saber para estructuras. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 Sólo tiene que pensar en como otra variable. 428 00:20:58,560 --> 00:21:01,710 Básicamente un crear su propio tipo de variable, ¿de acuerdo? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 Se utiliza para declarar las variables de ninguna manera. 431 00:21:07,970 --> 00:21:10,290 Aquí caminante sigue siendo una variable. 432 00:21:10,290 --> 00:21:14,230 Sólo tiene un estudiante tipo ahora en lugar de un tipo int, o una cadena de tipo, 433 00:21:14,230 --> 00:21:15,070 o un tipo char. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 Si había una manera fácil de hablar sobre estructuras, es, literalmente, sólo un 436 00:21:19,930 --> 00:21:24,430 crear su propio tipo de datos que le permite al grupo 437 00:21:24,430 --> 00:21:28,320 todas estas diferentes tipo de datos juntos. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 ¿Eso tiene sentido? 440 00:21:31,595 --> 00:21:33,920 441 00:21:33,920 --> 00:21:34,420 Okay. 442 00:21:34,420 --> 00:21:35,920 443 00:21:35,920 --> 00:21:37,530 Eso y el acceso con puntos. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 Casi todo lo que necesita. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> Bien, ¿de dónde va mi PowerPoint? 448 00:21:46,600 --> 00:21:47,580 Aquí lo tienes. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 Bueno, esto es raro. 451 00:21:50,520 --> 00:21:53,950 452 00:21:53,950 --> 00:21:55,420 Ajá. 453 00:21:55,420 --> 00:21:56,766 Aceptar, fresco. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 Cualesquiera otras cosas o hacer que que dirigirse a la práctica? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 Practique? 458 00:22:02,710 --> 00:22:03,501 Okay. 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 Voy a salir de esta. 462 00:22:06,600 --> 00:22:08,490 Si en cualquier momento durante preguntas de la práctica, 463 00:22:08,490 --> 00:22:12,630 Estoy feliz de renovar y pasar por las cosas. 464 00:22:12,630 --> 00:22:15,240 Así que tengo concurso cero hasta aquí. 465 00:22:15,240 --> 00:22:18,370 Si ustedes quieren tirar que en el equipo, 466 00:22:18,370 --> 00:22:20,670 al igual que tomar cinco minutos para navegar a través de. 467 00:22:20,670 --> 00:22:23,540 Tal vez elegir algún superior preguntas que quieren repasar. 468 00:22:23,540 --> 00:22:27,390 Si ustedes no puede decidir, sólo tendremos que poco a poco empezar a trabajar a través de ellos, 469 00:22:27,390 --> 00:22:31,590 pero estoy seguro de que va a haber algún preguntas que usted es particular 470 00:22:31,590 --> 00:22:34,890 con ganas de hablar y tener mi trabajo a través de todos ustedes. 471 00:22:34,890 --> 00:22:36,580 Así que seguir adelante y tomar cinco minutos. 472 00:22:36,580 --> 00:22:37,780 Desplazarse a través de. 473 00:22:37,780 --> 00:22:40,620 Y esta es la prueba a partir de 2013. 474 00:22:40,620 --> 00:22:41,841 >> AUDIENCIA: Cero? 475 00:22:41,841 --> 00:22:43,630 >> ALLISON BUCHHOLTZ-AU: Sí, concurso cero. 476 00:22:43,630 --> 00:22:45,647 No estamos haciendo un concurso de cosas. 477 00:22:45,647 --> 00:22:46,980 Vamos a hacer que en un par de semanas. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 También para aquellos de ustedes que llegó tarde, tenemos el caramelo, 480 00:22:55,190 --> 00:23:00,580 por lo que hace que ustedes quieren el caramelo? 481 00:23:00,580 --> 00:23:01,530 >> AUDIENCIA: Claro. 482 00:23:01,530 --> 00:23:03,321 >> ALLISON BUCHHOLTZ-AU: Yo sólo soy va a pasar alrededor. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 Oye, si ustedes llegan aquí temprano, se obtiene más dulces. 485 00:23:11,940 --> 00:23:12,500 Eso está bien. 486 00:23:12,500 --> 00:23:13,550 Ben, ¿quieres caramelos? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 ¿Quieres un poco de esto? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 También hay Snickers si alguien quiere Snickers. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 Voy a dejar aquí y aquí. 493 00:23:29,360 --> 00:23:30,946 Siéntase libre. 494 00:23:30,946 --> 00:23:32,485 ¿Quieres más? 495 00:23:32,485 --> 00:23:33,235 AUDIENCIA: todo listo. 496 00:23:33,235 --> 00:23:33,540 Gracias. 497 00:23:33,540 --> 00:23:36,248 >> ALLISON BUCHHOLTZ-AU: Y yo tenía una buena montoncito allí al principio. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 Ustedes la oportunidad de tomar la prueba y Llego a tener una fiesta concurso clasificación. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 Es un caos. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 exámenes. 504 00:23:57,385 --> 00:23:58,650 Va a ser muy divertido. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 El ir a ser grande. 507 00:24:02,036 --> 00:24:04,430 Estoy bastante seguro de que es una de la mayor vinculación de personal 508 00:24:04,430 --> 00:24:05,380 noches del año. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 ¿Alguien ha hecho prueba de cero el año pasado todavía por curiosidad? 511 00:24:19,175 --> 00:24:20,335 >> AUDIENCIA: Partes de ella. 512 00:24:20,335 --> 00:24:21,543 >> ALLISON BUCHHOLTZ-AU: Partes de ella, en Aceptar. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 ¿Sabía usted tiene preguntas sobre cualquiera de ellos? 515 00:24:26,482 --> 00:24:28,190 AUDIENCIA: Ya fue a las horas de oficina. 516 00:24:28,190 --> 00:24:28,898 Gracias embargo. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ALLISON BUCHHOLTZ-AU: Bueno, con suerte es todavía tipo de útiles. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 ¿Cuándo vas a horario de oficina para que? 521 00:24:45,634 --> 00:24:47,300 AUDIENCIA: Mi TF ellos tenía esta tarde. 522 00:24:47,300 --> 00:24:47,966 ALLISON BUCHHOLTZ-AU: Oh. 523 00:24:47,966 --> 00:24:48,977 ¿Quién es tu 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: Hay tantas TFS. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 Así que muchos. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 Bien. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 Alguien tiene alguna para iniciar lo que pueda Anote que queremos trabajar? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 Supongo que los punteros uno con la tabla. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 No te lo pienses. 538 00:25:57,610 --> 00:25:59,180 >> AUDIENCIA: Tal vez el interruptor de uno. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ALLISON BUCHHOLTZ-AU: Así que el número 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 Asumo número 8 y 9 son, probablemente, Lo que la gente quiere ir. 543 00:26:10,770 --> 00:26:12,116 >> AUDIENCIA: Y 10 y 11. 544 00:26:12,116 --> 00:26:21,860 545 00:26:21,860 --> 00:26:25,806 >> ALLISON BUCHHOLTZ-AU: ¿Y ustedes saben usted consigue una página de notas, ¿verdad? 546 00:26:25,806 --> 00:26:28,450 >> AUDIENCIA: Sí, ¿y qué son nos permitió poner en eso. 547 00:26:28,450 --> 00:26:30,658 >> ALLISON BUCHHOLTZ-AU: Está permitido poner todo lo que quieras. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 Y puede ser escrito. 550 00:26:32,720 --> 00:26:35,270 Por lo que yo recuerdo, la nuestra fueron mecanografiadas. 551 00:26:35,270 --> 00:26:37,022 >> AUDIENCIA: Usted puede hacer espalda y ambos lados? 552 00:26:37,022 --> 00:26:38,780 >> ALLISON BUCHHOLTZ-AU: Sí, ambos lados. 553 00:26:38,780 --> 00:26:42,940 Así que algo como el montón y [? parte de atrás?] montón, su funcionamiento 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 Quizás pequeñas cosas acerca de punteros para recordarle. 557 00:26:47,990 --> 00:26:49,205 Sintaxis de las cosas. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 Tener al igual que un esqueleto programa puede ser muy útil. 560 00:26:54,830 --> 00:27:00,719 Yo sé que siempre me olvidé exactamente lo Se suponía que debía escribir para int main, 561 00:27:00,719 --> 00:27:03,010 porque siempre acaba copio pegar desde mi conjunto P anterior 562 00:27:03,010 --> 00:27:06,232 o que ya está ahí, por lo que Realmente nunca escribí, 563 00:27:06,232 --> 00:27:07,690 así que tener eso puede ser super útil. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> OK, así que ¿por qué no hacemos nosotros comenzar con el número 8, entonces? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 Bien. 568 00:27:22,810 --> 00:27:23,310 Okay. 569 00:27:23,310 --> 00:27:25,060 570 00:27:25,060 --> 00:27:26,310 Así que considere el programa a continuación. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 Así que, obviamente, cuando vemos punteros, probablemente 573 00:27:30,700 --> 00:27:32,200 una buena idea para empezar a dibujar, ¿verdad? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 Quiero saber donde toda mi grandes trozos de tiza fueron. 576 00:27:36,760 --> 00:27:37,870 Esto es un poco molesto. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> Así que tenemos aquí una función de intercambio eso va a tomar en dos punteros. 579 00:27:45,820 --> 00:27:48,630 Así pues, en este caso, en realidad debería ser el cambio 580 00:27:48,630 --> 00:27:53,400 cosas frente a nuestro intercambio inicial función que sólo tomó en copias. 581 00:27:53,400 --> 00:27:57,030 Entonces, ¿qué va a hacer es-- empecemos por principal, 582 00:27:57,030 --> 00:27:58,450 porque ahí es donde 1 es. 583 00:27:58,450 --> 00:28:04,296 >> Así que tenemos un poco de int x 1. 584 00:28:04,296 --> 00:28:11,860 Tenemos algunos y que es igual a 2. 585 00:28:11,860 --> 00:28:14,390 Y luego tenemos algún intercambio eso va a tomar esos. 586 00:28:14,390 --> 00:28:17,320 Y vamos a ver lo que tenemos aquí. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 Y en nuestro table-- oh chico. 589 00:28:22,709 --> 00:28:23,792 ¿Cómo voy a hacer esto? 590 00:28:23,792 --> 00:28:25,900 Voy a sacar mi mesa aquí. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 Apenas por lo que es allí. 593 00:28:50,552 --> 00:28:51,260 Apenas por lo que es. 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 Y ellos nos dan que 1 es 1, y 1 2. 598 00:29:15,706 --> 00:29:16,206 Enfriar. 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 Así que 3. 603 00:29:20,464 --> 00:29:21,380 Y hay [? A 1.?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> Bien. 606 00:29:25,250 --> 00:29:35,202 Y a continuación, la dirección de x es 0x123. 607 00:29:35,202 --> 00:29:41,260 E Y es Ox127. 608 00:29:41,260 --> 00:29:41,760 Enfriar. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 Bien. 611 00:29:43,595 --> 00:29:46,710 Quiero que los chicos trabaja en este para el trabajo justo como-- en él 612 00:29:46,710 --> 00:29:48,385 con las personas que te rodean. 613 00:29:48,385 --> 00:29:50,340 Me hubiera gustado haber dicho que mientras yo estaba sentado arriba. 614 00:29:50,340 --> 00:29:50,840 Trabajar en él. 615 00:29:50,840 --> 00:29:53,270 Trate de trabajar en él por vosotros mismos por un par de minutos, 616 00:29:53,270 --> 00:29:54,930 y luego voy a trabajar en él con usted. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 Debido a que la única manera de que estés realmente va a aprender es haciéndolo usted mismo. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 No se preocupe. 621 00:31:30,110 --> 00:31:30,610 Buena suerte. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> Bien, ¿por qué no hacemos que poco a poco comenzar a trabajar a través de este. 624 00:32:20,030 --> 00:32:23,695 Así que todo el mundo recibe después de la línea uno, x es 1. 625 00:32:23,695 --> 00:32:26,860 Después de la línea dos, x y y son 1 y 2, ¿verdad? 626 00:32:26,860 --> 00:32:27,400 Enfriar. 627 00:32:27,400 --> 00:32:30,310 Así que la línea tres es donde las cosas ponerse interesante, por supuesto. 628 00:32:30,310 --> 00:32:34,970 >> Así que lo que hemos hecho aquí es que ahora tenemos intercambiado. 629 00:32:34,970 --> 00:32:42,360 Decimos que X e Y tienen esos puntos, o que tienen la dirección de x e y, 630 00:32:42,360 --> 00:32:43,390 ¿verdad? 631 00:32:43,390 --> 00:32:48,451 Así que en este caso, tres, ¿cuál es el valor de una? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 una había sido aprobada en, se le ha dado el valor de la dirección de x, ¿verdad? 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: Así que añadimos a la x? 637 00:33:05,200 --> 00:33:06,420 ¿Cuál es la dirección 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 lo que es una realidad que apunta a? 642 00:33:16,790 --> 00:33:20,790 Si tuviéramos que eliminar la referencia a, ¿qué valor tendría que darnos. 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 darnos 1, porque lo que 645 00:33:23,164 --> 00:33:27,810 que estamos diciendo es ir a este dirección, nos dice cuál es el valor. 646 00:33:27,810 --> 00:33:28,890 Entonces, ¿qué sería de 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 Así que es la dirección de y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 Y entonces, ¿qué [? eliminar la referencia? ?] 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, así que ahora cuatro. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 Dijimos a es equal-- bien ahora que hemos hecho int temp es igual a la estrella de una. 659 00:33:51,300 --> 00:33:53,580 Entonces, ¿qué cambia? 660 00:33:53,580 --> 00:33:55,680 Sólo hay una cosa eso cambia aquí. 661 00:33:55,680 --> 00:33:56,180 Qué es? 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: La temp. 665 00:33:59,540 --> 00:34:06,120 Así que podemos volver a escribir todo esto. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 Una buena estrategia para estos se acaba de averiguar 668 00:34:10,690 --> 00:34:14,050 qué cambios, porque más a menudo sólo hay una cosa que es 669 00:34:14,050 --> 00:34:16,300 va a cambiar en un momento dado, ¿de acuerdo? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 Así hemos asignado temp. 672 00:34:20,100 --> 00:34:26,929 >> Ahora nuestro próximo punto, cinco, nos han hecho una estrella igual a protagonizar b. 673 00:34:26,929 --> 00:34:28,880 Entonces, ¿qué cambia ahora? 674 00:34:28,880 --> 00:34:29,760 >> AUDIENCIA: Estrella a. 675 00:34:29,760 --> 00:34:32,081 >> ALLISON BUCHHOLTZ-AU: Estrella a, so todo lo demás se mantiene igual. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 ¿Y qué significa protagonizar un igual? 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 Precioso. 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 Aceptar y, a continuación, ahora tenemos iniciar b es igual a temp. 685 00:34:51,190 --> 00:34:53,907 Así que lo único que cambia es la estrella b. 686 00:34:53,907 --> 00:34:55,344 Todo lo demás se mantiene igual. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 ¿Y cuál es la estrella b igual a ahora? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 Y que haya completado la tabla. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 Porque ahora, al final, si decimos x ey, sabemos que en este point-- 693 00:35:18,460 --> 00:35:23,060 sabemos que cuando nos cambiado protagonizar una de 2, 694 00:35:23,060 --> 00:35:29,620 lo que hicieron es que dijo que estaba bien, en abordar 0x123 aquí, cambiarlo. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 Ahora bien, esto era 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 Y a continuación, en este punto, decíamos así, diríjase a la estrella b. 699 00:35:40,600 --> 00:35:45,305 Así que ir a la dirección en 0x127 y lo convierten en un 1. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 Así que ahora en el final cuando en realidad nos volvemos para main, 702 00:35:53,110 --> 00:35:56,445 en realidad tenemos que x es igual a 2 e y es igual a 1. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 Todo el mundo bien con eso? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 Aceptar, fresco. 707 00:36:02,320 --> 00:36:04,030 Número 9. 708 00:36:04,030 --> 00:36:05,950 Ustedes trabajar en esto. 709 00:36:05,950 --> 00:36:09,016 Voy a establecer un consejo por lo que podemos sacar a través de él. 710 00:36:09,016 --> 00:36:09,910 Va a ser una explosión. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 Las grandes mesas pueden ser realmente da miedo, lo sé. 713 00:36:16,320 --> 00:36:19,910 Pero si sólo los toma en una fila un tiempo, ellos dan mucho menos miedo. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 Bien. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> Así que ya sabes que esto tendrá pasado por principal primero, ¿no? 718 00:38:21,190 --> 00:38:24,140 Inicializa x e y y luego trata de cambiarlos. 719 00:38:24,140 --> 00:38:28,560 Así que incluso está por encima de intercambio, de manera real, Goes es que estamos pasando por principal, 720 00:38:28,560 --> 00:38:31,040 y entonces está llamando hasta cambiar, ¿de acuerdo? 721 00:38:31,040 --> 00:38:32,810 Así que todo el mundo sabe eso. 722 00:38:32,810 --> 00:38:34,960 >> Así que ¿cuál chicos quieren empezar? 723 00:38:34,960 --> 00:38:37,240 ¿Hay alguien realmente seguro sobre uno de estos? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 O incluso parcialmente seguro? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 ¿Por qué no empezamos con x? 728 00:38:48,120 --> 00:38:49,060 ¿Qué pensamos x es? 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 Así que ¿por qué es 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 Y eso es porque el gran distinción aquí 735 00:39:01,380 --> 00:39:04,890 es que sólo somos pasando copias, ¿no? 736 00:39:04,890 --> 00:39:06,520 No estamos pasando por referencia. 737 00:39:06,520 --> 00:39:08,850 Así que incluso al final de este programa x e y 738 00:39:08,850 --> 00:39:14,170 han permanecido igual, porque son sólo copias en la función de intercambio. 739 00:39:14,170 --> 00:39:16,320 Ellos en realidad no cambian, ¿no? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> Entonces, ¿qué acerca de a, b, y la temperatura? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> AUDIENCIA: A es B. 744 00:39:22,890 --> 00:39:23,940 >> ALLISON BUCHHOLTZ-AU: a es b. 745 00:39:23,940 --> 00:39:28,569 Así que en este caso, una era x, que es 1, ¿no? 746 00:39:28,569 --> 00:39:29,860 Así que aquí, vamos a caminar a través de él. 747 00:39:29,860 --> 00:39:33,940 Así que al principio, una y b son 1 y 2 e indefinido. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 Así que originalmente temp consigue asignado a una, por lo que la temperatura es 1. 750 00:39:40,850 --> 00:39:46,150 a es igual a b, por lo que tenemos 2, y b es igual a temp. 751 00:39:46,150 --> 00:39:47,284 Ahora tenemos 1. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> AUDIENCIA: En el que anterior intercambiadas ampersand x y signo y. 754 00:39:55,860 --> 00:39:57,390 ¿Qué significa eso exactamente? 755 00:39:57,390 --> 00:39:59,890 ALLISON BUCHHOLTZ-AU: Así que eso significa que estás pasando por referencia. 756 00:39:59,890 --> 00:40:03,830 Así que eso significa que eres en realidad que pasa en las direcciones de donde 757 00:40:03,830 --> 00:40:04,814 x e y se almacenan. 758 00:40:04,814 --> 00:40:06,730 AUDIENCIA: Pero usted no es el canje de la dirección. 759 00:40:06,730 --> 00:40:07,860 ALLISON BUCHHOLTZ-AU: Usted no es intercambio de las direcciones. 760 00:40:07,860 --> 00:40:10,015 Usted está intercambiando lo que hay dentro de ellos. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 Al igual que lo que está en esa dirección, y eso es por qué funciona. 763 00:40:14,460 --> 00:40:20,750 Versus en este programa aquí lo que estás haciendo es que estás creando copias. 764 00:40:20,750 --> 00:40:27,440 Así que tienes x e y que existen como sus propias variables aquí. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 Pero luego, cuando se pasa ellos en permuta, es 767 00:40:34,140 --> 00:40:38,090 como si está creando todo este otro conjunto. 768 00:40:38,090 --> 00:40:41,272 Así que nunca se es en realidad x e y conmovedoras. 769 00:40:41,272 --> 00:40:46,890 >> AUDIENCIA: Si signo x se lo que está en la dirección de x, ¿cuál sería la estrella x ser? 770 00:40:46,890 --> 00:40:53,290 >> ALLISON BUCHHOLTZ-AU: Ampersand x es lo que está en la dirección de x, entonces star-- bien, 771 00:40:53,290 --> 00:40:54,950 en este caso, x no es un puntero. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 AUDIENCIA: ¡Oh, OK. 774 00:40:57,040 --> 00:40:58,998 Por lo que sólo hace esto porque no es un puntero. 775 00:40:58,998 --> 00:40:59,890 ALLISON BUCHHOLTZ-AU: Derecho. 776 00:40:59,890 --> 00:41:03,046 Sólo se puede hacer de estrella algo que es un puntero. 777 00:41:03,046 --> 00:41:05,920 Tal vez usted podría hacer que a las cosas que no lo son, pero la compilación que 778 00:41:05,920 --> 00:41:07,350 hacen que las cosas locas que pasaría. 779 00:41:07,350 --> 00:41:09,570 Y yo no soy exactamente seguro de lo que iba a suceder. 780 00:41:09,570 --> 00:41:11,880 Siempre se puede tomar la dirección de algo, 781 00:41:11,880 --> 00:41:14,255 pero no se puede eliminar la referencia algo que no es un puntero. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 Si eso tiene sentido, eso es una buena distinción de tener. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> Así que no es tan malo, ¿verdad? 786 00:41:21,340 --> 00:41:23,650 Las mesas son de esperar conseguir un poco menos de miedo. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 Bien. 789 00:41:26,690 --> 00:41:28,370 ¡Ah, las divertidas. 790 00:41:28,370 --> 00:41:31,265 Así que ahora, a escribir su propio código. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 Así que voy a dejar que ustedes trabaja en esto durante unos cuatro minutos, 793 00:41:37,950 --> 00:41:41,480 y entonces podemos hablar acerca de maneras de acercarse a ella. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 No dude en hablar con la gente que te rodea. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 También esto es interesante. 798 00:41:49,155 --> 00:41:51,460 Es como una todas las niñas sección en este momento. 799 00:41:51,460 --> 00:41:52,190 Bastante emocionante. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 Excepto por Chang. 802 00:41:54,502 --> 00:41:56,190 Pero Chang no es realmente parte de la 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 Perfect. 806 00:42:18,485 --> 00:42:38,059 807 00:42:38,059 --> 00:42:39,475 Así que le daré un par de consejos. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 En el caso donde se tiene más de un carácter, donde 810 00:42:46,890 --> 00:42:49,990 usted tiene algo más como 123 o 1000 algo, 811 00:42:49,990 --> 00:42:53,790 tiene que ser capaz de bucle y convertir a través de cada uno de aquellos. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 Así que hay un par maneras que usted puede hacer que, 814 00:42:58,699 --> 00:43:01,740 pero usted está definitivamente va a tener un bucle en algún lugar de allí para bucle 815 00:43:01,740 --> 00:43:05,150 a través de ellos, que es algo así como el sorteo 816 00:43:05,150 --> 00:43:09,540 con incluso si se llama a strlen, que es algo así como ¡oh 817 00:43:09,540 --> 00:43:12,418 tal vez usted desea utilizar la longitud de la cadena de alguna manera. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> Bien. 820 00:45:17,829 --> 00:45:20,870 Entonces, ¿qué piensan ustedes que podría ser una de las primeras cosas que queremos hacer? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 Hay un par de casos en aquí tenemos que tener en cuenta, ¿verdad? 823 00:45:25,690 --> 00:45:27,360 O tenemos algo que es nulo. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 ¿Qué tenemos? 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 Tenemos el caso de que tiene algo que no sea 09, ¿no? 831 00:45:42,414 --> 00:45:43,580 Así que vamos a decir que tiene letras. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 O tenemos el caso de que es válido. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 Tres casos para pensar. 836 00:45:50,130 --> 00:45:53,527 Así que ¿cuál piensa que podría ser la más fácil para cuidar de primera? 837 00:45:53,527 --> 00:45:54,152 AUDIENCIA: Nulo. 838 00:45:54,152 --> 00:45:55,527 ALLISON BUCHHOLTZ-AU: El caso es nulo. 839 00:45:55,527 --> 00:45:56,610 Entonces, ¿qué íbamos a hacer allí? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 AUDIENCIA: [inaudible]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ALLISON BUCHHOLTZ-AU: Sí. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 ¿Y qué es lo que quiero hacer? 846 00:46:06,550 --> 00:46:07,341 >> AUDIENCIA: Regresa 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 Okay. 851 00:46:10,640 --> 00:46:15,270 Así que ahora el caso de que tenga letras y el caso de que es válido. 852 00:46:15,270 --> 00:46:19,140 De hecho, podemos cuidar esto dentro de un bucle, ¿de acuerdo? 853 00:46:19,140 --> 00:46:22,710 Así que una manera de hacerlo it-- lo que podría ser una forma simple de comprobar si es válida. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 Tendríamos que ir a través de cada letra y hacer qué? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> AUDIENCIA: Comprobar si es en-- 858 00:46:35,640 --> 00:46:39,570 >> ALLISON BUCHHOLTZ-AU: Derecho, se puede comprobar si es entre 0 y 9, ¿no? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 Y luego, en el caso que es válida, estamos 861 00:46:42,700 --> 00:46:46,550 va a terminar iteración a través de nuestra cadena de todos modos, ¿no? 862 00:46:46,550 --> 00:46:48,690 Entonces, ¿por qué no intentamos y combinarlas en una sola. 863 00:46:48,690 --> 00:46:51,260 Vamos a repetir a través de la cadena fuera, y como hemos 864 00:46:51,260 --> 00:46:56,400 hacer eso, vamos a primero hacer una verificación para ver si esa letra 865 00:46:56,400 --> 00:46:58,110 o si ese personaje es válida. 866 00:46:58,110 --> 00:47:02,150 Si es así, vamos a realizar la operación que tenemos que convertirlo. 867 00:47:02,150 --> 00:47:05,050 De lo contrario, regresará 0, ¿no? 868 00:47:05,050 --> 00:47:09,160 >> Así que antes de hacer eso, nos probablemente querrá alguna variable 869 00:47:09,160 --> 00:47:12,820 que podemos volver al final que va a ser nuestro valor real. 870 00:47:12,820 --> 00:47:17,005 Así que vamos a inicializar algún valor sea 0. 871 00:47:17,005 --> 00:47:18,390 Y así es como empezamos. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 Así que voy a deshacerse de este. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 Entonces, ¿cómo vamos a iterar a través de esta cadena. 876 00:47:30,489 --> 00:47:31,280 AUDIENCIA: bucle For. 877 00:47:31,280 --> 00:47:32,280 ALLISON BUCHHOLTZ-AU: Un bucle for. 878 00:47:32,280 --> 00:47:33,160 Entonces, ¿cuál es nuestra buscas? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> AUDIENCIA: i es 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 Y lo que estamos iterando hasta que? 884 00:47:41,180 --> 00:47:42,450 >> AUDIENCIA: longitud 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, ahora recuerdo hay una mejor manera. [Inaudible]. 887 00:47:50,900 --> 00:47:52,935 >> AUDIENCIA: Sí, podemos hacer n es 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 es menor que n. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ALLISON BUCHHOLTZ-AU: ¿Y por qué querríamos hacer eso? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 ¿Te acuerdas de la razón? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 AUDIENCIA: Tenemos que volver a calcular la misma. 897 00:48:05,680 --> 00:48:08,735 ALLISON BUCHHOLTZ-AU: robaba de esta manera usted sólo tienen que calcular strlen una vez. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 Si lo hace i es menor que strlen s, eso es significa que recalcula 900 00:48:14,400 --> 00:48:17,050 la longitud de cada vez se ejecuta el bucle for, 901 00:48:17,050 --> 00:48:20,800 que no es un enorme costo de la energía, pero es 902 00:48:20,800 --> 00:48:24,280 mejor práctica para tratar de hacer cosas como que una vez. 903 00:48:24,280 --> 00:48:27,610 A menos que tal vez usted tiene una cadena loca eso está cambiando en cada iteración. 904 00:48:27,610 --> 00:48:30,371 Pero si se mantiene igual, la salvará. 905 00:48:30,371 --> 00:48:30,870 Bien. 906 00:48:30,870 --> 00:48:33,430 Y entonces yo plus plus. 907 00:48:33,430 --> 00:48:34,040 Impresionante. 908 00:48:34,040 --> 00:48:35,789 Estamos en nuestro camino. 909 00:48:35,789 --> 00:48:36,830 AUDIENCIA: ¿En serio rápidamente. 910 00:48:36,830 --> 00:48:39,600 En primer lugar, por lo que vamos a decir que acabamos de ¿He de menos de strlen de s, 911 00:48:39,600 --> 00:48:42,175 nos están calificando en el diseño en absoluto o sólo la corrección? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 Ellos no lo son. 914 00:48:44,610 --> 00:48:47,920 Estamos de calificaciones en la corrección para pruebas por lo que yo sé. 915 00:48:47,920 --> 00:48:52,670 No puedo hacer una en el pleno garantía, pero en su mayor parte, 916 00:48:52,670 --> 00:48:57,060 gran mayoría es correcto, porque estás bajo mucha restricción de tiempo. 917 00:48:57,060 --> 00:48:59,704 Diseño normalmente significa usted tiene tiempo para pensar 918 00:48:59,704 --> 00:49:01,245 sobre la elegancia de su situación. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> Aceptar, por lo que estamos iterando a través. 921 00:49:05,770 --> 00:49:10,640 Así que tenemos que revisar, ya sea a ver si este personaje es válida 922 00:49:10,640 --> 00:49:14,550 o si podemos realizar nuestro normal [? una para i?] función. 923 00:49:14,550 --> 00:49:16,600 Podemos preocuparse por lo que es decir en un segundo. 924 00:49:16,600 --> 00:49:19,340 Entonces, ¿por qué no nos take-- si alguien puede pensar 925 00:49:19,340 --> 00:49:21,930 acerca de una manera de comprobar que ver si esto es válido. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 Sabemos que va a ser si alguna condición, ¿no? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 Y recuerda que esto es en ASCII, así que ¿cómo podría 930 00:49:32,300 --> 00:49:37,359 vemos si no es 0,1, 2, 3, 4, 5, 6, 7, 8, o 9. 931 00:49:37,359 --> 00:49:38,150 AUDIENCIA: Si alfa. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ALLISON BUCHHOLTZ-AU: Así que si lo haría alfa sólo háganos saber si se trata de una carta. 934 00:49:44,100 --> 00:49:47,810 Y si nos dan un símbolo, es todavía no del todo va a comprobar. 935 00:49:47,810 --> 00:49:54,270 Así que si usted tira de su ASCII mesa, sabemos que del 0 al 9 936 00:49:54,270 --> 00:49:55,340 están en un segmento. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 Dime los números que corresponden a si es 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: Así que el rango es como 40-- 943 00:50:13,714 --> 00:50:14,380 AUDIENCIA: Tal vez. 944 00:50:14,380 --> 00:50:16,110 945 00:50:16,110 --> 00:50:16,765 48 a 57. 946 00:50:16,765 --> 00:50:17,430 No estoy seguro. 947 00:50:17,430 --> 00:50:18,510 >> ALLISON BUCHHOLTZ-AU: de 40 a 57? 948 00:50:18,510 --> 00:50:19,426 >> AUDIENCIA: 48, creo. 949 00:50:19,426 --> 00:50:20,730 ALLISON BUCHHOLTZ-AU: 48 a 57. 950 00:50:20,730 --> 00:50:26,070 Así que sabemos que los ASCII symbols-- si el valor ASCII no es 951 00:50:26,070 --> 00:50:29,940 entre el 48 y el 57, no es válido, ¿no? 952 00:50:29,940 --> 00:50:32,050 Así que podríamos usar eso para nuestra ventaja posiblemente? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 ¿Cómo vamos a conseguir esta carta, en primer lugar? 955 00:50:38,082 --> 00:50:40,910 ¿Cómo estamos accediendo esto este personaje? 956 00:50:40,910 --> 00:50:42,010 >> AUDIENCIA: s i soporte. 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 cadenas como arrays, recuerdan. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 Entonces, ¿qué es lo que queremos decir? 962 00:50:48,740 --> 00:50:55,920 Queremos decir si esta es-- te voy a dar una pista. 963 00:50:55,920 --> 00:50:56,920 Se trata de un menor que. 964 00:50:56,920 --> 00:50:58,711 ¿Qué crees 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, ¿no? 969 00:51:02,900 --> 00:51:08,920 Pero también representa que a medida que un 0 en un solo [? los radios?], porque eso es 970 00:51:08,920 --> 00:51:09,689 el carácter 0. 971 00:51:09,689 --> 00:51:10,605 También puede poner 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 Tener la tabla ASCII, como que se ve, es sólo algo 974 00:51:14,350 --> 00:51:18,580 usted debe tener en su hoja de examen. 975 00:51:18,580 --> 00:51:25,830 >> Así que si este es el caso, si es una menos de 0-- y no necesariamente. 976 00:51:25,830 --> 00:51:30,890 No es más que cualquiera de los dos va a ser inferior o superior a 9. 977 00:51:30,890 --> 00:51:33,055 Así que usted puede llenar esta última para mí? 978 00:51:33,055 --> 00:51:36,440 Así que o s de i es lo que, Rhea? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> AUDIENCIA: Mayor que 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ALLISON BUCHHOLTZ-AU: No. 983 00:51:44,221 --> 00:51:47,280 ¿Eso tiene sentido para todo el mundo, ¿cómo llegamos allí? 984 00:51:47,280 --> 00:51:51,340 Estos problemas, que son como una vez que ver las soluciones, es como oh, OK. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 Y es por eso que la práctica le ayudará. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 OK, así que volvemos 0. 989 00:51:57,400 --> 00:51:57,900 Precioso. 990 00:51:57,900 --> 00:51:59,000 991 00:51:59,000 --> 00:51:59,670 Bien. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 De lo contrario, ¿qué queremos hacer? 994 00:52:02,365 --> 00:52:04,640 Esta es la parte interesante donde es un poco más 995 00:52:04,640 --> 00:52:07,550 como las matemáticas frente a CS en mi opinión. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 ¿Alguien tiene una idea de cómo podemos hacer esto? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 Así que lo importante se dan cuenta es el primer carácter 1000 00:52:18,155 --> 00:52:21,510 estamos tomando va a ser el dígito de orden más alto, ¿no? 1001 00:52:21,510 --> 00:52:25,975 Así que si estamos viendo la conversión 123, la primera vez iteramos 1002 00:52:25,975 --> 00:52:30,800 va a ser 1, pero necesitamos que para ser 100 para el final, ¿verdad? 1003 00:52:30,800 --> 00:52:34,450 Así que una cosa que puedes hacer es que con cada dígito subsiguiente 1004 00:52:34,450 --> 00:52:39,670 usted toma, usted multiplica su valor por 10, de modo que para el momento en que llegue a la final, 1005 00:52:39,670 --> 00:52:42,960 todo ha sido desplazado hacia arriba, a la derecha? 1006 00:52:42,960 --> 00:52:46,490 >> Así que la primera vez que se ejecuta él, usted tiene 1 como su valor. 1007 00:52:46,490 --> 00:52:50,370 Segunda vez que se ejecuta, usted multiplicar su valor por 10. 1008 00:52:50,370 --> 00:52:55,180 Se actualizará de modo que ahora es 10, y añadir en su siguiente valor. 1009 00:52:55,180 --> 00:52:57,830 Y entonces usted multiplica eso por 10 y añadir en su siguiente valor. 1010 00:52:57,830 --> 00:53:01,880 Y es por eso que dicen que esto es mucho más parecido a las pruebas 1011 00:53:01,880 --> 00:53:06,920 un algoritmo matemático frente CS, pero estoy divagando. 1012 00:53:06,920 --> 00:53:08,080 Yo no escribo las pruebas. 1013 00:53:08,080 --> 00:53:13,520 >> Así que una cosa que podemos hacer es que dicen que es igual a 10 veces el valor. 1014 00:53:13,520 --> 00:53:16,630 Así que esto va a cambiar su dígito una vez cada vez. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 Y luego sólo queremos agregar. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 Queremos añadir en lo acabamos de recibir, ¿no? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 Entonces, ¿cómo nos convertimos en realidad nuestra De caracteres ASCII en el 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 >> Así que sabemos que 0 es igual a 47, ¿no? 1024 00:53:40,800 --> 00:53:44,260 Así que si 0 es 47, lo que tendríamos que hacer para que 1025 00:53:44,260 --> 00:53:47,376 para hacer realidad sea un int de 0? 1026 00:53:47,376 --> 00:53:48,384 >> AUDIENCIA: Es 48. 1027 00:53:48,384 --> 00:53:49,050 ALLISON BUCHHOLTZ-AU: 48? 1028 00:53:49,050 --> 00:53:49,550 Lo siento. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 Nos resta 48, ¿no? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 Recuerde matemáticas ASCII? 1033 00:53:59,550 --> 00:54:01,565 Podemos tratarlos sólo como números normales. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 Si usted los trata como números, se convierten en los números de eficacia. 1036 00:54:05,900 --> 00:54:10,410 Así que si tenemos s de i, que vamos a decir en este caso es igual a 0. 1037 00:54:10,410 --> 00:54:14,420 Así s de i en este caso sería el ASCII-- 1038 00:54:14,420 --> 00:54:16,675 el int ASCII para que sería 47. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 Así que podríamos subtract-- o 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 Usted podría hacer eso, es una manera. 1043 00:54:22,440 --> 00:54:25,125 ¿Alguien sabe de un mejor manera que podríamos hacer 48? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 Acabamos de decir 0 es-- entrar en el ASCII que podía hacer cita 0. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 Así lo hace tipo de hacer sentido de cómo funciona esto? 1048 00:54:43,160 --> 00:54:50,080 >> AUDIENCIA: En este punto, es el valor 0 porque incluso si lo multiplicas por 10, 1049 00:54:50,080 --> 00:54:53,340 estás empezando con cero, por lo que en caso de que se enciende? 1050 00:54:53,340 --> 00:54:59,360 >> ALLISON BUCHHOLTZ-AU: Así que en este caso, querer multiplicar antes de agregar, 1051 00:54:59,360 --> 00:55:06,650 porque en este caso, sí, lo haría todavía ser: mi puntero no se encuentra. 1052 00:55:06,650 --> 00:55:09,980 El valor en este caso, la primera tiempo corremos será cero. 1053 00:55:09,980 --> 00:55:12,320 Así que sólo estás añadiendo en ese primer dígito. 1054 00:55:12,320 --> 00:55:15,930 Lo que es importante es que la próxima vez iterar, que desea desplazar hacia arriba 1055 00:55:15,930 --> 00:55:18,722 antes de agregar su siguiente dígito en. 1056 00:55:18,722 --> 00:55:21,223 ¿Eso aclarar para usted? 1057 00:55:21,223 --> 00:55:21,723 Okay. 1058 00:55:21,723 --> 00:55:23,050 1059 00:55:23,050 --> 00:55:25,900 >> A veces vas a conseguir más cosas extrañas Mathy. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 Si tuviera más de esto, usted todavía va 1062 00:55:30,750 --> 00:55:32,610 a get-- vas a hacer muy bien. 1063 00:55:32,610 --> 00:55:35,150 Crédito parcial es una muy gran cosa sobre concursos CS50. 1064 00:55:35,150 --> 00:55:36,270 Así que escribir lo que sabes. 1065 00:55:36,270 --> 00:55:39,640 Si tienes todo a excepción de aquí, eres 1066 00:55:39,640 --> 00:55:41,390 todavía va a hacer muy bien el problema. 1067 00:55:41,390 --> 00:55:43,750 Debido a que usted está demostrando, OK, yo sé casi. 1068 00:55:43,750 --> 00:55:45,570 Sé que tengo que recorrer. 1069 00:55:45,570 --> 00:55:47,260 Yo sé lo que tengo que comprobar. 1070 00:55:47,260 --> 00:55:50,584 Acabo de hacer no bastante obtener la forma de convertirlo. 1071 00:55:50,584 --> 00:55:51,500 Vas a estar bien. 1072 00:55:51,500 --> 00:55:52,850 Sí, usted va a perder un par de puntos, 1073 00:55:52,850 --> 00:55:55,641 pero usted todavía va a conseguir un buen número de puntos para algo 1074 00:55:55,641 --> 00:55:57,990 como que si estás faltan estas dos líneas. 1075 00:55:57,990 --> 00:56:00,660 Me gustaría ser como bien, esta persona sabe lo que están haciendo. 1076 00:56:00,660 --> 00:56:02,070 Matemáticas es difícil. 1077 00:56:02,070 --> 00:56:04,930 Así que yo diría que estaría bien. 1078 00:56:04,930 --> 00:56:09,474 >> Aceptar, por lo que los chicos listos para trate de strlen con punteros ahora 1079 00:56:09,474 --> 00:56:10,890 que ustedes son maestros puntero? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 Así que voy a dejar que ustedes chicos trabajan en que para un poco. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 Si alguien necesita un repaso. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 Así que usted quiere utilizar puntero aritmética, y luego, si s es nulo, 1086 00:56:28,060 --> 00:56:29,624 su aplicación debe devolver 0. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 Cosas como esta que te hacen muy feliz de simplemente llamar strlen 1089 00:56:39,670 --> 00:56:40,586 al final del día. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 Creo que éste podría ser un poco más fácil que el anterior, que 1092 00:57:27,624 --> 00:57:28,123 es bueno. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 Te voy a dar un minuto más chicos, y luego vamos a trabajar a través de él. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 Y luego tenemos que ir a los interruptores. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> Aceptar, chicos listos? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 Tal vez un poco. 1101 00:59:37,420 --> 00:59:40,210 Así que yo le he dado su dos opciones, ¿no? 1102 00:59:40,210 --> 00:59:45,810 Cualquiera de comprobar nula y devolver 0 si que es, o realmente calcular la longitud. 1103 00:59:45,810 --> 00:59:48,220 Entonces, ¿quién quiere escribir comprobar nula? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 No te lo pienses. 1106 00:59:51,790 --> 00:59:56,460 >> AUDIENCIA: Si paréntesis s es igual a es igual a nula rentabilidad 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 Me encanta cuando la mitad de su problema es simplemente la comprobación de nulos. 1111 01:00:02,320 --> 01:00:04,820 Sé que con ustedes último semana yo estaba como cheque por nulo 1112 01:00:04,820 --> 01:00:06,630 literalmente cada vez. 1113 01:00:06,630 --> 01:00:07,510 Aceptar, así que-- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> AUDIENCIA: Si return 0 es sólo una línea, Qué necesidad tenemos ya el soporte rizado? 1116 01:00:12,750 --> 01:00:15,860 >> ALLISON BUCHHOLTZ-AU: Usted no lo hace técnicamente necesitarlos, siempre eres consistente. 1117 01:00:15,860 --> 01:00:19,240 Es una buena práctica sólo a adquirir el hábito 1118 01:00:19,240 --> 01:00:21,650 de la utilización de llaves, pero técnicamente no. 1119 01:00:21,650 --> 01:00:23,320 Usted no los necesita para una línea. 1120 01:00:23,320 --> 01:00:26,030 Nosotros sólo tendemos a recomendar para las personas que empiezan a programar. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> Así que ahora lo que podríamos querer hacer aquí? 1123 01:00:30,450 --> 01:00:32,222 Así que ahora que sabemos que nuestra cadena es válida. 1124 01:00:32,222 --> 01:00:33,680 Queremos mantener cálculo de la longitud. 1125 01:00:33,680 --> 01:00:35,620 ¿Cuál es, probablemente, la primera Lo que queremos hacer? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> AUDIENCIA: Crear una int que es la longitud. 1128 01:00:41,276 --> 01:00:42,150 ALLISON BUCHHOLTZ-AU: Exactamente. 1129 01:00:42,150 --> 01:00:43,450 AUDIENCIA: Y queremos configurarlo para que? 1130 01:00:43,450 --> 01:00:44,210 ALLISON BUCHHOLTZ-AU: 0. 1131 01:00:44,210 --> 01:00:44,710 Perfect. 1132 01:00:44,710 --> 01:00:46,050 1133 01:00:46,050 --> 01:00:47,290 Bien. 1134 01:00:47,290 --> 01:00:48,750 Ahora lo que quiero hacer? 1135 01:00:48,750 --> 01:00:50,000 Esto es realmente la mayor parte de ella. 1136 01:00:50,000 --> 01:00:50,890 No te lo pienses. 1137 01:00:50,890 --> 01:00:54,370 >> AUDIENCIA: ¿Así que probablemente lo hace un bucle for. 1138 01:00:54,370 --> 01:01:03,150 Y luego, ya cuando se llama s eres obtener la dirección de la primera hora, 1139 01:01:03,150 --> 01:01:05,660 usted comenzaría con i es igual a 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 Y luego, siempre y cuando x además de que no está de vuelta slash 0. 1142 01:01:15,755 --> 01:01:17,130 ALLISON BUCHHOLTZ-AU: El terminador nulo. 1143 01:01:17,130 --> 01:01:18,380 AUDIENCIA: El terminador nulo. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 A continuación, se agrega uno de longitud. 1146 01:01:21,088 --> 01:01:22,372 >> ALLISON BUCHHOLTZ-AU: Sí. 1147 01:01:22,372 --> 01:01:25,940 Aceptar, por lo que permite convertir esa en código muy concreta. 1148 01:01:25,940 --> 01:01:27,537 Pero esa es la idea perfecta. 1149 01:01:27,537 --> 01:01:28,870 Eso es exactamente lo que estamos haciendo. 1150 01:01:28,870 --> 01:01:31,910 Vamos a ser la iteración a través con el puntero. 1151 01:01:31,910 --> 01:01:34,590 Así que lo que queremos hacer es lugar de un int 1152 01:01:34,590 --> 01:01:36,660 aquí, porque somos no se refiere a una red IT. 1153 01:01:36,660 --> 01:01:42,390 Nos referimos a el inicio de una cadena, que empezar a ser un poco de dirección, 1154 01:01:42,390 --> 01:01:43,300 ¿verdad? 1155 01:01:43,300 --> 01:01:44,600 >> Por eso queremos un puntero. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 Así que vamos a tener un poco de estrella char, porque corresponde a nuestros s, ¿no? 1158 01:01:52,310 --> 01:01:57,270 Así que este es un momento que estamos inicializar al inicio de la cadena, ¿de acuerdo? 1159 01:01:57,270 --> 01:01:58,949 Así que vamos a llamarlo i. 1160 01:01:58,949 --> 01:02:01,740 Si es el principio de la cadena, ¿qué va a ser asignado a? 1161 01:02:01,740 --> 01:02:03,690 1162 01:02:03,690 --> 01:02:04,530 No 0. 1163 01:02:04,530 --> 01:02:06,238 Nosotros queremos que sea la comienzo de nuestra cadena. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 Lo que representa el inicio de nuestra cadena que nos fue dado? 1166 01:02:09,960 --> 01:02:10,800 >> AUDIENCIA: Justo 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 Así que esto crea un nuevo puntero que representa el inicio de nuestra cadena, ¿de acuerdo? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 Otra forma de pensar de ella es como aquí está nuestra matriz. 1172 01:02:22,777 --> 01:02:26,690 Esa es nuestra cadena, s. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 Así que digamos que este es el primer lugar, y esto es 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 es nuestra s, que sostiene que la dirección. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 Y acabamos de crear otra llamada i que sólo se refiere a la misma cosa. 1181 01:02:45,960 --> 01:02:49,437 Así que los dos están simplemente apuntando al inicio de nuestra cadena. 1182 01:02:49,437 --> 01:02:51,020 Esto es sólo una representación gráfica. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> Así que ahora lo que queremos hacer es que queremos repetir 1185 01:02:57,100 --> 01:03:02,040 nuestra condición de iteración a través de nuestra cadena. 1186 01:03:02,040 --> 01:03:02,920 Ahora ir de compras. 1187 01:03:02,920 --> 01:03:04,150 Tengo que ir de compras, chicos. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 Es que queremos mantener la actualización hasta alcanzamos el terminador nulo, ¿no? 1190 01:03:12,390 --> 01:03:14,930 Entonces, ¿qué podría que parece? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 ¿Queremos i, o queremos estrella i es la pregunta? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 ¿Es el terminador nulo una dirección o algo situado en una dirección? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 Situado en una dirección, ¿no? 1197 01:03:33,660 --> 01:03:38,420 >> Así que tenemos que eliminar la referencia de lo que es aquí, porque esto es sólo un poco de dirección. 1198 01:03:38,420 --> 01:03:44,350 Para conseguir realmente al inicio tenemos que eliminar la referencia de este 1199 01:03:44,350 --> 01:03:46,770 por lo que en realidad obtenemos lo que hay en este primer lugar. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 Así que si lo hacemos Star I, lo que No queremos que la igualdad? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 AUDIENCIA: Volver barra? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ALLISON BUCHHOLTZ-AU: No. 1206 01:03:59,260 --> 01:04:01,430 ¿Eso tiene sentido para todo el mundo? 1207 01:04:01,430 --> 01:04:05,620 Tenemos que entrar en nuestra cadena y asegurarse de que no es el final. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 Y entonces podemos simplemente actualizar así. 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í que, mientras estos son Met, ¿qué es lo que tenemos que hacer? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> AUDIENCIA: Longitud 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 Y luego, después del bucle for termina, ¿qué es lo que queremos volver? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 AUDIENCIA: Longitud? 1220 01:04:27,790 --> 01:04:28,623 ALLISON BUCHHOLTZ-AU: Longitud. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 Hay que ir. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 Obviamente la carne de éste es la comprensión de este bucle. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 ¿Todo el mundo obtener la forma que trabajaron? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 Estoy feliz de ir sobre ella de nuevo. 1229 01:04:44,170 --> 01:04:48,400 >> AUDIENCIA: La segunda parte, por lo que la estrella i allí, 1230 01:04:48,400 --> 01:04:51,834 esa es la dirección de la primero-- 1231 01:04:51,834 --> 01:04:53,250 ALLISON BUCHHOLTZ-AU: No es la dirección. 1232 01:04:53,250 --> 01:04:54,142 Es lo que está en. 1233 01:04:54,142 --> 01:04:55,600 AUDIENCIA: Eso es en realidad en ese país. 1234 01:04:55,600 --> 01:04:57,475 ALLISON BUCHHOLTZ-AU: Eso es lo que es en realidad en ese país. 1235 01:04:57,475 --> 01:05:01,280 Así que esto es dejar que diciendo-- me hago esta mejor. 1236 01:05:01,280 --> 01:05:07,940 Así que esto es 0x04, y yo sólo voy para decir que voy a hacer esto mi nombre. 1237 01:05:07,940 --> 01:05:14,531 1238 01:05:14,531 --> 01:05:15,030 Okay. 1239 01:05:15,030 --> 01:05:17,456 1240 01:05:17,456 --> 01:05:19,080 Sí, sé que tengo opinión concurso de esta noche. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 Un montón de opinión Quiz. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 Así que digamos que esta cadena es mi nombre, Allison. 1245 01:05:26,620 --> 01:05:28,600 Poco desordenado, pero está ahí. 1246 01:05:28,600 --> 01:05:33,640 Y s representa la ubicación de donde comienza la cadena, 1247 01:05:33,640 --> 01:05:41,950 así que voy a hacer esto real-- esta es la dirección de una, 1248 01:05:41,950 --> 01:05:45,000 donde comienza la cadena, ¿no? 1249 01:05:45,000 --> 01:05:48,560 >> Así que lo que hacemos aquí es que queremos utilizar punteros para recorrer. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 Así que creamos algún puntero, i, que también es igual a la de inicio de la cadena. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 Y en cada punto, queremos continuar pasando por la matriz 1254 01:06:03,820 --> 01:06:07,570 aquí hasta que nos golpeamos el terminador nulo. 1255 01:06:07,570 --> 01:06:12,320 Así que siempre queremos comprobar qué es en cada una de estas direcciones. 1256 01:06:12,320 --> 01:06:15,730 >> Por lo tanto, eliminar la referencia i, de manera que la primera vez que lo hacemos nosotros 1257 01:06:15,730 --> 01:06:17,810 decir, OK, lo que está en la dirección 0x04? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 Es un a. 1260 01:06:19,720 --> 01:06:20,660 Bien, estamos bien. 1261 01:06:20,660 --> 01:06:21,770 Incremento de longitud. 1262 01:06:21,770 --> 01:06:22,790 Pasar a la siguiente. 1263 01:06:22,790 --> 01:06:32,410 Así que yo-- recordar punteros aumento por el tamaño de lo que están señalando. 1264 01:06:32,410 --> 01:06:35,320 Así pues, en este caso, ya que es un char, que va a actualizar a una. 1265 01:06:35,320 --> 01:06:38,755 Así que ahora vamos a mirar a 5, lo que significa que va por aquí. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 Por lo que dice bien, ir a 0x05. 1268 01:06:43,440 --> 01:06:44,270 ¿Qué hay ahí? 1269 01:06:44,270 --> 01:06:44,930 Es una l. 1270 01:06:44,930 --> 01:06:47,870 Y va a seguir haciendo que hasta que llega a éste. 1271 01:06:47,870 --> 01:06:50,990 Y dice bien, lo que está en sea ​​cual sea la dirección que es esto? 1272 01:06:50,990 --> 01:06:53,060 El terminador nulo, en Aceptar. 1273 01:06:53,060 --> 01:06:53,870 Salida. 1274 01:06:53,870 --> 01:06:55,240 Y justo volver longitud. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 Porque usted necesita lo que en realidad es en esa dirección, no la dirección de sí mismo. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> Hay muy pocos lugares donde que realmente necesita la dirección. 1279 01:07:05,790 --> 01:07:08,720 La mayoría de las veces cuando está utilizando la y es 1280 01:07:08,720 --> 01:07:12,424 cuando usted es el primer la asignación de un puntero o cuando 1281 01:07:12,424 --> 01:07:14,090 estás pasando en otra función. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 Aceptar, todos bien allí? 1284 01:07:21,330 --> 01:07:21,830 Tipo de? 1285 01:07:21,830 --> 01:07:23,810 1286 01:07:23,810 --> 01:07:25,040 Okay. 1287 01:07:25,040 --> 01:07:28,210 >> Así que parece que hemos tiene alrededor de 12 minutos para el final, 1288 01:07:28,210 --> 01:07:31,340 así que vamos a ir a tal vez nuestro último problema, 1289 01:07:31,340 --> 01:07:34,230 y luego hay alguna conceptos que han surgido 1290 01:07:34,230 --> 01:07:36,830 mientras tanto podemos ir rápidamente sobre eso. 1291 01:07:36,830 --> 01:07:42,310 >> Así que cambiar de marcha es la última problema aquí, cambiar estados. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 Así que su trabajo es volver a escribir este de modo que se comporta de la misma 1294 01:07:49,450 --> 01:07:50,580 pero no utiliza los interruptores. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 Manos tiza. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 Así que cualquier pregunta sobre este fuera el bate? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 Ninguno? 1301 01:08:15,920 --> 01:08:16,420 Okay. 1302 01:08:16,420 --> 01:08:17,920 1303 01:08:17,920 --> 01:08:22,170 ¿Todo el mundo entiende que si el caso no tiene nada después de ella, 1304 01:08:22,170 --> 01:08:25,029 que significa que debe siga el siguiente paso? 1305 01:08:25,029 --> 01:08:28,200 Así que el caso 1 y 2 en este caso hacer exactamente lo mismo. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 Algunas veces un momento de confusión. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> Bien. 1310 01:09:33,488 --> 01:09:34,404 Alguien tiene alguna idea? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 ¿Sí? 1313 01:09:36,864 --> 01:09:40,120 >> AUDIENCIA: Así que usted puede sólo lo hacen si las declaraciones. 1314 01:09:40,120 --> 01:09:41,140 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1315 01:09:41,140 --> 01:09:42,880 ¿Cuál es nuestra primera? 1316 01:09:42,880 --> 01:09:48,120 >> AUDIENCIA: Si n es igual es igual a 1, y las 2 líneas para o n es igual 1317 01:09:48,120 --> 01:09:51,059 es igual a 2, luego la letra pequeña. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 Y a continuación, se puede hacer otra cosa si? 1320 01:09:59,520 --> 01:10:02,160 O puedes simplemente hacer un si? 1321 01:10:02,160 --> 01:10:03,650 >> ALLISON BUCHHOLTZ-AU: Usted puede hacer otra cosa si? 1322 01:10:03,650 --> 01:10:05,274 >> AUDIENCIA: ¿Le importa si lo haces si? 1323 01:10:05,274 --> 01:10:06,320 ALLISON BUCHHOLTZ-AU: Por lo que hace. 1324 01:10:06,320 --> 01:10:10,160 Hace anyone-- así, obtendrá el mismo resultado 1325 01:10:10,160 --> 01:10:13,930 si se utiliza sólo pasaría frente si utiliza IFS demás. 1326 01:10:13,930 --> 01:10:17,090 Pueden ustedes pensar en la razón por qué es posible que desee utilizar una cosa 1327 01:10:17,090 --> 01:10:18,680 si frente a una gran cantidad de IFS? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 Tiene que con eficiencia. 1330 01:10:21,510 --> 01:10:22,225 ¿Sí? 1331 01:10:22,225 --> 01:10:24,783 >> AUDIENCIA: Se comprobaría todos los ifs cada vez. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ALLISON BUCHHOLTZ-AU: Así que incluso si golpeó esta primera, 1334 01:10:28,110 --> 01:10:29,880 que iría en cheque cada otro. 1335 01:10:29,880 --> 01:10:36,690 Así que usted quiere utilizar if-else IFS en casos donde sólo uno de ellos nunca se aplicará. 1336 01:10:36,690 --> 01:10:39,380 Así que la exclusión mutua es lo que tendemos a decir. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 Si usted tiene un montón de síes, significa que tal vez más de uno de ellos 1339 01:10:46,550 --> 01:10:49,630 asuntos, y tal vez más de uno de ellos puede ser verdad. 1340 01:10:49,630 --> 01:10:51,910 Y desea tanto de ellos para ejecutar si son ciertas. 1341 01:10:51,910 --> 01:10:57,180 Si sólo desea uno de ellos para trabajar en estos casos mutuamente excluyentes, 1342 01:10:57,180 --> 01:11:00,790 desea utilizar otro si, porque todo tiene que ver con la eficiencia. 1343 01:11:00,790 --> 01:11:05,350 Su código es simplemente mejor diseñado si se adhiere a esta práctica. 1344 01:11:05,350 --> 01:11:07,330 Así que en este caso vamos a tener una persona si. 1345 01:11:07,330 --> 01:11:09,080 Y esto sería? 1346 01:11:09,080 --> 01:11:11,890 >> AUDIENCIA: n es igual es 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 Y luego, en nuestra última caso, ¿qué tenemos? 1352 01:11:29,930 --> 01:11:31,495 Otras ventas o bien si? 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: ¿Tenemos want-- Quiere más si ya tenemos casos concretos. 1356 01:11:37,900 --> 01:11:39,270 No es una especie de cajón de sastre. 1357 01:11:39,270 --> 01:11:44,247 Si usted tenía un defecto en un switch-- recordar en interruptores que puede tener el caso, 1358 01:11:44,247 --> 01:11:45,330 y entonces usted tiene por defecto. 1359 01:11:45,330 --> 01:11:48,760 Si usted tenía un defecto, que es una especie de su estado de cuenta más allí. 1360 01:11:48,760 --> 01:11:52,180 Pero si sólo tiene casos, que significa que usted necesita 1361 01:11:52,180 --> 01:11:54,315 para comprobar si se trata de cada uno de aquellos. 1362 01:11:54,315 --> 01:11:57,755 Así, en este caso, sería el 4 o 5. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 Queremos una huella. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 Es grande. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 Y ahí lo tienes. 1369 01:12:07,509 --> 01:12:08,800 Y eso sería su programa. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> Así que en este caso si tenía un defecto algo, 1372 01:12:17,050 --> 01:12:20,470 tendríamos una más en lo que quería que hiciéramos. 1373 01:12:20,470 --> 01:12:23,365 Así que es una buena distinción a saber, de comprender. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 ¿Eso ayuda con interruptores para usted? 1376 01:12:27,790 --> 01:12:28,800 Perfect. 1377 01:12:28,800 --> 01:12:29,390 Bien. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> Tenemos cerca de ocho minutos para el final. 1380 01:12:33,340 --> 01:12:37,090 ¿Ustedes tienen alguna otros conceptos de alto nivel? 1381 01:12:37,090 --> 01:12:38,720 Preguntas en general? 1382 01:12:38,720 --> 01:12:39,220 ¿Sí? 1383 01:12:39,220 --> 01:12:42,860 >> AUDIENCIA: Tuve una pregunta acerca de uno de ellos 1384 01:12:42,860 --> 01:12:46,257 eso fue el azar generador de números en concurso cero. 1385 01:12:46,257 --> 01:12:47,340 ALLISON BUCHHOLTZ-AU: Oh, eso. 1386 01:12:47,340 --> 01:12:51,460 Ese es otro donde es más matemática no sea: sí. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 La solución a que-- Yo incluso cuando Yo lo veo, yo soy como lo que es esto. 1389 01:12:59,452 --> 01:13:00,590 >> AUDIENCIA: Era el número 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ALLISON BUCHHOLTZ-AU: Es extraño, en mi opinión. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 Así que básicamente usted quiere utilizar drand48, que 1394 01:13:11,630 --> 01:13:15,420 le dará un poco de número entre 0 y 1. 1395 01:13:15,420 --> 01:13:21,200 Y desea utilizarlo de manera que de alguna manera obtener A-- 1396 01:13:21,200 --> 01:13:26,690 y es mucho más de un problema de matemáticas para mí que creo que un problema CS. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> La forma en que lo haces y it-- a veces sólo será así. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 Una vez más, estos son los los casos en que es una especie 1401 01:13:41,090 --> 01:13:46,310 de como escribir lo que puede y de crédito parcial. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 Así que si queremos un cambio, sabemos que estamos 1404 01:13:51,510 --> 01:13:54,182 va a utilizar drand48 de alguna manera, ¿no? 1405 01:13:54,182 --> 01:13:55,640 Así que ¿por qué no acaba de anotar que hacia abajo. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 Estamos utilizando de alguna manera. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 La forma que tienen ustedes lo usa es 1410 01:14:04,190 --> 01:14:08,175 como esto, que voy a tratar de explicar. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> Así que básicamente lo que sucede aquí es porque es entre 0 y 1, 1413 01:14:15,340 --> 01:14:19,300 lo que estás haciendo es que estás multiplicando por-- esto es en gran medida una cuestión de matemáticas. 1414 01:14:19,300 --> 01:14:22,010 Simplemente completa exención de responsabilidad, esto es completamente una cuestión de matemáticas. 1415 01:14:22,010 --> 01:14:23,990 Lo que estás haciendo es a causa de 0 y 1 y 1416 01:14:23,990 --> 01:14:26,460 quiero que sea dentro de este rango, en realidad 1417 01:14:26,460 --> 01:14:29,360 averiguar qué tan grande el rango es, y luego 1418 01:14:29,360 --> 01:14:32,710 que, básicamente, la escala para arriba, que es lo que esto está haciendo. 1419 01:14:32,710 --> 01:14:39,050 >> b menos una le da ese rango, el diferencia entre esos números. 1420 01:14:39,050 --> 01:14:44,040 Usted puede multiplicar entre 0 y 1, y luego la adición de un solo 1421 01:14:44,040 --> 01:14:48,870 significa que el escalado hacia arriba de modo que sea entre a y b, 1422 01:14:48,870 --> 01:14:52,377 que no me gustó de verdad este problema. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 Como he dicho, este cuestionario se entiende que abarca 1425 01:15:01,790 --> 01:15:04,110 las personas que son menos cómodos, en algún punto intermedio, 1426 01:15:04,110 --> 01:15:05,070 y más cómodo. 1427 01:15:05,070 --> 01:15:07,550 Así que si lo hicieron de manera que se trataba de algo 1428 01:15:07,550 --> 01:15:10,050 que todo el mundo en el menor cómodo lugar conseguiría, 1429 01:15:10,050 --> 01:15:12,259 tendríamos demasiados gente anotando perfecciona, 1430 01:15:12,259 --> 01:15:13,925 y el más cómodo sería aburrido. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> Así que siempre tienen estos tipo de preguntas desafío para la mente 1433 01:15:18,970 --> 01:15:22,695 que están destinados a ser un poco más difícil que tome un poco de pensamiento creativo. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 Cuando usted los ve, no demasiado perplejo. 1436 01:15:27,790 --> 01:15:31,720 Definitivamente, me gustaría decir flip a través de su concurso en primer lugar. 1437 01:15:31,720 --> 01:15:35,020 Frente a los problemas que usted sabe que puede, 1438 01:15:35,020 --> 01:15:38,480 porque no sirve de nada quedarse atascado en un problema cuando hay tres 1439 01:15:38,480 --> 01:15:42,090 o de cuatro o cinco en la página después de que usted puede hacer fácilmente. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> AUDIENCIA: ¿Por qué es exactamente lo que se multiplica por el rango? 1442 01:15:48,520 --> 01:15:54,935 >> ALLISON BUCHHOLTZ-AU: se multiplica el rango que usted sabes-- es como la cantidad después de un 1443 01:15:54,935 --> 01:15:55,485 Quieres? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 Así que usted puede pensar, porque devuelve un número entre 0 y 1, 1446 01:16:02,130 --> 01:16:03,890 se puede pensar en él como un porcentaje. 1447 01:16:03,890 --> 01:16:12,195 Así que es básicamente diciendo que si tenemos nuestra línea número aquí, una es aquí, 1448 01:16:12,195 --> 01:16:13,840 y b es aquí. 1449 01:16:13,840 --> 01:16:19,170 Eres como la cantidad de un pasado es? 1450 01:16:19,170 --> 01:16:20,010 Es todo lo que estamos haciendo. 1451 01:16:20,010 --> 01:16:24,920 Así que usted está pidiendo el porcentaje de este rango, el cual 1452 01:16:24,920 --> 01:16:26,170 es lo que te está dando. 1453 01:16:26,170 --> 01:16:30,915 Y entonces, básicamente, sólo escalar hacia arriba mediante la adición de a. 1454 01:16:30,915 --> 01:16:32,302 Es un desafío para la mente matemática. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> Si había algún consejo de última hora, yo diría flip a través de las preguntas, 1457 01:16:39,060 --> 01:16:41,660 averiguar cuáles usted Sé que como, oh yo me encargo. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 Casi seguramente van a ser preguntas que usted no sabrá 1460 01:16:45,820 --> 01:16:49,580 o que usted va a tener tiempo para, por lo golpeó sus fortalezas, ¿de acuerdo? 1461 01:16:49,580 --> 01:16:50,990 Ustedes van a excelente. 1462 01:16:50,990 --> 01:16:52,740 Hay una gran cantidad de preguntas por una razón, 1463 01:16:52,740 --> 01:16:57,140 para que usted tenga tiempo para tipo de tener la oportunidad 1464 01:16:57,140 --> 01:16:59,330 para demostrar lo que usted es realmente bueno. 1465 01:16:59,330 --> 01:17:02,370 Así que está bien si estás no es bueno en todo. 1466 01:17:02,370 --> 01:17:03,371 Jugar a tus fortalezas. 1467 01:17:03,371 --> 01:17:03,870 ¿Sí? 1468 01:17:03,870 --> 01:17:06,536 >> AUDIENCIA: Así es este va a devolver algo que ha truncado? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 Sí, lo hará, porque Drand rendimientos entre 0 y 1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 Se volverá un int, porque va a truncar 1473 01:17:19,250 --> 01:17:22,933 cuando añadimos una o multiplicamos por ella. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 Enfriar. 1476 01:17:28,442 --> 01:17:29,525 Para cualquier duda de última hora? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> Ustedes van a hacer muy bien. 1479 01:17:32,615 --> 01:17:34,440 Usted va a ser fabuloso. 1480 01:17:34,440 --> 01:17:37,100 E incluso si no es así, habrá ser dulces aquí la próxima semana. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 Y yo te amaré. 1483 01:17:40,020 --> 01:17:41,270 Te amo chicos independientemente. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 Muy bien, todo el mundo, la buena suerte. 1486 01:17:43,930 --> 01:17:44,680 Tienen un gran tiempo. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 Vas a estar bien. 1489 01:17:46,620 --> 01:17:47,370 ¿Y sabes qué? 1490 01:17:47,370 --> 01:17:50,310 En dos días se va haber terminado, mientras que yo 1491 01:17:50,310 --> 01:17:53,675 tener dos exámenes parciales el jueves, por lo que al menos se hará ustedes. 1492 01:17:53,675 --> 01:17:56,550 Muy bien, voy a ver ustedes la próxima semana. 1493 01:17:56,550 --> 01:17:58,208