1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ALLISON BUCHHOLTZ-AU: Hey, jeder. 3 00:00:12,170 --> 00:00:13,560 Willkommen in Abschnitt. 4 00:00:13,560 --> 00:00:17,320 Heute ist gerade dabei, alle Quiz sein Meinung für Ihr Quiz am Mittwoch. 5 00:00:17,320 --> 00:00:20,060 Ich hoffe, jeder erinnert sich, dass sie haben ein Quiz am Mittwoch. 6 00:00:20,060 --> 00:00:22,560 Und wenn Sie nicht, na ja, jetzt hast du erinnert worden. 7 00:00:22,560 --> 00:00:26,486 Also Mittwoch stellen Sie sicher, die zeigen, für die Klasse oder andere Unterkünfte als 8 00:00:26,486 --> 00:00:26,985 notwendig. 9 00:00:26,985 --> 00:00:27,845 10 00:00:27,845 --> 00:00:29,220 Euch gehen, fantastisch zu sein. 11 00:00:29,220 --> 00:00:30,440 Es wird großartig sein. 12 00:00:30,440 --> 00:00:34,910 Und ich werde alles tun, zu helfen, heute machen Sie fit für Ihr Quiz 13 00:00:34,910 --> 00:00:35,470 jetzt. 14 00:00:35,470 --> 00:00:39,960 Und auch im Fall, dass Sie nicht wissen, gibt es einen Kurs breiten Prüfungssitzung 15 00:00:39,960 --> 00:00:45,840 Heute um 07.00 Uhr in Northwest Labors Raum B103. 16 00:00:45,840 --> 00:00:49,950 Sie können mich wieder zu sehen nach einer Zugabe als Ich werde an dieser Überprüfung Sitzung führen 17 00:00:49,950 --> 00:00:50,510 auch. 18 00:00:50,510 --> 00:00:53,218 Also, wenn Sie nicht genug von mir bekommen können Jetzt können Sie wieder kommen kann heute Abend. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> Alles in Ordnung, so das Wichtigste zuerst. 21 00:00:56,060 --> 00:00:59,630 Nur ein paar Quiz Tipps, bevor wir tatsächlich tauchen in den Bewertungen. 22 00:00:59,630 --> 00:01:04,160 So wie bei jeder Prüfung, Praxis wird definitiv helfen Ihnen heraus. 23 00:01:04,160 --> 00:01:09,260 Es gibt Prüfungen aus der Vergangenheit sechs oder sieben Jahre dort, 24 00:01:09,260 --> 00:01:12,480 so dass eine Menge Praxis Material für euch zu haben. 25 00:01:12,480 --> 00:01:15,340 Und in der Tat, heute ist wirklich nur werde über beliebige Themen gehen 26 00:01:15,340 --> 00:01:18,900 dass euch Fragen über als gut als Arbeitszeit durch Praxis Probleme 27 00:01:18,900 --> 00:01:20,360 von Quiz Null. 28 00:01:20,360 --> 00:01:22,690 Also werde ich kotzen Quiz Null vom letzten Jahr hier, 29 00:01:22,690 --> 00:01:26,410 und wir können durch irgendwelche Probleme zu arbeiten dass euch möchte. 30 00:01:26,410 --> 00:01:27,370 >> So üben. 31 00:01:27,370 --> 00:01:29,310 Du wirst anfangen zu tun, dass heute. 32 00:01:29,310 --> 00:01:30,230 Code auf dem Papier. 33 00:01:30,230 --> 00:01:32,970 Also ja, wenn jeder könnte tatsächlich raus 34 00:01:32,970 --> 00:01:35,810 Papier, das wird großartig sein, weil du nicht bist 35 00:01:35,810 --> 00:01:41,470 auf Ihren Computer auf die haben Prüfung und Schreiben von Code mit der Hand 36 00:01:41,470 --> 00:01:44,190 ist oft viel schwieriger als Sie vielleicht erwarten. 37 00:01:44,190 --> 00:01:46,680 Sie sind nur verwendet sehen es und geben es, 38 00:01:46,680 --> 00:01:49,630 und Sie Ihren Compiler haben hilft Ihnen, wenn Sie Fehler haben, 39 00:01:49,630 --> 00:01:52,190 aber Sie nicht bekommen, dass in der Prüfung. 40 00:01:52,190 --> 00:01:55,140 Also ist es eigentlich wirklich wichtig in der Lage zu schreiben, den Code, 41 00:01:55,140 --> 00:01:58,360 und Muskelgedächtnis zu tun es mit der Hand wird wirklich helfen. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> So bekommen wir ein wenig in der Nähe. 44 00:02:01,690 --> 00:02:02,340 Es ist Montag. 45 00:02:02,340 --> 00:02:03,930 Ihre Prüfung ist am Mittwoch. 46 00:02:03,930 --> 00:02:06,030 Aber wenn Sie Zeit haben, auf jeden Fall ein 47 00:02:06,030 --> 00:02:10,199 der Prüfungen aus dem letzten Jahr oder die Jahr vor unter der Zeitvorgabe 48 00:02:10,199 --> 00:02:11,660 von einer Stunde und eine Hälfte. 49 00:02:11,660 --> 00:02:13,730 Nur knock out eine Stunde und die Hälfte der Zeit, 50 00:02:13,730 --> 00:02:17,480 und setz dich hinab, und nur durch die Probleme zu arbeiten 51 00:02:17,480 --> 00:02:19,962 als ob Sie tatsächlich waren Nehmen oder weil man 52 00:02:19,962 --> 00:02:23,295 der größten Dinge, die wir hören die Quizfragen ist, dass sie sehr lang sind. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 Es ist eine Menge von Material. 55 00:02:26,660 --> 00:02:30,850 Es gibt eine Vielzahl von Fragen, und die meisten Menschen können nicht zu Ende. 56 00:02:30,850 --> 00:02:34,660 Ich weiß, dass ich total nicht zu Ende mein Quiz, als ich die Klasse. 57 00:02:34,660 --> 00:02:37,180 >> In diesem Sinne, als eine weniger komfortable Abschnitt 58 00:02:37,180 --> 00:02:40,570 verstehen, dass dieser Kurs soll für Menschen auf allen Ebenen gerecht zu werden. 59 00:02:40,570 --> 00:02:43,640 Der ganze Grund haben wir Ihnen geteilt weniger komfortabel, irgendwo zwischen, 60 00:02:43,640 --> 00:02:47,660 und bequemer ist, Art machen es fair. 61 00:02:47,660 --> 00:02:51,699 Und wenn Sie weniger bequem sind, ist es nicht per se notwendig, um alles zu bekommen. 62 00:02:51,699 --> 00:02:53,990 Wie, wenn Sie einließen alles würde Sie wahrscheinlich 63 00:02:53,990 --> 00:02:55,448 sein in der komfortableren Seite. 64 00:02:55,448 --> 00:03:00,160 So offensichtlich nicht schlagen Sie sich bis zu hart, wenn Sie die Prüfung nicht beenden. 65 00:03:00,160 --> 00:03:01,920 Nehmen Sie es von mir, ich habe es nicht getan. 66 00:03:01,920 --> 00:03:03,070 Ich bin immer noch ein Konzentrator. 67 00:03:03,070 --> 00:03:04,630 Ich bin immer noch die Unterstützung der Kurs zu unterrichten. 68 00:03:04,630 --> 00:03:06,170 Alles wird gut. 69 00:03:06,170 --> 00:03:06,670 In Ordnung. 70 00:03:06,670 --> 00:03:08,740 Und schließlich, etwas zu schlafen. 71 00:03:08,740 --> 00:03:11,020 Offensichtlich mit jeder Prüfung wir immer sagen. 72 00:03:11,020 --> 00:03:13,610 Pauken in der Nacht zuvor und keinen Schlaf bekommen 73 00:03:13,610 --> 00:03:16,390 tut nicht-- vielleicht, wenn die für Sie arbeitet, gehen für sie. 74 00:03:16,390 --> 00:03:18,790 Aber für die überwiegende Mehrheit der Menschen, immer etwas zu schlafen, 75 00:03:18,790 --> 00:03:22,390 Lassen Sie Ihr Gehirn Ruhe und Erholung bevor er in die Prüfung 76 00:03:22,390 --> 00:03:23,480 hilft Ihnen wirklich. 77 00:03:23,480 --> 00:03:26,120 Auch wird es fast candy sicherlich an der Prüfung, 78 00:03:26,120 --> 00:03:28,019 so muss man sich freuen. 79 00:03:28,019 --> 00:03:29,310 Ihr seid großartig zu tun. 80 00:03:29,310 --> 00:03:30,226 Es wird gut sein. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 Und nun in der nächsten Stunde und eine Hälfte I versuchen und prep Sie so gut wie ich kann. 83 00:03:36,190 --> 00:03:41,260 >> So habe ich Dias aus grundsätzlich alle Abschnitte bis jetzt. 84 00:03:41,260 --> 00:03:45,874 Ich werde nicht zu durchlaufen alle von ihnen, da das nicht 85 00:03:45,874 --> 00:03:49,040 machbar in einer Stunde und einem halb so gut als Arbeitszeit durch Praxis Probleme. 86 00:03:49,040 --> 00:03:51,410 Anstatt also habe ich eine Liste von Themen. 87 00:03:51,410 --> 00:03:55,160 Dies sind all die Dinge, dass wir Sie Quiz auf. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 Wenn es etwas gibt, das wirklich herausspringt 90 00:03:58,770 --> 00:04:02,140 dass Sie über zu gehen, dass Sie wollen, Soll ich über konzeptionell zu gehen, 91 00:04:02,140 --> 00:04:04,320 Ich kann versuchen und geben Ihnen einen Überblick gibt. 92 00:04:04,320 --> 00:04:07,690 Oder wenn Sie nach rechts in springen möchten tut der Praxis Probleme zusammen, 93 00:04:07,690 --> 00:04:08,420 können wir das tun. 94 00:04:08,420 --> 00:04:09,330 Es liegt an euch. 95 00:04:09,330 --> 00:04:10,770 Es gibt nicht so viele von euch. 96 00:04:10,770 --> 00:04:13,180 So ist es, was auch immer euch gerne tun. 97 00:04:13,180 --> 00:04:15,667 Ich möchte das Beste sein hilfreich zu euch. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 Also ich lasse Sie nur schauen. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> PUBLIKUM: Eines ist Die Grafik, die wir halten 102 00:04:30,500 --> 00:04:33,290 Spruch über dem Stapel und dem Heap. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 Nur die ganze Idee hinter dass und was das bedeutet. 105 00:04:37,434 --> 00:04:38,350 ALLISON BUCHHOLTZ-AU: Ja, OK. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 Dies ist ganz auf die Ende, so lassen Sie mich durch zu blättern. 108 00:04:43,216 --> 00:04:45,490 >> PUBLIKUM: Wir haben nicht zu haben, tun Sie es jetzt, aber egal. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ALLISON BUCHHOLTZ-AU: Es gab anything-- diese. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 Ist diese Art von Fuzzy für Menschen? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 PUBLIKUM: Ja, ich zweitens, dass. 115 00:04:55,640 --> 00:04:57,718 Und können wir auch Pufferüberlauf? 116 00:04:57,718 --> 00:04:58,926 ALLISON BUCHHOLTZ-AU: Pufferüberlauf? 117 00:04:58,926 --> 00:04:59,820 Ok. 118 00:04:59,820 --> 00:05:03,460 So Pufferüberlauf ist ziemlich einfach nur zu reden. 119 00:05:03,460 --> 00:05:08,217 Es ist im Grunde puffert Sie darüber nachdenken, einige Array-Speicher, die Sie haben, nicht wahr? 120 00:05:08,217 --> 00:05:10,050 Wir sprechen in der Regel etwa Pufferüberlauf, wenn 121 00:05:10,050 --> 00:05:15,160 Sie nicht überprüft sind, wie viel der Benutzer setzt in, oder? 122 00:05:15,160 --> 00:05:18,540 Und die Idee ist, mit Pufferüberlauf ist 123 00:05:18,540 --> 00:05:21,535 sie weit setzen in zu viele Daten für die Raum 124 00:05:21,535 --> 00:05:23,780 dass Sie für sie zugeteilt habe, oder? 125 00:05:23,780 --> 00:05:28,310 >> Also, wenn Sie sagen, zu geben mir einige Nachricht, wir sind 126 00:05:28,310 --> 00:05:31,860 davon aus, dass sie gehen, um zu geben uns eine angemessene Länge der Nachricht. 127 00:05:31,860 --> 00:05:33,910 Vielleicht ein paar Zeilen, was nicht alles. 128 00:05:33,910 --> 00:05:35,150 Wir wissen also nicht überprüfen. 129 00:05:35,150 --> 00:05:38,160 Stattdessen ernähren sie uns in eine gesamte Buch, das eine Nachricht ist, 130 00:05:38,160 --> 00:05:42,450 und die Höhe der Überläufe Raum, den wir für diese zugeteilt habe. 131 00:05:42,450 --> 00:05:48,140 Und was passiert, ist es vielleicht zu überschreiben Orte, die es nicht zugelassen. 132 00:05:48,140 --> 00:05:52,890 >> Ich weiß also, Professor Malan sagte etwas über Pufferüberlauf-Attacken. 133 00:05:52,890 --> 00:05:59,050 Also das ist, wo der Benutzer Eingabe Einige große Menge an Daten in der Hoffnung, 134 00:05:59,050 --> 00:06:02,840 dass er überschreibt Vergangenheit das Ende Ihrer Puffer 135 00:06:02,840 --> 00:06:06,479 und ersetzt something-- Ich frage mich, Ich, wir haben diese Folien in hier. 136 00:06:06,479 --> 00:06:08,270 Ich glaube nicht, dass wir diese Folien in hier. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 Aber im Grunde überschreibt er ein Teil des Speicher 139 00:06:14,460 --> 00:06:17,780 das es ihm ermöglicht Zugang um Teile des Computers 140 00:06:17,780 --> 00:06:19,530 dass ihr habt nicht gewollt normalerweise Zugriff haben. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> Größte, was mit Pufferüberlauf ist nur 143 00:06:23,155 --> 00:06:26,420 zu verstehen, dass es passiert, wenn Sie nicht 144 00:06:26,420 --> 00:06:29,210 Prüfen, wie viel Ihr Benutzer setzen in. 145 00:06:29,210 --> 00:06:32,770 Wenn Sie nicht sind so eine Art Absicherung gegen das. 146 00:06:32,770 --> 00:06:36,820 Und am einfachsten Sache, es ist nur Ihren Benutzer 147 00:06:36,820 --> 00:06:39,130 Eingeben einer großen Menge von Daten in einem Versuch 148 00:06:39,130 --> 00:06:45,090 um eine gewisse Sicherheit zu überschreiben Teil Ihrer Erinnerung. 149 00:06:45,090 --> 00:06:46,310 Das ist alles, es ist. 150 00:06:46,310 --> 00:06:49,810 >> Also das hier, Stack und Heap. 151 00:06:49,810 --> 00:06:53,090 Grundsätzlich all dies ist nur eine Darstellung des Speicher 152 00:06:53,090 --> 00:06:54,449 und wo die Dinge gespeichert. 153 00:06:54,449 --> 00:06:56,240 Das ist wirklich Art von alles, was Sie wissen müssen. 154 00:06:56,240 --> 00:06:58,520 Die größten Dinge, die Sie wissen, sind brauchen 155 00:06:58,520 --> 00:07:01,910 dass-- lassen Sie mich sehen, ob es gibt eine better-- hier. 156 00:07:01,910 --> 00:07:05,380 Das ist also der Stapel hier. 157 00:07:05,380 --> 00:07:08,410 >> So Stapel hat damit zu tun alle Ihre Funktionen 158 00:07:08,410 --> 00:07:10,140 dass Sie zu einem bestimmten Zeitpunkt anrufen. 159 00:07:10,140 --> 00:07:15,060 Und was ist wichtig zu erinnern, Abheben der vergangenen Woche mit malloc 160 00:07:15,060 --> 00:07:21,080 ist, dass man nicht wirklich haben notwendige Kontrolle über sie. 161 00:07:21,080 --> 00:07:24,780 Es hängt alles davon ab, wenn bestimmte Funktionen ausführt. 162 00:07:24,780 --> 00:07:28,170 Und wenn sie ausführt, sie haben, was sind Stack-Frames genannt 163 00:07:28,170 --> 00:07:29,290 das gehen hier oben. 164 00:07:29,290 --> 00:07:32,520 >> So ist es alle Arten von passiert ohne wirkliche Eingaben von Ihnen. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 Sie schreiben Ihr Programm, und Sie laufen lassen, 167 00:07:35,510 --> 00:07:38,470 und der Stapel Art nimmt von selbst, wie es braucht, um. 168 00:07:38,470 --> 00:07:42,940 Also, wenn in Haupt Sie anrufen Würfel, die sich hier übergeben werden. 169 00:07:42,940 --> 00:07:44,110 Es wird einen Rahmen zu schaffen. 170 00:07:44,110 --> 00:07:48,330 Aber es gibt nichts, was man explizit tun zu diesem Stack-Frame außer erstellen 171 00:07:48,330 --> 00:07:51,430 schreiben die Funktion zu beginnen, OK? 172 00:07:51,430 --> 00:07:56,500 >> Was ist eine Art unter Ihrem Kontrolle ist die Heap mit malloc. 173 00:07:56,500 --> 00:08:01,950 Also, wenn Sie malloc etwas, Sie einnehmen Speicher aus dem Heap. 174 00:08:01,950 --> 00:08:05,110 Und das ist die Erinnerung, dass Sie haben, aus Mangel an einem besseren Wort, 175 00:08:05,110 --> 00:08:10,300 explizite Kontrolle über, da erinnere mich mit malloc 176 00:08:10,300 --> 00:08:12,530 es ist im Grunde gibt bis Sie sagen etwas anderes. 177 00:08:12,530 --> 00:08:14,890 Für diejenigen unter Ihnen, beobachtete Abschnitt der vergangenen Woche, 178 00:08:14,890 --> 00:08:17,670 es ist da, bis Sie es sagen, um wegzugehen. 179 00:08:17,670 --> 00:08:20,850 Es wird es sei denn, sein anders gesagt, nicht. 180 00:08:20,850 --> 00:08:24,750 Also der Haufen ist einfach etwas Sie als Speicher denken können 181 00:08:24,750 --> 00:08:26,150 dass Sie die Kontrolle haben über. 182 00:08:26,150 --> 00:08:29,010 Und die, die gerade die sind zwei verschiedene große Dinge. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> Andere als die, die Sie nicht haben sollte zu viel über Stack und Heap Sorgen 185 00:08:38,330 --> 00:08:42,159 Fragen oder typischerweise nur Wenn Sie lokale Parameter haben 186 00:08:42,159 --> 00:08:45,385 oder eine Funktion wäre es auf dem Stapel oder Haufen. 187 00:08:45,385 --> 00:08:47,260 In diesem Fall offenkundig es wird der Stapel sein. 188 00:08:47,260 --> 00:08:49,630 Wenn Sie etwas mallocing, Wo ist das her? 189 00:08:49,630 --> 00:08:50,129 Der Haufen. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 Wenn Sie an der Praxis Quiz aussehen, denen sind im allgemeinen die Art der Fragen 192 00:08:54,230 --> 00:08:55,460 die sie haben. 193 00:08:55,460 --> 00:08:57,340 >> Sie haben keine Sorgen zu machen zu viel über sie. 194 00:08:57,340 --> 00:09:00,980 Sie erhalten in expliziter über Stack und Heap 195 00:09:00,980 --> 00:09:03,460 später oder in anderen CS-Klassen. 196 00:09:03,460 --> 00:09:06,220 Also einfach mit ein bisschen eine allgemeine Vorstellung von dem, was das ist 197 00:09:06,220 --> 00:09:09,100 wird gut sein, die ich nur irgendwie ging. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 Alle anderen Themen? 200 00:09:12,090 --> 00:09:12,590 Ja? 201 00:09:12,590 --> 00:09:14,923 >> PUBLIKUM: Können Sie übergehen Zeiger sehr schnell wieder? 202 00:09:14,923 --> 00:09:15,870 ALLISON BUCHHOLTZ-AU: Zeiger? 203 00:09:15,870 --> 00:09:18,470 Haben Sie konzeptionelle möchten Übersicht von Zeigern 204 00:09:18,470 --> 00:09:19,994 oder gehen Sie mit Zeigern zu üben? 205 00:09:19,994 --> 00:09:21,410 PUBLIKUM: Ein bisschen wie der Syntax. 206 00:09:21,410 --> 00:09:22,360 ALLISON BUCHHOLTZ-AU: Die Syntax? 207 00:09:22,360 --> 00:09:22,860 Ja. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 OK, wir sind es immer. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 Ja, das ist so einfach irgendwie etwas wenn Sie eine rekursive Funktion, 212 00:09:42,040 --> 00:09:45,954 jedes Mal, dass rekursive Funktion ist genannt, es fügt nur anderen Stapelrahmen. 213 00:09:45,954 --> 00:09:47,870 Ziemlich genau ein Beispiel wie Sie nicht wirklich 214 00:09:47,870 --> 00:09:50,330 haben die Kontrolle über die Frames auf Ihrem Stack. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> OK, Zeiger. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 Alles klar, so die Schaffung Zeigern. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 Denken Sie daran, es ist nur Typ Stern. 221 00:10:02,420 --> 00:10:07,140 Egal was für Daten, die Sie gehen zu den weisen. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 So wäre dies ein Zeiger auf ein int sein. 224 00:10:11,440 --> 00:10:13,140 Dies würde ein Zeiger auf ein char. 225 00:10:13,140 --> 00:10:14,740 Dies würde ein Zeiger auf einen Schwimmer sein. 226 00:10:14,740 --> 00:10:17,980 So ist es im Grunde, was auch immer Sie wollen, dass es auf den Hinweis sein, 227 00:10:17,980 --> 00:10:22,300 Stern ist, wie Sie den Zeiger zu deklarieren, OK? 228 00:10:22,300 --> 00:10:26,200 >> Aber dann natürlich ein wenig bekommt tricky, wenn Sie Zeiger haben 229 00:10:26,200 --> 00:10:27,370 oder Sie haben star was auch immer. 230 00:10:27,370 --> 00:10:31,260 Also der große Unterschied ist, wenn Sie declaring-- bist 231 00:10:31,260 --> 00:10:45,590 so dass wir some-- so haben Dies dauert einige int Stern. 232 00:10:45,590 --> 00:10:49,650 Also das ist einige Zeiger ruft x in einen int, nicht wahr? 233 00:10:49,650 --> 00:10:54,600 Also denken Sie daran, was dieser tut ist dies ruft das System x. 234 00:10:54,600 --> 00:10:56,970 Und dies wird gehen haben einige Adresse, oder? 235 00:10:56,970 --> 00:11:00,515 Also lasst uns einfach sagen, das ist unsere Adresse. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 Pointers halten Adressen. 238 00:11:03,570 --> 00:11:08,660 Also, was es sagt, ist, dass zu diesem Lage, sind wir Speichern eines int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> Also eine andere Art, wie wir denken können ist, dass dies einige int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 Wir haben nicht wirklich sie zugeordnet nichts, aber es ist nur ein int. 243 00:11:20,350 --> 00:11:31,540 Also wir tun können, ist, wenn wir Sterne x gleich 5, wird dies zu einem 5, OK? 244 00:11:31,540 --> 00:11:38,350 Dieser sagt zu gehen, was auch immer x zeigt auf, so gehen Sie an diese Adresse 245 00:11:38,350 --> 00:11:40,210 und es gleich 5 ist. 246 00:11:40,210 --> 00:11:44,390 So weisen wir 5 an diese Adresse, oder? 247 00:11:44,390 --> 00:11:52,540 >> Und dann, wenn Sie dies tun, dies gibt uns die Adresse. 248 00:11:52,540 --> 00:11:54,730 Dies ist die Adresse des Bedieners. 249 00:11:54,730 --> 00:11:57,700 Also, was ist die Adresse von x? 250 00:11:57,700 --> 00:11:58,809 Wir wissen es nicht. 251 00:11:58,809 --> 00:12:00,225 Wir haben es nicht belegt eine Adresse. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 Wir könnten sagen, es ist some-- jetzt gaben wir es eine Adresse, so ist die Adresse 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 Und tatsächlich, wenn wir etwas durchgehen wie diese, Art von, was wir taten. 256 00:12:16,980 --> 00:12:25,800 So arbeiten durch hier-- finde ich es hilft, wenn Sie ziehen Zeigern. 257 00:12:25,800 --> 00:12:28,270 Wenn Sie auf Ihre Prüfung sind, ich empfehle Zeichnung Boxen. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> Also das erste, int x = 5. 260 00:12:33,310 --> 00:12:37,370 Dies bedeutet nur, wir haben einige Platz in Erinnerung, die 5 ist, oder? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 Und unserem Tisch hier sagt uns dass es an der Adresse 0x04. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 Und dann schaffen wir einige Zeiger. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 Also lassen Sie brechen diese nach unten ein zu einer Zeit. 267 00:12:55,310 --> 00:12:59,820 Also das schafft einige Kästchen, um eine int, nicht wahr? 268 00:12:59,820 --> 00:13:01,970 Es wird halten einige Adresse eines es. 269 00:13:01,970 --> 00:13:03,470 Also das ist einige Zeiger. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 Und diese Kreide ist wirklich klein. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 So haben wir hier einige Zeiger. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 Und unsere Tabelle sagt uns dh Adresse 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 Cool. 278 00:13:16,200 --> 00:13:23,240 Und wir zuweisen es auf die Adresse x. 279 00:13:23,240 --> 00:13:26,330 >> Denken Sie daran, Zeigern Adressen, OK? 280 00:13:26,330 --> 00:13:32,050 Wenn wir also x halten wollen, müssen wir um den Adressoperator zu verwenden, die 281 00:13:32,050 --> 00:13:36,520 ist das kaufmännische Und, um die Adresse zu erhalten x, welche in diesem Fall 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 Und dann, wenn wir einige int Kopie, das nur 284 00:13:44,430 --> 00:13:48,060 schafft eine andere Box, hält einen int namens Kopie. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 Und wenn wir weisen Sie es this-- so ist dies darauf verweisen. 287 00:13:55,330 --> 00:14:00,090 Sagt, dass es so gehen, um was auch immer Adresszeiger hält. 288 00:14:00,090 --> 00:14:05,330 Pointer in dieser Adresse, Fangen wir hier übergehen, 289 00:14:05,330 --> 00:14:07,130 und wir sagen, OK, was drin ist? 290 00:14:07,130 --> 00:14:08,610 Es ist 5. 291 00:14:08,610 --> 00:14:09,815 Also Kopie wird 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 Sinnvoll? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> Was ist, wenn ich versuchte, zuordnen dies nur Zeiger. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 Was bedeutet Zeiger tatsächlich gleich? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 Es wäre nur sein, was Zeiger enthält, oder? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 Und was dann, wenn ich das tat? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 Was würden Kopie jetzt sein? 304 00:14:39,880 --> 00:14:41,365 305 00:14:41,365 --> 00:14:42,275 >> PUBLIKUM: 0x08. 306 00:14:42,275 --> 00:14:44,150 ALLISON BUCHHOLTZ-AU: Yep, das Adresse unseres Zeiger. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 Jeder Teil von jenem, muss neu erklärt werden? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 Cool. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 Es ist auf jeden Fall ein sehr Spaß Problem Quiz ein 313 00:14:57,740 --> 00:15:00,100 dass wir, die über gibt Ihnen mehr Praxis. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 Die Jungs aus der vergangenen Woche kann Ihnen sagen, es war nicht so schlimm. 316 00:15:03,270 --> 00:15:06,000 Wir haben durch eine ganze Diagramm, und jeder tat groß. 317 00:15:06,000 --> 00:15:10,830 >> OK, das ist also Überblick Syntax von Zeigern. 318 00:15:10,830 --> 00:15:15,070 Größte Sache ist, zu verstehen, wie um sie zu erstellen, tun Referenzierung, 319 00:15:15,070 --> 00:15:18,190 und Anschrift, OK? 320 00:15:18,190 --> 00:15:18,690 Cool. 321 00:15:18,690 --> 00:15:20,775 Alle anderen Themen vor tauchen wir in die Praxis. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 Auch wenn wir durchmachen die Übungsaufgaben 324 00:15:28,011 --> 00:15:30,760 und es gibt etwas, was Sie wollen ein Auffrischung, können wir das auch tun. 325 00:15:30,760 --> 00:15:31,300 Haben Sie so etwas? 326 00:15:31,300 --> 00:15:32,758 >> PUBLIKUM: Structs und verkettete Listen. 327 00:15:32,758 --> 00:15:35,130 ALLISON BUCHHOLTZ-AU: Structs und verkettete Listen, OK. 328 00:15:35,130 --> 00:15:37,100 So Strukturen. 329 00:15:37,100 --> 00:15:38,990 Wir haben eigentlich gehen über diese heute Abend auch. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 OK, also Strukturen. 332 00:15:41,890 --> 00:15:47,490 Strukturen sind im Grunde nur eine Möglichkeit für Sie, halten Sie 333 00:15:47,490 --> 00:15:50,430 mehrere Werte der verschiedenen Arten. 334 00:15:50,430 --> 00:15:55,150 Also mit einem Array sind wir einem Datentyp verengt. 335 00:15:55,150 --> 00:16:00,965 Unsere Array muss entweder nur Zahlen sein, oder einfach nur Zeichen sein, oder einfach nur Schwimmer sein. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> Aber vielleicht wollen Sie brauchen enthalten mehr. 338 00:16:05,470 --> 00:16:09,130 Vielleicht haben Sie, wenn zu hold-- brauchen Sie über einen Schüler reden, 339 00:16:09,130 --> 00:16:13,660 Sie gehen zu ihrem Haus zu haben, ihre ID-Nummer, ihr Alter, wo sie leben, 340 00:16:13,660 --> 00:16:14,240 richtig? 341 00:16:14,240 --> 00:16:16,460 Und all das sind verschiedene Arten von Typen. 342 00:16:16,460 --> 00:16:18,680 So können Sie nicht speichern kann denen alle in einem Array. 343 00:16:18,680 --> 00:16:21,750 >> Also, was Sie tun können, ist, dass Sie kann eine Struktur, erstellen die 344 00:16:21,750 --> 00:16:26,240 Sie als denken können Ihre eigenen Datentyp persönlich. 345 00:16:26,240 --> 00:16:29,130 Also anstatt nur mit ints und statt nur mit Schwimmern, 346 00:16:29,130 --> 00:16:33,210 Sie können eine Art Studenten haben, dass hat alle diese Felder in ihm. 347 00:16:33,210 --> 00:16:39,740 So, wie wir zu initialisieren unsere Strukturen ist-- tatsächlich 348 00:16:39,740 --> 00:16:44,921 da mein Schreiben ist schrecklich, wir werden auf die Typisierung übergehen. 349 00:16:44,921 --> 00:16:45,420 Woo. 350 00:16:45,420 --> 00:16:48,800 351 00:16:48,800 --> 00:16:53,150 >> OK, also, wenn wir eine struct-- erstellen möchten Ich bin gerade dabei, es hier unten. 352 00:16:53,150 --> 00:16:57,730 Ignorieren Sie die in Haupt unabhängig die wir später zu verwenden. 353 00:16:57,730 --> 00:17:02,330 Also die Art und Weise Sie tun möchten ist es mit typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 Und lassen Sie uns diese Schüler einfach anrufen weil das, was ich mit. 356 00:17:13,349 --> 00:17:17,801 OK, also typedef bedeutet, dass Sie Definition eines neuen Typs, OK? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 Es gibt Nuancen in, wenn Sie tun, nur eine Struktur gegenüber einer typedef struct. 359 00:17:24,355 --> 00:17:26,313 Für alle Absichten und Zwecke, habt ihr einfach 360 00:17:26,313 --> 00:17:29,490 gehe davon aus, sie sind etwa gleich und nur 361 00:17:29,490 --> 00:17:30,820 verwenden typedef struct für jetzt. 362 00:17:30,820 --> 00:17:35,180 Es wird so deutlicher zu Ihrem nächste P gesetzt, was diese Unterschiede sind, 363 00:17:35,180 --> 00:17:37,960 aber ich glaube nicht, dass es nötig ist Sorgen um, dass gerade jetzt. 364 00:17:37,960 --> 00:17:40,360 Ich würde viel lieber Sie wissen, wie man eine zu erstellen, 365 00:17:40,360 --> 00:17:41,880 darauf zugreifen, und weisen [? Wert. ?] 366 00:17:41,880 --> 00:17:47,820 >> Eine neue Art von Struktur und wir nennen es Schüler. 367 00:17:47,820 --> 00:17:52,640 So, nachdem wir fertig schaffen dies, Für alle Absichten und Zwecke, 368 00:17:52,640 --> 00:17:55,070 haben Sie einen Typ namens Student. 369 00:17:55,070 --> 00:17:59,610 Und du davon nur als eine Art zu denken wie ein int oder einem Schwimmer oder ein Saibling. 370 00:17:59,610 --> 00:18:01,820 Es ist nur eine andere Art, OK? 371 00:18:01,820 --> 00:18:04,530 >> Also in diesem, was haben wir? 372 00:18:04,530 --> 00:18:05,420 Wir haben vielleicht einen Namen. 373 00:18:05,420 --> 00:18:08,275 Also vielleicht wollen wir einen string name. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 Und wir haben vielleicht einen int, die eine ID ist. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 Und wir haben eine andere in das ist die Telefonnummer. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 Und wir haben some-- mal sehen. 380 00:18:26,200 --> 00:18:27,200 Was sonst noch wir haben? 381 00:18:27,200 --> 00:18:29,385 Wir werden eine Schnur an seinem Haus zu haben. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 Alle Dinge, die ein Schüler. 384 00:18:34,510 --> 00:18:36,960 >> Also das schafft nun eine Struktur. 385 00:18:36,960 --> 00:18:41,450 Wie also könnten wir schaffen ein Student? 386 00:18:41,450 --> 00:18:46,960 Wenn wir einige Variablen haben das heißt werde über Walker hier reden, 387 00:18:46,960 --> 00:18:51,245 so dass wir have-- wir gerade sind werde diesen walker nennen. 388 00:18:51,245 --> 00:18:52,520 Er braucht einen Typ. 389 00:18:52,520 --> 00:18:53,770 Was ist Ihre Art? 390 00:18:53,770 --> 00:18:54,520 PUBLIKUM: Student. 391 00:18:54,520 --> 00:18:55,395 ALLISON BUCHHOLTZ-AU: Student. 392 00:18:55,395 --> 00:18:57,130 393 00:18:57,130 --> 00:19:04,800 Also das schafft nur ein Objekt können Sie denke, dass hat all diese Dinge. 394 00:19:04,800 --> 00:19:07,880 Sie gerade erstellt eine Gehhilfe Student. 395 00:19:07,880 --> 00:19:10,910 So, jetzt müssen wir in der Lage sein, zu all diesen zuordnen, oder? 396 00:19:10,910 --> 00:19:13,500 So jemand erinnert sich nicht, wie wir Zugriff innerhalb einer Struktur? 397 00:19:13,500 --> 00:19:14,762 398 00:19:14,762 --> 00:19:15,470 PUBLIKUM: Zeitraum. 399 00:19:15,470 --> 00:19:16,730 ALLISON BUCHHOLTZ-AU: Zeitraum Genau. 400 00:19:16,730 --> 00:19:23,795 Wenn wir also zuweisen wollte ihm einen Namen, wir könnten das tun. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 Offensichtlich würde dies be-- diesen Teil hier würde 403 00:19:28,680 --> 00:19:31,831 sein im Haupt, so tatsächlich lassen Sie mich dies zu tun. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 Deklarieren Sie diese oben Haupt so dass wir es innerhalb des Haupt verwenden. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 So, jetzt will ich es zu tun ID, und wir werden nur einige es tun, 408 00:20:00,980 --> 00:20:02,970 und dann werden wir ein Haus zuordnen. 409 00:20:02,970 --> 00:20:07,990 410 00:20:07,990 --> 00:20:09,000 Bam. 411 00:20:09,000 --> 00:20:09,650 Cool. 412 00:20:09,650 --> 00:20:19,870 >> So, jetzt sollten wir jemals den Zugriff benötigen etwas später on-- vielleicht wir-- 413 00:20:19,870 --> 00:20:25,920 wenn wir jemals brauchen, um alles zugreifen, lassen Sie uns einfach eine Kopie int ID zu tun. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 Und ich möchte kopieren Walkers ID in diese. 416 00:20:30,530 --> 00:20:31,370 Wie könnte ich es tun? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 Sie müssen sich innerhalb des Walker zugreifen struct auf [? gehen Sie zu, dass?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 Und die gleiche Art und Weise, dass wir Sie hier, wie zugeordnet it up 420 00:20:41,280 --> 00:20:45,573 könnten wir darauf zugreifen, wenn wir wollen geben Sie diesen Wert auf etwas anderes? 421 00:20:45,573 --> 00:20:46,406 PUBLIKUM: Walker.id. 422 00:20:46,406 --> 00:20:47,252 423 00:20:47,252 --> 00:20:48,376 ALLISON BUCHHOLTZ-AU: Ja, genau. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 Also das ist so ziemlich alles, Sie brauchen, um für Strukturen kennen. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 Sie brauchen nur zu denken sie als eine andere Variable. 428 00:20:58,560 --> 00:21:01,710 Im Grunde ein erstellen Sie Ihre eigenen Variablentyp, OK? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 Sie verwenden es, zu erklären, Variablen, die in keiner Weise. 431 00:21:07,970 --> 00:21:10,290 Hier ist Walker noch eine Variable. 432 00:21:10,290 --> 00:21:14,230 Es hat nur eine Art Studenten nun statt von einem Typ int oder einem Typ string, 433 00:21:14,230 --> 00:21:15,070 oder ein Typ char. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 Wenn es eine einfache Möglichkeit, zu sprechen über Strukturen, ist es buchstäblich nur einen 436 00:21:19,930 --> 00:21:24,430 Erstellen Sie Ihre eigenen Datentyp dass können Sie Gruppen 437 00:21:24,430 --> 00:21:28,320 Alle diese verschiedenen Art von Daten zusammen. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 Macht das Sinn macht? 440 00:21:31,595 --> 00:21:33,920 441 00:21:33,920 --> 00:21:34,420 Ok. 442 00:21:34,420 --> 00:21:35,920 443 00:21:35,920 --> 00:21:37,530 Das und den Zugriff mit Punkten. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 So ziemlich alles, was Sie brauchen. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> OK, wo hast meine Powerpoint gehen? 448 00:21:46,600 --> 00:21:47,580 Hier ist es. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 Gut, das ist seltsam. 451 00:21:50,520 --> 00:21:53,950 452 00:21:53,950 --> 00:21:55,420 Aha. 453 00:21:55,420 --> 00:21:56,766 OK, cool. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 Alle anderen Dinge, oder müssen wir wollen Kopf zu üben? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 Üben? 458 00:22:02,710 --> 00:22:03,501 Ok. 459 00:22:03,501 --> 00:22:04,000 Genial. 460 00:22:04,000 --> 00:22:05,642 461 00:22:05,642 --> 00:22:06,600 Ich werde dies zu beenden. 462 00:22:06,600 --> 00:22:08,490 Wenn zu irgendeinem Zeitpunkt während Fragen der Praxis, 463 00:22:08,490 --> 00:22:12,630 Ich bin glücklich, zu erneuern und durch die Dinge gehen. 464 00:22:12,630 --> 00:22:15,240 Also ich habe Quiz Null hier oben. 465 00:22:15,240 --> 00:22:18,370 Wenn Sie Jungs wollen ziehen Sie es auf Ihrem Computer, 466 00:22:18,370 --> 00:22:20,670 genau wie Take Five Minuten zu durchsuchen. 467 00:22:20,670 --> 00:22:23,540 Vielleicht wählen Sie einige Top Fragen, die Sie gehen wollen über. 468 00:22:23,540 --> 00:22:27,390 Wenn euch nicht entscheiden können, werden wir nur langsam anfangen zu arbeiten durch sie, 469 00:22:27,390 --> 00:22:31,590 aber ich bin sicher, es werden einige sein Fragen, die Sie besonders sind 470 00:22:31,590 --> 00:22:34,890 begierig zu sprechen und haben mich durch die Arbeit mit euch allen. 471 00:22:34,890 --> 00:22:36,580 So gehen Sie einfach weiter und nehmen Sie fünf Minuten. 472 00:22:36,580 --> 00:22:37,780 Blättern Sie durch. 473 00:22:37,780 --> 00:22:40,620 Und dies ist das Quiz ab 2013. 474 00:22:40,620 --> 00:22:41,841 >> PUBLIKUM: Zero? 475 00:22:41,841 --> 00:22:43,630 >> ALLISON BUCHHOLTZ-AU: Ja, Quiz Null. 476 00:22:43,630 --> 00:22:45,647 Wir werden nicht tun Quiz ein Zeug. 477 00:22:45,647 --> 00:22:46,980 Wir werden das in ein paar Wochen zu tun. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 Auch für diejenigen unter Ihnen, kam spät, haben wir Süßigkeiten, 480 00:22:55,190 --> 00:23:00,580 so kann euch Süßigkeiten wollen? 481 00:23:00,580 --> 00:23:01,530 >> PUBLIKUM: Sicher. 482 00:23:01,530 --> 00:23:03,321 >> ALLISON BUCHHOLTZ-AU: Ich bin nur werde herumreichen. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 Hey, wenn du Jungs bekommen hier früh, erhalten Sie mehr Süßigkeiten. 485 00:23:11,940 --> 00:23:12,500 Das ist in Ordnung. 486 00:23:12,500 --> 00:23:13,550 Ben, wollen Sie Süßigkeiten? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 Sie wollen einige von ihnen? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 Es gibt auch Snickers, wenn jemand will Snickers. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 Ich werde sie hier und hier zu verlassen. 493 00:23:29,360 --> 00:23:30,946 Fühlen Sie sich frei. 494 00:23:30,946 --> 00:23:32,485 Haben Sie mehr wollen? 495 00:23:32,485 --> 00:23:33,235 PUBLIKUM: Alle setzen. 496 00:23:33,235 --> 00:23:33,540 Danke. 497 00:23:33,540 --> 00:23:36,248 >> ALLISON BUCHHOLTZ-AU: Und ich hatte eine schöne Häufchen es am Anfang. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 Ihr Jungs bekommen, um das Quiz zu nehmen und Ich erhalte, ein Quiz mit einem Gehalt von Partei haben. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 Es ist Chaos. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 Prüfungen. 504 00:23:57,385 --> 00:23:58,650 Es wird so viel Spaß machen. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 Großartig werden. 507 00:24:02,036 --> 00:24:04,430 Ich bin mir ziemlich sicher, das ist ein der größten Personalbindungs 508 00:24:04,430 --> 00:24:05,380 Nächte des Jahres. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 Hat jemand von getan Quiz Null im vergangenen Jahr noch aus Neugier? 511 00:24:19,175 --> 00:24:20,335 >> PUBLIKUM: Teile davon. 512 00:24:20,335 --> 00:24:21,543 >> ALLISON BUCHHOLTZ-AU: Teile von ihr, OK. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 Haben Sie Fragen zu einem von ihnen? 515 00:24:26,482 --> 00:24:28,190 PUBLIKUM: Ich habe bereits ging zu Bürozeiten. 516 00:24:28,190 --> 00:24:28,898 Danke aber. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ALLISON BUCHHOLTZ-AU: Na, hoffentlich es ist immer noch irgendwie hilfreich. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 Wann haben Sie zu gehen Bürozeiten für das? 521 00:24:45,634 --> 00:24:47,300 PUBLIKUM: Mein TF hatte sie an diesem Nachmittag. 522 00:24:47,300 --> 00:24:47,966 ALLISON BUCHHOLTZ-AU: Oh. 523 00:24:47,966 --> 00:24:48,977 Wer ist dein TF? 524 00:24:48,977 --> 00:24:49,854 525 00:24:49,854 --> 00:24:51,020 PUBLIKUM: Fred [? Wujaya?]. 526 00:24:51,020 --> 00:24:52,622 527 00:24:52,622 --> 00:24:54,080 ALLISON BUCHHOLTZ-AU: Es gibt so viele TFs. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 So viele. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 In Ordnung. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 Wer noch keine zu beginnen, dass ich kann, notieren, dass wir arbeiten wollen? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 Ich nehme an, die Zeiger eine mit der Tabelle. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 Go for it. 538 00:25:57,610 --> 00:25:59,180 >> PUBLIKUM: Vielleicht der Schalter ein. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ALLISON BUCHHOLTZ-AU: So Nummer 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 Ich nehme an, Nummer 8 und 9 sind wahrscheinlich diejenigen Leute wollen gehen über. 543 00:26:10,770 --> 00:26:12,116 >> PUBLIKUM: Und 10 und 11. 544 00:26:12,116 --> 00:26:21,860 545 00:26:21,860 --> 00:26:25,806 >> ALLISON BUCHHOLTZ-AU: Und euch wissen Sie erhalten eine Seite mit Notizen, nicht wahr? 546 00:26:25,806 --> 00:26:28,450 >> PUBLIKUM: Ja, so was gibt Wir dürfen auf das setzen. 547 00:26:28,450 --> 00:26:30,658 >> ALLISON BUCHHOLTZ-AU: Du darfst alles, was Sie wollen, setzen. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 Und sie kann eingegeben werden. 550 00:26:32,720 --> 00:26:35,270 Soweit ich mich erinnere, wurden uns getippt. 551 00:26:35,270 --> 00:26:37,022 >> PUBLIKUM: Sie können tun zurück und beide Seiten? 552 00:26:37,022 --> 00:26:38,780 >> ALLISON BUCHHOLTZ-AU: Ja, beide Seiten. 553 00:26:38,780 --> 00:26:42,940 So etwas wie der Heap und [? Backend?] Haufen, Ihre Lauf 554 00:26:42,940 --> 00:26:43,780 Zeiten. 555 00:26:43,780 --> 00:26:44,840 Nützliche. 556 00:26:44,840 --> 00:26:47,990 Vielleicht kleine Dinge über Hinweise für Sie zu erinnern. 557 00:26:47,990 --> 00:26:49,205 Syntax für die Dinge. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 Da ich gerade wie ein Skelett Programm kann super nützlich sein. 560 00:26:54,830 --> 00:27:00,719 Ich weiß, dass ich immer vergessen, was genau Ich sollte für int main schreiben, 561 00:27:00,719 --> 00:27:03,010 weil ich immer nur kopieren Einfügen aus meinem vorherigen P-Set 562 00:27:03,010 --> 00:27:06,232 oder es ist schon da, so Ich habe nie wirklich geschrieben hat, 563 00:27:06,232 --> 00:27:07,690 so mit, dass kann super nützlich sein. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> OK, also warum nicht wir beginnen mit der Nummer 8 dann? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 In Ordnung. 568 00:27:22,810 --> 00:27:23,310 Ok. 569 00:27:23,310 --> 00:27:25,060 570 00:27:25,060 --> 00:27:26,310 So betrachten unter das Programm. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 So offensichtlich, wenn wir sehen, Zeiger, ist es wahrscheinlich 573 00:27:30,700 --> 00:27:32,200 eine gute Idee zu zeichnen, oder? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 Ich will wissen, wo alle meine große Stücke Kreide ging. 576 00:27:36,760 --> 00:27:37,870 Dies ist eine Art ärgerlich. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> So haben wir hier einige Swap-Funktion das wird in zwei Zeiger zu nehmen. 579 00:27:45,820 --> 00:27:48,630 So dass in diesem Fall werden sie sollte eigentlich Schalt sein 580 00:27:48,630 --> 00:27:53,400 Dinge gegenüber unserer ursprünglichen Swap Funktion, die nur in Kopien übernahm. 581 00:27:53,400 --> 00:27:57,030 Also, was es tun wird ist-- wir mit Haupt starten, 582 00:27:57,030 --> 00:27:58,450 denn dort 1. 583 00:27:58,450 --> 00:28:04,296 >> Also haben wir etwas int x 1. 584 00:28:04,296 --> 00:28:11,860 Wir haben einige y, die gleich 2 ist. 585 00:28:11,860 --> 00:28:14,390 Und dann haben wir etwas Swap das wird denen zu nehmen. 586 00:28:14,390 --> 00:28:17,320 Und mal sehen, was haben wir denn hier. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 Und in unserer table-- oh boy. 589 00:28:22,709 --> 00:28:23,792 Wie soll ich das tun? 590 00:28:23,792 --> 00:28:25,900 Ich werde zu meinem Tisch herüber zu ziehen. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 Kaum dass es dort. 593 00:28:50,552 --> 00:28:51,260 Kaum macht 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 Und sie uns geben, dass 1 1 und 1 2. 598 00:29:15,706 --> 00:29:16,206 Cool. 599 00:29:16,206 --> 00:29:17,674 600 00:29:17,674 --> 00:29:18,174 Genial. 601 00:29:18,174 --> 00:29:19,650 602 00:29:19,650 --> 00:29:20,464 Also 3. 603 00:29:20,464 --> 00:29:21,380 Und es gibt [? ein 1.?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> In Ordnung. 606 00:29:25,250 --> 00:29:35,202 Und dann Adresse x ist 0x123. 607 00:29:35,202 --> 00:29:41,260 Und y Ox127. 608 00:29:41,260 --> 00:29:41,760 Cool. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 In Ordnung. 611 00:29:43,595 --> 00:29:46,710 Ich möchte euch daran arbeiten für nur like-- Arbeit auf sie 612 00:29:46,710 --> 00:29:48,385 mit den Menschen um Sie herum. 613 00:29:48,385 --> 00:29:50,340 Ich wünschte, ich hätte, dass die während ich die Einrichtung. 614 00:29:50,340 --> 00:29:50,840 Arbeiten Sie daran. 615 00:29:50,840 --> 00:29:53,270 Versuchen Sie, und arbeiten, die ihr durch euch für ein paar Minuten, 616 00:29:53,270 --> 00:29:54,930 und dann werde ich darauf mit Ihnen zu arbeiten. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 Da der einzige Weg, Sie sind wirklich gehen zu lernen ist, indem Sie es selbst. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 Keine Sorgen. 621 00:31:30,110 --> 00:31:30,610 Viel Erfolg. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> OK, warum nicht wir langsam Beginn der Arbeit durch diese. 624 00:32:20,030 --> 00:32:23,695 So bekommt jeder nach Zeile ein, x 1. 625 00:32:23,695 --> 00:32:26,860 Nach Zeile zwei, X und y 1 und 2, oder? 626 00:32:26,860 --> 00:32:27,400 Cool. 627 00:32:27,400 --> 00:32:30,310 So Linie drei ist, wo die Dinge Interessant wird natürlich. 628 00:32:30,310 --> 00:32:34,970 >> Also, was wir hier gemacht haben wird haben wir jetzt getauscht. 629 00:32:34,970 --> 00:32:42,360 Wir sagen, dass x und y die Punkte haben, oder sie haben die Adresse x und y, 630 00:32:42,360 --> 00:32:43,390 richtig? 631 00:32:43,390 --> 00:32:48,451 So dass in diesem Fall drei, Was ist der Wert von a? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 A hatte in geleitet worden war, gegeben worden ist der Wert der Adresse x, nicht wahr? 634 00:32:59,806 --> 00:33:02,542 635 00:33:02,542 --> 00:33:03,454 >> PUBLIKUM: 1? 636 00:33:03,454 --> 00:33:05,200 >> ALLISON BUCHHOLTZ-AU: Also wir sie zum x hinzufügen? 637 00:33:05,200 --> 00:33:06,420 Was ist x die Adresse? 638 00:33:06,420 --> 00:33:07,212 >> PUBLIKUM: 0x123. 639 00:33:07,212 --> 00:33:08,087 >> ALLISON BUCHHOLTZ-AU: Genau. 640 00:33:08,087 --> 00:33:13,960 641 00:33:13,960 --> 00:33:16,790 Aber was ist ein tatsächlich auf den Hinweis? 642 00:33:16,790 --> 00:33:20,790 Wenn wir Dereferenzierung a, welchen Wert würde es uns. 643 00:33:20,790 --> 00:33:21,290 PUBLIKUM: 1. 644 00:33:21,290 --> 00:33:23,164 ALLISON BUCHHOLTZ-AU: Es wäre Geben Sie uns ein, weil das, was 645 00:33:23,164 --> 00:33:27,810 wir sagen ist, dies zu gehen Adresse, sagen uns, was der Wert ist. 646 00:33:27,810 --> 00:33:28,890 So was würde b werden? 647 00:33:28,890 --> 00:33:30,500 648 00:33:30,500 --> 00:33:31,445 >> PUBLIKUM: 0x127. 649 00:33:31,445 --> 00:33:32,320 ALLISON BUCHHOLTZ-AU: Genau. 650 00:33:32,320 --> 00:33:33,610 651 00:33:33,610 --> 00:33:35,410 So ist es die Adresse von y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 Und was dann [? Dereferenzierung? ?] 654 00:33:39,811 --> 00:33:40,310 PUBLIKUM: 2. 655 00:33:40,310 --> 00:33:42,172 656 00:33:42,172 --> 00:33:43,380 ALLISON BUCHHOLTZ-AU: OK, so jetzt vier. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 Wir haben gesagt, a equal-- auch jetzt haben wir getan int temp gleich Star a. 659 00:33:51,300 --> 00:33:53,580 Also, was ändert sich? 660 00:33:53,580 --> 00:33:55,680 Es gibt nur eine Sache, das ändert sich hier. 661 00:33:55,680 --> 00:33:56,180 Was ist das? 662 00:33:56,180 --> 00:33:57,892 663 00:33:57,892 --> 00:33:58,624 >> PUBLIKUM: Temp. 664 00:33:58,624 --> 00:33:59,540 ALLISON BUCHHOLTZ-AU: Die Temp. 665 00:33:59,540 --> 00:34:06,120 So können wir alle diese neu zu schreiben. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 Eine gute Strategie für diese gerade herauszufinden 668 00:34:10,690 --> 00:34:14,050 Welche Veränderungen, weil die meisten oft es gibt nur eine Sache, die ist 669 00:34:14,050 --> 00:34:16,300 werde zu einem bestimmten Zeitpunkt zu ändern, OK? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 Also haben wir Temp zugewiesen. 672 00:34:20,100 --> 00:34:26,929 >> Jetzt ist unsere nächste Punkt, fünf, wir haben Sterne a gleich b Star gemacht. 673 00:34:26,929 --> 00:34:28,880 Also, was ändert sich jetzt? 674 00:34:28,880 --> 00:34:29,760 >> PUBLIKUM: Star ein. 675 00:34:29,760 --> 00:34:32,081 >> ALLISON BUCHHOLTZ-AU: Star ein, so alles andere bleibt gleich. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 Und was bedeutet Stern A gleich? 678 00:34:39,900 --> 00:34:40,659 >> PUBLIKUM: 2. 679 00:34:40,659 --> 00:34:41,283 ALLISON BUCHHOLTZ-AU: 2. 680 00:34:41,283 --> 00:34:42,460 681 00:34:42,460 --> 00:34:42,960 Lovely. 682 00:34:42,960 --> 00:34:45,360 683 00:34:45,360 --> 00:34:46,239 Genial. 684 00:34:46,239 --> 00:34:51,190 OK, und jetzt haben wir beginnen b gleich Temp. 685 00:34:51,190 --> 00:34:53,907 Also das einzige, was Wechsel ist star b. 686 00:34:53,907 --> 00:34:55,344 Alles andere bleibt gleich. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 Und was ist star b gleich jetzt? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 Und Sie die Tabelle abgeschlossen haben. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 Da nun am Ende, wenn wir sagen, x und y, wissen wir, dass bei dieser point-- 693 00:35:18,460 --> 00:35:23,060 Wir wissen, dass, wenn wir verändert Stern A 2, 694 00:35:23,060 --> 00:35:29,620 was das tat, ist es gesagt OK, zumin Adresse 0x123 hier ändern. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 Nun war dies 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 Und dann an diesem Punkt, wir sagten OK, gehen Sie zu B-Star. 699 00:35:40,600 --> 00:35:45,305 So rufen Sie die Adresse an 0x127 und machen es zu einem 1. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 So, jetzt ganz am Ende, wenn wir eigentlich für Haupt zurückkehren, 702 00:35:53,110 --> 00:35:56,445 haben wir eigentlich, dass x gleich 2 und y gleich 1 ist. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 Jeder gut mit, dass? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 OK, cool. 707 00:36:02,320 --> 00:36:04,030 Number 9. 708 00:36:04,030 --> 00:36:05,950 Ihr Jungs arbeiten auf diesem. 709 00:36:05,950 --> 00:36:09,016 Ich werde die Einrichtung einer Platine damit wir durch ihn zu zeichnen. 710 00:36:09,016 --> 00:36:09,910 Es wird ein Knaller. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 Die großen Tabellen kann wirklich beängstigend, ich weiß. 713 00:36:16,320 --> 00:36:19,910 Aber wenn Sie nur nehmen sie eine Zeile auf eine Zeit, bekommen sie viel weniger beängstigend. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 In Ordnung. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> Damit Sie wissen, dass dies haben durch Haupt ersten, richtigen weg? 718 00:38:21,190 --> 00:38:24,140 Initialisiert x und y und dann versucht, sie zu tauschen. 719 00:38:24,140 --> 00:38:28,560 Also selbst Swap ist oben, real, wie es geht, ist, dass wir durch die Haupt gehen, 720 00:38:28,560 --> 00:38:31,040 und dann ist es fordern bis zu tauschen, in Ordnung? 721 00:38:31,040 --> 00:38:32,810 So weiß jeder. 722 00:38:32,810 --> 00:38:34,960 >> So das man Sie tun Jungs wollen, mit zu beginnen? 723 00:38:34,960 --> 00:38:37,240 Ist jemand wirklich sicher etwa einer von diesen? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 Oder auch nur teilweise sicher? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 Warum gehen wir nicht mit x beginnen? 728 00:38:48,120 --> 00:38:49,060 Was denken wir x ist? 729 00:38:49,060 --> 00:38:49,735 >> PUBLIKUM: 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 Also warum ist dann 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 Und das ist, weil die große Unterschied hier 735 00:39:01,380 --> 00:39:04,890 ist, dass wir nur sind Passieren Kopien in, oder? 736 00:39:04,890 --> 00:39:06,520 Wir werden nicht Gabe als Referenz. 737 00:39:06,520 --> 00:39:08,850 So dass auch am Ende Dieses Programm x und y 738 00:39:08,850 --> 00:39:14,170 haben die gleichen geblieben, weil sie sind nur Kopien in der Swap-Funktion. 739 00:39:14,170 --> 00:39:16,320 Sie eigentlich nicht ändern, oder? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> Und was ist mit a, b, und Temp? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> PUBLIKUM: a ist b. 744 00:39:22,890 --> 00:39:23,940 >> ALLISON BUCHHOLTZ-AU: a ist b. 745 00:39:23,940 --> 00:39:28,569 So dass in diesem Fall eine war x, die 1 ist, oder? 746 00:39:28,569 --> 00:39:29,860 Also hier, lass uns durch sie hindurchgehen. 747 00:39:29,860 --> 00:39:33,940 So zu Beginn, a und b 1 und 2 definiert. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 So ursprünglich Temp bekommt eine zugeordnete, so Temp 1 ist. 750 00:39:40,850 --> 00:39:46,150 a gleich b ist, so bekommen wir 2 und b gleich Temp. 751 00:39:46,150 --> 00:39:47,284 Jetzt bekommen wir ein. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> PUBLIKUM: Im vorigen man es getauscht Ampersand x und das kaufmännische y. 754 00:39:55,860 --> 00:39:57,390 Was genau bedeutet das? 755 00:39:57,390 --> 00:39:59,890 ALLISON BUCHHOLTZ-AU: Das heißt also, dass übergeben Sie durch Bezugnahme. 756 00:39:59,890 --> 00:40:03,830 Das heißt also, Sie tatsächlich sind vorbei in den Adressen, wo 757 00:40:03,830 --> 00:40:04,814 x und y gespeichert. 758 00:40:04,814 --> 00:40:06,730 PUBLIKUM: Aber du bist nicht Vertauschen Sie die Adresse. 759 00:40:06,730 --> 00:40:07,860 ALLISON BUCHHOLTZ-AU: Du bist nicht Vertauschen der Adressen. 760 00:40:07,860 --> 00:40:10,015 Du Swapping, was in ihnen. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 Wie, was ist an dieser Adresse, und das ist, warum es funktioniert. 763 00:40:14,460 --> 00:40:20,750 Versus in diesem Programm hier was du tust ist Sie erstellen Kopien sind. 764 00:40:20,750 --> 00:40:27,440 Sie haben also x und y, die es gibt als ihre eigenen Variablen hier draußen. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 Aber dann, wenn Sie weitergeben sie in Swap, ist es 767 00:40:34,140 --> 00:40:38,090 als ob Sie erstellen diese ganze andere Satz. 768 00:40:38,090 --> 00:40:41,272 So können Sie tatsächlich sind nie rührende x und y. 769 00:40:41,272 --> 00:40:46,890 >> PUBLIKUM: Wenn kaufmännisches Und x ist, was auf die Adresse von x, was wäre Star x sein? 770 00:40:46,890 --> 00:40:53,290 >> ALLISON BUCHHOLTZ-AU: Ampersand x ist, was auf die Adresse von x, dann gut star--, 771 00:40:53,290 --> 00:40:54,950 in diesem Fall ist x kein Zeiger. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 PUBLIKUM: Oh, OK. 774 00:40:57,040 --> 00:40:58,998 So können Sie dies nur tun, denn es ist kein Zeiger. 775 00:40:58,998 --> 00:40:59,890 ALLISON BUCHHOLTZ-AU: Richtig. 776 00:40:59,890 --> 00:41:03,046 Sie können nur Star zu tun etwas, das ein Zeiger ist. 777 00:41:03,046 --> 00:41:05,920 Vielleicht haben Sie es, Dinge zu tun hätte, dass sind es nicht, aber der Kompilierung, die Sie 778 00:41:05,920 --> 00:41:07,350 tun verrückte Dinge passieren würde. 779 00:41:07,350 --> 00:41:09,570 Und ich bin mir nicht ganz sicher, was passieren würde. 780 00:41:09,570 --> 00:41:11,880 Sie können immer die Adresse von etwas, 781 00:41:11,880 --> 00:41:14,255 aber Sie können nicht Dereferenzierung etwas, das nicht ein Zeiger. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 Wenn das Sinn macht, das ist eine gute Unterscheidung haben. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> Und nicht so schlecht, oder? 786 00:41:21,340 --> 00:41:23,650 Die Tische sind hoffnungs immer etwas weniger beängstigend. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 In Ordnung. 789 00:41:26,690 --> 00:41:28,370 Ah, die Spaß Einsen. 790 00:41:28,370 --> 00:41:31,265 So, jetzt, das Schreiben eigener Code. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 Also werde ich euch arbeiten zu lassen auf diesem für etwa vier Minuten, 793 00:41:37,950 --> 00:41:41,480 und dann können wir reden über Wege zu nähern. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 Fühlen Sie sich frei, um die Menschen um Sie herum zu reden. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 Auch das ist interessant. 798 00:41:49,155 --> 00:41:51,460 Es ist wie eine alle Mädchen Abschnitt Augenblick. 799 00:41:51,460 --> 00:41:52,190 Ziemlich aufregend. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 Außer für Chang. 802 00:41:54,502 --> 00:41:56,190 Aber Chang ist nicht wirklich Teil der Seite. 803 00:41:56,190 --> 00:42:17,282 804 00:42:17,282 --> 00:42:17,985 Genial. 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 Also ich gebe Ihnen ein paar Hinweise. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 In dem Fall, wo man mehr als ein Zeichen, wobei 810 00:42:46,890 --> 00:42:49,990 Sie etwas anderes haben wie 123 oder 1000 etwas, 811 00:42:49,990 --> 00:42:53,790 Sie brauchen, um in der Lage, Schleife durch und konvertieren jedes von denen. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 Es gibt also ein paar Möglichkeiten, wie Sie das tun konnte, 814 00:42:58,699 --> 00:43:01,740 aber Sie definitiv zu haben sind eine for-Schleife irgendwo dort in einer Schleife 815 00:43:01,740 --> 00:43:05,150 durch sie, das ist Art, wie die Werbegeschenk 816 00:43:05,150 --> 00:43:09,540 mit, auch wenn Sie strlen Anrufs das ist ein bisschen wie oh 817 00:43:09,540 --> 00:43:12,418 vielleicht haben Sie, um die Länge verwenden wollen der Saite in irgendeiner Weise. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> In Ordnung. 820 00:45:17,829 --> 00:45:20,870 Also, was denkt ihr könnte eines der ersten Dinge, die wir tun wollen? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 Es gibt ein paar Fälle, in hier wir brauchen, um für Konto, oder? 823 00:45:25,690 --> 00:45:27,360 Entweder wir haben etwas, das null ist. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 Was haben wir? 826 00:45:30,383 --> 00:45:30,882 Hüllen. 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 Wir haben den Fall, dass es etwas anderes als 09, oder? 831 00:45:42,414 --> 00:45:43,580 Also lassen Sie uns sagen, dass es Briefe hat. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 Oder wir haben den Fall, dass gültig ist. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 Drei Fälle zu denken. 836 00:45:50,130 --> 00:45:53,527 Also welches Sie vielleicht denken am einfachsten zu zunächst kümmern? 837 00:45:53,527 --> 00:45:54,152 PUBLIKUM: Null. 838 00:45:54,152 --> 00:45:55,527 ALLISON BUCHHOLTZ-AU: Der Fall ist null. 839 00:45:55,527 --> 00:45:56,610 Also, was würden wir es tun? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 PUBLIKUM: [unverständlich]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ALLISON BUCHHOLTZ-AU: Yeah. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 Und was will ich tun? 846 00:46:06,550 --> 00:46:07,341 >> PUBLIKUM: Return 0. 847 00:46:07,341 --> 00:46:07,935 848 00:46:07,935 --> 00:46:09,110 >> ALLISON BUCHHOLTZ-AU: Genau. 849 00:46:09,110 --> 00:46:09,860 Genial. 850 00:46:09,860 --> 00:46:10,640 Ok. 851 00:46:10,640 --> 00:46:15,270 So, jetzt Fall, dass es Briefe hat und der Fall, dass sie gültig ist. 852 00:46:15,270 --> 00:46:19,140 Wir können tatsächlich kümmern dies innerhalb einer Schleife, OK? 853 00:46:19,140 --> 00:46:22,710 Also eine Möglichkeit, es-- tun, was sein könnte ein einfacher Weg, um zu überprüfen, ob es gültig ist. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 Wir würden zu durchlaufen haben jeder Buchstabe und tun, was? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> PUBLIKUM: Überprüfen Sie, ob es in-- 858 00:46:35,640 --> 00:46:39,570 >> ALLISON BUCHHOLTZ-AU: Richtig, können Sie überprüfen, wenn es zwischen 0 und 9, oder? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 Und in dem Fall, dass es gültig ist, sind wir 861 00:46:42,700 --> 00:46:46,550 am Ende sich durchlaufen unsere String sowieso, nicht wahr? 862 00:46:46,550 --> 00:46:48,690 Also, warum versuchen wir nicht und kombinieren sie zu einem. 863 00:46:48,690 --> 00:46:51,260 Wir werden durchlaufen durch aus String und wie wir 864 00:46:51,260 --> 00:46:56,400 das tun, werden wir zuerst tun einen Scheck an, wenn dieser Brief zu sehen 865 00:46:56,400 --> 00:46:58,110 oder wenn es ein Zeichen gültig ist. 866 00:46:58,110 --> 00:47:02,150 Wenn ja, werden wir das durchführen Operation, die wir brauchen, um sie zu konvertieren. 867 00:47:02,150 --> 00:47:05,050 Es wird sonst 0 zurück, nicht wahr? 868 00:47:05,050 --> 00:47:09,160 >> Also, bevor wir das tun, wir wahrscheinlich wollen einige Variablen 869 00:47:09,160 --> 00:47:12,820 dass wir am Ende zurück das wird unsere tatsächlichen Wert. 870 00:47:12,820 --> 00:47:17,005 So werden wir zu initialisieren einige Wert auf 0 sein. 871 00:47:17,005 --> 00:47:18,390 Und das ist nur, wie wir starten. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 Also werde ich dieses loszuwerden. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 Also, wie sollen wir durchlaufen diese Saite. 876 00:47:30,489 --> 00:47:31,280 PUBLIKUM: For-Schleife. 877 00:47:31,280 --> 00:47:32,280 ALLISON BUCHHOLTZ-AU: Eine for-Schleife. 878 00:47:32,280 --> 00:47:33,160 Also, was ist unsere für? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> PUBLIKUM: i 0. 881 00:47:35,909 --> 00:47:36,700 ALLISON BUCHHOLTZ-AU: Mm-hm. 882 00:47:36,700 --> 00:47:38,620 883 00:47:38,620 --> 00:47:41,180 Und was sind wir, bis Iteration? 884 00:47:41,180 --> 00:47:42,450 >> PUBLIKUM: str Länge s. 885 00:47:42,450 --> 00:47:47,920 886 00:47:47,920 --> 00:47:50,900 >> ALLISON BUCHHOLTZ-AU: OK, jetzt erinnere es gibt einen besseren Weg. [Unverständlich]. 887 00:47:50,900 --> 00:47:52,935 >> PUBLIKUM: Ja, wir tun können, n gleich. 888 00:47:52,935 --> 00:47:53,810 ALLISON BUCHHOLTZ-AU: Genau. 889 00:47:53,810 --> 00:47:55,010 890 00:47:55,010 --> 00:47:56,190 >> PUBLIKUM: i kleiner als n ist. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ALLISON BUCHHOLTZ-AU: Und warum würden wir das tun wollen? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 Haben Sie den Grund erinnern? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 PUBLIKUM: Wir müssen es neu zu berechnen. 897 00:48:05,680 --> 00:48:08,735 ALLISON BUCHHOLTZ-AU: becasue diese Weise können Sie nur noch strlen einmal berechnen. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 Wenn Sie das tun i weniger als strlen ist s, das ist bedeutet dies, berechnet 900 00:48:14,400 --> 00:48:17,050 die Länge jedes Mal Sie das ausführen for-Schleife, 901 00:48:17,050 --> 00:48:20,800 Das ist kein großer Kosten Energie, ist aber 902 00:48:20,800 --> 00:48:24,280 bessere Praxis zu versuchen und Dinge tun, wie, dass einmal. 903 00:48:24,280 --> 00:48:27,610 Es sei denn, vielleicht haben Sie eine verrückte String haben das ändert sich bei jeder Iteration. 904 00:48:27,610 --> 00:48:30,371 Aber wenn es bleiben die gleichen, speichern Sie es. 905 00:48:30,371 --> 00:48:30,870 In Ordnung. 906 00:48:30,870 --> 00:48:33,430 Und dann habe ich plus plus. 907 00:48:33,430 --> 00:48:34,040 Genial. 908 00:48:34,040 --> 00:48:35,789 Wir sind auf unserem Weg. 909 00:48:35,789 --> 00:48:36,830 PUBLIKUM: Wirklich schnell. 910 00:48:36,830 --> 00:48:39,600 Erstens, so sagen wir, wir nur tat ich weniger als strlen von s, 911 00:48:39,600 --> 00:48:42,175 werden sie mit einem Gehalt von uns auf Design überhaupt nicht oder nur Korrektheit? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 Sie sind es nicht. 914 00:48:44,610 --> 00:48:47,920 Wir werden auf Korrektheit Einstufung für Quiz soweit ich weiß. 915 00:48:47,920 --> 00:48:52,670 Ich kann eine voll auf keinen Garantie, aber zum größten Teil, 916 00:48:52,670 --> 00:48:57,060 überwiegende Mehrheit ist Korrektheit, weil du bist unter großem Zeitdruck. 917 00:48:57,060 --> 00:48:59,704 Design in der Regel bedeutet, Sie Zeit zum Nachdenken haben 918 00:48:59,704 --> 00:49:01,245 über die Eleganz der Ihre Situation. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> OK, so dass wir durch Iteration. 921 00:49:05,770 --> 00:49:10,640 Also müssen wir entweder zu überprüfen, um sehen, ob dieses Zeichen ist gültig 922 00:49:10,640 --> 00:49:14,550 oder wenn wir durchführen können unsere normal [? a bis i?] Funktion. 923 00:49:14,550 --> 00:49:16,600 Wir können darum kümmern, was daß in einer zweiten. 924 00:49:16,600 --> 00:49:19,340 Also, warum nicht wir take-- wenn jemand denken kann 925 00:49:19,340 --> 00:49:21,930 über eine Möglichkeit, um zu überprüfen, sehen, ob diese gültig ist. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 Wir wissen, es geht um sein einige, wenn Bedingung, nicht wahr? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 Und vergessen, das ist in ASCII, so wie vielleicht 930 00:49:32,300 --> 00:49:37,359 wir sehen, ob es nicht 0,1, 2, 3, 4, 5, 6, 7, 8 oder 9. 931 00:49:37,359 --> 00:49:38,150 PUBLIKUM: Wenn alpha. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ALLISON BUCHHOLTZ-AU: Also, wenn alpha würde nur lassen Sie uns wissen, wenn es ein Brief. 934 00:49:44,100 --> 00:49:47,810 Und wenn sie ein Symbol geben uns, es ist immer noch nicht ganz los, um zu überprüfen. 935 00:49:47,810 --> 00:49:54,270 Also, wenn Sie Ihre ASCII ziehen Tisch, wissen wir, dass 0 bis 9 936 00:49:54,270 --> 00:49:55,340 sind in einem Segment. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 Sagen Sie mir die Zahlen, dass sie entsprechen, wenn möglich. 939 00:50:00,540 --> 00:50:08,136 940 00:50:08,136 --> 00:50:08,677 PUBLIKUM: 40. 941 00:50:08,677 --> 00:50:11,440 942 00:50:11,440 --> 00:50:13,714 >> ALLISON BUCHHOLTZ-AU: Also der Bereich ist wie 40-- 943 00:50:13,714 --> 00:50:14,380 PUBLIKUM: Vielleicht. 944 00:50:14,380 --> 00:50:16,110 945 00:50:16,110 --> 00:50:16,765 48 bis 57. 946 00:50:16,765 --> 00:50:17,430 Ich bin mir nicht sicher. 947 00:50:17,430 --> 00:50:18,510 >> ALLISON BUCHHOLTZ-AU: 40-57? 948 00:50:18,510 --> 00:50:19,426 >> PUBLIKUM: 48, glaube ich. 949 00:50:19,426 --> 00:50:20,730 ALLISON BUCHHOLTZ-AU: 48 bis 57. 950 00:50:20,730 --> 00:50:26,070 So wissen wir, dass diejenigen, ASCII symbols-- wenn die ASCII-Wert ist nicht 951 00:50:26,070 --> 00:50:29,940 zwischen 48 und 57, es ist nicht gültig, oder? 952 00:50:29,940 --> 00:50:32,050 So konnten wir zu bedienen, dass unser Vorteil möglicherweise? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 Wie werden wir zu bekommen Dieser Brief, zuerst aus? 955 00:50:38,082 --> 00:50:40,910 Wie sollen wir den Zugriff auf dies dieses Zeichen? 956 00:50:40,910 --> 00:50:42,010 >> PUBLIKUM: s Halterung i. 957 00:50:42,010 --> 00:50:42,801 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 958 00:50:42,801 --> 00:50:43,790 959 00:50:43,790 --> 00:50:46,285 Weil wir denken können Strings als Arrays, erinnern. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 Also, was wollen wir sagen? 962 00:50:48,740 --> 00:50:55,920 Wir wollen, wenn dies zu sagen ist-- Ich gebe Ihnen einen Tipp geben. 963 00:50:55,920 --> 00:50:56,920 Es ist ein kleiner. 964 00:50:56,920 --> 00:50:58,711 Was, Sie denken muss weniger als sein? 965 00:50:58,711 --> 00:50:59,074 966 00:50:59,074 --> 00:50:59,615 PUBLIKUM: 57? 967 00:50:59,615 --> 00:51:01,550 968 00:51:01,550 --> 00:51:02,900 >> ALLISON BUCHHOLTZ-AU: 47, richtig? 969 00:51:02,900 --> 00:51:08,920 Aber es stellt auch, dass, wie Sie eine 0 in Einzel [? Speichen?], denn das ist 970 00:51:08,920 --> 00:51:09,689 das Zeichen 0. 971 00:51:09,689 --> 00:51:10,605 Sie könnten auch setzen 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 Mit der ASCII-Tabelle, wie Sie sehen, ist nur etwas 974 00:51:14,350 --> 00:51:18,580 Sie sollten sich auf Ihr Quiz Blatt haben. 975 00:51:18,580 --> 00:51:25,830 >> So dass, wenn dies der Fall ist, wenn es ein weniger als 0-- nicht unbedingt und. 976 00:51:25,830 --> 00:51:30,890 Es ist nur entweder sein wird kleiner oder größer als 9 ist. 977 00:51:30,890 --> 00:51:33,055 So können Sie ausfüllen diese letzte für mich? 978 00:51:33,055 --> 00:51:36,440 So oder s von i ist, was, Rhea? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> PUBLIKUM: Mehr als 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ALLISON BUCHHOLTZ-AU: Es. 983 00:51:44,221 --> 00:51:47,280 Heißt das sinnvoll sein, alle, wie wir da? 984 00:51:47,280 --> 00:51:51,340 Diese Probleme, sie sind wie, wenn Sie sehen die Lösungen, es ist wie oh, OK. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 Und das ist, warum der Praxis wird Ihnen helfen. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 OK, also kehren wir 0. 989 00:51:57,400 --> 00:51:57,900 Lovely. 990 00:51:57,900 --> 00:51:59,000 991 00:51:59,000 --> 00:51:59,670 In Ordnung. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 Ansonsten, was wollen wir tun? 994 00:52:02,365 --> 00:52:04,640 Dies ist der interessante Teil wo es ein wenig mehr 995 00:52:04,640 --> 00:52:07,550 wie Mathematik gegen CS meiner Meinung nach. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 Hat jemand eine Idee haben der, wie wir dies tun? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 So ist die wichtigste Sache zu erkennen, ist das erste Zeichen 1000 00:52:18,155 --> 00:52:21,510 wir nehmen sein wird die höchste Ordnung stellige, nicht wahr? 1001 00:52:21,510 --> 00:52:25,975 Also, wenn wir bei der Umwandlung der Suche 123, das erste Mal, wir durchlaufen 1002 00:52:25,975 --> 00:52:30,800 Bevorstehende 1 sein, aber wir brauchen dass auf 100 bis Ende sein, oder? 1003 00:52:30,800 --> 00:52:34,450 So eins, was Sie tun können, ist, dass mit jedem weiteren stelligen 1004 00:52:34,450 --> 00:52:39,670 Sie nehmen, Sie Ihren Wert mit 10 multiplizieren, so dass durch die Zeit zum Erreichen des Ziels, 1005 00:52:39,670 --> 00:52:42,960 Alles wurde nach oben verschoben, oder? 1006 00:52:42,960 --> 00:52:46,490 >> Also das erste Mal, wenn Sie laufen ihm haben Sie 1 als Wert. 1007 00:52:46,490 --> 00:52:50,370 Zweites Mal, wenn Sie es, Sie laufen multiplizieren Sie den Wert um 10. 1008 00:52:50,370 --> 00:52:55,180 Es wird sie zu aktualisieren, so dass es nun 10, und Sie bei Ihrem nächsten Wert hinzuzufügen. 1009 00:52:55,180 --> 00:52:57,830 Und dann multiplizieren Sie diese mit 10 und fügen Sie bei Ihrer nächsten Wert. 1010 00:52:57,830 --> 00:53:01,880 Und das ist, warum sie das sagen, ist viel mehr wie Tests 1011 00:53:01,880 --> 00:53:06,920 ein Mathe-Algorithmus im Vergleich CS, aber ich schweife ab. 1012 00:53:06,920 --> 00:53:08,080 Ich glaube nicht, die Tests zu schreiben. 1013 00:53:08,080 --> 00:53:13,520 >> Also etwas, was wir tun können, ist, dass wir sagen Wert mal gleich 10. 1014 00:53:13,520 --> 00:53:16,630 Also das wird sich verschieben Ihre stelligen einmal jedes Mal. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 Und dann wollen wir nur hinzufügen. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 Wir wollen in den Teil hinzufügen wir sind gerade, oder? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 So, wie wir eigentlich konvertieren unsere ASCII-Zeichen in der Anzahl 1021 00:53:31,649 --> 00:53:32,440 daß es darstellt? 1022 00:53:32,440 --> 00:53:37,680 1023 00:53:37,680 --> 00:53:40,800 >> So wissen wir, dass 0 gleich 47, oder? 1024 00:53:40,800 --> 00:53:44,260 Also, wenn 0 ist 47, was würden wir es zu tun haben 1025 00:53:44,260 --> 00:53:47,376 um tatsächlich machen es ein int von 0 sein? 1026 00:53:47,376 --> 00:53:48,384 >> PUBLIKUM: Es ist 48. 1027 00:53:48,384 --> 00:53:49,050 ALLISON BUCHHOLTZ-AU: 48? 1028 00:53:49,050 --> 00:53:49,550 Entschuldigung. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 Wir würden subtrahieren 48, richtig? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 Angemeldet ASCII Mathe? 1033 00:53:59,550 --> 00:54:01,565 Wir können sie nur behandeln wie normale Zahlen. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 Wenn man sie wie Zahlen zu behandeln, sie werden Zahlen effektiv. 1036 00:54:05,900 --> 00:54:10,410 Wenn wir also s von i, die uns gelassen sagen in diesem Fall gleich 0 ist. 1037 00:54:10,410 --> 00:54:14,420 So s von i in diesem Fall wäre die ASCII-- sein 1038 00:54:14,420 --> 00:54:16,675 der ASCII-int denn es wäre 47 sein. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 So konnten wir subtract-- oder 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 Sie könnten das tun, ist eine Möglichkeit. 1043 00:54:22,440 --> 00:54:25,125 Kennt jemand eine bessere Art, wie wir 48 tun könnte? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 Wir haben gerade das 0 ist-- in zu gehen der ASCII man Zitat 0 zu tun. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 So tut es irgendwie machen Sinn, wie das funktioniert? 1048 00:54:43,160 --> 00:54:50,080 >> PUBLIKUM: Zu diesem Zeitpunkt ist der Wert 0 denn selbst wenn Sie es mit 10 multiplizieren, 1049 00:54:50,080 --> 00:54:53,340 Sie beginnen mit Null, so sollte sie umgeschaltet werden? 1050 00:54:53,340 --> 00:54:59,360 >> ALLISON BUCHHOLTZ-AU: Also in diesem Fall, können Sie möchte es multiplizieren, bevor Sie hinzufügen, 1051 00:54:59,360 --> 00:55:06,650 weil in diesem Fall, ja, wäre es noch be-- meine Zeiger fehlt. 1052 00:55:06,650 --> 00:55:09,980 Der Wert in diesem Fall die erste Zeit, dass wir es laufen wird gleich Null sein. 1053 00:55:09,980 --> 00:55:12,320 Sie sind also gerade hinzufügen an diesem ersten Ziffer. 1054 00:55:12,320 --> 00:55:15,930 Was wichtig ist, das nächste Mal, Sie durchlaufen, Sie es verschieben möchten 1055 00:55:15,930 --> 00:55:18,722 bevor Sie Ihre nächste Stelle hinzufügen auf. 1056 00:55:18,722 --> 00:55:21,223 Heißt das für Sie zu klären? 1057 00:55:21,223 --> 00:55:21,723 Ok. 1058 00:55:21,723 --> 00:55:23,050 1059 00:55:23,050 --> 00:55:25,900 >> Manchmal bist du zu gehen get weird mehr mathy Dinge. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 Wenn Sie die meisten hatten dies, du bist immer noch 1062 00:55:30,750 --> 00:55:32,610 um get-- wirst du ziemlich gut tun versuchen. 1063 00:55:32,610 --> 00:55:35,150 Partielle Kredit ist eine sehr große Ding auf CS50 Quiz. 1064 00:55:35,150 --> 00:55:36,270 Also schreiben, was Sie wissen. 1065 00:55:36,270 --> 00:55:39,640 Wenn man alles bekommt Ausnahme hier, du bist 1066 00:55:39,640 --> 00:55:41,390 immer noch zu tun wirklich gut das Problem. 1067 00:55:41,390 --> 00:55:43,750 Weil Sie zeigt bist, OK, habe ich fast weiß. 1068 00:55:43,750 --> 00:55:45,570 Ich weiß, dass ich, um durch laufen. 1069 00:55:45,570 --> 00:55:47,260 Ich weiß, was ich brauche, um für zu überprüfen. 1070 00:55:47,260 --> 00:55:50,584 Ich weiß nur nicht recht bekommen, wie es zu konvertieren. 1071 00:55:50,584 --> 00:55:51,500 Du wirst in Ordnung zu sein. 1072 00:55:51,500 --> 00:55:52,850 Ja, du bist zu gehen verlieren ein paar Punkte, 1073 00:55:52,850 --> 00:55:55,641 aber du bist immer noch ein zu bekommen gute Anzahl von Punkten für etwas 1074 00:55:55,641 --> 00:55:57,990 so, wenn Sie fehlen diese beiden Zeilen. 1075 00:55:57,990 --> 00:56:00,660 Ich möchte Sie auf OK, diese Person zu sein weiß, was sie tun. 1076 00:56:00,660 --> 00:56:02,070 Mathe ist hart. 1077 00:56:02,070 --> 00:56:04,930 Also ich würde sagen, dass Sie in Ordnung sein würde. 1078 00:56:04,930 --> 00:56:09,474 >> OK, so you guys bereit Versuchen Sie jetzt mit Zeigern strlen 1079 00:56:09,474 --> 00:56:10,890 dass Sie Jungs sind Zeiger Meister? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 Also werde ich euch arbeiten lassen auf, dass für ein wenig. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 Wenn jemand braucht eine Auffrischung. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 Sie wollen also Zeiger verwenden möchten Arithmetik, und dann, wenn s Null ist, 1086 00:56:28,060 --> 00:56:29,624 Ihre Umsetzung sollte 0 zurückgeben. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 Dinge wie diese, die Sie vornehmen wirklich glücklich, einfach anrufen strlen 1089 00:56:39,670 --> 00:56:40,586 am Ende des Tages. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 Ich denke, das man ein wenig sein könnte leichter als die letzte, die 1092 00:57:27,624 --> 00:57:28,123 ist gut. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 Ich gebe dir Jungs noch eine Minute, und dann werden wir es durchzuarbeiten. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 Und dann kommen wir zu den Schaltern gehen. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> OK, bereit Jungs? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 Vielleicht ein bisschen. 1101 00:59:37,420 --> 00:59:40,210 Also habe ich Sie da zwei Möglichkeiten, oder? 1102 00:59:40,210 --> 00:59:45,810 Entweder prüfen null und 0 zurückgeben, wenn es ist, oder tatsächlich zu berechnen die Länge. 1103 00:59:45,810 --> 00:59:48,220 Also, wer will schreiben erfragen null? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 Go for it. 1106 00:59:51,790 --> 00:59:56,460 >> PUBLIKUM: Wenn Klammern s gleich ist gleich null return 0. 1107 00:59:56,460 --> 00:59:57,342 1108 00:59:57,342 --> 00:59:58,175 ALLISON BUCHHOLTZ-AU: Lovely. 1109 00:59:58,175 --> 00:59:59,350 1110 00:59:59,350 --> 01:00:02,320 Ich liebe es, wenn die Hälfte Ihres Problems wird nur die Überprüfung für null. 1111 01:00:02,320 --> 01:00:04,820 Ich weiß, mit euch letzten Woche war ich wie Check für null 1112 01:00:04,820 --> 01:00:06,630 buchstäblich jedes Mal. 1113 01:00:06,630 --> 01:00:07,510 OK, SO- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> PUBLIKUM: Wenn return 0 ist nur eine Zeile, brauchen wir noch die geschweifte Klammer? 1116 01:00:12,750 --> 01:00:15,860 >> ALLISON BUCHHOLTZ-AU: Sie müssen nicht technisch müssen sie so lange Sie konsequent sind. 1117 01:00:15,860 --> 01:00:19,240 Es ist gute Praxis nur um die Gewohnheit zu bekommen 1118 01:00:19,240 --> 01:00:21,650 der Verwendung von geschweiften Klammern, aber technisch nicht. 1119 01:00:21,650 --> 01:00:23,320 Sie brauchen sie nicht für eine Zeile. 1120 01:00:23,320 --> 01:00:26,030 Wir neigen dazu, nur es empfehlen für Existenz zu programmieren. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> Und was jetzt vielleicht wollen wir hier tun? 1123 01:00:30,450 --> 01:00:32,222 So, jetzt wissen wir, dass unsere String gültig ist. 1124 01:00:32,222 --> 01:00:33,680 Wir wollen berechnen die Länge zu halten. 1125 01:00:33,680 --> 01:00:35,620 Was ist wohl das erste was wir tun wollen? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> PUBLIKUM: Neu int, das ist die Länge. 1128 01:00:41,276 --> 01:00:42,150 ALLISON BUCHHOLTZ-AU: Genau. 1129 01:00:42,150 --> 01:00:43,450 PUBLIKUM: Und wir wollen es zu setzen? 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 In Ordnung. 1134 01:00:47,290 --> 01:00:48,750 Nun, was wollen, zu tun? 1135 01:00:48,750 --> 01:00:50,000 Das ist wirklich der Großteil davon. 1136 01:00:50,000 --> 01:00:50,890 Go for it. 1137 01:00:50,890 --> 01:00:54,370 >> PUBLIKUM: Also Sie wahrscheinlich eine for-Schleife. 1138 01:00:54,370 --> 01:01:03,150 Und dann da, wenn Sie anrufen s du bist immer die Adresse des ersten Sache, 1139 01:01:03,150 --> 01:01:05,660 Sie beginnen mit i gleich 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 Und dann, solange x plus i ist nicht zurück Slash 0. 1142 01:01:15,755 --> 01:01:17,130 ALLISON BUCHHOLTZ-AU: Die Null-Terminator. 1143 01:01:17,130 --> 01:01:18,380 PUBLIKUM: Die Null-Terminator. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 Dann sind Sie ein bis Länge. 1146 01:01:21,088 --> 01:01:22,372 >> ALLISON BUCHHOLTZ-AU: Yeah. 1147 01:01:22,372 --> 01:01:25,940 OK, so können wiederum, dass in sehr konkreten Code. 1148 01:01:25,940 --> 01:01:27,537 Aber das ist die perfekte Idee. 1149 01:01:27,537 --> 01:01:28,870 Das ist genau das, was wir tun. 1150 01:01:28,870 --> 01:01:31,910 Wir werden das Iterieren zu sein durch mit dem Zeiger. 1151 01:01:31,910 --> 01:01:34,590 Also, was wir tun wollen ist anstelle eines int 1152 01:01:34,590 --> 01:01:36,660 hier, weil wir nicht unter Bezugnahme auf ein es. 1153 01:01:36,660 --> 01:01:42,390 Wir fahren nach dem Start eine Bezugnahme String, dass anfangen, einige Adresse, 1154 01:01:42,390 --> 01:01:43,300 richtig? 1155 01:01:43,300 --> 01:01:44,600 >> So wollen wir einen Zeiger. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 Also werden wir, um etwas char Sterne haben, weil es in unseren s entspricht, oder? 1158 01:01:52,310 --> 01:01:57,270 Das ist also ein Punkt wir Initialisieren zum Anfang der Zeichenfolge, OK? 1159 01:01:57,270 --> 01:01:58,949 Also nennen wir es nur i. 1160 01:01:58,949 --> 01:02:01,740 Wenn es der Anfang der Zeichenfolge, was es geht um zugeordnet werden? 1161 01:02:01,740 --> 01:02:03,690 1162 01:02:03,690 --> 01:02:04,530 Nicht 0. 1163 01:02:04,530 --> 01:02:06,238 Wir wollen, dass es das sein Start unserer String. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 Was stellt den Beginn unsere String, der uns gegeben ist? 1166 01:02:09,960 --> 01:02:10,800 >> PUBLIKUM: Just s. 1167 01:02:10,800 --> 01:02:11,425 >> ALLISON BUCHHOLTZ-AU: s. 1168 01:02:11,425 --> 01:02:13,070 1169 01:02:13,070 --> 01:02:17,890 Also das schafft einige neue Zeiger, stellt den Beginn unserer String, OK? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 Ein anderer Weg, um daran zu denken ist wie hier ist unser Angebot. 1172 01:02:22,777 --> 01:02:26,690 Das ist unser String, s. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 Also lassen Sie uns sagen, das ist das ersten Punkt, und das ist 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 Das ist unser s, die diese Adresse enthält. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 Und wir haben gerade ein anderes namens erstellt ich, dass gerade bezieht sich auf die gleiche Sache. 1181 01:02:45,960 --> 01:02:49,437 Also sie sind beide nur den Hinweis zum Anfang der Zeichenfolge. 1182 01:02:49,437 --> 01:02:51,020 Dies ist nur eine grafische Darstellung. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> So jetzt, was wir wollen zu tun ist, wir durchlaufen möchten 1185 01:02:57,100 --> 01:03:02,040 unsere Bedingung zur Iteration durch unsere String. 1186 01:03:02,040 --> 01:03:02,920 Jetzt einkaufen. 1187 01:03:02,920 --> 01:03:04,150 Got to Shop, Jungs. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 Ist, dass wir, um die Aktualisierung, bis halten wollen erreichen wir das Nullabschluss, richtig? 1190 01:03:12,390 --> 01:03:14,930 Also, was könnte das aussehen? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 Wollen wir, dass i, oder wollen wir Sterne i ist die Frage? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 Ist das Nullabschluss eine Adresse oder etwas an einer Adresse befindet? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 An einer Adresse befindet, oder? 1197 01:03:33,660 --> 01:03:38,420 >> Also brauchen wir Dereferenzierung was auch immer hier, denn das ist nur einige Adressen. 1198 01:03:38,420 --> 01:03:44,350 Um tatsächlich an den Start zu bekommen wir brauchen, um diese Dereferenzierung 1199 01:03:44,350 --> 01:03:46,770 so dass wir tatsächlich bekommen was ist in diesem ersten Platz. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 Also, wenn wir tun, Star I, was gehen wir nicht wollen, dass es gleich? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 PUBLIKUM: Zurück Schrägstrich? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ALLISON BUCHHOLTZ-AU: Es. 1206 01:03:59,260 --> 01:04:01,430 Ist das sinnvoll, um alle? 1207 01:04:01,430 --> 01:04:05,620 Wir müssen in unsere String gehen und stellen Sie sicher, dass es nicht das Ende. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 Und dann können wir nur zu aktualisieren wie diese. 1210 01:04:08,990 --> 01:04:09,680 Normale Aktualisierung. 1211 01:04:09,680 --> 01:04:11,910 1212 01:04:11,910 --> 01:04:15,070 So lange, wie diese sind Met, was müssen wir tun? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> PUBLIKUM: Länge 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 Und dann nach der for-Schleife endet, was wollen wir zurückkehren? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 PUBLIKUM: Länge? 1220 01:04:27,790 --> 01:04:28,623 ALLISON BUCHHOLTZ-AU: Länge. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 Dort gehen Sie. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 Offensichtlich ist das Fleisch von diesem ist das Verständnis dieser for-Schleife. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 Hat jeder bekommen, wie das funktioniert? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 Ich bin froh, wieder über sie gehen. 1229 01:04:44,170 --> 01:04:48,400 >> PUBLIKUM: Die zweite Teil, so der Star I gibt, 1230 01:04:48,400 --> 01:04:51,834 das ist die Adresse des first-- 1231 01:04:51,834 --> 01:04:53,250 ALLISON BUCHHOLTZ-AU: Es ist nicht die Adresse. 1232 01:04:53,250 --> 01:04:54,142 Es ist, was bei. 1233 01:04:54,142 --> 01:04:55,600 PUBLIKUM: Das ist eigentlich drin. 1234 01:04:55,600 --> 01:04:57,475 ALLISON BUCHHOLTZ-AU: Das ist was ist eigentlich drin. 1235 01:04:57,475 --> 01:05:01,280 Das ist also saying-- lassen mich machen diese besser. 1236 01:05:01,280 --> 01:05:07,940 Das ist also 0x04, und ich werde einfach zu sagen, ich werde diesen meinen Namen zu machen. 1237 01:05:07,940 --> 01:05:14,531 1238 01:05:14,531 --> 01:05:15,030 Ok. 1239 01:05:15,030 --> 01:05:17,456 1240 01:05:17,456 --> 01:05:19,080 Ja, ich weiß, ich habe Quiz Rückblick heute Abend. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 Viele Quiz Bewertung. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 Also sagen wir mal diese Zeichenfolge mein Name ist, Allison. 1245 01:05:26,620 --> 01:05:28,600 Wenig chaotisch, aber es ist da. 1246 01:05:28,600 --> 01:05:33,640 Und s repräsentiert den Ort von wo der String beginnt, 1247 01:05:33,640 --> 01:05:41,950 so werde ich dies machen real-- dies ist die Adresse a, 1248 01:05:41,950 --> 01:05:45,000 wo der String beginnt, oder? 1249 01:05:45,000 --> 01:05:48,560 >> Also, was wir hier tun, ist, dass wir wollen, verwenden Zeiger durch laufen. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 So schaffen wir einige Zeiger, i, dass auch gleich zu Beginn der Zeichenfolge. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 Und an jedem Punkt, wir wollen weiter gehen durch den Array 1254 01:06:03,820 --> 01:06:07,570 hier, bis wir uns auf den Nullabschluss. 1255 01:06:07,570 --> 01:06:12,320 So wollen wir immer überprüfen, was ist an jeder dieser Adressen. 1256 01:06:12,320 --> 01:06:15,730 >> Also haben wir Dereferenzierung i, so dass das erste Mal, dass wir es wir tun 1257 01:06:15,730 --> 01:06:17,810 sagen, OK, was ist an der Adresse 0x04? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 Es ist ein ein. 1260 01:06:19,720 --> 01:06:20,660 OK, wir sind gut. 1261 01:06:20,660 --> 01:06:21,770 Stellinkrementlänge. 1262 01:06:21,770 --> 01:06:22,790 Weiter zum nächsten. 1263 01:06:22,790 --> 01:06:32,410 So i-- erinnern Zeigern Erhöhung durch die Größe, was auch immer sie auf den Hinweis. 1264 01:06:32,410 --> 01:06:35,320 So dass in diesem Fall, da es ein char, wird es von einem Update. 1265 01:06:35,320 --> 01:06:38,755 So, jetzt werden wir bei 5 aussehen, das heißt, es ist vorbei gehen hier. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 Also heißt es, weiter mit 0x05. 1268 01:06:43,440 --> 01:06:44,270 Was ist da drin? 1269 01:06:44,270 --> 01:06:44,930 Es ist ein l. 1270 01:06:44,930 --> 01:06:47,870 Und es wird weiterhin tun, dass bis er auf diese ein. 1271 01:06:47,870 --> 01:06:50,990 Und er sagt, OK, was in was auch immer-Adresse das ist? 1272 01:06:50,990 --> 01:06:53,060 Die Null-Terminator, OK. 1273 01:06:53,060 --> 01:06:53,870 Ausgang. 1274 01:06:53,870 --> 01:06:55,240 Und gerade Länge zurück. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 Denn Sie brauchen, was ist eigentlich bei diese Adresse, nicht die Adresse selbst. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> Es gibt sehr wenige Orte, an denen Sie tatsächlich benötigen die Adresse. 1279 01:07:05,790 --> 01:07:08,720 Die meiste Zeit, wenn Sie verwenden das und es ist 1280 01:07:08,720 --> 01:07:12,424 wenn Sie zuerst sind Zuweisen eines Zeigers oder wenn 1281 01:07:12,424 --> 01:07:14,090 Sie übergeben Sie in eine andere Funktion. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 OK, jeder gute da? 1284 01:07:21,330 --> 01:07:21,830 So'ne Art? 1285 01:07:21,830 --> 01:07:23,810 1286 01:07:23,810 --> 01:07:25,040 Ok. 1287 01:07:25,040 --> 01:07:28,210 >> So sieht es aus, als hätten wir bekam etwa 12 Minuten stehen gelassen, 1288 01:07:28,210 --> 01:07:31,340 so werden wir fortfahren, vielleicht unsere letzte Problem, 1289 01:07:31,340 --> 01:07:34,230 und dann gibt es jede Konzepte, die kommen haben 1290 01:07:34,230 --> 01:07:36,830 in der Zwischenzeit können wir schnell über das gehen. 1291 01:07:36,830 --> 01:07:42,310 >> Also Schaltgeräten wird die letzte Problem hier, switch-Anweisungen. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 So ist Ihre Aufgabe, diese neu zu schreiben so dass es die gleiche verhält 1294 01:07:49,450 --> 01:07:50,580 aber nicht verwendet Switches. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 Chalky Händen. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 Also noch Fragen zu diesem von der Fledermaus? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 Keiner? 1301 01:08:15,920 --> 01:08:16,420 Ok. 1302 01:08:16,420 --> 01:08:17,920 1303 01:08:17,920 --> 01:08:22,170 Hat jeder verstehen, dass, wenn die Fall hat nichts, nachdem es, 1304 01:08:22,170 --> 01:08:25,029 es bedeutet, dass es folgen Sie der nächste Schritt? 1305 01:08:25,029 --> 01:08:28,200 So Gehäuse 1 und 2 in diesem Fall tun genau dasselbe. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 Manchmal ist ein Punkt der Verwirrung. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> In Ordnung. 1310 01:09:33,488 --> 01:09:34,404 Wer irgendwelche Ideen? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 Ja? 1313 01:09:36,864 --> 01:09:40,120 >> PUBLIKUM: So kann man nur tun, wenn Aussagen. 1314 01:09:40,120 --> 01:09:41,140 >> ALLISON BUCHHOLTZ-AU: Mm-hm. 1315 01:09:41,140 --> 01:09:42,880 Also, was ist unsere erste? 1316 01:09:42,880 --> 01:09:48,120 >> PUBLIKUM: Wenn n gleich 1 entspricht, und die 2 Leitungen für oder n gleich 1317 01:09:48,120 --> 01:09:51,059 gleich 2 ist, dann drucken klein. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 Und dann kann man sonst tun, wenn? 1320 01:09:59,520 --> 01:10:02,160 Oder können Sie nur tun, wenn ein? 1321 01:10:02,160 --> 01:10:03,650 >> ALLISON BUCHHOLTZ-AU: Sie können, wenn sonst tun? 1322 01:10:03,650 --> 01:10:05,274 >> PUBLIKUM: Wäre es egal, ob man, wenn zu tun? 1323 01:10:05,274 --> 01:10:06,320 ALLISON BUCHHOLTZ-AU: Also es tut. 1324 01:10:06,320 --> 01:10:10,160 Hat anyone-- ja, Sie wird die gleiche Leistung zu erhalten 1325 01:10:10,160 --> 01:10:13,930 wenn Sie nur ifs Vergleich verwenden wenn Sie sonst ifs verwenden. 1326 01:10:13,930 --> 01:10:17,090 Kann euch denken über den Grund warum möchten Sie vielleicht ein anderes zu verwenden 1327 01:10:17,090 --> 01:10:18,680 wenn gegenüber einem viel ifs? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 Hat mit Effizienz. 1330 01:10:21,510 --> 01:10:22,225 Ja? 1331 01:10:22,225 --> 01:10:24,783 >> PUBLIKUM: Es wäre zu prüfen alle ifs jedesmal. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ALLISON BUCHHOLTZ-AU: Also selbst wenn traf es diese erste, 1334 01:10:28,110 --> 01:10:29,880 es wäre beim Check fahren jedes andere. 1335 01:10:29,880 --> 01:10:36,690 Sie wollen also, wenn sonst ifs in Fällen verwenden möchten wobei nur eine von ihnen überhaupt anzuwenden. 1336 01:10:36,690 --> 01:10:39,380 So gegenseitige Ausgrenzung was wir zu sagen pflegen. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 Wenn Sie eine Reihe von ifs haben, bedeutet dies, dass vielleicht mehr als einer von ihnen 1339 01:10:46,550 --> 01:10:49,630 Angelegenheiten, und vielleicht mehr als eine von ihnen wahr sein kann. 1340 01:10:49,630 --> 01:10:51,910 Und Sie beide wollen ausführen, wenn sie wahr sind. 1341 01:10:51,910 --> 01:10:57,180 Wenn Sie nur einen von ihnen zu arbeiten in diesen Fällen gegenseitig aus, 1342 01:10:57,180 --> 01:11:00,790 Sie, wenn zu bedienen anderes, da wollen alles hat mit Effizienz zu tun. 1343 01:11:00,790 --> 01:11:05,350 Ihr Code wird nur besser gestaltet wenn es hält sich an dieser Praxis. 1344 01:11:05,350 --> 01:11:07,330 Also in diesem Fall werden wir eine else if haben. 1345 01:11:07,330 --> 01:11:09,080 Und das wäre? 1346 01:11:09,080 --> 01:11:11,890 >> PUBLIKUM: n gleich gleich 3. 1347 01:11:11,890 --> 01:11:12,765 ALLISON BUCHHOLTZ-AU: Perfect. 1348 01:11:12,765 --> 01:11:19,420 1349 01:11:19,420 --> 01:11:20,445 Druckmedium. 1350 01:11:20,445 --> 01:11:25,190 1351 01:11:25,190 --> 01:11:29,930 Und dann in unserem letzten Fall, was haben wir? 1352 01:11:29,930 --> 01:11:31,495 Else oder else if? 1353 01:11:31,495 --> 01:11:32,120 PUBLIKUM: Else. 1354 01:11:32,120 --> 01:11:33,450 1355 01:11:33,450 --> 01:11:37,900 >> ALLISON BUCHHOLTZ-AU: Haben wir want-- Sie möchten else if, weil wir konkrete Fälle. 1356 01:11:37,900 --> 01:11:39,270 Es ist nicht eine Art catch all. 1357 01:11:39,270 --> 01:11:44,247 Wenn Sie in einer switch-- hatte eine Standard erinnern in Schaltern können Sie Fall haben, 1358 01:11:44,247 --> 01:11:45,330 und dann haben Sie standardmäßig. 1359 01:11:45,330 --> 01:11:48,760 Wenn Sie eine Standard hatte, ist diese Art Ihrer else-Anweisung gibt. 1360 01:11:48,760 --> 01:11:52,180 Aber wenn es nur Fälle hat, das bedeutet, Sie müssen 1361 01:11:52,180 --> 01:11:54,315 zu überprüfen, um zu sehen, ob sie jeden dieser ist. 1362 01:11:54,315 --> 01:11:57,755 So dass in diesem Fall wäre es das 4 oder 5. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 Wir wollen einen Druck aus. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 Es ist groß. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 Und los gehts. 1369 01:12:07,509 --> 01:12:08,800 Und das wäre Ihr Programm sein. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> Also in diesem Fall, wenn wir hatte eine Standard etwas, 1372 01:12:17,050 --> 01:12:20,470 wir würden ein anderes in haben was auch immer es wollte, dass wir tun. 1373 01:12:20,470 --> 01:12:23,365 Also das ist eine gute Unterscheidung zu wissen, zu verstehen. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 Heißt das mit Schaltern für Sie helfen? 1376 01:12:27,790 --> 01:12:28,800 Perfect. 1377 01:12:28,800 --> 01:12:29,390 In Ordnung. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> Wir haben etwa acht Minuten. 1380 01:12:33,340 --> 01:12:37,090 Habt ihr irgendwelche andere hochrangige Konzepte? 1381 01:12:37,090 --> 01:12:38,720 Fragen im Allgemeinen? 1382 01:12:38,720 --> 01:12:39,220 Ja? 1383 01:12:39,220 --> 01:12:42,860 >> PUBLIKUM: Ich hatte eine Frage zu einem von ihnen 1384 01:12:42,860 --> 01:12:46,257 das war der Zufalls Zahlengenerator auf Quiz Null. 1385 01:12:46,257 --> 01:12:47,340 ALLISON BUCHHOLTZ-AU: Oh, dass man. 1386 01:12:47,340 --> 01:12:51,460 Dass man eine andere, wo ist es ist mehr Mathe than-- ja. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 Die Lösung selbst ich, wenn dass-- Ich sehe es, ich bin wie, was ist das. 1389 01:12:59,452 --> 01:13:00,590 >> PUBLIKUM: Es war die Nummer 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ALLISON BUCHHOLTZ-AU: Es ist seltsam, meiner Meinung nach. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 Also im Grunde Sie wollen um drand48, Gebrauch, 1394 01:13:11,630 --> 01:13:15,420 geben Ihnen einige Zahl zwischen 0 und 1. 1395 01:13:15,420 --> 01:13:21,200 Und Sie müssen es so verwenden wollen dass Sie irgendwie A-- 1396 01:13:21,200 --> 01:13:26,690 und es ist viel mehr von einem mathematischen Problem für mich, als ich denke, ein CS Problem. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> Die Art und Weise, die Sie es-- tun und manchmal wird es einfach so sein. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 Wiederum sind die Fälle, in denen es ist eine Art 1401 01:13:41,090 --> 01:13:46,310 der wie schreiben, was Sie kann und einen Teil des Kredits. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 Also, wenn wir wollen, dass eine Rückkehr, wir wissen, dass wir 1404 01:13:51,510 --> 01:13:54,182 werde drand48 verwenden in gewisser Weise, nicht wahr? 1405 01:13:54,182 --> 01:13:55,640 Also warum nicht wir notieren Sie nur, dass nach unten. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 Wir verwenden es in irgendeiner Weise. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 Die Art und Weise, die sie haben Sie Kerle nutzen es 1410 01:14:04,190 --> 01:14:08,175 wie dieses, das werde ich versuchen, zu erklären. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> Also im Grunde, was hier passiert, ist, weil es zwischen 0 und 1, 1413 01:14:15,340 --> 01:14:19,300 was du tust ist Ihnen Multiplikation sind nach-- das ist sehr viel eine Rechenaufgabe. 1414 01:14:19,300 --> 01:14:22,010 Nur vollständigen Haftungsausschluss ist dies komplett eine Rechenaufgabe. 1415 01:14:22,010 --> 01:14:23,990 Was Sie tun, ist weil aus 0 und 1 und man 1416 01:14:23,990 --> 01:14:26,460 wollen, dass es in sein Dieser Bereich, die Sie tatsächlich 1417 01:14:26,460 --> 01:14:29,360 herauszufinden, wie groß der Bereich ist, und dann 1418 01:14:29,360 --> 01:14:32,710 Sie im Grunde vergrößere es auf, Das ist, was dieser tut. 1419 01:14:32,710 --> 01:14:39,050 >> b minus a gibt Ihnen die Palette der Unterschied zwischen diesen Zahlen. 1420 01:14:39,050 --> 01:14:44,040 Sie können zwischen 0 multiplizieren und 1, und dann eine gerade 1421 01:14:44,040 --> 01:14:48,870 bedeutet, dass Ihre Skalierung bis so dass es zwischen a und b, 1422 01:14:48,870 --> 01:14:52,377 die ich nicht wirklich dieses Problem gerne. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 Wie gesagt, dieses Quiz soll umfassen 1425 01:15:01,790 --> 01:15:04,110 Menschen, die weniger bequem sind, irgendwo dazwischen, 1426 01:15:04,110 --> 01:15:05,070 und bequemer. 1427 01:15:05,070 --> 01:15:07,550 Also, wenn sie es so gemacht dass es etwas war, 1428 01:15:07,550 --> 01:15:10,050 dass jeder am weniger bequemen Platz bekommen würde, 1429 01:15:10,050 --> 01:15:12,259 würden wir viel zu viele haben Menschen Scoring perfektioniert, 1430 01:15:12,259 --> 01:15:13,925 und desto wohler wäre langweilig. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> So haben sie immer diese Art von Gehirn Teaser Fragen 1433 01:15:18,970 --> 01:15:22,695 , die gemeint sind, um ein wenig härter sein dass nehmen Sie sich etwas kreatives Denken. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 Wenn Sie sie sehen, nicht bekommen, auch ratlos. 1436 01:15:27,790 --> 01:15:31,720 Ich würde auf jeden Fall sagen, Flip durch die zuerst ins Quiz. 1437 01:15:31,720 --> 01:15:35,020 Bewältigung der Probleme dass Sie wissen, Sie können, 1438 01:15:35,020 --> 01:15:38,480 denn es hat keinen Zweck, stecken zu bleiben an einem Problem, wenn es drei 1439 01:15:38,480 --> 01:15:42,090 vier oder fünf an der Seite danach können Sie ganz einfach tun. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> PUBLIKUM: Warum genau wollen Sie multiplizieren sie mit dem Bereich? 1442 01:15:48,520 --> 01:15:54,935 >> ALLISON BUCHHOLTZ-AU: Man multipliziert den Bereich, Sie wissen-- es ist wie, wie viel, nachdem ein 1443 01:15:54,935 --> 01:15:55,485 wollen Sie? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 So können Sie sich vorstellen können, weil es gibt eine Zahl zwischen 0 und 1, 1446 01:16:02,130 --> 01:16:03,890 du davon als Prozentsatz denken können. 1447 01:16:03,890 --> 01:16:12,195 So ist es im Grunde sagen, wenn wir unsere Nummer Linie hier, ist ein hier 1448 01:16:12,195 --> 01:16:13,840 und b ist hier. 1449 01:16:13,840 --> 01:16:19,170 Du bist wie, wie viel Vergangenheit eine ist das? 1450 01:16:19,170 --> 01:16:20,010 Ist alles, was wir tun. 1451 01:16:20,010 --> 01:16:24,920 Sie sind also nur zu fragen für die Prozentsatz dieser Bereich, der 1452 01:16:24,920 --> 01:16:26,170 ist, was es geben wird. 1453 01:16:26,170 --> 01:16:30,915 Und dann haben Sie im Grunde nur verkleinere sie durch Zugabe ein. 1454 01:16:30,915 --> 01:16:32,302 Es ist eine mathematische Denksportaufgabe. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> Wenn es einen Last-Minute-Tipps, ich würde Flip durch die Fragen sagen, 1457 01:16:39,060 --> 01:16:41,660 herauszufinden, welche Sie wissen, dass wie, oh Ich habe diese. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 Fast sicher sie zu gehen sein Fragen, die Sie nicht wissen, 1460 01:16:45,820 --> 01:16:49,580 oder, dass Sie gehen, um Zeit zu haben sind für, so treffen Sie Ihre Stärken, OK? 1461 01:16:49,580 --> 01:16:50,990 Ihr Jungs sind großen gehen. 1462 01:16:50,990 --> 01:16:52,740 Es gibt eine Menge von Fragen für einen Grund, 1463 01:16:52,740 --> 01:16:57,140 so dass Sie Zeit haben, um Art haben die Möglichkeit 1464 01:16:57,140 --> 01:16:59,330 zu dem, was zu demonstrieren du bist wirklich gut. 1465 01:16:59,330 --> 01:17:02,370 Also, es ist OK, wenn Sie nicht in allem gut. 1466 01:17:02,370 --> 01:17:03,371 Spielen Sie Ihre Stärken. 1467 01:17:03,371 --> 01:17:03,870 Ja? 1468 01:17:03,870 --> 01:17:06,536 >> PUBLIKUM: Also das wird zurück etwas, das abgeschnitten ist? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 Ja, es wird, weil Drand Renditen zwischen 0 und 1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 Es wird ein int zurück, denn es wird abgeschnitten 1473 01:17:19,250 --> 01:17:22,933 wenn wir hinzufügen, ein oder mehrfach von ihm. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 Cool. 1476 01:17:28,442 --> 01:17:29,525 Alle Last-Minute-Fragen? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> Ihr seid großartig zu tun. 1479 01:17:32,615 --> 01:17:34,440 Du wirst fabelhaft zu sein. 1480 01:17:34,440 --> 01:17:37,100 Und selbst wenn nicht, wird es sein candy hier nächste Woche. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 Und ich werde dich lieben. 1483 01:17:40,020 --> 01:17:41,270 Ich werde euch unabhängig lieben. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 Alles klar, jeder, viel Glück. 1486 01:17:43,930 --> 01:17:44,680 Haben Sie eine tolle Zeit. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 Du wirst in Ordnung zu sein. 1489 01:17:46,620 --> 01:17:47,370 Und wissen Sie was? 1490 01:17:47,370 --> 01:17:50,310 In zwei Tagen, es wird vorbei zu sein, während ich 1491 01:17:50,310 --> 01:17:53,675 haben zwei Halbzeiten am Donnerstag, so mindestens euch getan wird. 1492 01:17:53,675 --> 01:17:56,550 Also gut, ich werde euch nächste Woche. 1493 01:17:56,550 --> 01:17:58,208