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