1 00:00:00,000 --> 00:00:11,046 2 00:00:11,046 --> 00:00:12,170 ZAMYLA צ'אן: היי, כולם. 3 00:00:12,170 --> 00:00:13,560 ברוכים הבאים למדור. 4 00:00:13,560 --> 00:00:17,320 היום הוא רק הולך להיות כל החידון לסקור עבור החידון שלך ביום רביעי. 5 00:00:17,320 --> 00:00:20,060 אני מקווה שכולם זוכר ש יש להם חידון ביום רביעי. 6 00:00:20,060 --> 00:00:22,560 ואם לא, גם, עכשיו אתה כבר הזכיר. 7 00:00:22,560 --> 00:00:26,486 לכן יום רביעי לוודא שאתה מופיע לכיתה או התאמות אחרות כ 8 00:00:26,486 --> 00:00:26,985 הכרחי. 9 00:00:26,985 --> 00:00:27,845 10 00:00:27,845 --> 00:00:29,220 אתם הולכים להיות מדהים. 11 00:00:29,220 --> 00:00:30,440 זה הולך להיות נהדר. 12 00:00:30,440 --> 00:00:34,910 ואני הולך לעשות כל שביכולתי כדי לעזור להכין אותך היום לחידון שלך 13 00:00:34,910 --> 00:00:35,470 עכשיו. 14 00:00:35,470 --> 00:00:39,960 וגם במקרה שאתה לא יודע, יש מפגש סקירה רחב כמובן 15 00:00:39,960 --> 00:00:45,840 היום בשעה 7 ב מעבדות Northwest B103 חדר. 16 00:00:45,840 --> 00:00:49,950 אתה יכול לראות אותי שוב להדרן אני תוביל את חלק שמושב הסקירה 17 00:00:49,950 --> 00:00:50,510 גם. 18 00:00:50,510 --> 00:00:53,218 אז אם אתה לא יכול לקבל מספיק ממני עכשיו, אתה יכול לבוא שוב הלילה. 19 00:00:53,218 --> 00:00:54,130 20 00:00:54,130 --> 00:00:56,060 >> כל הדברים הנכונים, כל כך הראשונים ראשון. 21 00:00:56,060 --> 00:00:59,630 רק כמה טיפים חידון לפני ש למעשה לצלול לביקורות. 22 00:00:59,630 --> 00:01:04,160 אז כמו בכל בחינה, תרגול בהחלט לעזור לך. 23 00:01:04,160 --> 00:01:09,260 יש בחינות מהעבר שש או שבע שנים על שם, 24 00:01:09,260 --> 00:01:12,480 אז זה הרבה תרגול חומר בשבילכם יש לי. 25 00:01:12,480 --> 00:01:15,340 ואכן, היום הוא באמת רק הולך להיות הולך על כל נושאים 26 00:01:15,340 --> 00:01:18,900 שיש לכם שאלות על כן כעובד על בעיות בפועל 27 00:01:18,900 --> 00:01:20,360 מהחידון אפס. 28 00:01:20,360 --> 00:01:22,690 אז אני אזרוק את אפס חידון בשנה שעברה כאן, 29 00:01:22,690 --> 00:01:26,410 ואנחנו יכולים לעבוד דרך כל בעיות כי אתם רוצים. 30 00:01:26,410 --> 00:01:27,370 >> אז תרגול. 31 00:01:27,370 --> 00:01:29,310 אתה הולך להתחיל לעשות את זה היום. 32 00:01:29,310 --> 00:01:30,230 קוד על נייר. 33 00:01:30,230 --> 00:01:32,970 אז כן, אם כולם באמת יכול לצאת 34 00:01:32,970 --> 00:01:35,810 נייר, זה יהיה נהדר, בגלל שאתה לא 35 00:01:35,810 --> 00:01:41,470 הולך להיות המחשב שלך על בחינה וכתיבת קוד ביד 36 00:01:41,470 --> 00:01:44,190 לעתים קרובות הרבה יותר קשה ממה שאתה מצפה. 37 00:01:44,190 --> 00:01:46,680 אתה רגיל רק לראות אותו ולהקליד אותה, 38 00:01:46,680 --> 00:01:49,630 ויש לך מהדר שלך לעזור לך כאשר יש לך טעויות, 39 00:01:49,630 --> 00:01:52,190 אבל אתה לא מקבל את זה בבחינה. 40 00:01:52,190 --> 00:01:55,140 אז זה באמת חשוב בעצם תוכל לכתוב את הקוד, 41 00:01:55,140 --> 00:01:58,360 וכי זיכרון שריר של עשייה זה ביד ממש לעזור לך. 42 00:01:58,360 --> 00:01:59,720 43 00:01:59,720 --> 00:02:01,690 >> אז אנחנו מקבלים קצת קרובים. 44 00:02:01,690 --> 00:02:02,340 זה יום שני ב. 45 00:02:02,340 --> 00:02:03,930 הבחינה שלך ביום רביעי. 46 00:02:03,930 --> 00:02:06,030 אבל אם יש לך זמן, בהחלט לקחת אחד 47 00:02:06,030 --> 00:02:10,199 של בחינות משנה שעברה או שנה לפני תחת אילוץ הזמן 48 00:02:10,199 --> 00:02:11,660 של שעה וחצי. 49 00:02:11,660 --> 00:02:13,730 רק לדפוק את שעה וחצי של זמן, 50 00:02:13,730 --> 00:02:17,480 ולשבת בעצמך, ו פשוט לעבוד דרך הבעיות 51 00:02:17,480 --> 00:02:19,962 כאילו היית למעשה לוקח את זה, כי אחד 52 00:02:19,962 --> 00:02:23,295 הדברים הגדולים ביותר שאנו שומעים על החידונים הוא שהם ארוכים מאוד. 53 00:02:23,295 --> 00:02:24,900 54 00:02:24,900 --> 00:02:26,660 זה הרבה חומר. 55 00:02:26,660 --> 00:02:30,850 יש הרבה שאלות, ורוב האנשים לא יכולים לסיים. 56 00:02:30,850 --> 00:02:34,660 אני יודע שאני לגמרי לא סיימתי החידונים שלי כשלקחתי את הכיתה. 57 00:02:34,660 --> 00:02:37,180 >> ברוח זו, כפחות סעיף נוח, 58 00:02:37,180 --> 00:02:40,570 להבין שקורס זה נועד כדי לספק לאנשים בכל הרמות. 59 00:02:40,570 --> 00:02:43,640 כל הסיבה שיש לנו לפצל פחות נוח, אי שם בין, 60 00:02:43,640 --> 00:02:47,660 יותר ונוח יותר הוא ל סוג של לעשות את זה הוגן יותר. 61 00:02:47,660 --> 00:02:51,699 ואם אתה פחות נוח, זה אין צורך כשלעצמה כדי לקבל את הכל. 62 00:02:51,699 --> 00:02:53,990 כמו אם היית מקבל הכל, כנראה שהיית עושה 63 00:02:53,990 --> 00:02:55,448 להיות בחלק יותר בנוח. 64 00:02:55,448 --> 00:03:00,160 אז ברור שאתה לא הכה את עצמכם קשה מדי אם אתה לא יכול לסיים את הבחינה. 65 00:03:00,160 --> 00:03:01,920 קח את זה ממני, אני לא עשיתי את זה. 66 00:03:01,920 --> 00:03:03,070 אני עדיין רכז. 67 00:03:03,070 --> 00:03:04,630 אני עדיין עוזר ללמד את הקורס. 68 00:03:04,630 --> 00:03:06,170 אתה תהיה בסדר. 69 00:03:06,170 --> 00:03:06,670 בְּסֵדֶר. 70 00:03:06,670 --> 00:03:08,740 ולבסוף, לישון קצת. 71 00:03:08,740 --> 00:03:11,020 ברור לכל בחינה אנחנו תמיד אומרים את זה. 72 00:03:11,020 --> 00:03:13,610 דחס בלילה שלפני ושלא יישן 73 00:03:13,610 --> 00:03:16,390 עושה not-- אולי אם ש עובד בשבילך, לכו על זה. 74 00:03:16,390 --> 00:03:18,790 אבל עבור הרוב המכריע של אנשים, מצליח לישון קצת, 75 00:03:18,790 --> 00:03:22,390 להניח למוח שלך ולשחזר לפני שהגעתי לבחינה 76 00:03:22,390 --> 00:03:23,480 יהיה באמת לעזור לך. 77 00:03:23,480 --> 00:03:26,120 כמו כן אין ספק כמעט ש בטח יהיו ממתקים במבחן, 78 00:03:26,120 --> 00:03:28,019 ולכן אתה צריך להסתכל קדימה. 79 00:03:28,019 --> 00:03:29,310 אתם הולכים לעשות גדולים. 80 00:03:29,310 --> 00:03:30,226 זה הולך להיות בסדר. 81 00:03:30,226 --> 00:03:31,570 82 00:03:31,570 --> 00:03:36,190 ועכשיו בשעה וחצי הקרובים אני אנסה ומכין לך כמיטב יכולתי. 83 00:03:36,190 --> 00:03:41,260 >> אז יש לי שקופיות מבעצם כל החלקים עד עכשיו. 84 00:03:41,260 --> 00:03:45,874 אני לא הולך לעבור כולם כי זה לא 85 00:03:45,874 --> 00:03:49,040 אפשרי בשעה וחצי, כמו גם כעובד על בעיות בפועל. 86 00:03:49,040 --> 00:03:51,410 אז במקום שיש לי רשימה של נושאים. 87 00:03:51,410 --> 00:03:55,160 כל אלה הם הדברים שאנחנו יכולים חוקרים אותך על. 88 00:03:55,160 --> 00:03:56,950 89 00:03:56,950 --> 00:03:58,770 אם יש משהו ש זה באמת קופץ 90 00:03:58,770 --> 00:04:02,140 כי אתה רוצה ללכת על, ש רוצה שאני אעבור על מושגית, 91 00:04:02,140 --> 00:04:04,320 אני יכול לנסות ולתת לי שלכם סקירה יש. 92 00:04:04,320 --> 00:04:07,690 או אם אתה רוצה לקפוץ ישר ל עושה בעיות תרגול יחד, 93 00:04:07,690 --> 00:04:08,420 אנחנו יכולים לעשות את זה. 94 00:04:08,420 --> 00:04:09,330 זה תלוי בכם. 95 00:04:09,330 --> 00:04:10,770 אין כל כך הרבה מכם. 96 00:04:10,770 --> 00:04:13,180 אז זה מה שאתם רוצים לעשות. 97 00:04:13,180 --> 00:04:15,667 אני רוצה להיות הכי מועיל לכיוונכם. 98 00:04:15,667 --> 00:04:16,827 99 00:04:16,827 --> 00:04:17,910 אז אני אתן לך רק להסתכל. 100 00:04:17,910 --> 00:04:27,880 101 00:04:27,880 --> 00:04:30,500 >> קהל: דבר אחד הוא התרשים שנשמור 102 00:04:30,500 --> 00:04:33,290 אומר על הערימה והערימה. 103 00:04:33,290 --> 00:04:34,600 104 00:04:34,600 --> 00:04:37,434 רק כל הרעיון מאחורי ושמה זה אומר. 105 00:04:37,434 --> 00:04:38,350 ZAMYLA צ'אן: כן, בסדר. 106 00:04:38,350 --> 00:04:40,290 107 00:04:40,290 --> 00:04:43,216 זה כל הדרך ב הסוף, אז תן לי לגלול. 108 00:04:43,216 --> 00:04:45,490 >> קהל: אין לנו ל לעשות את זה עכשיו, אבל שיהיה. 109 00:04:45,490 --> 00:04:47,070 110 00:04:47,070 --> 00:04:49,770 >> ZAMYLA צ'אן: האם היה anything-- זה אחד. 111 00:04:49,770 --> 00:04:51,570 112 00:04:51,570 --> 00:04:53,555 האם זה סוג של נעים על אנשים? 113 00:04:53,555 --> 00:04:54,390 114 00:04:54,390 --> 00:04:55,640 קהל: כן, אני שני ש. 115 00:04:55,640 --> 00:04:57,718 ואנחנו יכולים גם לעשות גלישת חוצץ? 116 00:04:57,718 --> 00:04:58,926 ZAMYLA צ'אן: הצפת מאגר? 117 00:04:58,926 --> 00:04:59,820 אישור. 118 00:04:59,820 --> 00:05:03,460 אז גלישת חוצץ היא די פשוט קל לדבר עליו. 119 00:05:03,460 --> 00:05:08,217 זה בעצם אוגר אתה חושב על כמה זיכרון מערך שיש לך, נכון? 120 00:05:08,217 --> 00:05:10,050 אנחנו בדרך כלל מדברים על הצפת מאגר כאשר 121 00:05:10,050 --> 00:05:15,160 אתה לא בודק כמה המשתמש מכניס, נכון? 122 00:05:15,160 --> 00:05:18,540 ולהיות הרעיון עם חיץ גלישה היא 123 00:05:18,540 --> 00:05:21,535 הם לשים בהרבה יותר מדי נתונים למרחב 124 00:05:21,535 --> 00:05:23,780 כי אתה כבר הוקצה להם, נכון? 125 00:05:23,780 --> 00:05:28,310 >> אז אם אתה אומר, לתת לי שלי מסר כלשהו, ​​אנחנו 126 00:05:28,310 --> 00:05:31,860 בהנחה שהם הולכים לתת לי לנו הודעה באורך סבירה. 127 00:05:31,860 --> 00:05:33,910 אולי כמה שורות, מה לא. 128 00:05:33,910 --> 00:05:35,150 אז אנחנו לא בודקים. 129 00:05:35,150 --> 00:05:38,160 במקום זאת, הם להאכיל אותנו ב ספר שלם שמסר, 130 00:05:38,160 --> 00:05:42,450 וזה גולש הסכום של שטח שאנחנו כבר הוקצו לכך. 131 00:05:42,450 --> 00:05:48,140 ומה שקורה הוא שזה יכול להחליף מקומות שהוא לא אמור. 132 00:05:48,140 --> 00:05:52,890 >> אז אני יודע שהפרוף מלאן אמר משהו על התקפות גלישת מאגר. 133 00:05:52,890 --> 00:05:59,050 אז זה שבו קלט רצון המשתמשים חלק מהכמות אדירה של נתונים בתקווה 134 00:05:59,050 --> 00:06:02,840 שהוא מחליף האחרון סוף החיץ שלך 135 00:06:02,840 --> 00:06:06,479 ומחליף את something-- אני תוהה אני יש לנו שקופיות אלה כאן. 136 00:06:06,479 --> 00:06:08,270 אני לא חושב שיש לנו אלה שקופיות בכאן. 137 00:06:08,270 --> 00:06:09,960 138 00:06:09,960 --> 00:06:14,460 אבל בעיקרון הוא מחליף חלק מסוים מזיכרון 139 00:06:14,460 --> 00:06:17,780 המאפשר לו גישה לחלקים של המחשב שלך 140 00:06:17,780 --> 00:06:19,530 שלא היית בדרך כלל יש להם גישה ל. 141 00:06:19,530 --> 00:06:20,750 142 00:06:20,750 --> 00:06:23,155 >> הדבר הגדול ביותר ב הצפת מאגר היא רק 143 00:06:23,155 --> 00:06:26,420 להבין שזה קורה כאשר אתה לא ב 144 00:06:26,420 --> 00:06:29,210 בדיקה כמה המשתמש מכניס. 145 00:06:29,210 --> 00:06:32,770 כאשר אתה לא סוג של שמירה על ש. 146 00:06:32,770 --> 00:06:36,820 ו הפשוט ביותר דבר, זה רק המשתמש שלך 147 00:06:36,820 --> 00:06:39,130 הזנת כמות מסיבית הנתונים בניסיון 148 00:06:39,130 --> 00:06:45,090 כדי להחליף כמה ביטחון חלק מהזיכרון שלך. 149 00:06:45,090 --> 00:06:46,310 זה כל מה שזה. 150 00:06:46,310 --> 00:06:49,810 >> אז זה כאן, מחסנית וערימה. 151 00:06:49,810 --> 00:06:53,090 בעיקרון כל זה הוא רק ייצוג של זיכרון 152 00:06:53,090 --> 00:06:54,449 ושבו הם מאוחסנים דברים. 153 00:06:54,449 --> 00:06:56,240 זה באמת סוג של כל מה שאתה צריך לדעת. 154 00:06:56,240 --> 00:06:58,520 הדברים הגדולים ביותר ש אתה צריך לדעת הם 155 00:06:58,520 --> 00:07:01,910 that-- תנו לי לראות אם יש better-- כאן. 156 00:07:01,910 --> 00:07:05,380 אז זה הערימה כאן. 157 00:07:05,380 --> 00:07:08,410 >> אז ערימה יש לעשות עם כל הפונקציות שלך 158 00:07:08,410 --> 00:07:10,140 שאתה קורא בכל זמן נתון. 159 00:07:10,140 --> 00:07:15,060 ומה שחשוב לזכור נוסע של שבוע שעבר עם malloc 160 00:07:15,060 --> 00:07:21,080 הוא, כי לא באמת יש לך שליטה הנדרשת על זה. 161 00:07:21,080 --> 00:07:24,780 הכל תלוי בכאשר מסוים פונקציות ביצוע. 162 00:07:24,780 --> 00:07:28,170 וכאשר הם מבצעים, הם יש מה שנקרא מסגרות מחסנית 163 00:07:28,170 --> 00:07:29,290 כי לעלות כאן. 164 00:07:29,290 --> 00:07:32,520 >> אז זה כל סוג של קורה ללא כל קלט אמיתי ממך. 165 00:07:32,520 --> 00:07:33,630 166 00:07:33,630 --> 00:07:35,510 אתה כותב את התכנית שלך, ואתה לתת לו לרוץ, 167 00:07:35,510 --> 00:07:38,470 וערימת סוג של לוקחת מתחזק את עצמו כפי שהוא צריך. 168 00:07:38,470 --> 00:07:42,940 אז אם בעיקרי שאתה קורא קובייה, שיועבר כאן. 169 00:07:42,940 --> 00:07:44,110 זה יהיה ליצור מסגרת. 170 00:07:44,110 --> 00:07:48,330 אבל אין שום דבר שאתה באופן מפורש לעשות כדי ליצור את מסגרת ערימה אחרת מאשר 171 00:07:48,330 --> 00:07:51,430 לכתוב הפונקציה מלכתחילה, בסדר? 172 00:07:51,430 --> 00:07:56,500 >> מה הוא סוג של תחת שלך שליטה היא הערמה עם malloc. 173 00:07:56,500 --> 00:08:01,950 אז בכל פעם שמשהו malloc, אתה לוקח זיכרון מהערימה. 174 00:08:01,950 --> 00:08:05,110 וזה זיכרון ש יש לי, מחוסר מילה טובה יותר, 175 00:08:05,110 --> 00:08:10,300 שליטה מפורשת על, כי תזכור עם malloc 176 00:08:10,300 --> 00:08:12,530 זה בעצם שם עד שאתה אומר אחר. 177 00:08:12,530 --> 00:08:14,890 לאלו מכם ש צפה סעיף בשבוע שעבר, 178 00:08:14,890 --> 00:08:17,670 זה שם עד שתגיד לו ללכת משם. 179 00:08:17,670 --> 00:08:20,850 זה יהיה שם, אלא אם כן אחרת אמר שלא. 180 00:08:20,850 --> 00:08:24,750 אז הערימה רק משהו אתה יכול לחשוב על זיכרון 181 00:08:24,750 --> 00:08:26,150 שיש לך שליטה עליו. 182 00:08:26,150 --> 00:08:29,010 ואלה הם רק שני דברים גדולים אחרים. 183 00:08:29,010 --> 00:08:31,320 184 00:08:31,320 --> 00:08:38,330 >> חוץ מזה, אתה לא צריך להיות לדאוג יותר מדי על מחסנית וערימה 185 00:08:38,330 --> 00:08:42,159 שאלות או בדרך כלל יותר פשוט אם יש לך פרמטרים מקומיים 186 00:08:42,159 --> 00:08:45,385 או פונקציה זה תהיה על הערימה או הערימה. 187 00:08:45,385 --> 00:08:47,260 ברור במקרה הזה זה יהיה הערימה. 188 00:08:47,260 --> 00:08:49,630 אם אתה mallocing משהו, איפה זה מגיע? 189 00:08:49,630 --> 00:08:50,129 הערימה. 190 00:08:50,129 --> 00:08:51,147 191 00:08:51,147 --> 00:08:54,230 אם אתה מסתכל על חידונים בפועל, אלה הם בדרך כלל הסוג של שאלות 192 00:08:54,230 --> 00:08:55,460 שיש להם. 193 00:08:55,460 --> 00:08:57,340 >> אתה לא צריך לדאוג על זה יותר מדי. 194 00:08:57,340 --> 00:09:00,980 אתה נכנסת באופן מפורש יותר על ערימה וערימה 195 00:09:00,980 --> 00:09:03,460 בשלב מאוחר יותר או בכיתות CS אחרות. 196 00:09:03,460 --> 00:09:06,220 אז רק שיש סוג של רעיון כללי של מה זה 197 00:09:06,220 --> 00:09:09,100 יהיה טוב, שבו אני פשוט סוג של ניגש. 198 00:09:09,100 --> 00:09:10,650 199 00:09:10,650 --> 00:09:12,090 כל נושאים אחרים? 200 00:09:12,090 --> 00:09:12,590 כן? 201 00:09:12,590 --> 00:09:14,923 >> קהל: אתה יכול לעבור על מצביעים שוב ממש מהר? 202 00:09:14,923 --> 00:09:15,870 ZAMYLA צ'אן: מצביעים? 203 00:09:15,870 --> 00:09:18,470 האם אתה רוצה רעיוני סקירה של מצביעים 204 00:09:18,470 --> 00:09:19,994 או שאתה נוהג עם מצביעים? 205 00:09:19,994 --> 00:09:21,410 קהל: כמו סוג של התחביר. 206 00:09:21,410 --> 00:09:22,360 ZAMYLA צ'אן: התחביר? 207 00:09:22,360 --> 00:09:22,860 כן. 208 00:09:22,860 --> 00:09:32,090 209 00:09:32,090 --> 00:09:33,090 בסדר, אנחנו מקבלים שם. 210 00:09:33,090 --> 00:09:38,300 211 00:09:38,300 --> 00:09:42,040 כן, אז זה פשוט סוג של משהו כאשר יש לך פונקציה רקורסיבית, 212 00:09:42,040 --> 00:09:45,954 בכל פעם שפונקציה רקורסיבית היא בשם, זה רק מוסיף מסגרת ערימה אחרת. 213 00:09:45,954 --> 00:09:47,870 פחות או יותר דוגמא איך אתה לא באמת 214 00:09:47,870 --> 00:09:50,330 יש שליטה על מסגרות על הערימה שלך. 215 00:09:50,330 --> 00:09:54,010 216 00:09:54,010 --> 00:09:54,585 >> אישור, מצביעים. 217 00:09:54,585 --> 00:09:57,120 218 00:09:57,120 --> 00:09:59,235 בסדר, כל כך יצירת מצביעים. 219 00:09:59,235 --> 00:10:00,300 220 00:10:00,300 --> 00:10:02,420 זכור, זה פשוט להקליד כוכב. 221 00:10:02,420 --> 00:10:07,140 אז כל סוג של נתונים ש אתה הולך להיות הצבעה ל. 222 00:10:07,140 --> 00:10:08,720 223 00:10:08,720 --> 00:10:11,440 אז זה יהיה מצביע לint. 224 00:10:11,440 --> 00:10:13,140 זה יהיה מצביע לchar. 225 00:10:13,140 --> 00:10:14,740 זה יהיה מצביע למצוף. 226 00:10:14,740 --> 00:10:17,980 אז זה בעצם מה ש אתה רוצה שזה יהיה הצבעה ל, 227 00:10:17,980 --> 00:10:22,300 כוכב הוא איך אתה מצהיר מצביע, בסדר? 228 00:10:22,300 --> 00:10:26,200 >> אבל אז ברור שאהיה קצת מסובך כאשר יש לך מצביע 229 00:10:26,200 --> 00:10:27,370 או שאתה צריך לככב בכל. 230 00:10:27,370 --> 00:10:31,260 אז ההבדל הגדול הוא כאשר אתה declaring-- 231 00:10:31,260 --> 00:10:45,590 אז יש לנו כל כך some-- זה לוקח קצת כוכב int. 232 00:10:45,590 --> 00:10:49,650 אז זה חלק ממצביע קורא x לint, נכון? 233 00:10:49,650 --> 00:10:54,600 אז לזכור מה זה עושה זה קורא x המערכת. 234 00:10:54,600 --> 00:10:56,970 וזה הולך יש לי כמה כתובות, נכון? 235 00:10:56,970 --> 00:11:00,515 אז בואו רק נגיד שזה הכתובת שלנו. 236 00:11:00,515 --> 00:11:01,590 237 00:11:01,590 --> 00:11:03,570 מצביעים להחזיק כתובות. 238 00:11:03,570 --> 00:11:08,660 אז מה זה אומר הוא כי בשלב זה מיקום, אנו מאחסנים int. 239 00:11:08,660 --> 00:11:10,770 240 00:11:10,770 --> 00:11:15,770 >> אז בדרך אחרת שאנחנו יכולים לחשוב על זה הוא שמדובר בכמה int. 241 00:11:15,770 --> 00:11:17,010 242 00:11:17,010 --> 00:11:20,350 יש לנו לא ממש הוטל עליה ל שום דבר עדיין, אבל זה רק int. 243 00:11:20,350 --> 00:11:31,540 אז אנחנו יכולים לעשות הוא אם אנחנו לככב x שווה 5, זה הופך להיות 5, בסדר? 244 00:11:31,540 --> 00:11:38,350 זה אומר ללכת לכל מה שx הוא מצביע עליו, אז לך לכתובת זו 245 00:11:38,350 --> 00:11:40,210 ולעשות את זה שווה ל 5. 246 00:11:40,210 --> 00:11:44,390 אז אנו מקצים 5 לכתובת זו, נכון? 247 00:11:44,390 --> 00:11:52,540 >> ואז אם אתה עושה את זה, זה נותן לנו את הכתובת של. 248 00:11:52,540 --> 00:11:54,730 זוהי הכתובת של מפעיל. 249 00:11:54,730 --> 00:11:57,700 אז מה היא הכתובת של x? 250 00:11:57,700 --> 00:11:58,809 אנחנו לא יודעים. 251 00:11:58,809 --> 00:12:00,225 יש לנו לא הוטל עליה כתובת. 252 00:12:00,225 --> 00:12:03,000 253 00:12:03,000 --> 00:12:09,105 אנחנו יכולים להגיד שזה some-- עכשיו אנחנו נתנו לי זה כתובת, כך הכתובת היא 4. 254 00:12:09,105 --> 00:12:10,690 255 00:12:10,690 --> 00:12:16,980 ובעצם, אם אנחנו עוברים משהו ככה, סוג של מה שעשינו. 256 00:12:16,980 --> 00:12:25,800 אז עובד דרך here-- אני מוצא זה עוזר אם אתה מצייר את מצביעים. 257 00:12:25,800 --> 00:12:28,270 אם אתה על הבחינה שלך, אני ממליץ בחום על ציור תיבות. 258 00:12:28,270 --> 00:12:29,490 259 00:12:29,490 --> 00:12:33,310 >> אז זה ראשון, int x שווה 5. 260 00:12:33,310 --> 00:12:37,370 זה רק אומר שיש לנו כמה מקום בזיכרון שהוא 5, נכון? 261 00:12:37,370 --> 00:12:38,540 262 00:12:38,540 --> 00:12:44,760 והשולחן שלנו כאן אומר לנו שזה ב0x04 כתובת. 263 00:12:44,760 --> 00:12:48,770 264 00:12:48,770 --> 00:12:50,280 ואז אנחנו יוצרים כמה מצביע. 265 00:12:50,280 --> 00:12:51,820 266 00:12:51,820 --> 00:12:55,310 אז בואו לשבור את זה אחד בכל פעם. 267 00:12:55,310 --> 00:12:59,820 אז זה יוצר כמה תיבה לint, נכון? 268 00:12:59,820 --> 00:13:01,970 זה הולך להחזיק כמה כתובת שלו. 269 00:13:01,970 --> 00:13:03,470 אז זה חלק ממצביע. 270 00:13:03,470 --> 00:13:04,940 271 00:13:04,940 --> 00:13:06,510 וגיר הזה הוא ממש קטן. 272 00:13:06,510 --> 00:13:07,472 273 00:13:07,472 --> 00:13:08,680 אז יש לנו כמה מצביע כאן. 274 00:13:08,680 --> 00:13:10,060 275 00:13:10,060 --> 00:13:13,530 והשולחן שלנו אומר לנו כלומר כתובת היא 0x08. 276 00:13:13,530 --> 00:13:15,190 277 00:13:15,190 --> 00:13:16,200 מגניב. 278 00:13:16,200 --> 00:13:23,240 ואנחנו מקצים אותו לכתובת של x. 279 00:13:23,240 --> 00:13:26,330 >> זכור, מצביעים להחזיק כתובות, בסדר? 280 00:13:26,330 --> 00:13:32,050 אז אם אנחנו רוצים להחזיק את x, יש לנו להשתמש באופרטור הכתובת, ש 281 00:13:32,050 --> 00:13:36,520 הוא האמפרסנד, כדי לקבל את הכתובת של x, אשר במקרה זה, 0x04. 282 00:13:36,520 --> 00:13:39,130 283 00:13:39,130 --> 00:13:44,430 ואז אם יש לנו כמה עותק int, זה פשוט 284 00:13:44,430 --> 00:13:48,060 יוצר כמה תיבה אחרת ש מחזיק עותק int בשם. 285 00:13:48,060 --> 00:13:49,410 286 00:13:49,410 --> 00:13:55,330 ואם אנחנו להקצות את זה-- אז זה הוא התייחסותו. 287 00:13:55,330 --> 00:14:00,090 אז זה אומר ללכת לכל מה ש מצביע כתובת מחזיק. 288 00:14:00,090 --> 00:14:05,330 מצביע מחזיק כתובת זו, כך היינו הולך לכאן, 289 00:14:05,330 --> 00:14:07,130 ואנחנו אומרים, בסדר, מה יש בו? 290 00:14:07,130 --> 00:14:08,610 זה 5. 291 00:14:08,610 --> 00:14:09,815 אז עותק הופך 5. 292 00:14:09,815 --> 00:14:11,800 293 00:14:11,800 --> 00:14:12,540 הגיוני? 294 00:14:12,540 --> 00:14:15,540 295 00:14:15,540 --> 00:14:25,020 >> מה אם אנסה להקצות זה רק לפוינטר. 296 00:14:25,020 --> 00:14:26,476 297 00:14:26,476 --> 00:14:27,850 מה עושה מצביע שווה בעצם? 298 00:14:27,850 --> 00:14:31,126 299 00:14:31,126 --> 00:14:34,315 זה יהיה פשוט כל מה ש מצביע מכיל, נכון? 300 00:14:34,315 --> 00:14:36,400 301 00:14:36,400 --> 00:14:37,580 ואז מה אם אני עשיתי את זה? 302 00:14:37,580 --> 00:14:38,922 303 00:14:38,922 --> 00:14:39,880 מה היית להעתיק להיות עכשיו? 304 00:14:39,880 --> 00:14:41,365 305 00:14:41,365 --> 00:14:42,275 >> קהל: 0x08. 306 00:14:42,275 --> 00:14:44,150 ZAMYLA צ'אן: כן, כתובת של המצביע שלנו. 307 00:14:44,150 --> 00:14:46,832 308 00:14:46,832 --> 00:14:48,790 כל חלק של ש צריך להיות מחדש הסביר? 309 00:14:48,790 --> 00:14:50,170 310 00:14:50,170 --> 00:14:50,670 מגניב. 311 00:14:50,670 --> 00:14:53,350 312 00:14:53,350 --> 00:14:57,740 יש בהחלט מאוד בעיה כיף בחידון אחד 313 00:14:57,740 --> 00:15:00,100 שאנחנו יכולים על זה נותן לך יותר בפועל. 314 00:15:00,100 --> 00:15:00,937 315 00:15:00,937 --> 00:15:03,270 הבחורים משבוע שעבר יכול אומר לך שזה לא היה כל כך נורא. 316 00:15:03,270 --> 00:15:06,000 יש לנו דרך כל התרשים, וכולם עשו נהדרים. 317 00:15:06,000 --> 00:15:10,830 >> אוקיי, אז זה סקירה תחביר של מצביעים. 318 00:15:10,830 --> 00:15:15,070 הדבר הגדול ביותר הוא ההבנה כיצד כדי ליצור אותם, לעשות התייחסות, 319 00:15:15,070 --> 00:15:18,190 וכתובת של, בסדר? 320 00:15:18,190 --> 00:15:18,690 מגניב. 321 00:15:18,690 --> 00:15:20,775 כל נושאים אחרים לפני ש אנחנו צוללים לפועל. 322 00:15:20,775 --> 00:15:24,280 323 00:15:24,280 --> 00:15:28,011 גם אם אנחנו עוברים הבעיות בפועל 324 00:15:28,011 --> 00:15:30,760 ויש משהו שאתה רוצה השתלמות על, אנחנו יכולים לעשות את זה יותר מדי. 325 00:15:30,760 --> 00:15:31,300 האם יש לך משהו? 326 00:15:31,300 --> 00:15:32,758 >> קהל: structs ורשימות מקושרות. 327 00:15:32,758 --> 00:15:35,130 ZAMYLA צ'אן: structs ורשימות מקושרות, על אישור. 328 00:15:35,130 --> 00:15:37,100 אז structs. 329 00:15:37,100 --> 00:15:38,990 אנחנו בעצם הולכים על הערב הזה יותר מדי. 330 00:15:38,990 --> 00:15:40,130 331 00:15:40,130 --> 00:15:41,890 אוקיי, אז structs. 332 00:15:41,890 --> 00:15:47,490 Structs הוא בעצם רק כך תוכל להחזיק 333 00:15:47,490 --> 00:15:50,430 ערכים מרובים מסוגים שונים. 334 00:15:50,430 --> 00:15:55,150 אז עם מערך אנחנו מכווץ לסוג נתונים אחד. 335 00:15:55,150 --> 00:16:00,965 המערך שלנו גם יש רק כמספרים, או פשוט להיות תווים, או סתם להיות צף. 336 00:16:00,965 --> 00:16:02,240 337 00:16:02,240 --> 00:16:05,470 >> אבל אולי אתה צריך מכיל יותר מזה. 338 00:16:05,470 --> 00:16:09,130 אולי אתה צריך hold-- אם אתה, על תלמיד מדבר 339 00:16:09,130 --> 00:16:13,660 אתה הולך להיות הבית שלהם, שלהם מספר תעודת זהות, גילם, בו הם מתגוררים, 340 00:16:13,660 --> 00:16:14,240 נכון? 341 00:16:14,240 --> 00:16:16,460 ואת כל אלה הם סוגים שונים של סוגים. 342 00:16:16,460 --> 00:16:18,680 אז אתה לא יכול לאחסן אלה כל במערך. 343 00:16:18,680 --> 00:16:21,750 >> אז מה אתה יכול לעשות זה אתה יכול ליצור struct, ש 344 00:16:21,750 --> 00:16:26,240 אתה יכול לחשוב על כ סוג המידע האישי שלו. 345 00:16:26,240 --> 00:16:29,130 אז במקום שיש רק ints ובמקום צף רק שיש, 346 00:16:29,130 --> 00:16:33,210 אתה יכול להיות תלמיד סוג ש יש כל התחומים הללו בזה. 347 00:16:33,210 --> 00:16:39,740 אז הדרך בה אנו לאתחל structs is-- למעשה 348 00:16:39,740 --> 00:16:44,921 מאז הכתיבה שלי היא נוראה, אנחנו הולכים לעבור להקלדה. 349 00:16:44,921 --> 00:16:45,420 וו. 350 00:16:45,420 --> 00:16:48,800 351 00:16:48,800 --> 00:16:53,150 >> אוקיי, אז אם אנחנו רוצים ליצור struct-- אני רק הולך אליו כאן למטה. 352 00:16:53,150 --> 00:16:57,730 להתעלם בעיקרי מה בו נשתמש מאוחר יותר. 353 00:16:57,730 --> 00:17:02,330 אז כמו שאתה רוצה לעשות זה עם typedef struct. 354 00:17:02,330 --> 00:17:10,530 355 00:17:10,530 --> 00:17:13,349 ובואו פשוט נקראים לתלמיד זה מה כי זה היה אני משתמש. 356 00:17:13,349 --> 00:17:17,801 אוקיי, אז typedef אומר שאתה הגדרת סוג חדש, בסדר? 357 00:17:17,801 --> 00:17:20,140 358 00:17:20,140 --> 00:17:24,355 יש ניואנסים לכאשר אתה עושה רק struct לעומת struct typedef. 359 00:17:24,355 --> 00:17:26,313 לכל דבר ו מטרות, אתם פשוט 360 00:17:26,313 --> 00:17:29,490 הולך להניח שהם בערך באותו ורק 361 00:17:29,490 --> 00:17:30,820 להשתמש typedef struct לעת עתה. 362 00:17:30,820 --> 00:17:35,180 זה יהפוך את הדרך ברור יותר בך P הבא להגדיר מה הם הבדלים אלה, 363 00:17:35,180 --> 00:17:37,960 אבל אני לא חושב שאתה צריך לדאוג שעכשיו. 364 00:17:37,960 --> 00:17:40,360 אני הרבה מעדיף אותך יודע איך ליצור אחד, 365 00:17:40,360 --> 00:17:41,880 לגשת אליו, ולהקצות [? ערך. ?] 366 00:17:41,880 --> 00:17:47,820 >> סוג חדש של struct, ו אנחנו קוראים לזה תלמיד. 367 00:17:47,820 --> 00:17:52,640 אז אחרי שסיימנו ליצור את זה, לכל דבר ועניין, 368 00:17:52,640 --> 00:17:55,070 יהיה לך סוג המכונה תלמיד. 369 00:17:55,070 --> 00:17:59,610 ואתה יכול לחשוב על זה בדיוק כמו סוג כמו int, או לצוף, או char. 370 00:17:59,610 --> 00:18:01,820 זה פשוט סוג אחר, בסדר? 371 00:18:01,820 --> 00:18:04,530 >> אז בזה, מה יש לנו? 372 00:18:04,530 --> 00:18:05,420 יש לנו אולי שם. 373 00:18:05,420 --> 00:18:08,275 אז אולי אנחנו רוצים שם מחרוזת. 374 00:18:08,275 --> 00:18:09,610 375 00:18:09,610 --> 00:18:14,065 ויש לנו אולי int זה מזהה. 376 00:18:14,065 --> 00:18:16,360 377 00:18:16,360 --> 00:18:19,085 ויש לנו עוד ב זה מספר טלפון. 378 00:18:19,085 --> 00:18:21,990 379 00:18:21,990 --> 00:18:26,200 ויש לנו some-- בואו נראה. 380 00:18:26,200 --> 00:18:27,200 מה עוד שנהיה לנו? 381 00:18:27,200 --> 00:18:29,385 תהיה לנו איזה חוט בביתו. 382 00:18:29,385 --> 00:18:32,340 383 00:18:32,340 --> 00:18:34,510 כל הדברים שיש לו תלמיד. 384 00:18:34,510 --> 00:18:36,960 >> אז זה יוצר struct עכשיו. 385 00:18:36,960 --> 00:18:41,450 אז איך אנחנו יכולים ליצור תלמיד? 386 00:18:41,450 --> 00:18:46,960 אם יש לנו כמה משתנים שהוא הולך לדבר על וקר כאן, 387 00:18:46,960 --> 00:18:51,245 ולכן אנחנו have-- אנחנו רק הולך לקרוא ווקר זה. 388 00:18:51,245 --> 00:18:52,520 הוא זקוק לסוג. 389 00:18:52,520 --> 00:18:53,770 מה הטיפוס שלך? 390 00:18:53,770 --> 00:18:54,520 קהל: סטודנטים. 391 00:18:54,520 --> 00:18:55,395 ZAMYLA צ'אן: סטודנט. 392 00:18:55,395 --> 00:18:57,130 393 00:18:57,130 --> 00:19:04,800 אז זה רק יוצר אובייקט שאתה יכול יש לחשוב על זה את כל הדברים האלה. 394 00:19:04,800 --> 00:19:07,880 זה עתה יצר סטודנט הליכון. 395 00:19:07,880 --> 00:19:10,910 אז עכשיו אנחנו צריכים להיות מסוגלים כדי להקצות את כל אלה, נכון? 396 00:19:10,910 --> 00:19:13,500 אז האם מישהו זוכר איך אנו לגשת בתוך struct? 397 00:19:13,500 --> 00:19:14,762 398 00:19:14,762 --> 00:19:15,470 קהל: התקופה. 399 00:19:15,470 --> 00:19:16,730 ZAMYLA צ'אן: התקופה בדיוק. 400 00:19:16,730 --> 00:19:23,795 אז אם אנחנו רוצים להקצות שלו שם, אנחנו יכולים לעשות את זה. 401 00:19:23,795 --> 00:19:24,820 402 00:19:24,820 --> 00:19:28,680 ברור שזה היית be-- חלק זה כאן היה 403 00:19:28,680 --> 00:19:31,831 להיות בתוך עיקרי, כך פשוט נתת לי לעשות את זה. 404 00:19:31,831 --> 00:19:40,980 405 00:19:40,980 --> 00:19:44,250 להכריז על זה מעל עיקרי כל כך שאנחנו יכולים להשתמש בו בתוך עיקריים. 406 00:19:44,250 --> 00:19:52,250 407 00:19:52,250 --> 00:20:00,980 אז עכשיו אני רוצה לעשות את זה מזהה, ואנחנו פשוט לעשות קצת שם, 408 00:20:00,980 --> 00:20:02,970 ואז להקצות בית. 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 מגניב. 412 00:20:09,650 --> 00:20:19,870 >> אז עכשיו אנחנו צריכים אי פעם צריכים גישה שום דבר מאוחר יותר on-- אולי we-- 413 00:20:19,870 --> 00:20:25,920 אם אי פעם אנחנו צריכים לגשת לכל דבר, בואו פשוט לעשות עותק int ID. 414 00:20:25,920 --> 00:20:27,400 415 00:20:27,400 --> 00:20:30,530 ואני רוצה להעתיק זיהוי של ווקר לזה. 416 00:20:30,530 --> 00:20:31,370 איך אוכל לעשות את זה? 417 00:20:31,370 --> 00:20:33,670 418 00:20:33,670 --> 00:20:37,790 אתה צריך לגשת בהליכון struct ל[? ללכת על זה?] [? E?]. 419 00:20:37,790 --> 00:20:41,280 באותו אופן שאנו שהוקצה אותו כאן, איך 420 00:20:41,280 --> 00:20:45,573 אנו עשויים לגשת אליו מתי שאנחנו רוצים ל לתת ערך שלמשהו אחר? 421 00:20:45,573 --> 00:20:46,406 קהל: Walker.id. 422 00:20:46,406 --> 00:20:47,252 423 00:20:47,252 --> 00:20:48,376 ZAMYLA צ'אן: כן, בדיוק. 424 00:20:48,376 --> 00:20:51,884 425 00:20:51,884 --> 00:20:54,175 אז זה פחות או יותר כל אתה צריך לדעת לstructs. 426 00:20:54,175 --> 00:20:55,750 427 00:20:55,750 --> 00:20:58,560 אתה פשוט צריך לחשוב על שלהם כמשתנה אחרת. 428 00:20:58,560 --> 00:21:01,710 בעיקרון ליצור משלך סוג משתנה שלו, בסדר? 429 00:21:01,710 --> 00:21:04,440 430 00:21:04,440 --> 00:21:07,970 אתה משתמש בו כדי להכריז משתנים בכל דרך. 431 00:21:07,970 --> 00:21:10,290 כאן הליכון הוא עדיין משתנה. 432 00:21:10,290 --> 00:21:14,230 זה פשוט לתלמיד סוג עכשיו במקום של סוג int, או מחרוזת סוג, 433 00:21:14,230 --> 00:21:15,070 או סוג char. 434 00:21:15,070 --> 00:21:17,014 435 00:21:17,014 --> 00:21:19,930 אם הייתה דרך קלה לדבר על structs, זה ממש פשוט 436 00:21:19,930 --> 00:21:24,430 ליצור סוג הנתונים שלך המאפשר לך קבוצה 437 00:21:24,430 --> 00:21:28,320 כל אלה שונים סוג של נתונים ביחד. 438 00:21:28,320 --> 00:21:29,754 439 00:21:29,754 --> 00:21:31,595 האם זה הגיוני? 440 00:21:31,595 --> 00:21:33,920 441 00:21:33,920 --> 00:21:34,420 אישור. 442 00:21:34,420 --> 00:21:35,920 443 00:21:35,920 --> 00:21:37,530 ושגישה עם נקודות. 444 00:21:37,530 --> 00:21:38,790 445 00:21:38,790 --> 00:21:39,960 פחות או יותר כל מה שאתה צריך. 446 00:21:39,960 --> 00:21:41,150 447 00:21:41,150 --> 00:21:46,600 >> אישור, שבו לא PowerPoint ללכת? 448 00:21:46,600 --> 00:21:47,580 הנה הוא. 449 00:21:47,580 --> 00:21:49,050 450 00:21:49,050 --> 00:21:50,520 ובכן, זה מוזר. 451 00:21:50,520 --> 00:21:53,950 452 00:21:53,950 --> 00:21:55,420 אהה. 453 00:21:55,420 --> 00:21:56,766 אישור, מגניב. 454 00:21:56,766 --> 00:21:58,876 455 00:21:58,876 --> 00:22:01,000 כל דברים או אחרים לעשות רוצה את הראש להתאמן? 456 00:22:01,000 --> 00:22:02,210 457 00:22:02,210 --> 00:22:02,710 להתאמן? 458 00:22:02,710 --> 00:22:03,501 אישור. 459 00:22:03,501 --> 00:22:04,000 מדהים. 460 00:22:04,000 --> 00:22:05,642 461 00:22:05,642 --> 00:22:06,600 אני הולך לצאת זה. 462 00:22:06,600 --> 00:22:08,490 אם בכל נקודה במהלך שאלות תרגול, 463 00:22:08,490 --> 00:22:12,630 אני שמח לשפץ ולעבור דברים. 464 00:22:12,630 --> 00:22:15,240 אז יש לי חידון אפס עד כאן. 465 00:22:15,240 --> 00:22:18,370 אם אתם רוצים למשוך אותו במחשב שלך, 466 00:22:18,370 --> 00:22:20,670 בדיוק כמו לקחת חמש דקות כדי לדפדף. 467 00:22:20,670 --> 00:22:23,540 אולי לבחור כמה עליון שאלות שאתה רוצה ללכת על. 468 00:22:23,540 --> 00:22:27,390 אם אתם לא יכולים להחליט, אנחנו פשוט להתחיל לאט לעבוד דרכם, 469 00:22:27,390 --> 00:22:31,590 אבל אני בטוח שיש הולך להיות כמה שאלות שאתה במיוחד 470 00:22:31,590 --> 00:22:34,890 שישה לדבר על ויש לי לי לעבוד דרך עם כל מה שאתה. 471 00:22:34,890 --> 00:22:36,580 אז פשוט ללכת קדימה ולקחת חמש דקות. 472 00:22:36,580 --> 00:22:37,780 לגלול. 473 00:22:37,780 --> 00:22:40,620 ואת זה הוא החידון משנת 2013. 474 00:22:40,620 --> 00:22:41,841 >> קהל: אפס? 475 00:22:41,841 --> 00:22:43,630 >> ZAMYLA צ'אן: כן, חידון אפס. 476 00:22:43,630 --> 00:22:45,647 אנחנו לא עושים חידון דברים אחד. 477 00:22:45,647 --> 00:22:46,980 נצטרך לעשות את זה בכמה שבועות. 478 00:22:46,980 --> 00:22:52,941 479 00:22:52,941 --> 00:22:55,190 גם לאלו מכם ש הגיע בסוף, יש לנו ממתקים, 480 00:22:55,190 --> 00:23:00,580 כך גם אתם רוצים סוכרייה? 481 00:23:00,580 --> 00:23:01,530 >> קהל: בטח. 482 00:23:01,530 --> 00:23:03,321 >> ZAMYLA צ'אן: אני רק הולך לעבור בסביבה. 483 00:23:03,321 --> 00:23:09,774 484 00:23:09,774 --> 00:23:11,940 היי, אתם אם להגיע לכאן מוקדם, אתה מקבל יותר סוכריות. 485 00:23:11,940 --> 00:23:12,500 זה בסדר. 486 00:23:12,500 --> 00:23:13,550 בן, אתה רוצה סוכריות? 487 00:23:13,550 --> 00:23:19,350 488 00:23:19,350 --> 00:23:20,556 אתה רוצה כמה כאלה? 489 00:23:20,556 --> 00:23:24,122 490 00:23:24,122 --> 00:23:26,080 יש גם סניקרס אם מישהו רוצה סניקרס. 491 00:23:26,080 --> 00:23:27,640 492 00:23:27,640 --> 00:23:29,360 אני אשאיר אותם כאן וכאן. 493 00:23:29,360 --> 00:23:30,946 תרגיש חופשי. 494 00:23:30,946 --> 00:23:32,485 האם אתה רוצה יותר? 495 00:23:32,485 --> 00:23:33,235 קהל: כל קבוצה. 496 00:23:33,235 --> 00:23:33,540 תודה לך. 497 00:23:33,540 --> 00:23:36,248 >> ZAMYLA צ'אן: והיה לי נחמד ערימה קטנה שם בתחילת. 498 00:23:36,248 --> 00:23:49,080 499 00:23:49,080 --> 00:23:51,980 אתם מקבלים לקחת את החידון ו אני מקבל שיש צד חידון לדירוג. 500 00:23:51,980 --> 00:23:54,496 501 00:23:54,496 --> 00:23:55,360 זה תוהו. 502 00:23:55,360 --> 00:23:56,460 503 00:23:56,460 --> 00:23:57,385 900 בחינות. 504 00:23:57,385 --> 00:23:58,650 זה הולך להיות כל כך כיף. 505 00:23:58,650 --> 00:24:00,441 506 00:24:00,441 --> 00:24:02,036 הולך להיות נהדר. 507 00:24:02,036 --> 00:24:04,430 אני די בטוח שזה אחד של המליטה צוות הגדולה 508 00:24:04,430 --> 00:24:05,380 לילות של השנה. 509 00:24:05,380 --> 00:24:15,660 510 00:24:15,660 --> 00:24:19,175 האם מישהו עשה חידון אפס מ בשנה שעברה עדיין מתוך סקרנות? 511 00:24:19,175 --> 00:24:20,335 >> קהל: חלקים ממנו. 512 00:24:20,335 --> 00:24:21,543 >> ZAMYLA צ'אן: חלקים ממנו, על אישור. 513 00:24:21,543 --> 00:24:24,272 514 00:24:24,272 --> 00:24:26,482 האם יש לך שאלות על כל אחד מהם? 515 00:24:26,482 --> 00:24:28,190 קהל: אני כבר הלכתי לשעתי עבודה. 516 00:24:28,190 --> 00:24:28,898 אבל תודה. 517 00:24:28,898 --> 00:24:30,187 518 00:24:30,187 --> 00:24:32,520 ZAMYLA צ'אן: ובכן, אני מקווה ש זה עדיין סוג של מועיל. 519 00:24:32,520 --> 00:24:42,990 520 00:24:42,990 --> 00:24:45,634 מתי אתה הולך ל שעתי עבודה בשביל זה? 521 00:24:45,634 --> 00:24:47,300 קהל: TF שלי היה להם היום אחר הצהריים. 522 00:24:47,300 --> 00:24:47,966 ZAMYLA צ'אן: אה. 523 00:24:47,966 --> 00:24:48,977 מי TF שלך? 524 00:24:48,977 --> 00:24:49,854 525 00:24:49,854 --> 00:24:51,020 קהל: פרד [? Wujaya?]. 526 00:24:51,020 --> 00:24:52,622 527 00:24:52,622 --> 00:24:54,080 ZAMYLA צ'אן: יש TFS כל כך הרבה. 528 00:24:54,080 --> 00:24:55,350 529 00:24:55,350 --> 00:24:55,850 כל כך הרבה. 530 00:24:55,850 --> 00:25:16,530 531 00:25:16,530 --> 00:25:17,340 בְּסֵדֶר. 532 00:25:17,340 --> 00:25:45,310 533 00:25:45,310 --> 00:25:48,950 מישהו יש לך להתחיל שאני יכול לרשום שאנחנו רוצים לעבוד? 534 00:25:48,950 --> 00:25:53,770 535 00:25:53,770 --> 00:25:55,685 אני מניח את המצביעים אחד עם השולחן. 536 00:25:55,685 --> 00:25:56,890 537 00:25:56,890 --> 00:25:57,610 לכו על זה. 538 00:25:57,610 --> 00:25:59,180 >> קהל: אולי מתג אחד. 539 00:25:59,180 --> 00:26:02,362 540 00:26:02,362 --> 00:26:03,445 ZAMYLA צ'אן: אז מספר 12? 541 00:26:03,445 --> 00:26:06,750 542 00:26:06,750 --> 00:26:10,770 אני מניח שמספר 8 ו -9 הם כנראה אנשים אלה רוצים ללכת על. 543 00:26:10,770 --> 00:26:12,116 >> קהל: ו-10 ו -11. 544 00:26:12,116 --> 00:26:21,860 545 00:26:21,860 --> 00:26:25,806 >> ZAMYLA צ'אן: ואתם יודעים אתה מקבל דף אחד של הערות, נכון? 546 00:26:25,806 --> 00:26:28,450 >> קהל: כן, אז מה הם מותר לנו לשים על זה. 547 00:26:28,450 --> 00:26:30,658 >> ZAMYLA צ'אן: מותר לך לשים כל דבר שאתה רוצה. 548 00:26:30,658 --> 00:26:31,887 549 00:26:31,887 --> 00:26:32,720 ויכול להיות שהקלדה זה. 550 00:26:32,720 --> 00:26:35,270 עד כמה שאני זוכר, קליד גולש. 551 00:26:35,270 --> 00:26:37,022 >> קהל: אתה יכול לעשות גב ושני הצדדים? 552 00:26:37,022 --> 00:26:38,780 >> ZAMYLA צ'אן: כן, שני הצדדים. 553 00:26:38,780 --> 00:26:42,940 אז משהו כמו הערימה ו [? סוף חזרה?] ערימה, הריצה שלך 554 00:26:42,940 --> 00:26:43,780 פעמים. 555 00:26:43,780 --> 00:26:44,840 שימושי. 556 00:26:44,840 --> 00:26:47,990 דברים קטנים אולי על מצביעים כדי להזכיר לך. 557 00:26:47,990 --> 00:26:49,205 תחביר לדברים. 558 00:26:49,205 --> 00:26:51,600 559 00:26:51,600 --> 00:26:54,830 יש רק כמו שלד תכנית יכולה להיות סופר שימושי. 560 00:26:54,830 --> 00:27:00,719 אני יודע שאני תמיד שכחתי בדיוק מה אני היה אמור לכתוב עבור ראשי int, 561 00:27:00,719 --> 00:27:03,010 כי אני תמיד פשוט להעתיק להדביק מסט P הקודם שלי 562 00:27:03,010 --> 00:27:06,232 או שזה כבר שם, כל כך אף פעם לא באמת כתבתי את זה, 563 00:27:06,232 --> 00:27:07,690 כך שיש שיכולה להיות סופר שימושי. 564 00:27:07,690 --> 00:27:09,280 565 00:27:09,280 --> 00:27:14,320 >> אוקיי, אז למה אנחנו לא תתחיל עם מספר 8 ולאחר מכן? 566 00:27:14,320 --> 00:27:21,730 567 00:27:21,730 --> 00:27:22,810 בְּסֵדֶר. 568 00:27:22,810 --> 00:27:23,310 אישור. 569 00:27:23,310 --> 00:27:25,060 570 00:27:25,060 --> 00:27:26,310 אז לשקול את התכנית בהמשך. 571 00:27:26,310 --> 00:27:28,110 572 00:27:28,110 --> 00:27:30,700 אז ברור, כאשר אנו רואים מצביעים, זה כנראה 573 00:27:30,700 --> 00:27:32,200 רעיון טוב להתחיל ציור, נכון? 574 00:27:32,200 --> 00:27:34,552 575 00:27:34,552 --> 00:27:36,760 אני רוצה לדעת איפה כולי חתיכות גדולות של גיר הלכו. 576 00:27:36,760 --> 00:27:37,870 זהו סוג של מעצבן. 577 00:27:37,870 --> 00:27:40,210 578 00:27:40,210 --> 00:27:45,820 >> אז יש לנו כאן כמה פונקצית swap זה הולך לקחת בשני מצביעים. 579 00:27:45,820 --> 00:27:48,630 אז במקרה הזה, הם צריך להיות ממש מיתוג 580 00:27:48,630 --> 00:27:53,400 דברים לעומת ההחלפה המקורית שלנו פונקציה שלקחה רק בעותקים. 581 00:27:53,400 --> 00:27:57,030 אז מה זה הולך לעשות is-- בואו נתחיל עם עיקרי, 582 00:27:57,030 --> 00:27:58,450 כי שם הוא 1. 583 00:27:58,450 --> 00:28:04,296 >> אז יש לנו כמה int x 1. 584 00:28:04,296 --> 00:28:11,860 יש לנו כמה y זה שווה ל 2. 585 00:28:11,860 --> 00:28:14,390 ולאחר מכן יש לנו כמה swap זה הולך לקחת אותם. 586 00:28:14,390 --> 00:28:17,320 ובואו נראה מה יש לנו כאן. 587 00:28:17,320 --> 00:28:19,542 588 00:28:19,542 --> 00:28:22,709 ובtable-- שלנו אוי ואבוי. 589 00:28:22,709 --> 00:28:23,792 איך אני הולך לעשות את זה? 590 00:28:23,792 --> 00:28:25,900 אני הולך לצייר השולחן שלי לכאן. 591 00:28:25,900 --> 00:28:49,490 592 00:28:49,490 --> 00:28:50,552 בקושי עושה את זה שם. 593 00:28:50,552 --> 00:28:51,260 בקושי עושה את זה. 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 והם נותנים לנו כי 1 הוא 1, ו 1 2. 598 00:29:15,706 --> 00:29:16,206 מגניב. 599 00:29:16,206 --> 00:29:17,674 600 00:29:17,674 --> 00:29:18,174 מדהים. 601 00:29:18,174 --> 00:29:19,650 602 00:29:19,650 --> 00:29:20,464 אז 3. 603 00:29:20,464 --> 00:29:21,380 ויש [? 1.?] 604 00:29:21,380 --> 00:29:24,500 605 00:29:24,500 --> 00:29:25,250 >> בְּסֵדֶר. 606 00:29:25,250 --> 00:29:35,202 ואז כתובת של x היא 0x123. 607 00:29:35,202 --> 00:29:41,260 ו- Y הוא Ox127. 608 00:29:41,260 --> 00:29:41,760 מגניב. 609 00:29:41,760 --> 00:29:42,940 610 00:29:42,940 --> 00:29:43,595 בְּסֵדֶר. 611 00:29:43,595 --> 00:29:46,710 אני רוצה שהבחורים לעבוד על זה לעבודה רק like-- על זה 612 00:29:46,710 --> 00:29:48,385 עם האנשים סביבך. 613 00:29:48,385 --> 00:29:50,340 אני מצטער שלא אמרתי ש בזמן שההגדרה. 614 00:29:50,340 --> 00:29:50,840 לעבוד על זה. 615 00:29:50,840 --> 00:29:53,270 נסה ולעבוד על זה על ידי את עצמכם לכמה דקות, 616 00:29:53,270 --> 00:29:54,930 ולאחר מכן אני אעבוד על זה איתך. 617 00:29:54,930 --> 00:29:57,034 618 00:29:57,034 --> 00:30:00,117 כי הדרך היחידה שאתה באמת הולך ללמוד הוא על ידי עושה את זה בעצמך. 619 00:30:00,117 --> 00:31:29,580 620 00:31:29,580 --> 00:31:30,110 אין דאגות. 621 00:31:30,110 --> 00:31:30,610 מזל טוב. 622 00:31:30,610 --> 00:32:17,390 623 00:32:17,390 --> 00:32:20,030 >> אישור, למה אנחנו לא לאט להתחיל לעבוד דרך זה. 624 00:32:20,030 --> 00:32:23,695 אז כולם מקבל אחרי השורה אחת, x הוא 1. 625 00:32:23,695 --> 00:32:26,860 לאחר השורה שתיים, X ו y הוא 1 ו -2, נכון? 626 00:32:26,860 --> 00:32:27,400 מגניב. 627 00:32:27,400 --> 00:32:30,310 אז קו שלוש שבו דברים לקבל מעניין כמובן. 628 00:32:30,310 --> 00:32:34,970 >> אז מה שעשינו כאן הוא יש לנו עכשיו החליף. 629 00:32:34,970 --> 00:32:42,360 אנחנו אומרים שיש לי x ו- y נקודות אלה, או שיש להם את הכתובת של x ו- y, 630 00:32:42,360 --> 00:32:43,390 נכון? 631 00:32:43,390 --> 00:32:48,451 אז במקרה הזה, שלוש, מהו הערך של? 632 00:32:48,451 --> 00:32:52,379 633 00:32:52,379 --> 00:32:59,806 הועבר ב, ניתנה את הערך של הכתובת של x, נכון? 634 00:32:59,806 --> 00:33:02,542 635 00:33:02,542 --> 00:33:03,454 >> קהל: 1? 636 00:33:03,454 --> 00:33:05,200 >> ZAMYLA צ'אן: אז אנחנו מוסיפים אותו לx? 637 00:33:05,200 --> 00:33:06,420 מה הכתובת של x? 638 00:33:06,420 --> 00:33:07,212 >> קהל: 0x123. 639 00:33:07,212 --> 00:33:08,087 >> ZAMYLA צ'אן: בדיוק. 640 00:33:08,087 --> 00:33:13,960 641 00:33:13,960 --> 00:33:16,790 אבל מה הוא בעצם מצביע? 642 00:33:16,790 --> 00:33:20,790 אם היינו dereference, מה ערך היה זה נותן לנו. 643 00:33:20,790 --> 00:33:21,290 קהל: 1. 644 00:33:21,290 --> 00:33:23,164 ZAMYLA צ'אן: זה יהיה תן לנו 1, כי מה ש 645 00:33:23,164 --> 00:33:27,810 אנחנו אומרים זה ללכת לזה כתובת, לספר לנו מה הוא הערך. 646 00:33:27,810 --> 00:33:28,890 אז מה יהיה ב '? 647 00:33:28,890 --> 00:33:30,500 648 00:33:30,500 --> 00:33:31,445 >> קהל: 0x127. 649 00:33:31,445 --> 00:33:32,320 ZAMYLA צ'אן: בדיוק. 650 00:33:32,320 --> 00:33:33,610 651 00:33:33,610 --> 00:33:35,410 אז זה הכתובת של y. 652 00:33:35,410 --> 00:33:36,580 653 00:33:36,580 --> 00:33:39,811 ואז מה [? dereference? ?] 654 00:33:39,811 --> 00:33:40,310 קהל: 2. 655 00:33:40,310 --> 00:33:42,172 656 00:33:42,172 --> 00:33:43,380 ZAMYLA צ'אן: אוקיי, אז עכשיו ארבעה. 657 00:33:43,380 --> 00:33:44,390 658 00:33:44,390 --> 00:33:51,300 אמרנו הוא equal-- גם עכשיו יש לנו עשה int temp שווה לכוכב של. 659 00:33:51,300 --> 00:33:53,580 אז מה משנה? 660 00:33:53,580 --> 00:33:55,680 יש רק דבר אחד שמשנה כאן. 661 00:33:55,680 --> 00:33:56,180 מה זה? 662 00:33:56,180 --> 00:33:57,892 663 00:33:57,892 --> 00:33:58,624 >> קהל: Temp. 664 00:33:58,624 --> 00:33:59,540 ZAMYLA צ'אן: טמפ '. 665 00:33:59,540 --> 00:34:06,120 אז אנחנו יכולים לשכתב את כל אלה. 666 00:34:06,120 --> 00:34:07,790 667 00:34:07,790 --> 00:34:10,690 אסטרטגיה טובה לאלה רק להבין 668 00:34:10,690 --> 00:34:14,050 מה שינויים, משום שלרוב יש רק דבר אחד שהוא 669 00:34:14,050 --> 00:34:16,300 הולך לשנות בכל רגע נתון, בסדר? 670 00:34:16,300 --> 00:34:17,960 671 00:34:17,960 --> 00:34:20,100 אז הקצנו זמני. 672 00:34:20,100 --> 00:34:26,929 >> עכשיו הנקודה הבאה שלנו, חמש, אנחנו הפך כוכב שווה לככב ב. 673 00:34:26,929 --> 00:34:28,880 אז מה משנה עכשיו? 674 00:34:28,880 --> 00:34:29,760 >> קהל: כוכב. 675 00:34:29,760 --> 00:34:32,081 >> ZAMYLA צ'אן: כוכב, כך כל דבר אחר נשאר אותו הדבר. 676 00:34:32,081 --> 00:34:38,610 677 00:34:38,610 --> 00:34:39,900 ומה אומר כוכב שווה? 678 00:34:39,900 --> 00:34:40,659 >> קהל: 2. 679 00:34:40,659 --> 00:34:41,283 ZAMYLA צ'אן: 2. 680 00:34:41,283 --> 00:34:42,460 681 00:34:42,460 --> 00:34:42,960 יפה. 682 00:34:42,960 --> 00:34:45,360 683 00:34:45,360 --> 00:34:46,239 מדהים. 684 00:34:46,239 --> 00:34:51,190 אישור, ולאחר מכן עכשיו יש לנו להתחיל ב שווה לטמפ '. 685 00:34:51,190 --> 00:34:53,907 אז השינוי היחיד הוא כוכב ב. 686 00:34:53,907 --> 00:34:55,344 כל השאר נשאר אותו הדבר. 687 00:34:55,344 --> 00:35:01,100 688 00:35:01,100 --> 00:35:02,610 ומה הוא כוכב ב שווה לחברה? 689 00:35:02,610 --> 00:35:04,840 690 00:35:04,840 --> 00:35:06,190 ושהשלמת את השולחן. 691 00:35:06,190 --> 00:35:11,620 692 00:35:11,620 --> 00:35:18,460 כי עכשיו בסוף, אם אנחנו אומרים x ו- y, אנו יודעים כי בpoint-- זה 693 00:35:18,460 --> 00:35:23,060 אנו יודעים כי כאשר אנו השתנה לככב 2, 694 00:35:23,060 --> 00:35:29,620 מה שעשה הוא שהוא אמר על אישור, ב מענה 0x123 כאן, לשנות אותו. 695 00:35:29,620 --> 00:35:31,780 696 00:35:31,780 --> 00:35:33,290 עכשיו זה היה 2. 697 00:35:33,290 --> 00:35:34,460 698 00:35:34,460 --> 00:35:40,600 ולאחר מכן, בשלב זה, אמרנו בסדר, ללכת לכוכב ב. 699 00:35:40,600 --> 00:35:45,305 אז גש לכתובת ב 0x127 ולהפוך אותו 1. 700 00:35:45,305 --> 00:35:49,670 701 00:35:49,670 --> 00:35:53,110 אז עכשיו בסוף כאשר מאוד אנחנו באמת לחזור לעיקריים, 702 00:35:53,110 --> 00:35:56,445 אנחנו באמת צריכים שx הוא שווה ל 2 ו- y שווה ל 1. 703 00:35:56,445 --> 00:35:58,500 704 00:35:58,500 --> 00:35:59,500 כולם טובים בזה? 705 00:35:59,500 --> 00:36:00,720 706 00:36:00,720 --> 00:36:02,320 אישור, מגניב. 707 00:36:02,320 --> 00:36:04,030 מספר 9. 708 00:36:04,030 --> 00:36:05,950 אתם עובדים על זה. 709 00:36:05,950 --> 00:36:09,016 אני הולך להגדיר לוח כדי שנוכל לצייר באמצעותו. 710 00:36:09,016 --> 00:36:09,910 זה יהיה פיצוץ. 711 00:36:09,910 --> 00:36:13,760 712 00:36:13,760 --> 00:36:16,320 השולחנות הגדולים יכולים להיות ממש מפחיד, אני יודע. 713 00:36:16,320 --> 00:36:19,910 אבל אם אתה פשוט לקחת אותם שורה אחת ב זמן, הם מקבלים הרבה פחות מפחידים. 714 00:36:19,910 --> 00:38:12,025 715 00:38:12,025 --> 00:38:12,860 בְּסֵדֶר. 716 00:38:12,860 --> 00:38:16,230 717 00:38:16,230 --> 00:38:21,190 >> אז אתה יודע שזה יהיה לי עבר עיקרי ראשון, נכון? 718 00:38:21,190 --> 00:38:24,140 מאתחל x ו- y ו לאחר מכן מנסה להחליף אותם. 719 00:38:24,140 --> 00:38:28,560 אז החלפה אפילו מעל, אמיתית דרכו הולך הוא שאנחנו עוברים ראשיים, 720 00:38:28,560 --> 00:38:31,040 ואז זה מתקשר עד להחליף, בסדר? 721 00:38:31,040 --> 00:38:32,810 אז כולם יודע את זה. 722 00:38:32,810 --> 00:38:34,960 >> אז איזה מהם לעשות לך אתם רוצים להתחיל עם? 723 00:38:34,960 --> 00:38:37,240 האם מישהו באמת בטוח אחד מאלה? 724 00:38:37,240 --> 00:38:38,307 725 00:38:38,307 --> 00:38:39,265 או אפילו באופן חלקי בטוח? 726 00:38:39,265 --> 00:38:44,170 727 00:38:44,170 --> 00:38:48,120 למה שלא תתחילו עם x? 728 00:38:48,120 --> 00:38:49,060 מה אנחנו חושבים x הוא? 729 00:38:49,060 --> 00:38:49,735 >> קהל: 1. 730 00:38:49,735 --> 00:38:50,360 ZAMYLA צ'אן: 1. 731 00:38:50,360 --> 00:38:54,500 732 00:38:54,500 --> 00:38:56,340 אז למה הוא 2. 733 00:38:56,340 --> 00:38:58,880 734 00:38:58,880 --> 00:39:01,380 וזה בגלל הבדל גדול כאן 735 00:39:01,380 --> 00:39:04,890 הם שאנחנו רק עובר עותקים ב, נכון? 736 00:39:04,890 --> 00:39:06,520 אנחנו לא עוברים על דרך הפניה. 737 00:39:06,520 --> 00:39:08,850 אז גם בסוף x תכנית זו וy 738 00:39:08,850 --> 00:39:14,170 נשאר אותו הדבר, בגלל שהם רק עותקים בפונקצית swap. 739 00:39:14,170 --> 00:39:16,320 הם לא באמת יכולים לשנות, נכון? 740 00:39:16,320 --> 00:39:17,570 741 00:39:17,570 --> 00:39:19,290 >> אז מה לגבי, ב, וזמני? 742 00:39:19,290 --> 00:39:21,540 743 00:39:21,540 --> 00:39:22,890 >> קהל: היא ב. 744 00:39:22,890 --> 00:39:23,940 >> ZAMYLA צ'אן: היא ב. 745 00:39:23,940 --> 00:39:28,569 אז במקרה הזה, היה x, שהוא 1, נכון? 746 00:39:28,569 --> 00:39:29,860 אז הנה, בואו לעבור את זה. 747 00:39:29,860 --> 00:39:33,940 אז בהתחלה, ו b הוא 1 ו -2 ולא מוגדר. 748 00:39:33,940 --> 00:39:35,000 749 00:39:35,000 --> 00:39:40,850 אז במקור זמני מקבל שהוקצה ל, כך זמני הוא 1. 750 00:39:40,850 --> 00:39:46,150 שווה ל- B, אז אנחנו מקבלים 2, ו- B שווים לטמפ '. 751 00:39:46,150 --> 00:39:47,284 עכשיו אנחנו מקבלים 1. 752 00:39:47,284 --> 00:39:49,454 753 00:39:49,454 --> 00:39:55,860 >> קהל: בו לאחד הקודם x ו- y החליף אמפרסנד האמפרסנד. 754 00:39:55,860 --> 00:39:57,390 מה בדיוק זה אומר? 755 00:39:57,390 --> 00:39:59,890 ZAMYLA צ'אן: אז זה אומר ש אתה עובר בדרך של הפניה. 756 00:39:59,890 --> 00:40:03,830 אז זה אומר שאתה בעצם שעבר בכתובות של בי 757 00:40:03,830 --> 00:40:04,814 x ו- y מאוחסנים. 758 00:40:04,814 --> 00:40:06,730 קהל: אבל אתה לא החלפת הכתובת. 759 00:40:06,730 --> 00:40:07,860 ZAMYLA צ'אן: אתה לא החלפת הכתובות. 760 00:40:07,860 --> 00:40:10,015 אתה מחליף את מה שבתוכם. 761 00:40:10,015 --> 00:40:11,510 762 00:40:11,510 --> 00:40:14,460 כמו מה בכתובת ש, וזה למה זה עובד. 763 00:40:14,460 --> 00:40:20,750 לעומת בתכנית זו כאן מה שאתה עושה הוא שאתה יוצר עותקים. 764 00:40:20,750 --> 00:40:27,440 אז יש לך x ו- y שקיים כמשתנים שלהם כאן. 765 00:40:27,440 --> 00:40:31,530 766 00:40:31,530 --> 00:40:34,140 אבל אז כאשר אתה עובר שלהם להחלפה, זה 767 00:40:34,140 --> 00:40:38,090 כאילו שאתה יוצר סט שני כל זה. 768 00:40:38,090 --> 00:40:41,272 אז אתה אף פעם לא באמת x ו- y נוגע ללב. 769 00:40:41,272 --> 00:40:46,890 >> קהל: אם x האמפרסנד הוא מה הוא ב הכתובת של x, מה הייתה כוכב X להיות? 770 00:40:46,890 --> 00:40:53,290 >> ZAMYLA צ'אן: x האמפרסנד הוא מה ב הכתובת של x, אז star-- גם, 771 00:40:53,290 --> 00:40:54,950 במקרה זה, x הוא לא מצביע. 772 00:40:54,950 --> 00:40:56,332 773 00:40:56,332 --> 00:40:57,040 קהל: אה, בסדר. 774 00:40:57,040 --> 00:40:58,998 אז אתה עושה את זה רק כי זה לא מצביע. 775 00:40:58,998 --> 00:40:59,890 ZAMYLA צ'אן: העכבר. 776 00:40:59,890 --> 00:41:03,046 אתה יכול לעשות רק כוכב של משהו שהוא מצביע. 777 00:41:03,046 --> 00:41:05,920 אולי אתה יכול לעשות את זה לדברים ש לא, אבל ההידור ש 778 00:41:05,920 --> 00:41:07,350 לעשות את זה דברים מטורפים היו קורים. 779 00:41:07,350 --> 00:41:09,570 ואני לא בדיוק בטוח מה יקרה. 780 00:41:09,570 --> 00:41:11,880 אתה תמיד יכול לקחת כתובת של משהו, 781 00:41:11,880 --> 00:41:14,255 אבל אתה לא יכול dereference משהו שהוא לא מצביע. 782 00:41:14,255 --> 00:41:14,805 783 00:41:14,805 --> 00:41:17,860 אם זה נשמע הגיוני, זה הבחנה טובה שיש. 784 00:41:17,860 --> 00:41:19,870 785 00:41:19,870 --> 00:41:21,340 >> אז לא רע, נכון? 786 00:41:21,340 --> 00:41:23,650 הלוחות הם תקווה נעשה קצת פחות מפחיד. 787 00:41:23,650 --> 00:41:25,450 788 00:41:25,450 --> 00:41:26,690 בְּסֵדֶר. 789 00:41:26,690 --> 00:41:28,370 אה, הכיף אלה. 790 00:41:28,370 --> 00:41:31,265 אז עכשיו, בכתיבת קוד משלך. 791 00:41:31,265 --> 00:41:33,640 792 00:41:33,640 --> 00:41:37,950 אז אני הולך לתת לכם לעבוד על זה במשך כארבע דקות, 793 00:41:37,950 --> 00:41:41,480 ואז נוכל לדבר על דרכים להתקרב אליו. 794 00:41:41,480 --> 00:41:45,080 795 00:41:45,080 --> 00:41:47,110 תרגיש חופשי לדבר עם אנשים סביבך. 796 00:41:47,110 --> 00:41:48,114 797 00:41:48,114 --> 00:41:49,155 גם זה מעניין. 798 00:41:49,155 --> 00:41:51,460 זה כמו כל הבנות סעיף עכשיו. 799 00:41:51,460 --> 00:41:52,190 די מרגש. 800 00:41:52,190 --> 00:41:53,310 801 00:41:53,310 --> 00:41:54,502 פרט לצ'נג. 802 00:41:54,502 --> 00:41:56,190 אבל צ'אנג הוא לא ממש חלק מסעיף. 803 00:41:56,190 --> 00:42:17,282 804 00:42:17,282 --> 00:42:17,985 מדהים. 805 00:42:17,985 --> 00:42:18,485 מושלם. 806 00:42:18,485 --> 00:42:38,059 807 00:42:38,059 --> 00:42:39,475 אז אני אתן לך כמה רמזים. 808 00:42:39,475 --> 00:42:43,450 809 00:42:43,450 --> 00:42:46,890 במקרה שבו יש לך יותר מתווים אחד, שבו 810 00:42:46,890 --> 00:42:49,990 יש לך משהו אחר כמו 123 או 1000 משהו, 811 00:42:49,990 --> 00:42:53,790 אתה צריך להיות מסוגל לולאה דרך ולהמיר כל אחד מאלה. 812 00:42:53,790 --> 00:42:55,340 813 00:42:55,340 --> 00:42:58,699 אז יש כמה דרכים אתה יכול לעשות את זה, 814 00:42:58,699 --> 00:43:01,740 אבל אתה בהחלט הולך להיות ללולאה איפשהו שם ללולאה 815 00:43:01,740 --> 00:43:05,150 דרכם, שהוא כמו סוג של בגידה 816 00:43:05,150 --> 00:43:09,540 עם אפילו אם אתה קורא את strlen, אשר הוא כמו סוג של הו 817 00:43:09,540 --> 00:43:12,418 אולי אתה רוצה להשתמש באורך של המחרוזת בדרך כלשהי. 818 00:43:12,418 --> 00:45:17,300 819 00:45:17,300 --> 00:45:17,829 >> בְּסֵדֶר. 820 00:45:17,829 --> 00:45:20,870 אז מה אתם חושבים שיהיו אחד הדברים הראשונים שאנחנו רוצים לעשות? 821 00:45:20,870 --> 00:45:23,149 822 00:45:23,149 --> 00:45:25,690 יש כמה מקרים בכאן אנחנו צריכים לתת דין וחשבון ל, נכון? 823 00:45:25,690 --> 00:45:27,360 או שיש לנו משהו שnull. 824 00:45:27,360 --> 00:45:28,685 825 00:45:28,685 --> 00:45:30,383 מה יש לנו? 826 00:45:30,383 --> 00:45:30,882 מקרים. 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 יש לנו המקרה שיש לו משהו אחר מאשר 09, נכון? 831 00:45:42,414 --> 00:45:43,580 אז בואו נגיד שיש לו מכתבים. 832 00:45:43,580 --> 00:45:44,900 833 00:45:44,900 --> 00:45:46,510 או שיש לנו המקרה זה תקף. 834 00:45:46,510 --> 00:45:48,450 835 00:45:48,450 --> 00:45:50,130 שלושה מקרים לחשוב על. 836 00:45:50,130 --> 00:45:53,527 אז איזה מהם אתם חושבים שיכולים להיות אחד הקלה ביותר לטפל בראשון? 837 00:45:53,527 --> 00:45:54,152 קהל: Null. 838 00:45:54,152 --> 00:45:55,527 ZAMYLA צ'אן: המקרה הוא null. 839 00:45:55,527 --> 00:45:56,610 אז מה היינו עושה שם? 840 00:45:56,610 --> 00:45:57,954 841 00:45:57,954 --> 00:45:58,870 קהל: [לא ברור]. 842 00:45:58,870 --> 00:46:02,434 843 00:46:02,434 --> 00:46:03,184 ZAMYLA צ'אן: כן. 844 00:46:03,184 --> 00:46:05,140 845 00:46:05,140 --> 00:46:06,550 ומה לעשות שאני רוצה לעשות? 846 00:46:06,550 --> 00:46:07,341 >> קהל: חזור 0. 847 00:46:07,341 --> 00:46:07,935 848 00:46:07,935 --> 00:46:09,110 >> ZAMYLA צ'אן: בדיוק. 849 00:46:09,110 --> 00:46:09,860 מדהים. 850 00:46:09,860 --> 00:46:10,640 אישור. 851 00:46:10,640 --> 00:46:15,270 אז עכשיו מקרה שיש לו מכתבים והמקרה שזה חוקי. 852 00:46:15,270 --> 00:46:19,140 אנחנו יכולים בעצם דואגים ל זה בתוך לולאה אחת, בסדר? 853 00:46:19,140 --> 00:46:22,710 אז דרך אחת לעשות את it-- מה יכול להיות דרך פשוטה לבדוק אם זה חוקי. 854 00:46:22,710 --> 00:46:25,150 855 00:46:25,150 --> 00:46:29,144 היינו צריך לעבור כל אות ולעשות מה? 856 00:46:29,144 --> 00:46:34,336 857 00:46:34,336 --> 00:46:35,640 >> קהל: בדוק אם זה in-- 858 00:46:35,640 --> 00:46:39,570 >> ZAMYLA צ'אן: ימין, אתה יכול לבדוק אם זה בין 0 ל 9, נכון? 859 00:46:39,570 --> 00:46:40,880 860 00:46:40,880 --> 00:46:42,700 ואז במקרה שזה חוקי, אנחנו 861 00:46:42,700 --> 00:46:46,550 הולך בסופו iterating דרך המחרוזת שלנו בכל מקרה, נכון? 862 00:46:46,550 --> 00:46:48,690 אז למה שלא תנסו ו לשלב אותם לתוך אחד. 863 00:46:48,690 --> 00:46:51,260 אנחנו הולכים לחזר באמצעות המחרוזת החוצה, וכפי ש 864 00:46:51,260 --> 00:46:56,400 לעשות את זה, אנחנו הולכים ראשון לעשות בדיקה כדי לראות אם מכתב ש 865 00:46:56,400 --> 00:46:58,110 או אם הדמות שהיא בתוקף. 866 00:46:58,110 --> 00:47:02,150 אם זה הוא, שאנחנו הולכים לבצע פעולה שאנחנו צריכים להמיר אותו. 867 00:47:02,150 --> 00:47:05,050 אחרת זה יחזור 0, נכון? 868 00:47:05,050 --> 00:47:09,160 >> אז לפני שאנחנו עושים את זה, אנחנו כנראה רוצה קצת משתנים 869 00:47:09,160 --> 00:47:12,820 שאנחנו יכולים לחזור בסוף זה הולך להיות הערך האמיתי שלנו. 870 00:47:12,820 --> 00:47:17,005 אז אנחנו הולכים לאתחל ערך כלשהו להיות 0. 871 00:47:17,005 --> 00:47:18,390 וזה רק איך שאנחנו מתחילים. 872 00:47:18,390 --> 00:47:22,452 873 00:47:22,452 --> 00:47:23,785 אז אני הולך להיפטר מזה. 874 00:47:23,785 --> 00:47:26,750 875 00:47:26,750 --> 00:47:30,489 אז איך אנחנו הולכים איטרציות במחרוזת זו. 876 00:47:30,489 --> 00:47:31,280 קהל: ללולאה. 877 00:47:31,280 --> 00:47:32,280 ZAMYLA צ'אן: ללולאה. 878 00:47:32,280 --> 00:47:33,160 אז מה לשלנו? 879 00:47:33,160 --> 00:47:34,710 880 00:47:34,710 --> 00:47:35,909 >> קהל: הוא 0. 881 00:47:35,909 --> 00:47:36,700 ZAMYLA צ'אן: ממ-הממ. 882 00:47:36,700 --> 00:47:38,620 883 00:47:38,620 --> 00:47:41,180 ומה אנחנו iterating עד? 884 00:47:41,180 --> 00:47:42,450 >> קהל: אורך str של ים. 885 00:47:42,450 --> 00:47:47,920 886 00:47:47,920 --> 00:47:50,900 >> ZAMYLA צ'אן: בסדר, עכשיו תזכור יש דרך טובה יותר. [לא ברור]. 887 00:47:50,900 --> 00:47:52,935 >> קהל: n כן, אנחנו יכולים לעשות שווה. 888 00:47:52,935 --> 00:47:53,810 ZAMYLA צ'אן: בדיוק. 889 00:47:53,810 --> 00:47:55,010 890 00:47:55,010 --> 00:47:56,190 >> קהל: הוא לי פחות מ n. 891 00:47:56,190 --> 00:47:57,559 892 00:47:57,559 --> 00:47:59,475 ZAMYLA צ'אן: ולמה היינו רוצה לעשות את זה? 893 00:47:59,475 --> 00:48:00,815 894 00:48:00,815 --> 00:48:01,940 האם אתה זוכר את הסיבה? 895 00:48:01,940 --> 00:48:04,180 896 00:48:04,180 --> 00:48:05,680 קהל: אנחנו צריכים לחשב מחדש את זה. 897 00:48:05,680 --> 00:48:08,735 ZAMYLA צ'אן: גלל בדרך זו תוכל רק צריכים לחשב את strlen פעם אחת. 898 00:48:08,735 --> 00:48:09,750 899 00:48:09,750 --> 00:48:14,400 אם אתה צריך לעשות זה אני פחות מstrlen של, זה אומר שזה ייחשב מחדש 900 00:48:14,400 --> 00:48:17,050 האורך בכל פעם אתה מפעיל את לולאה, 901 00:48:17,050 --> 00:48:20,800 וזה לא עלות ענק של אנרגיה, אבל זה 902 00:48:20,800 --> 00:48:24,280 תרגול טוב יותר כדי לנסות ו לעשות דברים כמו שפעם. 903 00:48:24,280 --> 00:48:27,610 אלא אם כן אולי יש לך מחרוזת מטורפת זה משתנה בכל איטרציה. 904 00:48:27,610 --> 00:48:30,371 אבל אם זה נשארת אותו הדבר, לשמור אותו. 905 00:48:30,371 --> 00:48:30,870 בְּסֵדֶר. 906 00:48:30,870 --> 00:48:33,430 ואז אני פלוס פלוס. 907 00:48:33,430 --> 00:48:34,040 מדהים. 908 00:48:34,040 --> 00:48:35,789 אנחנו בדרך שלנו. 909 00:48:35,789 --> 00:48:36,830 קהל: באמת במהירות. 910 00:48:36,830 --> 00:48:39,600 ראשון, אז נניח שאנחנו פשוט כן אני פחות מstrlen של ים, 911 00:48:39,600 --> 00:48:42,175 הם לדירוגנו בעיצוב בכלל, או רק תקינות? 912 00:48:42,175 --> 00:48:43,640 913 00:48:43,640 --> 00:48:44,610 הם לא. 914 00:48:44,610 --> 00:48:47,920 אנחנו דירוג על תקינות לחידונים ככל שאני יודע. 915 00:48:47,920 --> 00:48:52,670 אני לא יכול לעשות על מלא ערבות, אך על פי רוב, 916 00:48:52,670 --> 00:48:57,060 רובם המכריע הוא נכון, משום ש אתה תחת הרבה אילוצי זמן. 917 00:48:57,060 --> 00:48:59,704 עיצוב בדרך כלל אומר יש לך זמן לחשוב 918 00:48:59,704 --> 00:49:01,245 על האלגנטיות של המצב שלך. 919 00:49:01,245 --> 00:49:03,710 920 00:49:03,710 --> 00:49:05,770 >> אוקיי, אז אנחנו iterating דרך. 921 00:49:05,770 --> 00:49:10,640 אז אנחנו צריכים לבדוק או ל לראות אם הדמות הזאת היא תקפה 922 00:49:10,640 --> 00:49:14,550 או אם אנחנו יכולים לבצענו נורמלי [? לi?] פונקציה. 923 00:49:14,550 --> 00:49:16,600 אנחנו יכולים לדאוג לגבי מה ש כי הוא בשני. 924 00:49:16,600 --> 00:49:19,340 אז למה אנחנו לא take-- אם מישהו יכול לחשוב 925 00:49:19,340 --> 00:49:21,930 על דרך לבדוק ל לראות אם זה תקף. 926 00:49:21,930 --> 00:49:23,346 927 00:49:23,346 --> 00:49:25,740 אנחנו יודעים שזה הולך להיות כמה אם מצב, נכון? 928 00:49:25,740 --> 00:49:26,830 929 00:49:26,830 --> 00:49:32,300 וזכור זה בASCII, אז איך אולי 930 00:49:32,300 --> 00:49:37,359 אנו רואים אם זה לא 0,1, 2, 3, 4, 5, 6, 7, 8, או 9. 931 00:49:37,359 --> 00:49:38,150 קהל: אם אלפא. 932 00:49:38,150 --> 00:49:39,800 933 00:49:39,800 --> 00:49:44,100 >> ZAMYLA צ'אן: אז אם היית אלפא רק תן לנו לדעת אם זה מכתב. 934 00:49:44,100 --> 00:49:47,810 ואם הם נותנים לנו סמל, זה עדיין לא ממש הולך לבדוק. 935 00:49:47,810 --> 00:49:54,270 אז אם אתה מושך עד ASCII שלך שולחן, אנו יודעים כי 0 עד 9 936 00:49:54,270 --> 00:49:55,340 בקטע אחד. 937 00:49:55,340 --> 00:49:57,560 938 00:49:57,560 --> 00:50:00,540 תגיד לי את המספרים שהם מתאים לאם אפשר. 939 00:50:00,540 --> 00:50:08,136 940 00:50:08,136 --> 00:50:08,677 קהל: 40. 941 00:50:08,677 --> 00:50:11,440 942 00:50:11,440 --> 00:50:13,714 >> ZAMYLA צ'אן: אז הטווח הוא כמו 40-- 943 00:50:13,714 --> 00:50:14,380 קהל: אולי. 944 00:50:14,380 --> 00:50:16,110 945 00:50:16,110 --> 00:50:16,765 48-57. 946 00:50:16,765 --> 00:50:17,430 אֲנִי לֹא בָּטוּחַ. 947 00:50:17,430 --> 00:50:18,510 >> ZAMYLA צ'אן: 40-57? 948 00:50:18,510 --> 00:50:19,426 >> קהל: 48, אני חושב. 949 00:50:19,426 --> 00:50:20,730 ZAMYLA צ'אן: 48-57. 950 00:50:20,730 --> 00:50:26,070 אז אנחנו יודעים שASCII אלה symbols-- אם ערך ASCII הוא לא 951 00:50:26,070 --> 00:50:29,940 בין 48 ו -57, זה לא חוקי, נכון? 952 00:50:29,940 --> 00:50:32,050 אז אנחנו יכולים להשתמש בזה ל היתרון שלנו אולי? 953 00:50:32,050 --> 00:50:33,770 954 00:50:33,770 --> 00:50:38,082 איך אנחנו הולכים לקבל מכתב זה, מראשון? 955 00:50:38,082 --> 00:50:40,910 איך אנחנו ניגשים זה הטיפוס הזה? 956 00:50:40,910 --> 00:50:42,010 >> קהל: שניות הסוגר אני. 957 00:50:42,010 --> 00:50:42,801 >> ZAMYLA צ'אן: ממ-הממ. 958 00:50:42,801 --> 00:50:43,790 959 00:50:43,790 --> 00:50:46,285 מכיוון שאנחנו יכולים לחשוב על מחרוזות כמערכים, לזכור. 960 00:50:46,285 --> 00:50:47,470 961 00:50:47,470 --> 00:50:48,740 אז מה אנחנו רוצים להגיד? 962 00:50:48,740 --> 00:50:55,920 אנחנו רוצים להגיד אם זה is-- אני אתן לך רמז. 963 00:50:55,920 --> 00:50:56,920 זה פחות מ. 964 00:50:56,920 --> 00:50:58,711 מה אתה חושב שזה צריך להיות פחות מ? 965 00:50:58,711 --> 00:50:59,074 966 00:50:59,074 --> 00:50:59,615 קהל: 57? 967 00:50:59,615 --> 00:51:01,550 968 00:51:01,550 --> 00:51:02,900 >> ZAMYLA צ'אן: 47, נכון? 969 00:51:02,900 --> 00:51:08,920 אבל היא גם מייצגת שכאתה 0 ב[ יחיד? דוברה?], כי זה 970 00:51:08,920 --> 00:51:09,689 האופי 0. 971 00:51:09,689 --> 00:51:10,605 גם אתה יכול לשים 47. 972 00:51:10,605 --> 00:51:11,660 973 00:51:11,660 --> 00:51:14,350 יש שולחן ASCII, כ אתה רואה, רק משהו 974 00:51:14,350 --> 00:51:18,580 צריך להיות לך על גיליון החידון שלך. 975 00:51:18,580 --> 00:51:25,830 >> אז אם זה המקרה, אם זה פחות מ 0-- לא בהכרח ו. 976 00:51:25,830 --> 00:51:30,890 זה רק הולך או להיות פחות או יותר מ -9. 977 00:51:30,890 --> 00:51:33,055 אז אתה יכול למלא את זה אחרון בשבילי? 978 00:51:33,055 --> 00:51:36,440 אז או של שלי הוא מה ש, ריאה? 979 00:51:36,440 --> 00:51:39,810 980 00:51:39,810 --> 00:51:41,536 >> קהל: גדול מ 9. 981 00:51:41,536 --> 00:51:42,970 982 00:51:42,970 --> 00:51:44,221 >> ZAMYLA צ'אן: יש. 983 00:51:44,221 --> 00:51:47,280 האם זה הגיוני כולם, איך הגעתי לשם? 984 00:51:47,280 --> 00:51:51,340 בעיות אלה, הם כמו ברגע שאתה לראות את הפתרונות, זה כמו אה, אוקיי. 985 00:51:51,340 --> 00:51:52,312 986 00:51:52,312 --> 00:51:53,937 וזו הסיבה שהתרגול יעזור לך. 987 00:51:53,937 --> 00:51:55,070 988 00:51:55,070 --> 00:51:57,400 אוקיי, אז אנחנו חוזרים 0. 989 00:51:57,400 --> 00:51:57,900 יפה. 990 00:51:57,900 --> 00:51:59,000 991 00:51:59,000 --> 00:51:59,670 בְּסֵדֶר. 992 00:51:59,670 --> 00:52:00,780 993 00:52:00,780 --> 00:52:02,365 אחרת מה שאנחנו רוצים לעשות? 994 00:52:02,365 --> 00:52:04,640 זה החלק המעניין שבו זה קצת יותר 995 00:52:04,640 --> 00:52:07,550 כמו מתמטיקה לעומת CS בדעתי. 996 00:52:07,550 --> 00:52:09,479 997 00:52:09,479 --> 00:52:11,520 למישהו יש רעיון כיצד אנו עלולים לעשות את זה? 998 00:52:11,520 --> 00:52:15,822 999 00:52:15,822 --> 00:52:18,155 אז הדבר חשוב מבין הוא התו הראשון 1000 00:52:18,155 --> 00:52:21,510 אנחנו לוקחים הולכים להיות הספרה הגבוהה ביותר כדי, נכון? 1001 00:52:21,510 --> 00:52:25,975 אז אם אנחנו מסתכלים על ההמרה 123, בפעם הראשונה שנעמיק 1002 00:52:25,975 --> 00:52:30,800 הולך להיות 1, אבל אנחנו צריכים כי להיות 100 עד הסוף, נכון? 1003 00:52:30,800 --> 00:52:34,450 אז דבר אחד שאתה יכול לעשות הוא ש עם כל ספרה הבאה 1004 00:52:34,450 --> 00:52:39,670 אתה לוקח, אתה להכפיל את הערך שלך על ידי 10, כך שעד שאתה מגיע לסוף, 1005 00:52:39,670 --> 00:52:42,960 כל מה שהיה עבר כלפי מעלה, נכון? 1006 00:52:42,960 --> 00:52:46,490 >> אז בפעם הראשונה שתפעיל את זה, יש לך 1 כערך שלך. 1007 00:52:46,490 --> 00:52:50,370 פעם שנייה אתה מפעיל את זה, אתה להכפיל את הערך שלך על ידי 10. 1008 00:52:50,370 --> 00:52:55,180 זה יעדכן אותו כל כך שזה עכשיו 10, ואתה מוסיף על הערך הבא שלך. 1009 00:52:55,180 --> 00:52:57,830 ואז אתה תכפיל את זה על ידי 10 ולהוסיף על הערך הבא שלך. 1010 00:52:57,830 --> 00:53:01,880 וזו הסיבה שהם אומרים את זה הרבה יותר כמו בדיקה 1011 00:53:01,880 --> 00:53:06,920 אלגוריתם מתמטי לעומת CS, אבל אני סוטה מהנושא. 1012 00:53:06,920 --> 00:53:08,080 אני לא כותב חידונים. 1013 00:53:08,080 --> 00:53:13,520 >> אז דבר אחד שאנחנו יכולים לעשות הוא אומר פעמים ערך שווים 10. 1014 00:53:13,520 --> 00:53:16,630 אז זה עומד להשתנות הספרה שלך פעם אחת בכל פעם. 1015 00:53:16,630 --> 00:53:18,770 1016 00:53:18,770 --> 00:53:20,915 ואז אנחנו פשוט רוצים להוסיף. 1017 00:53:20,915 --> 00:53:22,070 1018 00:53:22,070 --> 00:53:24,290 אנחנו רוצים להוסיף במה רק שיש לנו, נכון? 1019 00:53:24,290 --> 00:53:25,350 1020 00:53:25,350 --> 00:53:31,649 אז איך אנחנו באמת להמירנו תווי ASCII למספר 1021 00:53:31,649 --> 00:53:32,440 שהיא מייצגת? 1022 00:53:32,440 --> 00:53:37,680 1023 00:53:37,680 --> 00:53:40,800 >> כך אנו יודעים כי 0 שווים ל 47, נכון? 1024 00:53:40,800 --> 00:53:44,260 אז אם 0 הוא 47, מה ש היינו צריך לעשות את זה 1025 00:53:44,260 --> 00:53:47,376 כדי להפוך למעשה זה יהיה int של 0? 1026 00:53:47,376 --> 00:53:48,384 >> קהל: זה 48. 1027 00:53:48,384 --> 00:53:49,050 ZAMYLA צ'אן: 48? 1028 00:53:49,050 --> 00:53:49,550 מצטער. 1029 00:53:49,550 --> 00:53:53,500 1030 00:53:53,500 --> 00:53:55,100 היינו להחסיר 48, נכון? 1031 00:53:55,100 --> 00:53:58,580 1032 00:53:58,580 --> 00:53:59,550 זכור את המתמטיקה ASCII? 1033 00:53:59,550 --> 00:54:01,565 אנחנו יכולים לטפל בהם רק כמו מספרים רגילים. 1034 00:54:01,565 --> 00:54:02,570 1035 00:54:02,570 --> 00:54:05,900 אם תתייחס אליהם כמו מספרים, הם הופכים למספרים בצורה יעילה. 1036 00:54:05,900 --> 00:54:10,410 אז אם יש לנו ים שלי, שבואו אומר שבמקרה זה הוא שווה 0. 1037 00:54:10,410 --> 00:54:14,420 אז ככה, שעה שלי במקרה זה יהיה ASCII-- 1038 00:54:14,420 --> 00:54:16,675 int ASCII לזה יהיה 47. 1039 00:54:16,675 --> 00:54:17,750 1040 00:54:17,750 --> 00:54:19,875 כדי שנוכל subtract-- או 48. 1041 00:54:19,875 --> 00:54:20,930 1042 00:54:20,930 --> 00:54:22,440 אתה יכול לעשות את זה, הוא אחת דרכים. 1043 00:54:22,440 --> 00:54:25,125 האם מישהו יודע יותר טוב דרך בה אנו יכולים לעשות 48? 1044 00:54:25,125 --> 00:54:27,220 1045 00:54:27,220 --> 00:54:31,608 פשוט אמרנו 0 is-- להיכנס ל ASCII אתה יכול לעשות ציטוט 0. 1046 00:54:31,608 --> 00:54:39,740 1047 00:54:39,740 --> 00:54:43,160 אז עושה את זה סוג של לעשות תחושה איך זה עובד? 1048 00:54:43,160 --> 00:54:50,080 >> קהל: בשלב זה, הוא הערך 0 משום שגם אם תכפיל את זה ב -10, 1049 00:54:50,080 --> 00:54:53,340 אתה מתחיל עם אפס, כך זה צריך להיות מופעל? 1050 00:54:53,340 --> 00:54:59,360 >> ZAMYLA צ'אן: אז במקרה הזה, אתה רוצה להכפיל את זה לפני שאתה מוסיף, 1051 00:54:59,360 --> 00:55:06,650 כי במקרה זה, כן, זה היה עדיין be-- המצביע שלי חסר. 1052 00:55:06,650 --> 00:55:09,980 הערך במקרה זה, ראשון זמן להפעיל אותו יהיה אפס. 1053 00:55:09,980 --> 00:55:12,320 אז אתה רק מוסיף שבספרה הראשונה. 1054 00:55:12,320 --> 00:55:15,930 מה שחשוב הוא בפעם הבאה אתה לחזר, אתה רוצה להעביר אותו 1055 00:55:15,930 --> 00:55:18,722 לפני שתוסיף הספרה הבאה שלך על. 1056 00:55:18,722 --> 00:55:21,223 האם זה להבהיר לך? 1057 00:55:21,223 --> 00:55:21,723 אישור. 1058 00:55:21,723 --> 00:55:23,050 1059 00:55:23,050 --> 00:55:25,900 >> לפעמים אתה הולך לקחת את הדברים יותר mathy מוזרים. 1060 00:55:25,900 --> 00:55:28,020 1061 00:55:28,020 --> 00:55:30,750 אם היה לך רוב זה, אתה עדיין ממשיך 1062 00:55:30,750 --> 00:55:32,610 לget-- אתה הולך לעשות די טוב. 1063 00:55:32,610 --> 00:55:35,150 זיכוי חלקי הוא מאוד דבר גדול על חידוני CS50. 1064 00:55:35,150 --> 00:55:36,270 אז לכתוב מה שאתה יודע. 1065 00:55:36,270 --> 00:55:39,640 אם יש לך הכל פרט לכאן, אתה 1066 00:55:39,640 --> 00:55:41,390 עדיין הולך לעשות ממש טוב את הבעיה. 1067 00:55:41,390 --> 00:55:43,750 בגלל שאתה מראה, אישור, אני כמעט יודע. 1068 00:55:43,750 --> 00:55:45,570 אני יודע שאני צריך לחזר דרך. 1069 00:55:45,570 --> 00:55:47,260 אני יודע מה אני צריך לבדוק. 1070 00:55:47,260 --> 00:55:50,584 אני רק לא בדיוק לקבל כיצד להמיר אותו. 1071 00:55:50,584 --> 00:55:51,500 אתה יהיה בסדר. 1072 00:55:51,500 --> 00:55:52,850 כן, אתה הולך ל לאבד כמה נקודות, 1073 00:55:52,850 --> 00:55:55,641 אבל אתה עדיין הולך לקבל מספר לא מבוטל של נקודות למשהו 1074 00:55:55,641 --> 00:55:57,990 כמו שאם אתה חסר שתי שורות אלה. 1075 00:55:57,990 --> 00:56:00,660 אני כמו אישור, אדם זה יהיה יודע מה הם עושים. 1076 00:56:00,660 --> 00:56:02,070 המתמטיקה היא קשה. 1077 00:56:02,070 --> 00:56:04,930 אז הייתי אומר שאתה יהיה בסדר. 1078 00:56:04,930 --> 00:56:09,474 >> אוקיי, אז אתם מוכנים נסה strlen עם מצביעים עכשיו 1079 00:56:09,474 --> 00:56:10,890 כי אתם הם אדוני מצביע? 1080 00:56:10,890 --> 00:56:12,400 1081 00:56:12,400 --> 00:56:15,106 אז אני אתן לכם לעבוד שלקצת. 1082 00:56:15,106 --> 00:56:17,131 1083 00:56:17,131 --> 00:56:19,090 אם מישהו זקוק לרענון. 1084 00:56:19,090 --> 00:56:23,120 1085 00:56:23,120 --> 00:56:28,060 אז אתה רוצה להשתמש במצביע חשבון, ולאחר מכן, אם זה הוא null, 1086 00:56:28,060 --> 00:56:29,624 היישום שלך צריך להחזיר 0. 1087 00:56:29,624 --> 00:56:37,045 1088 00:56:37,045 --> 00:56:39,670 דברים כמו זה שגורם לך ממש שמח רק כדי לקרוא strlen 1089 00:56:39,670 --> 00:56:40,586 בסופו של היום. 1090 00:56:40,586 --> 00:57:24,874 1091 00:57:24,874 --> 00:57:27,624 אני חושב שזה אחד יכול להיות קצת קל יותר מזו האחרונה, ש 1092 00:57:27,624 --> 00:57:28,123 טוב. 1093 00:57:28,123 --> 00:58:51,789 1094 00:58:51,789 --> 00:58:55,690 אני אתן לכם עוד דקה, ואז יעבדו דרכו. 1095 00:58:55,690 --> 00:58:56,896 1096 00:58:56,896 --> 00:58:58,320 ואז אנחנו מקבלים ללכת למתגים. 1097 00:58:58,320 --> 00:59:32,480 1098 00:59:32,480 --> 00:59:34,660 >> אישור, בחורים מוכנים? 1099 00:59:34,660 --> 00:59:35,790 1100 00:59:35,790 --> 00:59:37,420 אולי קצת. 1101 00:59:37,420 --> 00:59:40,210 אז אני כבר נתתי לך שלך שתי אפשרויות, נכון? 1102 00:59:40,210 --> 00:59:45,810 כך או לבדוק בטלים ולהחזיר 0 אם זה, או בעצם לחשב את האורך. 1103 00:59:45,810 --> 00:59:48,220 אז מי שרוצה לכתוב לבדוק null? 1104 00:59:48,220 --> 00:59:50,100 1105 00:59:50,100 --> 00:59:51,790 לכו על זה. 1106 00:59:51,790 --> 00:59:56,460 >> קהל: אם סוגריים של שווה שווה תמורת null 0. 1107 00:59:56,460 --> 00:59:57,342 1108 00:59:57,342 --> 00:59:58,175 ZAMYLA צ'אן: יפה. 1109 00:59:58,175 --> 00:59:59,350 1110 00:59:59,350 --> 01:00:02,320 אני אוהב כשחצי מהבעיה שלך הוא רק בודק לnull. 1111 01:00:02,320 --> 01:00:04,820 אני יודע איתכם אחרון שבוע הייתי כמו צ'ק על null 1112 01:00:04,820 --> 01:00:06,630 פשוטו כמשמעו בכל פעם. 1113 01:00:06,630 --> 01:00:07,510 אישור, אז-- 1114 01:00:07,510 --> 01:00:08,716 1115 01:00:08,716 --> 01:00:12,750 >> קהל: אם תמורה 0 היא רק קו אחד, אנחנו עדיין צריכים את התושבת מתולתלת? 1116 01:00:12,750 --> 01:00:15,860 >> ZAMYLA צ'אן: אתה לא מבחינה טכנית צריך אותם כל עוד אתה עולה בקנה אחד. 1117 01:00:15,860 --> 01:00:19,240 זה תרגול טוב רק כדי לקבל את הרגל 1118 01:00:19,240 --> 01:00:21,650 של שימוש בסוגריים מסולסלים, אבל מבחינה טכנית לא. 1119 01:00:21,650 --> 01:00:23,320 אתה לא צריך אותם לשורה אחת. 1120 01:00:23,320 --> 01:00:26,030 אנחנו פשוט נוטים להמליץ ​​עליו לאנשים מתחילים תכנית. 1121 01:00:26,030 --> 01:00:27,740 1122 01:00:27,740 --> 01:00:30,450 >> אז עכשיו מה שאנחנו רוצים לעשות כאן? 1123 01:00:30,450 --> 01:00:32,222 אז עכשיו אנחנו יודעים שהמחרוזת שלנו היא נכון. 1124 01:00:32,222 --> 01:00:33,680 אנחנו רוצים לשמור על מחשוב האורך. 1125 01:00:33,680 --> 01:00:35,620 מה כנראה הראשון דבר שאנחנו רוצים לעשות? 1126 01:00:35,620 --> 01:00:38,770 1127 01:00:38,770 --> 01:00:41,276 >> קהל: צור int זה האורך. 1128 01:00:41,276 --> 01:00:42,150 ZAMYLA צ'אן: בדיוק. 1129 01:00:42,150 --> 01:00:43,450 קהל: ואנחנו רוצים להגדיר אותו? 1130 01:00:43,450 --> 01:00:44,210 ZAMYLA צ'אן: 0. 1131 01:00:44,210 --> 01:00:44,710 מושלם. 1132 01:00:44,710 --> 01:00:46,050 1133 01:00:46,050 --> 01:00:47,290 בְּסֵדֶר. 1134 01:00:47,290 --> 01:00:48,750 עכשיו מה תרצה לעשות? 1135 01:00:48,750 --> 01:00:50,000 זה באמת חלק הארי שלו. 1136 01:00:50,000 --> 01:00:50,890 לכו על זה. 1137 01:00:50,890 --> 01:00:54,370 >> קהל: אז אתה כנראה לעשות ללולאה. 1138 01:00:54,370 --> 01:01:03,150 ואז ממתי אתה קורא ים אתה קבלת הכתובת של הדבר הראשון, 1139 01:01:03,150 --> 01:01:05,660 היית מתחיל עם i שווה 0. 1140 01:01:05,660 --> 01:01:07,980 1141 01:01:07,980 --> 01:01:15,755 ולאחר מכן עוד כx פלוס אני לא חזרה לקצץ 0. 1142 01:01:15,755 --> 01:01:17,130 ZAMYLA צ'אן: שליחות קטלנית null. 1143 01:01:17,130 --> 01:01:18,380 קהל: שליחות קטלנית null. 1144 01:01:18,380 --> 01:01:18,890 1145 01:01:18,890 --> 01:01:21,088 ואז אתה מוסיף אחד לאורך. 1146 01:01:21,088 --> 01:01:22,372 >> ZAMYLA צ'אן: כן. 1147 01:01:22,372 --> 01:01:25,940 טוב, אז בואו להפוך את זה לתוך קוד קונקרטי מאוד. 1148 01:01:25,940 --> 01:01:27,537 אבל זה הרעיון המושלם. 1149 01:01:27,537 --> 01:01:28,870 זה בדיוק מה שאנחנו עושים. 1150 01:01:28,870 --> 01:01:31,910 אנחנו הולכים להיות iterating דרך עם המצביע. 1151 01:01:31,910 --> 01:01:34,590 אז מה אנחנו רוצים לעשות הוא במקום int 1152 01:01:34,590 --> 01:01:36,660 כאן, בגלל שאנחנו לא התכוון לזה. 1153 01:01:36,660 --> 01:01:42,390 אנחנו מתייחסים לתחילת מחרוזת, שמתחילה להיות קצת כתובת, 1154 01:01:42,390 --> 01:01:43,300 נכון? 1155 01:01:43,300 --> 01:01:44,600 >> אז אנחנו רוצים מצביע. 1156 01:01:44,600 --> 01:01:47,610 1157 01:01:47,610 --> 01:01:52,310 אז אנחנו הולכים לקבל קצת כוכב char, כי זה מתאים לשלנו, נכון? 1158 01:01:52,310 --> 01:01:57,270 אז זה נקודה שאנחנו אתחול כמה לתחילת המחרוזת, בסדר? 1159 01:01:57,270 --> 01:01:58,949 אז בואו פשוט נקראים לזה אני. 1160 01:01:58,949 --> 01:02:01,740 אם זה ההתחלה של המחרוזת, מה זה הולך להיות מוקצה? 1161 01:02:01,740 --> 01:02:03,690 1162 01:02:03,690 --> 01:02:04,530 לא 0. 1163 01:02:04,530 --> 01:02:06,238 אנחנו רוצים שזה יהיה תתחיל מהמחרוזת שלנו. 1164 01:02:06,238 --> 01:02:07,170 1165 01:02:07,170 --> 01:02:09,960 מה מייצג את תחילתו של המחרוזת שלנו שניתנה לנו? 1166 01:02:09,960 --> 01:02:10,800 >> קהל: רק של. 1167 01:02:10,800 --> 01:02:11,425 >> ALLISON BUCHHOLTZ-AU: שניות. 1168 01:02:11,425 --> 01:02:13,070 1169 01:02:13,070 --> 01:02:17,890 אז זה יוצר כמה מצביע חדש ש מייצג את ההתחלה של המחרוזת שלנו, בסדר? 1170 01:02:17,890 --> 01:02:19,430 1171 01:02:19,430 --> 01:02:22,777 דרך נוספת לחשוב על זה כמו הנה המערך שלנו. 1172 01:02:22,777 --> 01:02:26,690 זה המחרוזת, שלנו. 1173 01:02:26,690 --> 01:02:28,650 1174 01:02:28,650 --> 01:02:32,400 אז בואו נגיד שזה הוא מקום הראשון, וזה 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 זה שלנו, המחזיק את כתובת ש. 1179 01:02:38,535 --> 01:02:39,810 1180 01:02:39,810 --> 01:02:45,960 ואנחנו רק יצרנו עוד אחד בשם אני זה רק מתייחס לאותו הדבר. 1181 01:02:45,960 --> 01:02:49,437 אז הם שניהם רק מצביעים לתחילת המחרוזת שלנו. 1182 01:02:49,437 --> 01:02:51,020 זה רק ייצוג גרפי. 1183 01:02:51,020 --> 01:02:53,830 1184 01:02:53,830 --> 01:02:57,100 >> אז עכשיו מה שאנחנו רוצים לעשות הוא שאנחנו רוצים לחזר 1185 01:02:57,100 --> 01:03:02,040 התנאי שלנו לiterating באמצעות המחרוזת שלנו. 1186 01:03:02,040 --> 01:03:02,920 עכשיו קניות. 1187 01:03:02,920 --> 01:03:04,150 הגיע לחנות, בחורים. 1188 01:03:04,150 --> 01:03:06,290 1189 01:03:06,290 --> 01:03:12,390 האם אנחנו רוצים לשמור על עדכון עד אנחנו מגיעים לשליחות קטלנית null, נכון? 1190 01:03:12,390 --> 01:03:14,930 אז מה יכול זה נראה? 1191 01:03:14,930 --> 01:03:17,760 1192 01:03:17,760 --> 01:03:21,880 האם אנחנו רוצים אני, או שאנחנו רוצים כוכב הוא אני השאלה? 1193 01:03:21,880 --> 01:03:26,160 1194 01:03:26,160 --> 01:03:29,255 האם שליחות קטלנית null כתובת או משהו הממוקם בכתובת? 1195 01:03:29,255 --> 01:03:31,420 1196 01:03:31,420 --> 01:03:33,660 ממוקם בכתובה, נכון? 1197 01:03:33,660 --> 01:03:38,420 >> אז אנחנו צריכים dereference כל מה ש כאן, בגלל זה הוא רק חלק כתובת. 1198 01:03:38,420 --> 01:03:44,350 למעשה, כדי להגיע להתחלה אנחנו צריכים dereference זה 1199 01:03:44,350 --> 01:03:46,770 כך שלמעשה אנו מקבלים מה במקום הראשון זו. 1200 01:03:46,770 --> 01:03:48,690 1201 01:03:48,690 --> 01:03:52,910 אז אם אנחנו עושים כוכב אני, מה אנחנו לא רוצים שזה שווה? 1202 01:03:52,910 --> 01:03:53,885 1203 01:03:53,885 --> 01:03:54,760 קהל: קו נטוי חזרה? 1204 01:03:54,760 --> 01:03:57,760 1205 01:03:57,760 --> 01:03:59,260 >> ZAMYLA צ'אן: יש. 1206 01:03:59,260 --> 01:04:01,430 האם זה הגיוני לכולם? 1207 01:04:01,430 --> 01:04:05,620 אנחנו צריכים ללכת למחרוזת שלנו ו לוודא שזה לא הסוף. 1208 01:04:05,620 --> 01:04:07,200 1209 01:04:07,200 --> 01:04:08,990 ואז אנחנו יכולים רק לעדכן כמו זה. 1210 01:04:08,990 --> 01:04:09,680 עדכון רגיל. 1211 01:04:09,680 --> 01:04:11,910 1212 01:04:11,910 --> 01:04:15,070 אז כל עוד אלה הם המטרופוליטן, מה שאנחנו צריכים לעשות? 1213 01:04:15,070 --> 01:04:17,700 1214 01:04:17,700 --> 01:04:18,852 >> קהל: אורך פלוס פלוס. 1215 01:04:18,852 --> 01:04:20,656 1216 01:04:20,656 --> 01:04:21,560 >> ZAMYLA צ'אן: ממ-הממ. 1217 01:04:21,560 --> 01:04:25,540 ואז לאחר ללולאה מסתיים, מה אנחנו רוצים לחזור? 1218 01:04:25,540 --> 01:04:27,082 1219 01:04:27,082 --> 01:04:27,790 קהל: אורך? 1220 01:04:27,790 --> 01:04:28,623 ZAMYLA צ'אן: אורך. 1221 01:04:28,623 --> 01:04:29,910 1222 01:04:29,910 --> 01:04:30,760 הנה לך. 1223 01:04:30,760 --> 01:04:33,790 1224 01:04:33,790 --> 01:04:37,810 כמובן הבשר של זה הבנה זו ללולאה. 1225 01:04:37,810 --> 01:04:39,280 1226 01:04:39,280 --> 01:04:41,090 האם כולם מקבלים איך זה עובד? 1227 01:04:41,090 --> 01:04:42,460 1228 01:04:42,460 --> 01:04:44,170 אני שמח לחזור על זה שוב. 1229 01:04:44,170 --> 01:04:48,400 >> קהל: השני חלק, כל כך כוכב i יש, 1230 01:04:48,400 --> 01:04:51,834 זה את הכתובת של first-- 1231 01:04:51,834 --> 01:04:53,250 ZAMYLA צ'אן: זה לא הכתובת. 1232 01:04:53,250 --> 01:04:54,142 זה מה שב. 1233 01:04:54,142 --> 01:04:55,600 קהל: זה בעצם שם. 1234 01:04:55,600 --> 01:04:57,475 ZAMYLA צ'אן: זה מה בעצם שם. 1235 01:04:57,475 --> 01:05:01,280 אז זה saying-- תן לי לעשות את זה טוב יותר. 1236 01:05:01,280 --> 01:05:07,940 אז זה 0x04, ואני רק הולך להגיד שאני הולך לעשות את השם שלי זה. 1237 01:05:07,940 --> 01:05:14,531 1238 01:05:14,531 --> 01:05:15,030 אישור. 1239 01:05:15,030 --> 01:05:17,456 1240 01:05:17,456 --> 01:05:19,080 כן, אני יודע שיש לי ערב סקירת חידון. 1241 01:05:19,080 --> 01:05:20,620 1242 01:05:20,620 --> 01:05:21,540 הרבה ביקורת חידון. 1243 01:05:21,540 --> 01:05:23,500 1244 01:05:23,500 --> 01:05:26,620 אז בואו נגיד שמחרוזת זו השם שלי, אליסון. 1245 01:05:26,620 --> 01:05:28,600 קצת מבולגן, אבל זה שם. 1246 01:05:28,600 --> 01:05:33,640 והים מייצג את המיקום היכן המחרוזת מתחילה, 1247 01:05:33,640 --> 01:05:41,950 אז אני הולך לעשות את זה real-- זו היא הכתובת של, 1248 01:05:41,950 --> 01:05:45,000 שבו המחרוזת מתחילה, נכון? 1249 01:05:45,000 --> 01:05:48,560 >> אז מה שאנחנו עושים כאן הוא שאנחנו רוצים משתמש במצביעים כדי לבצע איטרציות ב. 1250 01:05:48,560 --> 01:05:49,920 1251 01:05:49,920 --> 01:05:56,870 אז אנחנו יוצרים כמה מצביע, אני, שגם שווה להתחלה של המחרוזת. 1252 01:05:56,870 --> 01:05:57,880 1253 01:05:57,880 --> 01:06:03,820 ובכל נקודה, אנחנו רוצים תמשיך עובר המערך 1254 01:06:03,820 --> 01:06:07,570 כאן, עד שנגיע שליחות קטלנית null. 1255 01:06:07,570 --> 01:06:12,320 אז אנחנו תמיד רוצים לבדוק מה בכל אחת מהכתובות הללו. 1256 01:06:12,320 --> 01:06:15,730 >> אז אנחנו dereference אני, כך ש בפעם הראשונה אנחנו עושים את זה אנחנו 1257 01:06:15,730 --> 01:06:17,810 אומר, בסדר, מה ב0x04 כתובת? 1258 01:06:17,810 --> 01:06:19,060 1259 01:06:19,060 --> 01:06:19,720 זה. 1260 01:06:19,720 --> 01:06:20,660 אישור, שאנחנו טובים. 1261 01:06:20,660 --> 01:06:21,770 אורך תוספת. 1262 01:06:21,770 --> 01:06:22,790 לעבור לבא אחריו. 1263 01:06:22,790 --> 01:06:32,410 אז אני- לזכור עליית לשות של גודל של מה שהם מצביעים. 1264 01:06:32,410 --> 01:06:35,320 אז במקרה הזה, מכיוון שזה char, זה יהיה לעדכן על ידי אחד. 1265 01:06:35,320 --> 01:06:38,755 אז עכשיו אנחנו הולכים להסתכל על 5, מה שאומר שזה הולך לכאן. 1266 01:06:38,755 --> 01:06:39,860 1267 01:06:39,860 --> 01:06:43,440 אז זה אומר על אישור, ללכת ל0x05. 1268 01:06:43,440 --> 01:06:44,270 מה יש שם? 1269 01:06:44,270 --> 01:06:44,930 זה l. 1270 01:06:44,930 --> 01:06:47,870 וזה ימשיך לעשות את זה עד שהוא מגיע זה אחד. 1271 01:06:47,870 --> 01:06:50,990 וזה אומר על אישור, מה ב מה כתובת זו היא? 1272 01:06:50,990 --> 01:06:53,060 שליחות קטלנית null, על אישור. 1273 01:06:53,060 --> 01:06:53,870 יציאה. 1274 01:06:53,870 --> 01:06:55,240 ורק לחזור אורך. 1275 01:06:55,240 --> 01:06:56,370 1276 01:06:56,370 --> 01:06:59,800 מכיוון שאתה צריך את מה שבעצם ב כתובת ש, לא את הכתובת עצמה. 1277 01:06:59,800 --> 01:07:03,110 1278 01:07:03,110 --> 01:07:05,790 >> יש מעט מאוד מקומות שבם אתה באמת צריך את הכתובת. 1279 01:07:05,790 --> 01:07:08,720 רוב הזמן כאשר אתה משתמש וזה 1280 01:07:08,720 --> 01:07:12,424 כאשר אתה ראשון הקצאת מצביע או כאשר 1281 01:07:12,424 --> 01:07:14,090 אתה עובר אותו בפונקציה אחרת. 1282 01:07:14,090 --> 01:07:16,350 1283 01:07:16,350 --> 01:07:21,330 אישור, כולם טובים שם? 1284 01:07:21,330 --> 01:07:21,830 סוג של? 1285 01:07:21,830 --> 01:07:23,810 1286 01:07:23,810 --> 01:07:25,040 אישור. 1287 01:07:25,040 --> 01:07:28,210 >> כך זה נראה כאילו יש לנו קיבלתי כ -12 דקות לסיום, 1288 01:07:28,210 --> 01:07:31,340 אז נלך על ל אולי הבעיה האחרונה שלנו, 1289 01:07:31,340 --> 01:07:34,230 ואז יש כל מושגים שצריכות לבוא 1290 01:07:34,230 --> 01:07:36,830 בינתיים אנחנו יכולים ללכת במהירות על ש. 1291 01:07:36,830 --> 01:07:42,310 >> אז מיתוג הילוכים הוא שעבר בעיה כאן, לעבור הצהרות. 1292 01:07:42,310 --> 01:07:44,970 1293 01:07:44,970 --> 01:07:49,450 אז התפקיד שלך הוא לכתוב את זה מחדש כך שהוא מתנהג באותה 1294 01:07:49,450 --> 01:07:50,580 אבל לא להשתמש בבוררים. 1295 01:07:50,580 --> 01:07:53,684 1296 01:07:53,684 --> 01:07:54,666 ידי גירי. 1297 01:07:54,666 --> 01:08:11,630 1298 01:08:11,630 --> 01:08:13,420 אז שאלות על זה את הבת? 1299 01:08:13,420 --> 01:08:15,420 1300 01:08:15,420 --> 01:08:15,920 אין? 1301 01:08:15,920 --> 01:08:16,420 אישור. 1302 01:08:16,420 --> 01:08:17,920 1303 01:08:17,920 --> 01:08:22,170 האם כולם מבינים שאם מקרה אין שום דבר אחרי זה, 1304 01:08:22,170 --> 01:08:25,029 זה אומר שהוא צריך בצע את הצעד הבא? 1305 01:08:25,029 --> 01:08:28,200 אז מקרה 1 ו -2 במקרה זה לעשות את אותו הדבר בדיוק. 1306 01:08:28,200 --> 01:08:31,153 1307 01:08:31,153 --> 01:08:32,444 לפעמים נקודה של בלבול. 1308 01:08:32,444 --> 01:09:32,700 1309 01:09:32,700 --> 01:09:33,488 >> בְּסֵדֶר. 1310 01:09:33,488 --> 01:09:34,404 מישהו יש לך רעיונות? 1311 01:09:34,404 --> 01:09:36,364 1312 01:09:36,364 --> 01:09:36,864 כן? 1313 01:09:36,864 --> 01:09:40,120 >> קהל: כך שאתה יכול פשוט לעשות אם דוחות. 1314 01:09:40,120 --> 01:09:41,140 >> ZAMYLA צ'אן: ממ-הממ. 1315 01:09:41,140 --> 01:09:42,880 אז מה הראשון שלנו? 1316 01:09:42,880 --> 01:09:48,120 >> קהל: אם n שווה שווה 1, ו- 2 קווים לאו n שווים 1317 01:09:48,120 --> 01:09:51,059 שווה 2, ולאחר מכן להדפיס קטן. 1318 01:09:51,059 --> 01:09:57,760 1319 01:09:57,760 --> 01:09:59,520 ואז אתה יכול לעשות אחר אם? 1320 01:09:59,520 --> 01:10:02,160 או שאתה יכול פשוט לעשות אם? 1321 01:10:02,160 --> 01:10:03,650 >> ZAMYLA צ'אן: אתה יכול לעשות דבר אחר אם? 1322 01:10:03,650 --> 01:10:05,274 >> קהל: האם זה משנה אם אתה עושה אם? 1323 01:10:05,274 --> 01:10:06,320 ZAMYLA צ'אן: אז היא עושה. 1324 01:10:06,320 --> 01:10:10,160 האם anyone-- כך, אתה יקבל את אותו הפלט 1325 01:10:10,160 --> 01:10:13,930 אם אתה משתמש רק IFS לעומת אם אתה משתמש בIFS אחר. 1326 01:10:13,930 --> 01:10:17,090 אתם יכולים לחשוב על הסיבה מדוע ייתכן שתרצו להשתמש אחר 1327 01:10:17,090 --> 01:10:18,680 אם לעומת תנאים רבים? 1328 01:10:18,680 --> 01:10:20,260 1329 01:10:20,260 --> 01:10:21,510 יש ביעילות. 1330 01:10:21,510 --> 01:10:22,225 כן? 1331 01:10:22,225 --> 01:10:24,783 >> קהל: זה יהיה לבדוק כל IFS בכל פעם. 1332 01:10:24,783 --> 01:10:26,076 1333 01:10:26,076 --> 01:10:28,110 >> ZAMYLA צ'אן: אז גם אם זה הכה בי ראשון זה, 1334 01:10:28,110 --> 01:10:29,880 זה ילך על בדיקה כל אחד אחר. 1335 01:10:29,880 --> 01:10:36,690 אז אתה רוצה להשתמש אם IFS אחר במקרים שבו רק אחד מהם לא חל. 1336 01:10:36,690 --> 01:10:39,380 אז הרחקה הדדית היא מה שאנחנו נוטים לומר. 1337 01:10:39,380 --> 01:10:41,410 1338 01:10:41,410 --> 01:10:46,550 אם יש לך חבורה של IFS, זה אומר שאולי יותר מאחד מהם 1339 01:10:46,550 --> 01:10:49,630 עניינים, ואולי יותר מ אחד מהם יכול להיות נכון. 1340 01:10:49,630 --> 01:10:51,910 ואתה רוצה את שניהם לביצוע אם הם אמיתיים. 1341 01:10:51,910 --> 01:10:57,180 אם אתה רוצה רק אחד מהם לעבודה במקרים סותרים אלה, 1342 01:10:57,180 --> 01:11:00,790 אתה רוצה להשתמש אחר אם, משום ש את כל זה יש לעשות עם יעילות. 1343 01:11:00,790 --> 01:11:05,350 הקוד שלך הוא רק טוב יותר נועד אם היא דבקה במנהג זה. 1344 01:11:05,350 --> 01:11:07,330 אז במקרה הזה נצטרך אחר אם. 1345 01:11:07,330 --> 01:11:09,080 וזה יהיה? 1346 01:11:09,080 --> 01:11:11,890 >> קהל: n שווה שווה 3. 1347 01:11:11,890 --> 01:11:12,765 ZAMYLA צ'אן: מושלם. 1348 01:11:12,765 --> 01:11:19,420 1349 01:11:19,420 --> 01:11:20,445 מדיום הדפסה. 1350 01:11:20,445 --> 01:11:25,190 1351 01:11:25,190 --> 01:11:29,930 ולאחר מכן באחרון שלנו מקרה, מה יש לנו? 1352 01:11:29,930 --> 01:11:31,495 אחר או אחר אם? 1353 01:11:31,495 --> 01:11:32,120 קהל: Else. 1354 01:11:32,120 --> 01:11:33,450 1355 01:11:33,450 --> 01:11:37,900 >> ZAMYLA צ'אן: האם אנו want-- אתה רוצה אחר אם כי יש לנו מקרים קונקרטיים. 1356 01:11:37,900 --> 01:11:39,270 זה לא סוג של מלכוד כל. 1357 01:11:39,270 --> 01:11:44,247 אם היה לך ברירת מחדל בswitch-- זוכר במתגים שאתה יכול להיות מקרה, 1358 01:11:44,247 --> 01:11:45,330 ואז יש לך ברירת מחדל. 1359 01:11:45,330 --> 01:11:48,760 אם היה לך ברירת מחדל, זה סוג של ההצהרה אחרת שלך יש. 1360 01:11:48,760 --> 01:11:52,180 אבל אם יש לו רק מקרים, זה אומר שאתה צריך 1361 01:11:52,180 --> 01:11:54,315 כדי לבדוק אם זה כל אחד מאלה. 1362 01:11:54,315 --> 01:11:57,755 אז במקרה הזה, זה היה 5 4 או. 1363 01:11:57,755 --> 01:12:00,480 1364 01:12:00,480 --> 01:12:01,450 אנחנו רוצים להדפיס את. 1365 01:12:01,450 --> 01:12:02,990 1366 01:12:02,990 --> 01:12:03,630 זה גדול. 1367 01:12:03,630 --> 01:12:06,640 1368 01:12:06,640 --> 01:12:07,509 והנה לך. 1369 01:12:07,509 --> 01:12:08,800 וזה יהיה בתכנית שלך. 1370 01:12:08,800 --> 01:12:11,890 1371 01:12:11,890 --> 01:12:17,050 >> אז במקרה הזה אם היה משהו ברירת מחדל, 1372 01:12:17,050 --> 01:12:20,470 תהיה לנו עוד ב כל מה שרצה לעשות. 1373 01:12:20,470 --> 01:12:23,365 כך שהבחנה טובה לדעת, להבין. 1374 01:12:23,365 --> 01:12:25,368 1375 01:12:25,368 --> 01:12:27,790 האם זה יעזור עם מתגים בשבילך? 1376 01:12:27,790 --> 01:12:28,800 מושלם. 1377 01:12:28,800 --> 01:12:29,390 בְּסֵדֶר. 1378 01:12:29,390 --> 01:12:31,320 1379 01:12:31,320 --> 01:12:33,340 >> יש לנו נותרו על שמונה דקות. 1380 01:12:33,340 --> 01:12:37,090 האם אתם היו כל מושגים ברמה גבוהה אחרים? 1381 01:12:37,090 --> 01:12:38,720 שאלות באופן כללי? 1382 01:12:38,720 --> 01:12:39,220 כן? 1383 01:12:39,220 --> 01:12:42,860 >> קהל: לא היה לי שאלה על אחד מהם 1384 01:12:42,860 --> 01:12:46,257 כי על האקראי היה מחולל מספרים על חידון אפס. 1385 01:12:46,257 --> 01:12:47,340 ZAMYLA צ'אן: אה, זה אחד. 1386 01:12:47,340 --> 01:12:51,460 אחד שהוא עוד אחד שבו זה יותר מתמטיקה than-- כן. 1387 01:12:51,460 --> 01:12:53,800 1388 01:12:53,800 --> 01:12:59,452 הפתרון לthat-- אפילו אני כש אני רואה את זה, אני אוהב את מה שזה. 1389 01:12:59,452 --> 01:13:00,590 >> קהל: זה היה מספר 7. 1390 01:13:00,590 --> 01:13:02,720 1391 01:13:02,720 --> 01:13:05,310 >> ZAMYLA צ'אן: זה מוזר בעיניי. 1392 01:13:05,310 --> 01:13:07,260 1393 01:13:07,260 --> 01:13:11,630 אז בעצם אתה רוצה להשתמש drand48, ש 1394 01:13:11,630 --> 01:13:15,420 אתן לך כמה מספר בין 0 ל -1. 1395 01:13:15,420 --> 01:13:21,200 ואתה רוצה להשתמש בו כל כך שאתה איכשהו לקבל a-- 1396 01:13:21,200 --> 01:13:26,690 וזה הרבה יותר של בעיה במתמטיקה לי ממה שחושב שאני בעיה CS. 1397 01:13:26,690 --> 01:13:29,040 1398 01:13:29,040 --> 01:13:37,845 >> הדרך שאתה עושה it-- ו לפעמים זה פשוט יהיה כמו ש. 1399 01:13:37,845 --> 01:13:39,340 1400 01:13:39,340 --> 01:13:41,090 שוב, אלה הם מקרים שבם זה סוג 1401 01:13:41,090 --> 01:13:46,310 כמו לכתוב את מה שאתה יכול וזיכוי חלקי. 1402 01:13:46,310 --> 01:13:47,800 1403 01:13:47,800 --> 01:13:51,510 אז אם אנחנו רוצים לחזור, אנחנו יודעים שאנחנו 1404 01:13:51,510 --> 01:13:54,182 הולך להיות באמצעות drand48 בדרך כלשהי, נכון? 1405 01:13:54,182 --> 01:13:55,640 אז למה אנחנו לא פשוט לרשום את זה. 1406 01:13:55,640 --> 01:13:58,286 1407 01:13:58,286 --> 01:13:59,410 אנחנו משתמשים בו בדרך כלשהי. 1408 01:13:59,410 --> 01:14:00,780 1409 01:14:00,780 --> 01:14:04,190 הדרך שיש להם אתם משתמשים בו הוא 1410 01:14:04,190 --> 01:14:08,175 כמו זה, שאני אנסה להסביר. 1411 01:14:08,175 --> 01:14:10,200 1412 01:14:10,200 --> 01:14:15,340 >> אז בעצם מה שקורה כאן בגלל זה בין 0 ל -1, 1413 01:14:15,340 --> 01:14:19,300 מה שאתה עושה הוא שאתה הכפלה by-- זה מאוד שאלה במתמטיקה. 1414 01:14:19,300 --> 01:14:22,010 רק ויתור מלא, זה הוא לגמרי שאלה במתמטיקה. 1415 01:14:22,010 --> 01:14:23,990 מה שאתה עושה הוא בגלל של 0 ו -1, ואתה 1416 01:14:23,990 --> 01:14:26,460 רוצה שזה יהיה בתוך טווח זה, אתה בעצם 1417 01:14:26,460 --> 01:14:29,360 להבין איך גדול הטווח הוא, ולאחר מכן 1418 01:14:29,360 --> 01:14:32,710 אתה בעצם בהיקף זה עד, וזה מה שזה עושה. 1419 01:14:32,710 --> 01:14:39,050 >> מינוס ב נותן לך טווח ש, הבדל בין המספרים האלה. 1420 01:14:39,050 --> 01:14:44,040 אתה יכול להכפיל בין 0 ו 1, ולאחר מכן הוספה רק 1421 01:14:44,040 --> 01:14:48,870 משמעות הדבר היא כי דרוג את זה כך שזה בין A ו- B, 1422 01:14:48,870 --> 01:14:52,377 שאני לא באמת אוהב את הבעיה הזו. 1423 01:14:52,377 --> 01:14:58,380 1424 01:14:58,380 --> 01:15:01,790 כפי שאמרתי, זה חידון נועד להקיף 1425 01:15:01,790 --> 01:15:04,110 אנשים שהם פחות נוחים, איפשהו באמצע, 1426 01:15:04,110 --> 01:15:05,070 יותר ונוח יותר. 1427 01:15:05,070 --> 01:15:07,550 אז אם הם עשו את זה כל כך שזה משהו 1428 01:15:07,550 --> 01:15:10,050 שכולם בפחות מקום נוח היית מקבל, 1429 01:15:10,050 --> 01:15:12,259 היינו צריכים הרבה יותר מדי אנשי הבקיע מושלמים ומושלמים, 1430 01:15:12,259 --> 01:15:13,925 ונוח יותר יהיו משועמם. 1431 01:15:13,925 --> 01:15:14,980 1432 01:15:14,980 --> 01:15:18,970 >> אז תמיד יש להם אלה סוג של שאלות טיזר המוח 1433 01:15:18,970 --> 01:15:22,695 שאמור להיות קצת יותר קשה שתיקח קצת חשיבה יצירתית. 1434 01:15:22,695 --> 01:15:25,030 1435 01:15:25,030 --> 01:15:27,790 כאשר אתה רואה אותם, לא מקבל מבולבל מדי. 1436 01:15:27,790 --> 01:15:31,720 אני בהחלט הייתי אומר להעיף באמצעות החידון הראשון שלך. 1437 01:15:31,720 --> 01:15:35,020 להתמודד עם הבעיות כי אתה יודע שאתה יכול, 1438 01:15:35,020 --> 01:15:38,480 בגלל שאין שימוש להיתקע על בעיה כאשר יש שלושה 1439 01:15:38,480 --> 01:15:42,090 או ארבעה או חמש בדף אחרי זה אתה יכול לעשות בקלות. 1440 01:15:42,090 --> 01:15:45,331 1441 01:15:45,331 --> 01:15:48,520 >> קהל: אעשה לך למה בדיוק הכפל אותו ב הטווח? 1442 01:15:48,520 --> 01:15:54,935 >> ZAMYLA צ'אן: אתה להכפיל את הטווח ש אתה יודע-- זה כמו כמה לאחר 1443 01:15:54,935 --> 01:15:55,485 אתה רוצה? 1444 01:15:55,485 --> 01:15:57,840 1445 01:15:57,840 --> 01:16:02,130 אז אתה יכול לחשוב על, משום שהיא מחזיר מספר בין 0 ל -1, 1446 01:16:02,130 --> 01:16:03,890 אתה יכול לחשוב על זה כאחוז. 1447 01:16:03,890 --> 01:16:12,195 אז זה בעצם אומר שאם יש לנו קו המספר שלנו כאן, הוא כאן, 1448 01:16:12,195 --> 01:16:13,840 וb הוא כאן. 1449 01:16:13,840 --> 01:16:19,170 אתה כמו כמה בעבר זה? 1450 01:16:19,170 --> 01:16:20,010 האם כל מה שאנחנו עושים. 1451 01:16:20,010 --> 01:16:24,920 אז אתה רק מבקש אחוזים בטווח, זה ש 1452 01:16:24,920 --> 01:16:26,170 זה מה שזה נותן לך. 1453 01:16:26,170 --> 01:16:30,915 ואז אתה בעצם רק בקנה מידה זה על ידי הוספה. 1454 01:16:30,915 --> 01:16:32,302 זה טיזר מוח במתמטיקה. 1455 01:16:32,302 --> 01:16:35,400 1456 01:16:35,400 --> 01:16:39,060 >> אם הייתה כל עצת רגע האחרונה, אני הייתי אומר להעיף את השאלות, 1457 01:16:39,060 --> 01:16:41,660 להבין איזה מהם אתה יודע שכאילו, אה, יש לי את זה. 1458 01:16:41,660 --> 01:16:43,196 1459 01:16:43,196 --> 01:16:45,820 כמעט בודאות שהם הולכים תהיה שאלות שאתה לא יודע 1460 01:16:45,820 --> 01:16:49,580 או שאתה הולך לי זמן ל, כך פגע נקודות החוזק שלך, בסדר? 1461 01:16:49,580 --> 01:16:50,990 אתם הולכים לגדולים. 1462 01:16:50,990 --> 01:16:52,740 יש הרבה שאלות מסיבה, 1463 01:16:52,740 --> 01:16:57,140 כך שיש לך זמן יש הזדמנות סוג של 1464 01:16:57,140 --> 01:16:59,330 כדי להדגים את מה ש אתה באמת טוב בו. 1465 01:16:59,330 --> 01:17:02,370 אז זה בסדר אם אתה לא טוב בכל דבר. 1466 01:17:02,370 --> 01:17:03,371 שחק את נקודתי החוזק שלך. 1467 01:17:03,371 --> 01:17:03,870 כן? 1468 01:17:03,870 --> 01:17:06,536 >> קהל: אז זה הולך לחזור משהו שיקוצץ? 1469 01:17:06,536 --> 01:17:10,810 1470 01:17:10,810 --> 01:17:15,015 כן, זה יהיה, כי drand חוזר בין 0 ל -1. 1471 01:17:15,015 --> 01:17:17,459 1472 01:17:17,459 --> 01:17:19,250 זה יחזור int, כי זה יהיה לחתוך 1473 01:17:19,250 --> 01:17:22,933 כאשר אנו מוסיפים או להכפיל אותו. 1474 01:17:22,933 --> 01:17:27,670 1475 01:17:27,670 --> 01:17:28,442 מגניב. 1476 01:17:28,442 --> 01:17:29,525 כל שאלות רגע האחרונות? 1477 01:17:29,525 --> 01:17:31,310 1478 01:17:31,310 --> 01:17:32,615 >> אתם הולכים לעשות גדולים. 1479 01:17:32,615 --> 01:17:34,440 אתה הולך להיות מדהים. 1480 01:17:34,440 --> 01:17:37,100 וגם אם לא, יהיה להיות ממתק כאן בשבוע הבא. 1481 01:17:37,100 --> 01:17:39,040 1482 01:17:39,040 --> 01:17:40,020 ואני אוהב אותך. 1483 01:17:40,020 --> 01:17:41,270 אני אוהב אותך חבר 'ללא קשר. 1484 01:17:41,270 --> 01:17:42,550 1485 01:17:42,550 --> 01:17:43,930 בסדר, כולם, המזל טוב. 1486 01:17:43,930 --> 01:17:44,680 יש להם זמן רב. 1487 01:17:44,680 --> 01:17:45,620 1488 01:17:45,620 --> 01:17:46,620 אתה הולך להיות בסדר. 1489 01:17:46,620 --> 01:17:47,370 ואתם יודעים מה? 1490 01:17:47,370 --> 01:17:50,310 ביומיים שזה הולך להיות מעל, ואילו אני 1491 01:17:50,310 --> 01:17:53,675 יש שני מבחני אמצע סמסטר ביום חמישי, כך לפחות אתם יעשו. 1492 01:17:53,675 --> 01:17:56,550 בסדר, אני אראה לכם בשבוע הבא. 1493 01:17:56,550 --> 01:17:58,208