1 00:00:00,000 --> 00:00:04,875 2 00:00:04,875 --> 00:00:05,750 ANDI PENG: ठीक है। 3 00:00:05,750 --> 00:00:08,240 खंड के चार सप्ताह के लिए आपका स्वागत है। 4 00:00:08,240 --> 00:00:10,280 यह एक खूबसूरत दिन है यहां न्यू हेवन में बाहर 5 00:00:10,280 --> 00:00:14,370 इसलिए मैं वास्तव में विरल लगता है बच्चों के बिखरने कि 6 00:00:14,370 --> 00:00:17,530 आज खंड के लिए मुझे शामिल हो गए, धन्यवाद। 7 00:00:17,530 --> 00:00:21,517 >> तो जल्दी, सिर्फ हम पहले आज के लिए एजेंडा शुरू करते हैं। 8 00:00:21,517 --> 00:00:23,600 हम एक पर जाने के लिए जा रहे हैं कुछ संक्षिप्त घोषणाओं। 9 00:00:23,600 --> 00:00:26,224 हम एक बहुत निराला कार्यक्रम है अगले दो हफ्तों में आ रहा 10 00:00:26,224 --> 00:00:28,010 या ऐसा तो हम उस पर जाने के लिए जा रहे हैं। 11 00:00:28,010 --> 00:00:30,410 दूसरे, मुझे पता है सभी की पसंदीदा topic-- 12 00:00:30,410 --> 00:00:33,572 मैं यह अपने मन पिघल यकीन व्याख्यान के दौरान, चिंता मत करो, 13 00:00:33,572 --> 00:00:34,780 मैं अभी भी एक तरह से यह नहीं मिलता है। 14 00:00:34,780 --> 00:00:35,444 यह ठीक है। 15 00:00:35,444 --> 00:00:36,110 यह एक मजाक था। 16 00:00:36,110 --> 00:00:37,450 मैं वास्तव में यह मिलता है। 17 00:00:37,450 --> 00:00:40,234 लेकिन मुझे लगता है कि यह सुनिश्चित करना होगा तुम लोग भी, यह मिलता है। 18 00:00:40,234 --> 00:00:42,400 तो हम एक खर्च करने के लिए जा रहे हैं वास्तव में, वास्तव में अच्छी रकम 19 00:00:42,400 --> 00:00:44,020 समय के आज सूचक के बारे में बात कर। 20 00:00:44,020 --> 00:00:47,012 आप देख सकते हैं, कैंडी बात आज बहुत बड़ा है। 21 00:00:47,012 --> 00:00:49,220 हम वास्तव में रखने के लिए जा रहे हैं हाँ that--, यह सही है। 22 00:00:49,220 --> 00:00:49,890 कैंडी लेने रखें। 23 00:00:49,890 --> 00:00:51,556 मैं अभी उनके आसपास के पारित करने के लिए जा रहा हूँ। 24 00:00:51,556 --> 00:00:55,150 25 00:00:55,150 --> 00:00:56,510 कोई चिंता नहीं। 26 00:00:56,510 --> 00:00:59,570 हम वास्तव में कोशिश करने के लिए जा रहे हैं लोगों के रक्त में शर्करा रखने के लिए 27 00:00:59,570 --> 00:01:04,390 कि मस्तिष्क को जलाने के लिए जा रहा है, क्योंकि ऊपर कुछ ऑक्सीजन आज संकेत दिए क्योंकि 28 00:01:04,390 --> 00:01:05,652 वास्तव में, सच में कठिन हैं। 29 00:01:05,652 --> 00:01:08,360 तो फिर हम इस बारे में बात करने जा रहे हैं तरह का है, जो स्मृति प्रबंधन 30 00:01:08,360 --> 00:01:09,487 एक ही दायरे में। 31 00:01:09,487 --> 00:01:11,570 और हम स्थानांतरित करने के लिए जा रहे हैं पुनर्निर्देशन और फाइल करने के लिए पर 32 00:01:11,570 --> 00:01:15,297 बस वाक्य रचना कर रहे हैं जो मैं / हे, अच्छा हम के बारे में बात करनी चाहिए कि चीजें। 33 00:01:15,297 --> 00:01:17,130 और फिर अंत में, मैं कर रहा हूँ एक बार फिर से कोशिश करने जा रहा 34 00:01:17,130 --> 00:01:19,070 pset4 के लिए 10, 15 मिनट की तरह छोड़ने के लिए। 35 00:01:19,070 --> 00:01:21,820 यही कारण है कि हम कर रहे हैं तो कुछ दिन में होने के कारण है जा रहा वास्तव में एक तरह से आप देना 36 00:01:21,820 --> 00:01:24,850 कुछ सहायक संकेत अगर आप पहले से ही उस पर शुरू हो गया। 37 00:01:24,850 --> 00:01:26,141 कूल। 38 00:01:26,141 --> 00:01:26,640 ठीक। 39 00:01:26,640 --> 00:01:30,710 तो कुछ घोषणाओं इस आगामी सप्ताह के लिए। 40 00:01:30,710 --> 00:01:31,805 ग्रेडिंग। 41 00:01:31,805 --> 00:01:33,930 मैं वास्तव में पता नहीं है आप में से कितने इस बिंदु 42 00:01:33,930 --> 00:01:37,180 आदमी में वास्तव में कर रहे हैं मेरे तुम वहाँ ठीक section--? 43 00:01:37,180 --> 00:01:38,020 ठीक। 44 00:01:38,020 --> 00:01:40,150 लेकिन, आप उन लोगों के लिए मेरे भाग में जो कर रहे हैं, 45 00:01:40,150 --> 00:01:42,180 सिर्फ एक जोड़ी ग्रेडिंग पर टिप्पणी। 46 00:01:42,180 --> 00:01:44,899 >> टिप्पणी के पहले, बहुत अच्छा काम। 47 00:01:44,899 --> 00:01:47,940 आप में से जो तुम, जिन्होंने टिप्पणी नहीं करते आप शायद तुम क्योंकि कौन हो 48 00:01:47,940 --> 00:01:50,610 इस सप्ताह dinged कुछ शैली अंक मिला है। 49 00:01:50,610 --> 00:01:53,920 सिर्फ यकीन है कि सब में अपने कार्यक्रमों के एक जोड़े टिप्पणी जोड़ें। 50 00:01:53,920 --> 00:01:56,960 वास्तव में, शैली के लिए वास्तव में आसान है एक क्षेत्र के रूप में सही अंक मिलता है। 51 00:01:56,960 --> 00:01:58,710 हमारे लिए तो, बस बनाने आप की तरह कर रहे हैं सुनिश्चित करें कि 52 00:01:58,710 --> 00:02:03,770 सब में एक संक्षिप्त विवरण जोड़ने आप क्या कर रहे हैं के बारे में अपने कार्यक्रम। 53 00:02:03,770 --> 00:02:09,190 >> Secondly-- इस के लिए एक बड़ा मुद्दा है यह पिछले week-- TAs का एक बहुत 54 00:02:09,190 --> 00:02:12,020 तो सुनिश्चित करें कि आप पर अपलोड कर रहे बनाना सही ढंग से सही फ़ोल्डर 55 00:02:12,020 --> 00:02:13,370 नामित कार्यक्रम। 56 00:02:13,370 --> 00:02:16,820 और हम इस के लिए पूछना कारण है हम क्योंकि, ग्रेडिंग के पाठ्यक्रम में, 57 00:02:16,820 --> 00:02:20,820 वास्तव में एक पटकथा पर चलाने के लिए अपने स्वचालित रूप से डाउनलोड करता है कि कोड 58 00:02:20,820 --> 00:02:24,780 अपने psets के सभी चलाता है उन सभी पर शुद्धता परीक्षण, 59 00:02:24,780 --> 00:02:27,550 और उसके बाद अपने स्कोर अपलोड सीधे gradebook में। 60 00:02:27,550 --> 00:02:32,140 हालांकि, किसी भी बिंदु पर, अगर आप गलत तरीके से अपने कार्यक्रम का नाम है, 61 00:02:32,140 --> 00:02:34,510 पूरे तक यह शिकंजा हर किसी के लिए कार्यक्रम। 62 00:02:34,510 --> 00:02:37,280 >> और हां, तो वैध तरीके से, इस सुंदर लिपि 63 00:02:37,280 --> 00:02:40,260 हम करता है कि लिखा है कि हमारे लिए यह सब पूरी तरह से 64 00:02:40,260 --> 00:02:43,070 आप नहीं है तो दुर्घटनाओं अपने कार्यक्रम सही ढंग से नाम दिया है। 65 00:02:43,070 --> 00:02:46,020 तो बस सही करने के लिए अपलोड फ़ोल्डर, उन्हें सही ढंग से नाम है 66 00:02:46,020 --> 00:02:47,372 और फिर जीवन अच्छा है। 67 00:02:47,372 --> 00:02:49,080 मैं वापस अपने psets मिल करने के लिए तुम लोगों को पहले 68 00:02:49,080 --> 00:02:51,110 मैं जल्दी से उन्हें ग्रेड के लिए मिलता है। 69 00:02:51,110 --> 00:02:52,461 हाँ। 70 00:02:52,461 --> 00:02:52,960 ठीक। 71 00:02:52,960 --> 00:02:57,870 और यह भी कि हम बात करने जा रहे हैं about-- येल वास्तव में, वास्तव में एक है 72 00:02:57,870 --> 00:02:59,950 इन अगले दो सप्ताह में निराला अनुसूची। 73 00:02:59,950 --> 00:03:02,460 आप लोगों में से उन पर तो हार्वर्ड, यह लागू नहीं होता। 74 00:03:02,460 --> 00:03:05,585 लेकिन येल में हमारे लिए प्यारे बच्चों हमारे पास गिरावट में कुछ कहा, माफ break-- 75 00:03:05,585 --> 00:03:08,430 Harvard-- हमारे पास है, जहां स्कूल के बंद पांच दिन। 76 00:03:08,430 --> 00:03:12,270 और इस सुंदर है, जबकि यह एक तरह से हमारे pset लय को खराब करता है 77 00:03:12,270 --> 00:03:14,104 psets गुरुवार, शुक्रवार की वजह से कर रहे हैं। 78 00:03:14,104 --> 00:03:16,020 और अगर ऐसा है कि हम यहाँ नहीं हैं गुरुवार, शुक्रवार, हम 79 00:03:16,020 --> 00:03:18,640 आप लोगों के लिए काम नहीं कर सकते हैं गुरुवार, शुक्रवार को होने के कारण। 80 00:03:18,640 --> 00:03:23,832 >> तो क्या हम हम कर रहे है- क्या करने जा रहे हैं , इस में क्या हो रहा है 99% यकीन है कि जैसे 81 00:03:23,832 --> 00:03:25,540 वहाँ हो सकता है कुछ बदल लेकिन मुझे लगता है कि 82 00:03:25,540 --> 00:03:28,460 subtle-- हम करने जा रहे है have-- इस सप्ताह सामान्य है। 83 00:03:28,460 --> 00:03:32,130 इसलिए हम पर हमारे अनुभाग है मंगलवार कार्यालय घंटे के बाद 84 00:03:32,130 --> 00:03:35,190 सप्ताह के बाकी भर में और फिर pset4 शुक्रवार को होने वाली है। 85 00:03:35,190 --> 00:03:38,180 फिर, आप लोग सब जानते हैं, के रूप में मैं पिछले हफ्ते तुम लोगों को याद दिलाया 86 00:03:38,180 --> 00:03:41,700 हम अपने प्रश्नोत्तरी 0 बुधवार को आ रहे हैं। 87 00:03:41,700 --> 00:03:44,400 >> और हां, तो अपने आप को एक छात्र होने के नाते, मैं आप में से बहुत कुछ पता है 88 00:03:44,400 --> 00:03:49,110 लोगों को वास्तव में पर काम किया जाएगा अपने प्रश्नोत्तरी से पहले दो दिन pset5। 89 00:03:49,110 --> 00:03:51,110 तो क्या हम करने जा रहे हैं शायद कर खत्म होता है, 90 00:03:51,110 --> 00:03:54,840 सोमवार की रात है, कि हम जा रहे हैं वास्तव में, 5:30-07:00, 91 00:03:54,840 --> 00:03:59,970 एक संक्षिप्त समीक्षा विषयों पर सत्र को कवर किया। 92 00:03:59,970 --> 00:04:02,040 यह एक है कि अगर यह स्पष्ट नहीं सत्र या एक क्यू एंड ए की समीक्षा करें। 93 00:04:02,040 --> 00:04:04,650 यह समीक्षा के लिए किसी प्रकार का हो जाएगा हम कवर करेंगे, जिसमें फार्म 94 00:04:04,650 --> 00:04:06,640 आप लोगों के लिए प्रासंगिक कुछ विषयों। 95 00:04:06,640 --> 00:04:09,886 >> और फिर सोमवार और मंगलवार रात 8:00-11:00 है कि सप्ताह की, 96 00:04:09,886 --> 00:04:11,260 हम कार्यालय समय के लिए जा रहे हैं। 97 00:04:11,260 --> 00:04:14,500 उन कार्यालय घंटे सबसे अधिक अधिक संभावना है, बस में आ के और अधिक हो 98 00:04:14,500 --> 00:04:17,564 TAs के बारे में अपने सवाल पूछने आप के बारे में भ्रमित कर रहे हैं किसी भी अवधारणाओं, 99 00:04:17,564 --> 00:04:20,480 और वे एक तरह से आप के साथ पर जायेंगे प्रश्नोत्तरी के लिए और समीक्षा अवधारणाओं। 100 00:04:20,480 --> 00:04:22,920 क्विज 0, आप में कर रहे हैं सोमवार, बुधवार अनुभाग, 101 00:04:22,920 --> 00:04:26,480 के दौरान बुधवार को होगी कक्षा के दौरान बुधवार को class--। 102 00:04:26,480 --> 00:04:29,530 और आप में हैं तो यदि मंगलवार, गुरुवार अनुभाग, 103 00:04:29,530 --> 00:04:32,577 गुरुवार को कक्षा के दौरान भी हो जाएगा। 104 00:04:32,577 --> 00:04:34,410 आप वास्तव में चयन नहीं कर सकते जो एक तुम्हारे लिए जाना। 105 00:04:34,410 --> 00:04:35,640 आप एक सोमवार, बुधवार रहे हैं, आप बुधवार को जाना है। 106 00:04:35,640 --> 00:04:38,056 आप मंगलवार, गुरुवार को कर रहे हैं आप गुरुवार को जाना है। 107 00:04:38,056 --> 00:04:42,277 लेकिन फिर उस रात, हमें प्यारे कर्मचारी, होगा 108 00:04:42,277 --> 00:04:45,360 में पार्टी ग्रेडिंग एक विशाल प्रश्नोत्तरी जो हम आप के लिए वापस अपने स्कोर मिल जाएगा 109 00:04:45,360 --> 00:04:46,190 उस रात। 110 00:04:46,190 --> 00:04:46,900 किस समय? 111 00:04:46,900 --> 00:04:51,190 अस्पष्ट, कौन जानता है, लेकिन यह होगा 24 घंटे के भीतर वापस करने के लिए हो सकता है 112 00:04:51,190 --> 00:04:53,700 तो यह है कि उम्मीद है कि आप लोग शुक्रवार से कुछ प्रतिक्रिया है। 113 00:04:53,700 --> 00:04:55,870 >> और फिर हम एक वास्तव में निराला सप्ताह है। 114 00:04:55,870 --> 00:05:00,330 तो pset5 में से एक है साल के सबसे कठिन psets। 115 00:05:00,330 --> 00:05:03,370 तो माफ करना, दोस्तों। 116 00:05:03,370 --> 00:05:06,520 क्या हम कोशिश करने के लिए जा रहे हैं ऐसा हम के लिए जा रहे है 117 00:05:06,520 --> 00:05:08,380 कुछ वास्तविक समर्थन है कि सप्ताह के अंत में। 118 00:05:08,380 --> 00:05:12,970 क्योंकि, तुम लोगों को देख सकते हैं, के रूप में pset गिरावट को तोड़ने से पहले की वजह से है। 119 00:05:12,970 --> 00:05:16,760 हम समर्थन नहीं है गिरावट के ब्रेक के दौरान आप लोग 120 00:05:16,760 --> 00:05:18,897 और इसलिए हम वास्तव में इस तरह की वाक्यांश करना चाहते हैं इस के रूप में, 121 00:05:18,897 --> 00:05:21,230 चलो इसे समाप्त करते हैं, वास्तव में, वास्तव में कड़ी मेहनत करते हैं 122 00:05:21,230 --> 00:05:25,380 इन अगले दो सप्ताह, इस क्विज मिल और के साथ किया कि इन दो psets जोड़ने 123 00:05:25,380 --> 00:05:29,650 और फिर आप लोग एक अच्छा आराम है सीएस के बारे में सोच के बिना सात दिनों के लिए। 124 00:05:29,650 --> 00:05:33,750 >> उस के लिए आदेश में करने के लिए तो होता है, हम कर रहे हैं शायद 125 00:05:33,750 --> 00:05:36,870 मेरी खंड स्थानांतरित करने के लिए जा रहा रविवार दोपहर को। 126 00:05:36,870 --> 00:05:39,070 यह तो फिल्माया जाएगा कोई चिंता तुम नहीं आ सकते हैं। 127 00:05:39,070 --> 00:05:41,595 लेकिन ऑनलाइन फिल्मांकन होगा वहाँ और सुलभ हो 128 00:05:41,595 --> 00:05:47,630 तो तुम लोग रविवार है, सोमवार, मंगलवार, pset5 पर काम करने के लिए। 129 00:05:47,630 --> 00:05:50,205 और फिर यह गिरावट है तो तोड़ने के लिए और कोई सीएस और 130 00:05:50,205 --> 00:05:51,830 हम वापस आते हैं और पीस में अपनी पीठ। 131 00:05:51,830 --> 00:05:54,926 >> लेकिन यह एक होने जा रहा है गिरावट को तोड़ने के लिए प्यारा सप्ताह 132 00:05:54,926 --> 00:05:58,050 और हम वास्तव में तनाव के रूप में इसे बनाना चाहते हैं संभव के रूप में सभी के लिए नि: शुल्क है, जो 133 00:05:58,050 --> 00:06:02,620 हम क्यों चले गए pset के कारण हो रहा है बाद गिरावट को तोड़ने के बजाय पहले। 134 00:06:02,620 --> 00:06:07,601 मेरा मतलब है it's--, मैं एक तरह से लग रहा है क्योंकि यह होने के उद्देश्य धरा की तरह 135 00:06:07,601 --> 00:06:10,850 अगर वहाँ गिरावट को तोड़ने के बाद समय सीमा तय गिरावट के ब्रेक के दौरान वैसे भी कोई समर्थन नहीं। 136 00:06:10,850 --> 00:06:14,670 तो यह मुझे लगता है कि rather-- है हम नहीं बल्कि अब उस पर ध्यान केंद्रित था। 137 00:06:14,670 --> 00:06:16,950 किसी को भी सवाल है कि कार्यक्रम के बारे में? 138 00:06:16,950 --> 00:06:17,830 कुछ भी भ्रामक? 139 00:06:17,830 --> 00:06:18,330 हाँ। 140 00:06:18,330 --> 00:06:20,944 >> दर्शकों: हम अभी भी है 21 पर एक व्याख्यान? 141 00:06:20,944 --> 00:06:21,610 ANDI PENG: हाँ। 142 00:06:21,610 --> 00:06:26,421 21 वीं पर तो, होने जा रहा है हार्वर्ड से जीना है कि एक व्याख्यान। 143 00:06:26,421 --> 00:06:29,170 डेविड फिल्माने है, तो मैं नहीं जानता यह या वह वास्तव में व्याख्यान देने अगर 144 00:06:29,170 --> 00:06:32,430 लेकिन यह उपलब्ध होने जा रहा है उपयोग करने के लिए आप लोगों के लिए ऑनलाइन। 145 00:06:32,430 --> 00:06:35,510 तो बस आप एक उत्कीर्ण सुनिश्चित करें गिरावट को तोड़ने में कहीं न कहीं एक घंटे बाहर 146 00:06:35,510 --> 00:06:39,375 तो तुम लोग पकड़ कर सकते हैं उस व्याख्यान पर। 147 00:06:39,375 --> 00:06:39,875 हाँ? 148 00:06:39,875 --> 00:06:40,300 >> दर्शकों: हाँ। 149 00:06:40,300 --> 00:06:40,422 माफ़ कीजिए। 150 00:06:40,422 --> 00:06:41,280 मैं यहाँ एक couple-- मिला 151 00:06:41,280 --> 00:06:41,640 >> ANDI PENG: कोई चिंता नहीं। 152 00:06:41,640 --> 00:06:42,556 इधर, कुछ कैंडी ले लो। 153 00:06:42,556 --> 00:06:45,350 154 00:06:45,350 --> 00:06:47,800 >> दर्शकों: अरे, मुझे लगता है कि पकड़ा। 155 00:06:47,800 --> 00:06:53,869 तो बस कल नहीं, संक्षिप्त लेकिन करने के लिए उस के बाद बुधवार, हम एक प्रश्नोत्तरी है। 156 00:06:53,869 --> 00:06:54,660 ANDI PENG: सही है। 157 00:06:54,660 --> 00:06:59,207 दर्शकों: और यह be-- जा रहा है प्रश्नोत्तरी का स्वरूप क्या है? 158 00:06:59,207 --> 00:06:59,790 ANDI PENG: ओह। 159 00:06:59,790 --> 00:07:03,870 इसलिए हम एक ईमेल भेज देंगे कि गहराई में है कि सभी अधिक शामिल हैं। 160 00:07:03,870 --> 00:07:06,590 लेकिन, अनिवार्य रूप से, यह सिर्फ शामिल किया गया बुनियादी विषयों पहले से ही शामिल 161 00:07:06,590 --> 00:07:09,042 सेमेस्टर की पहली छमाही में। 162 00:07:09,042 --> 00:07:12,250 हम समीक्षा सत्र और सवाल होगा और इस बारे में तो कोई चिंता नहीं जवाब। 163 00:07:12,250 --> 00:07:14,107 लेकिन हम उस पर भी जा रहा हूँ। 164 00:07:14,107 --> 00:07:16,940 दर्शकों: यह होने जा रहा है, हम हमारे कंप्यूटर और कोड लाने there-- 165 00:07:16,940 --> 00:07:17,140 ANDI PENG: नहीं 166 00:07:17,140 --> 00:07:20,130 यह लिख तुम लोगों को होने जा रहा है और हाथ से सवालों का जवाब दे। 167 00:07:20,130 --> 00:07:21,160 >> दर्शकों: ओह। 168 00:07:21,160 --> 00:07:23,160 >> ANDI PENG: तो हम दे देंगे बाहर प्रथाओं और सामान 169 00:07:23,160 --> 00:07:26,420 तो तुम लोग शायद जाने के लिए चाहते हो सकता है पीठ और हाथ से मारियो को फिर से लिखना बस 170 00:07:26,420 --> 00:07:28,100 यकीन है कि तुम लोगों को बनाने के लिए कि कैसे करना है की एक विचार है। 171 00:07:28,100 --> 00:07:29,933 कभी कभी क्योंकि जब आप हाथ आप से लिखना 172 00:07:29,933 --> 00:07:32,656 अर्धविराम और सामान भूल और कहा कि वास्तव में बुरा है। 173 00:07:32,656 --> 00:07:34,156 दर्शकों: कि [सुनाई] नहीं होगा? 174 00:07:34,156 --> 00:07:38,290 की तरह, तुम हो रही है your-- पर अर्धविराम 175 00:07:38,290 --> 00:07:40,270 >> ANDI PENG: हाँ और नहीं। 176 00:07:40,270 --> 00:07:43,170 हम गहराई में अधिक बात करेंगे प्रश्नोत्तरी लेआउट है के बारे में कैसे 177 00:07:43,170 --> 00:07:44,550 और कैसे हम कक्षा के लिए जा रहे हैं। 178 00:07:44,550 --> 00:07:47,425 लेकिन अनिवार्य रूप से, बस इतना पता है कि सामान्य प्रारूप आप होने जा रहा है 179 00:07:47,425 --> 00:07:49,930 लोग code-- व्याख्या या तो बुनियादी सवालों का जवाब दे। 180 00:07:49,930 --> 00:07:51,370 मैं आप से पूछा है, एक पुस्तकालय क्या है? 181 00:07:51,370 --> 00:07:53,450 तुम लोगों को पता होना चाहिए कि क्या एक पुस्तकालय करता है और लगता है कि नीचे लिखें। 182 00:07:53,450 --> 00:07:56,283 या मैं एक कार्यक्रम में लिखते हैं, का कहना है कि हो सकता है नमस्ते विश्व स्क्रीन करने के लिए प्रिंट। 183 00:07:56,283 --> 00:08:01,140 मुख्य तुम लोग लिखना होगा, पूर्णांक शून्य printf हैलो दुनिया अर्धविराम। 184 00:08:01,140 --> 00:08:01,908 हाँ। 185 00:08:01,908 --> 00:08:04,398 >> दर्शकों: तो यह नहीं जा रहा है कहीं भी हो [सुनाई] 186 00:08:04,398 --> 00:08:05,900 समस्या की कठिनाई स्तर सेट? 187 00:08:05,900 --> 00:08:06,170 >> ANDI PENG: नहीं 188 00:08:06,170 --> 00:08:06,380 नहीं। 189 00:08:06,380 --> 00:08:07,046 हम हाँ won't--। 190 00:08:07,046 --> 00:08:10,030 की सम्पूर्णता लिखें 15 से 20 में मिनट के खेल, जाओ। 191 00:08:10,030 --> 00:08:12,120 नहीं, ऐसा नहीं होगा। 192 00:08:12,120 --> 00:08:12,801 नहीं। 193 00:08:12,801 --> 00:08:13,342 दर्शकों: ठीक है। 194 00:08:13,342 --> 00:08:15,326 तो यह है कि बुधवार है। 195 00:08:15,326 --> 00:08:19,017 कि सप्ताह भी हम दौरान सबसे मुश्किल समस्या का गठन किया है? 196 00:08:19,017 --> 00:08:19,600 ANDI PENG: नहीं 197 00:08:19,600 --> 00:08:22,970 तो समस्या यह कारण सेट गिरावट को तोड़ने से पहले दिन। 198 00:08:22,970 --> 00:08:25,690 schedule-- ईमेल वास्तव में बाहर भेजने की गई थी 199 00:08:25,690 --> 00:08:27,232 20 मिनट पहले इस सब के बारे में। 200 00:08:27,232 --> 00:08:28,689 तो तुम लोग सिर्फ अपने ईमेल की जाँच। 201 00:08:28,689 --> 00:08:29,430 यह वहाँ हो जाएगा। 202 00:08:29,430 --> 00:08:30,060 हाँ। 203 00:08:30,060 --> 00:08:31,701 कोई चिंता नहीं। 204 00:08:31,701 --> 00:08:32,200 कूल। 205 00:08:32,200 --> 00:08:34,900 206 00:08:34,900 --> 00:08:38,900 >> के बारे में किसी भी सामान्य सवाल घोषणाओं, ग्रेडिंग, क्विज़, 207 00:08:38,900 --> 00:08:41,659 हम सही में गोता लगाने से पहले भस्म हो जाएगा जो संकेत 208 00:08:41,659 --> 00:08:45,060 हमारे अनुभाग समय के बहुमत आज? 209 00:08:45,060 --> 00:08:47,030 कूल। 210 00:08:47,030 --> 00:08:47,530 ठीक है। 211 00:08:47,530 --> 00:08:50,905 ऐसा इसलिए किया है कि तुम लोग यह सब lovely-- घड़ी मुझे लगता है वे इसे कहते हैं क्या पता नहीं है। 212 00:08:50,905 --> 00:08:53,490 बात यह है कि जहां claymation खुद को विस्फोट से उड़ा दिया है क्योंकि यह 213 00:08:53,490 --> 00:08:54,820 सही तरीके से एक सूचक का उपयोग नहीं किया। 214 00:08:54,820 --> 00:08:57,629 खैर, अपने कार्यक्रम के लिए जा रहा है अगर आप शायद अपने आप को उड़ा 215 00:08:57,629 --> 00:08:59,170 सही ढंग से के रूप में अच्छी तरह से संकेत का उपयोग नहीं करते। 216 00:08:59,170 --> 00:09:01,250 इसलिए हम बनाने जा रहे हैं सुनिश्चित करें कि ऐसा नहीं होता है। 217 00:09:01,250 --> 00:09:04,810 >> हम करने जा रहे हैं आज कुछ सूचक मज़ा करते हैं। 218 00:09:04,810 --> 00:09:08,970 मैं चीजों पर जाने के लिए जा रहा हूँ के रूप में सुचारू रूप से मुझे लगता है कि के रूप में 219 00:09:08,970 --> 00:09:10,790 एक छोटे से समय सीमा में संभव है। 220 00:09:10,790 --> 00:09:14,592 लेकिन कवर करने के लिए सिर्फ इतना भी नहीं है मैं वास्तव में आप लोग चाहते हैं कि, 221 00:09:14,592 --> 00:09:17,300 आप कुछ समझ में नहीं है, न सिर्फ करने के लिए मुझे जा रहा रखने के लिए। 222 00:09:17,300 --> 00:09:18,580 अगर तुम नहीं करते क्योंकि कुछ समझ में, 223 00:09:18,580 --> 00:09:21,329 आप शायद करने के लिए नहीं जा रहे हैं मैं उस के बाद का कहना है कि कुछ भी समझते हैं। 224 00:09:21,329 --> 00:09:23,310 तो मुझे रोकने के लिए और एक सवाल पूछने के लिए कृपया। 225 00:09:23,310 --> 00:09:25,380 यह सभी प्रकार की वजह से के साथ snowballs। 226 00:09:25,380 --> 00:09:27,800 की तरह, संकेत में नेतृत्व अन्य बातों में स्मृति का नेतृत्व। 227 00:09:27,800 --> 00:09:31,710 और तो आप संकेत समझ में नहीं आता है, तो मुझे रोकने के लिए और हम यह पता लगा लेंगे 228 00:09:31,710 --> 00:09:35,070 और जीवन ठीक हो जाएगा। 229 00:09:35,070 --> 00:09:35,680 >> कूल। 230 00:09:35,680 --> 00:09:39,050 तो कैसे व्याख्यान में आप लोगों में से बहुत से, डेविड संकेत उल्लेख किया है, 231 00:09:39,050 --> 00:09:42,050 अपने दिमाग तरह का मुरब्बा, हे में बदल गया? 232 00:09:42,050 --> 00:09:42,550 हाँ। 233 00:09:42,550 --> 00:09:44,190 अच्छा। 234 00:09:44,190 --> 00:09:46,900 हम कोशिश करने के लिए जा रहे हैं डी-मुरब्बा, हे अपने दिमाग आज। 235 00:09:46,900 --> 00:09:50,300 हम वास्तव में व्यवस्थित करने के लिए जा रहे हैं क्या वास्तव में एक सूचक है के माध्यम से जाना है, 236 00:09:50,300 --> 00:09:52,530 यह करता है, और हम उन्हें कैसे उपयोग क्या। 237 00:09:52,530 --> 00:09:56,620 >> इतना सब इसलिए pointers-- सामान्य रूप से चर के साथ 238 00:09:56,620 --> 00:10:00,920 हम जैसे, कोडिंग में उपयोग किया गया है ऐसे पूर्णांकों या तार के रूप में चर 239 00:10:00,920 --> 00:10:04,790 या तैरता है, वे सभी अनिवार्य रूप से कर रहे हैं उन्हें सौंपा एक मूल्य 240 00:10:04,790 --> 00:10:06,870 साथ ही साथ एक पते कि मूल्य की ओर इशारा करते। 241 00:10:06,870 --> 00:10:08,895 इसलिए मैं यह अभी आकर्षित करने के लिए जा रहा हूँ। 242 00:10:08,895 --> 00:10:14,270 243 00:10:14,270 --> 00:10:16,140 हम लगभग कोई चाक है, लेकिन यह ठीक है। 244 00:10:16,140 --> 00:10:25,550 >> तो उदाहरण के लिए, सामान्य रूप से हम है कि रास्ता 245 00:10:25,550 --> 00:10:30,860 चर का उपयोग किया गया हम बनाते है int प्रकार के चर का नाम, चलो 246 00:10:30,860 --> 00:10:31,360 सिर्फ कहे। 247 00:10:31,360 --> 00:10:37,360 यहाँ तो हम int x मिल गया है और हम कर रहे हैं से 50 कि पूर्णांक प्रारंभ कर। 248 00:10:37,360 --> 00:10:42,390 तो यहाँ पर स्मृति के इस ब्लॉक में हमारे कंप्यूटर हम 50 के एक नंबर संग्रहित किया है। 249 00:10:42,390 --> 00:10:46,170 संकेत खेलने में आते हैं जहां तो है कि आपके कंप्यूटर, यहाँ, जैसे itself-- 250 00:10:46,170 --> 00:10:48,880 शारीरिक रूप से हार्ड ड्राइव में मेरी computer-- की रैम में 251 00:10:48,880 --> 00:10:51,147 यह केवल स्मृति की एक निश्चित राशि है। 252 00:10:51,147 --> 00:10:53,980 तुम बस बातें भंडारण नहीं रख सकते चीजों के शीर्ष पर चीजों के शीर्ष पर 253 00:10:53,980 --> 00:10:54,990 और उन सब को है। 254 00:10:54,990 --> 00:10:59,570 >> तो जिस तरह से हम गतिशील आवंटित कि स्मृति हम क्या चाहते हैं स्टोर करने के लिए सक्षम होने के लिए 255 00:10:59,570 --> 00:11:03,150 और पहुँच यह संकेत होने से है। 256 00:11:03,150 --> 00:11:06,210 तो ठीक है, अपनी स्मृति अंतरिक्ष में कल्पना। 257 00:11:06,210 --> 00:11:10,420 इस बात का रैम है, तो आपके कंप्यूटर, तो आप इन छोटी बिट्स 258 00:11:10,420 --> 00:11:14,540 ब्लॉक या स्मृति के बाइट्स में या ये सिर्फ छोटी हैं which-- 259 00:11:14,540 --> 00:11:18,120 पर बाहर आवंटित किया गया है कि ब्लॉक आपके कंप्यूटर की हार्ड ड्राइव या राम, 260 00:11:18,120 --> 00:11:21,950 और उन ब्लॉकों में से प्रत्येक के भीतर आप अलग अलग चीजों को स्टोर कर सकते हैं। 261 00:11:21,950 --> 00:11:26,990 तो उदाहरण के लिए, एक इस उदाहरण में सरणी 262 00:11:26,990 --> 00:11:29,984 यहाँ है जो एक बाइट है आठ बिट से मिलकर। 263 00:11:29,984 --> 00:11:32,900 नंबर के आधार पर बदलता आपके कंप्यूटर के ऑपरेटिंग सिस्टम। 264 00:11:32,900 --> 00:11:35,942 उदाहरण के लिए, आप में से कितने है 64-बिट ऑपरेटिंग बनाम 32 बिट के बारे में सुना 265 00:11:35,942 --> 00:11:36,441 सिस्टम? 266 00:11:36,441 --> 00:11:37,070 बिल्कुल सही। 267 00:11:37,070 --> 00:11:38,860 >> इतना सब कह रहा है कि memory-- यह है कि 268 00:11:38,860 --> 00:11:42,420 तरीका यह है कि आपके कंप्यूटर कि स्मृति अलग है सफल हुआ है। 269 00:11:42,420 --> 00:11:45,370 यह सच है, यही वजह है समझने के लिए महत्वपूर्ण 270 00:11:45,370 --> 00:11:49,450 क्यों स्मृति में ही कार्य करता है बल्कि की तुलना में संख्या पर ध्यान देना। 271 00:11:49,450 --> 00:11:52,400 इसलिए हम वास्तव में परवाह नहीं है कैसे इस सरणी बड़े 272 00:11:52,400 --> 00:11:55,710 हम बस के बारे में परवाह करने की जरूरत है कैसे बड़े हम होना एक int की जरूरत है, 273 00:11:55,710 --> 00:11:58,350 कैसे बड़े Do हम एक स्ट्रिंग की जरूरत है हो सकता है, एक सूचक कितना बड़ा है? 274 00:11:58,350 --> 00:12:00,630 275 00:12:00,630 --> 00:12:01,130 ठीक। 276 00:12:01,130 --> 00:12:03,690 इसलिए यह एक बहुत होने जा रहा है की भारी, घने जानकारी। 277 00:12:03,690 --> 00:12:07,005 मैं एक तुम लोगों को देने के लिए जा रहा हूँ यहाँ युगल हास्य राहत क्षणों। 278 00:12:07,005 --> 00:12:09,130 तुम लोग सब में सक्षम होना चाहिए अब इस बात को समझ। 279 00:12:09,130 --> 00:12:12,550 हम जानते हैं कि क्योंकि संकेत दिए गए पते हैं, 280 00:12:12,550 --> 00:12:14,480 और उन चर से अलग हैं। 281 00:12:14,480 --> 00:12:14,980 ठीक। 282 00:12:14,980 --> 00:12:15,610 कूल। 283 00:12:15,610 --> 00:12:17,065 सीएस चुटकुले हाँ, अच्छा कर रहे हैं? 284 00:12:17,065 --> 00:12:19,800 285 00:12:19,800 --> 00:12:23,450 >> तो हम चलते हैं कि रास्ता एक सूचक बनाने के बारे में 286 00:12:23,450 --> 00:12:25,750 वाक्य रचना की एक बहुत ही विशेष प्रकार का है। 287 00:12:25,750 --> 00:12:27,870 किसी भी बनाने के साथ के रूप में चर का प्रकार, यह है 288 00:12:27,870 --> 00:12:30,240 एक विशिष्ट होने जा रहा हम इसे बनाने के लिए उपयोग सिंटेक्स। 289 00:12:30,240 --> 00:12:34,830 इसलिए किसी भी सूचक की घोषणा करते हैं, एक सूचक सिर्फ essentially-- है 290 00:12:34,830 --> 00:12:37,040 मैं महत्वपूर्ण लगता है संकेत का हिस्सा है 291 00:12:37,040 --> 00:12:41,650 एक चर है, जबकि कि एक मूल्य और पते दोनों, 292 00:12:41,650 --> 00:12:44,100 एक सूचक एक पता है। 293 00:12:44,100 --> 00:12:45,740 इसका मूल्य एक पता है। 294 00:12:45,740 --> 00:12:48,120 तो यह संग्रहीत एक पता है एक अलग पते पर। 295 00:12:48,120 --> 00:12:49,120 यदि इसका कोई मतलब निकले तो। 296 00:12:49,120 --> 00:12:52,390 हम और अधिक विस्तार में इस पर जायेंगे लेकिन लगता है कि सामान्य रूप है 297 00:12:52,390 --> 00:12:54,370 एक प्रिंटर भंडारित किया जाता है कैसे की why-- की। 298 00:12:54,370 --> 00:12:58,900 >> तो अगर आप एक सूचक है कि बनाने के रास्ते डेटा के जो भी प्रकार से कर रही है 299 00:12:58,900 --> 00:13:02,840 सूचक जा रहा है कि संदर्भित और होना then-- 300 00:13:02,840 --> 00:13:05,324 तो star-- और साथ सूचक का नाम है। 301 00:13:05,324 --> 00:13:07,240 यहाँ तो, यदि हम चाहते थे एक सूचक बनाने के लिए 302 00:13:07,240 --> 00:13:11,640 एक पूर्णांक की ओर इशारा किया, और हम सूचक का नाम एक्स बनना चाहता था, 303 00:13:11,640 --> 00:13:13,880 हम int स्टार एक्स से करना होगा। 304 00:13:13,880 --> 00:13:14,380 हाँ? 305 00:13:14,380 --> 00:13:16,680 >> दर्शकों: और अगर ऐसा है निम्न पंक्ति आप 306 00:13:16,680 --> 00:13:20,045 पूर्णांक एक्स करना होगा, पूर्णांक स्टार एक्स एक्स के स्थान का संकेत 307 00:13:20,045 --> 00:13:21,170 आप बाद में परिभाषित कर रहे हैं? 308 00:13:21,170 --> 00:13:22,000 >> ANDI PENG: बहुत अच्छा सवाल। 309 00:13:22,000 --> 00:13:23,860 हम इस में पर जायेंगे एक जोड़े को बाद में स्लाइड। 310 00:13:23,860 --> 00:13:24,920 हाँ। 311 00:13:24,920 --> 00:13:27,610 और साथ फिर वही बात चार और एक ही बात मंगाई। 312 00:13:27,610 --> 00:13:29,950 सिर्फ इस बात पर है कि पता हम एक सूचक बना लिया है, 313 00:13:29,950 --> 00:13:32,470 हम वास्तव में सेट नहीं किया है यह अभी तक कुछ भी बराबर करने के लिए। 314 00:13:32,470 --> 00:13:34,110 हम वास्तव में यह संदर्भित नहीं किया है। 315 00:13:34,110 --> 00:13:36,087 एक ही बात यहाँ जब आप एक चर बनाने के लिए, 316 00:13:36,087 --> 00:13:39,420 आप चर का नाम बनाया है, आप वास्तव में इसे करने के लिए एक मूल्य निर्धारित नहीं की है। 317 00:13:39,420 --> 00:13:41,410 इधर भी ऐसा ही है। 318 00:13:41,410 --> 00:13:42,110 >> ठीक। 319 00:13:42,110 --> 00:13:44,670 तो हम कैसे संकेत करने के लिए मूल्यों को निर्धारित करते हैं? 320 00:13:44,670 --> 00:13:47,190 यह संदर्भित और अपसंदर्भन से है। 321 00:13:47,190 --> 00:13:52,260 तो जिस तरह से हम संदर्भित कर सकते हैं कि एक संक्षेप में, एक सूचक varia-- 322 00:13:52,260 --> 00:13:56,630 हम स्मृति में पता वापस जिनमें से एक चर संग्रहित है। 323 00:13:56,630 --> 00:14:02,550 मैं एक pointer-- था कि अगर मैं आकर्षित करेंगे तो इस बार हम अगली स्लाइड के लिए मिलता है 324 00:14:02,550 --> 00:14:05,760 लेकिन सिर्फ अनिवार्य रूप से जानते हैं कि, एम्परसेंड और-- 325 00:14:05,760 --> 00:14:10,240 और variable-- है कि सभी आप पता बता रहा है करता है 326 00:14:10,240 --> 00:14:11,780 जहां की कुछ संग्रहित है। 327 00:14:11,780 --> 00:14:15,730 और अपसंदर्भन विपरीत है सिर्फ स्टार है जो कि, के। 328 00:14:15,730 --> 00:14:18,950 स्टार बस आप वास्तविक देता है उस पते पर संग्रहीत डेटा। 329 00:14:18,950 --> 00:14:21,090 >> एक तो आप पता देता है एक पते पर संग्रहीत, 330 00:14:21,090 --> 00:14:23,945 अन्य आप वास्तविक देता है पते पर संग्रहीत मूल्य। 331 00:14:23,945 --> 00:14:25,820 तो उनमें से दो देना आप अलग अलग चीजें हैं। 332 00:14:25,820 --> 00:14:27,755 333 00:14:27,755 --> 00:14:29,880 एक बार फिर, स्लाइड्स हैं सभी ऑनलाइन तो कोई चिंता नहीं 334 00:14:29,880 --> 00:14:33,200 तुम लोगों को कॉपी नहीं कर सकते हैं कुछ ही समय में यह नीचे। 335 00:14:33,200 --> 00:14:36,330 >> तो चलो एक नजर डालते हैं यहाँ इस उदाहरण में। 336 00:14:36,330 --> 00:14:40,530 तो हम एक विशाल मिल गया है यहाँ स्मृति सरणी, है ना? 337 00:14:40,530 --> 00:14:42,920 हम बस के ब्लॉक है, जहां स्मृति की स्मृति, या बाइट्स, 338 00:14:42,920 --> 00:14:45,060 जिसमें हम अलग अलग चीजों को स्टोर कर सकते हैं। 339 00:14:45,060 --> 00:14:47,310 चलो बस इन कर रहे हैं हम कहते हैं स्मृति में पता अंक। 340 00:14:47,310 --> 00:14:51,350 तो कभी भी आपके पास - 0 x देखते हैं, सब है कि आप यह है कि कह रहा है 341 00:14:51,350 --> 00:14:52,930 कि एक हेक्साडेसिमल अंक है। 342 00:14:52,930 --> 00:14:56,310 आप लोग सब, संख्या के रूप में जानते विभिन्न ठिकानों में आधारित हो सकता है। 343 00:14:56,310 --> 00:14:58,770 बेस 10 कैसे हम आम तौर पर है संख्या व्याख्या। 344 00:14:58,770 --> 00:15:00,550 बाइनरी है जो आधार 2, वहाँ भी है। 345 00:15:00,550 --> 00:15:03,366 और इस मामले में, हेक्साडेसिमल 16 आधार है। 346 00:15:03,366 --> 00:15:06,240 यह कह रही है की सिर्फ एक अलग तरीका है 10-- को शून्य या शून्य से नौ 347 00:15:06,240 --> 00:15:10,904 और फिर भी ए, बी, सी, डी, ई, एफ इसके अलावा अलग नंबरों का संदर्भ। 348 00:15:10,904 --> 00:15:12,570 डेविड संक्षिप्त व्याख्यान में यह खत्म हो गया था। 349 00:15:12,570 --> 00:15:14,280 तुम लोग कर रहे हैं उलझन में, बस यह गूगल। 350 00:15:14,280 --> 00:15:17,370 जानने के लिए वास्तव में आसान तरीके है हेक्साडेसिमल अंकों क्या है। 351 00:15:17,370 --> 00:15:19,510 सब है कि वास्तव में प्रासंगिक है अभी आप के लिए है 352 00:15:19,510 --> 00:15:24,170 लोग है कि एक को पता है सी में हेक्साडेसिमल अंक 353 00:15:24,170 --> 00:15:27,090 you-- बताता है कि आम तौर पर यह एक सूचक है कि आपको बताता है। 354 00:15:27,090 --> 00:15:29,150 या कि एक पता है। 355 00:15:29,150 --> 00:15:33,310 >> यहाँ तो इस उदाहरण में, पूर्णांक एक्स 5 के बराबर होती है। 356 00:15:33,310 --> 00:15:36,350 हम एक integer-- बना रहे हैं प्रकार का खेद है, एक चर 357 00:15:36,350 --> 00:15:39,090 पूर्णांक और हम 5 करने के लिए इसे प्रारंभ कर रहे हैं। 358 00:15:39,090 --> 00:15:47,040 यहाँ तो हमारी स्मृति बोर्ड पर, हम कर सकते हैं देखना है कि एक्स 0x0 के पते पर होती है 359 00:15:47,040 --> 00:15:50,550 और तुम हो कि मूल्य यह 5 के अंदर संग्रहित। 360 00:15:50,550 --> 00:15:52,370 यह समझ में बनाना चाहिए हर किसी के लिए, है ना? 361 00:15:52,370 --> 00:15:53,030 ठीक। 362 00:15:53,030 --> 00:15:56,520 >> और फिर हम क्या किया है कोड की दूसरी पंक्ति में 363 00:15:56,520 --> 00:16:00,290 हम बनाया है वह यह है कि int प्रकार का एक सूचक। 364 00:16:00,290 --> 00:16:02,750 यही कारण है कि क्या पूर्णांक स्टार सूचक कर रही है। 365 00:16:02,750 --> 00:16:07,320 और कहा कि बराबर होती है कि एम्परसेंड एक्स यदि आप कुछ का पता दे रही है। 366 00:16:07,320 --> 00:16:12,120 एक्स के पते में तो इस उदाहरण 0x0 है। 367 00:16:12,120 --> 00:16:15,630 और इतना है कि पता किया जा रहा है कि सूचक में संग्रहीत। 368 00:16:15,630 --> 00:16:17,360 कि हर किसी के लिए मतलब? 369 00:16:17,360 --> 00:16:19,965 >> तो है- के बारे में सोच यहां pointers-- के बारे में सोच 370 00:16:19,965 --> 00:16:24,780 येल में हम एक PO बॉक्स प्रणाली है हर छात्र को एक डाक है जहां 371 00:16:24,780 --> 00:16:26,960 आप जा सकते हैं, जहां पता एलडब्ल्यू के तहखाने में 372 00:16:26,960 --> 00:16:30,492 और तुम बस जाओ और हड़पने कर सकते हैं जो कुछ भी आप उस पते से की जरूरत है। 373 00:16:30,492 --> 00:16:32,450 एक ही बात हो रही है यहां एक कंप्यूटर में। 374 00:16:32,450 --> 00:16:36,770 आप इन स्मृति बाइट्स है कि आप जानकारी में स्टोर कर सकते हैं 375 00:16:36,770 --> 00:16:39,529 लेकिन क्रम में पता करने के लिए जो सूचना का भाग 376 00:16:39,529 --> 00:16:42,570 आप को खोजने की कोशिश कर रहे हैं का मैच और, यदि आप एक सूचक जरूरत है, जहां कि 377 00:16:42,570 --> 00:16:43,740 कैसे वहाँ जाने के लिए आपको बताता है। 378 00:16:43,740 --> 00:16:47,270 >> तो उदाहरण के लिए, मेरे लिए, मेरे PO बॉक्स, मैं एक विशिष्ट पांच अंकों की संख्या है। 379 00:16:47,270 --> 00:16:48,400 यही कारण है कि मेरा पता है। 380 00:16:48,400 --> 00:16:51,880 तो मैं शारीरिक रूप से याद करने के लिए जा सकते हैं, मैं, पते पर देख सकते हैं 381 00:16:51,880 --> 00:16:54,507 मुझे लगता है कि पीओ बॉक्स के लिए जा सकते हैं और अंदर डेटा का उपयोग। 382 00:16:54,507 --> 00:16:57,090 कि हर किसी के लिए समझ पड़ता है आपका कंप्यूटर अनिवार्य है 383 00:16:57,090 --> 00:16:59,000 सटीक एक ही बात कर रही है। 384 00:16:59,000 --> 00:17:02,750 >> इतना सब सूचक कर रही है वह यह है कि यह सिर्फ एक स्मृति पैदा कर रहा है 385 00:17:02,750 --> 00:17:06,099 और अपनी स्मृति डेटा वास्तव में है कुछ और पता। 386 00:17:06,099 --> 00:17:08,210 तो फिर तुम जाओ और पाते हैं कि कर सकते हैं। 387 00:17:08,210 --> 00:17:09,060 हर कोई अच्छा है? 388 00:17:09,060 --> 00:17:10,720 अब तक मेरे साथ अच्छा सब लोग? 389 00:17:10,720 --> 00:17:11,360 ठीक। 390 00:17:11,360 --> 00:17:11,859 कूल। 391 00:17:11,859 --> 00:17:14,311 392 00:17:14,311 --> 00:17:14,810 ठीक है। 393 00:17:14,810 --> 00:17:19,160 के रूप में पहले तो लगभग एक ही बात है। 394 00:17:19,160 --> 00:17:23,849 इसलिए हम सबसे पहले, एक चर है, कहा जाता एक्स जिसमें case-- 395 00:17:23,849 --> 00:17:27,700 मैं 5 को यह मान बदलने के लिए जा रहा हूँ। 396 00:17:27,700 --> 00:17:31,820 चलो बस का पता हम कहते हैं स्मृति में इस बात का 0x0 है। 397 00:17:31,820 --> 00:17:33,070 00। 398 00:17:33,070 --> 00:17:33,570 अच्छा है। 399 00:17:33,570 --> 00:17:35,320 >> तो फिर, हमारे दूसरे पर कोड की लाइन है, हम कर रहे हैं 400 00:17:35,320 --> 00:17:41,210 एक सूचक बनाने जा पीटीआर सूचक कहा जाता है। 401 00:17:41,210 --> 00:17:45,760 और इस बात का पता, चलो सिर्फ इतना है कि स्मृति में 0x01 है कहना। 402 00:17:45,760 --> 00:17:48,280 और हम वास्तव में करना चाहते हैं एम्परसेंड store-- 403 00:17:48,280 --> 00:17:50,620 एक्स आप क्या था एक्स के पता देता है। 404 00:17:50,620 --> 00:17:53,990 और एक्स के पते 0x00 था। 405 00:17:53,990 --> 00:17:57,300 तो इस सूचक अब वास्तव में पता है 406 00:17:57,300 --> 00:18:00,210 क्या था एक्स के अपने मूल्य के रूप में जमा। 407 00:18:00,210 --> 00:18:01,700 अब तक मेरे साथ सब लोग? 408 00:18:01,700 --> 00:18:02,320 कूल। 409 00:18:02,320 --> 00:18:04,670 >> और फिर, जिस तरह कि हम चाहते हैं कि नकल होगा, 410 00:18:04,670 --> 00:18:09,650 हम घोषणा और हस्ताक्षर करना होता तो है int प्रकार की स्मृति का एक और ब्लॉक। 411 00:18:09,650 --> 00:18:10,150 है ना? 412 00:18:10,150 --> 00:18:11,130 यह एक पूर्णांक के लिए किया जाएगा। 413 00:18:11,130 --> 00:18:14,130 यह प्रतिलिपि बुलाया जाएगा। 414 00:18:14,130 --> 00:18:17,120 और यदि आप ऐसा get-- लिए जा रहे हैं स्टार सूचक आप देता है 415 00:18:17,120 --> 00:18:19,080 उस पते से वास्तविक डेटा। 416 00:18:19,080 --> 00:18:22,490 एम्परसेंड आप पता देता है, स्टार आप डेटा देता है। 417 00:18:22,490 --> 00:18:24,630 सूचक पर तो डेटा। 418 00:18:24,630 --> 00:18:29,420 इस सूचक 5 की ओर इशारा कर रहा है। 419 00:18:29,420 --> 00:18:33,140 और इसलिए इस समारोह स्टार here-- pointer-- 420 00:18:33,140 --> 00:18:39,740 चला जाता है, में जो कुछ भी हो जाता है इस ब्लॉक और यहाँ यह भंडार। 421 00:18:39,740 --> 00:18:41,730 सब जानते हैं कि कैसे हुआ पर स्पष्ट? 422 00:18:41,730 --> 00:18:45,490 >> तो दो ऑपरेटरों सही there-- एम्परसेंड और star-- 423 00:18:45,490 --> 00:18:48,250 सिर्फ अलग बातें करते हैं संकेत पर इस्तेमाल किया। 424 00:18:48,250 --> 00:18:50,837 एक है कि आप पता हो जाता है, एक आप वास्तविक मूल्य हो जाता है। 425 00:18:50,837 --> 00:18:53,670 तो तुम लोग कर रहे हैं, जब यह सुनिश्चित कर लें आप दो को भ्रमित नहीं है कि कोडिंग 426 00:18:53,670 --> 00:18:55,650 वे एकदम अलग रहे हैं। 427 00:18:55,650 --> 00:18:58,880 यहाँ हम एक 0x01 का एक अच्छा उदाहरण है। 428 00:18:58,880 --> 00:19:01,207 यह एक बहुत अच्छा है छोटी संख्या को याद करने के लिए। 429 00:19:01,207 --> 00:19:03,040 अपने वास्तविक कंप्यूटर में आपके पास करने के लिए जा रहे हैं 430 00:19:03,040 --> 00:19:06,740 कुछ तो है कि एक विशाल गधे नंबर कि नहीं अच्छा है, नहीं सुखद है। 431 00:19:06,740 --> 00:19:08,280 यह कुछ कचरा मूल्य होने जा रहा है। 432 00:19:08,280 --> 00:19:10,920 और इसलिए यह वास्तव में करने जा रहा है वास्तव में गंदगी को अपने कार्यक्रम। 433 00:19:10,920 --> 00:19:12,670 यह बहुत महत्वपूर्ण है अब ठीक है कि हम 434 00:19:12,670 --> 00:19:16,150 जैसे why-- के लिए नीचे बुनियादी बातों में, शारीरिक रूप से जब क्या हो रहा है 435 00:19:16,150 --> 00:19:18,270 आप कोड के उन ब्लॉकों चला रहे हैं। 436 00:19:18,270 --> 00:19:19,120 हाँ Everyone--? 437 00:19:19,120 --> 00:19:21,425 >> दर्शकों: int x पूर्णांक प्रतिलिपि के बराबर होती है तो? 438 00:19:21,425 --> 00:19:24,650 439 00:19:24,650 --> 00:19:34,970 >> ANDI PENG: नहीं, क्योंकि इस मामले, पूर्णांक में एक्स-एक्स का मूल्य सही, 5 के बराबर होती है? 440 00:19:34,970 --> 00:19:40,546 और फिर पूर्णांक प्रतिलिपि 5 के बराबर होती है। 441 00:19:40,546 --> 00:19:43,420 तो अगर तुम थे करने के लिए उन्हें समानता के लिए एक दूसरे को वे पूर्णांकों रहे हैं क्योंकि, 442 00:19:43,420 --> 00:19:46,379 हाँ, वे सही करने के लिए मूल्यांकन होगा। 443 00:19:46,379 --> 00:19:49,670 लेकिन वे स्मृति में तार की तरह थे, डेविड उदाहरण के दौरान किया था कि एक, 444 00:19:49,670 --> 00:19:51,670 यह अलग बात है क्योंकि वे संदर्भित कर रहे हैं 445 00:19:51,670 --> 00:19:54,920 स्मृति में स्थानों के पते और वे झूठे करने के लिए समान होगा। 446 00:19:54,920 --> 00:20:00,070 >> आप कर रहे हैं, क्योंकि यह सच होगा तो यहाँ सीधे integers-- values-- की तुलना 447 00:20:00,070 --> 00:20:02,240 लेकिन दूसरों में आप कर रहे हैं संदर्भित अंक। 448 00:20:02,240 --> 00:20:05,290 एक स्ट्रिंग, एक सरणी में है, क्योंकि all-- हम इस later-- बारे में बात करेंगे 449 00:20:05,290 --> 00:20:09,940 लेकिन सरणी अनिवार्य रूप से सिर्फ एक है स्मृति में वर्ण का एक गुच्छा के लिए सूचक। 450 00:20:09,940 --> 00:20:11,610 तो उन थोड़ा अलग हैं। 451 00:20:11,610 --> 00:20:14,642 लेकिन इस मामले में, हाँ, आप ऐसा कर सकता है। 452 00:20:14,642 --> 00:20:17,354 >> दर्शकों: आप व्याख्या कर सकते हैं नकल का पता? 453 00:20:17,354 --> 00:20:18,020 ANDI PENG: हाँ। 454 00:20:18,020 --> 00:20:20,030 तो यह है कि just-- मैं है एक मूल्य में भर नहीं था 455 00:20:20,030 --> 00:20:23,022 लेकिन यह अन्य बस कुछ बेतरतीब है हम के बारे में परवाह नहीं है कि कचरा मूल्य। 456 00:20:23,022 --> 00:20:25,730 आप प्रोग्राम प्रारंभ क्योंकि एक बार आप हम वास्तव में नहीं है एहसास 457 00:20:25,730 --> 00:20:28,150 वास्तव में क्या परवाह वास्तविक पते, कर रहे हैं 458 00:20:28,150 --> 00:20:30,470 हम सिर्फ इतना पता करने की जरूरत है क्या पतों पर है। 459 00:20:30,470 --> 00:20:31,608 हाँ। 460 00:20:31,608 --> 00:20:36,034 >> दर्शकों: पर int करने के लिए अगले स्टार दूसरी लाइन, कि अलग than-- है 461 00:20:36,034 --> 00:20:36,700 ANDI PENG: हाँ। 462 00:20:36,700 --> 00:20:39,015 दर्शकों: --The dereferencing और स्टार संदर्भित? 463 00:20:39,015 --> 00:20:39,681 ANDI PENG: हाँ। 464 00:20:39,681 --> 00:20:43,180 C-- के लेखकों ताकि जो कोई भी की भाषा लिखने का फैसला किया C-- 465 00:20:43,180 --> 00:20:44,200 बहुत चालाक नहीं था। 466 00:20:44,200 --> 00:20:46,830 वे कोशिश में बहुत स्मार्ट नहीं थे हम इस करना चाहिए क्यों बाहर निकालने के लिए। 467 00:20:46,830 --> 00:20:49,413 अगर यह मैं था, मैं निश्चित रूप से होगा दो अलग अलग अक्षरों का उपयोग करें। 468 00:20:49,413 --> 00:20:52,100 लेकिन वे एक ही एक का उपयोग करने का फैसला किया। 469 00:20:52,100 --> 00:20:56,607 >> तो एक पूर्णांक के बाद स्टार, कि कंप्यूटर बताता है 470 00:20:56,607 --> 00:20:58,190 आप एक सूचक बनाने के बारे में कर रहे हैं। 471 00:20:58,190 --> 00:21:00,820 लेकिन अगर आप भिन्नता करने की कोशिश कर रहे हैं something-- दूसरे शब्दों में, 472 00:21:00,820 --> 00:21:03,780 पता करने के लिए जाना और पुल somewhere-- से डेटा 473 00:21:03,780 --> 00:21:05,070 स्टार अलग ढंग से प्रयोग किया जाता है। 474 00:21:05,070 --> 00:21:08,750 तो तुम लोग बस के बारे में सावधान रहना होगा न दो का उपयोग करता खिलवाड़। 475 00:21:08,750 --> 00:21:09,870 कूल। 476 00:21:09,870 --> 00:21:10,605 हाँ? 477 00:21:10,605 --> 00:21:14,680 >> दर्शकों: तो बस को दोहराने के लिए मैं following-- हूँ कि यह सुनिश्चित कर लें 478 00:21:14,680 --> 00:21:16,252 >> ANDI PENG: पूरी तरह से ठीक है। 479 00:21:16,252 --> 00:21:20,491 >> दर्शकों: के बाएं हाथ की ओर --in उस स्लाइड, हम जानते हैं कि एक बात करते हैं। 480 00:21:20,491 --> 00:21:23,124 हम एक पूर्णांक घोषित [अश्राव्य] 5 के बराबर हैं। 481 00:21:23,124 --> 00:21:23,790 ANDI PENG: हाँ। 482 00:21:23,790 --> 00:21:24,456 दर्शकों: ठीक है। 483 00:21:24,456 --> 00:21:28,960 और फिर हम एक पूर्णांक के स्टार बात है और कि ठीक है, एक तरह से हम पसंद कहना है कि, 484 00:21:28,960 --> 00:21:31,235 अब, एक पूर्णांक घोषित हम एक सूचक की घोषणा कर रहे हैं। 485 00:21:31,235 --> 00:21:32,110 ANDI PENG: सही ढंग से। 486 00:21:32,110 --> 00:21:32,410 सही है। 487 00:21:32,410 --> 00:21:32,710 >> दर्शकों: है ना? 488 00:21:32,710 --> 00:21:33,870 और हमारे सूचक पीटीआर है। 489 00:21:33,870 --> 00:21:34,080 >> ANDI PENG: हाँ। 490 00:21:34,080 --> 00:21:35,460 सूचक का नाम पीटीआर है। 491 00:21:35,460 --> 00:21:35,959 सूचक। 492 00:21:35,959 --> 00:21:39,000 दर्शकों: और फिर यह बस सी बताता है कि NX के बराबर होती है 493 00:21:39,000 --> 00:21:44,667 यह कम मूल्य का उपयोग करना चाहता है कि मूल्य कि पूर्णांक एक्स एक्स-पूर्णांक 494 00:21:44,667 --> 00:21:45,800 सौंपा गया था। 495 00:21:45,800 --> 00:21:49,050 >> ANDI PENG: सावधान रहें एम्परसेंड वास्तव में एक्स क्योंकि 496 00:21:49,050 --> 00:21:53,120 you-- कंप्यूटर बताता है कि आप एक्स क्या है की पता खींचने के लिए चाहते हैं। 497 00:21:53,120 --> 00:21:56,350 तो एम्परसेंड आप देता है पता, स्टार आप मूल्य देता है। 498 00:21:56,350 --> 00:21:58,255 >> दर्शकों: तो हम पता करना चाहते हैं। 499 00:21:58,255 --> 00:22:02,075 एक्स at-- था कहते हैं 500 00:22:02,075 --> 00:22:03,950 ANDI PENG: हम वास्तव में ठीक है, क्या एक्स है पता है? 501 00:22:03,950 --> 00:22:06,790 हम मैं कर रहा हूँ was-- कि एक्स क्योंकि मुझे पता है यह कर लेकिन चलो बस कहना है, 502 00:22:06,790 --> 00:22:08,760 मनमाने ढंग से, यह 0x00 था। 503 00:22:08,760 --> 00:22:09,590 है ना? 504 00:22:09,590 --> 00:22:14,120 इसलिए हम पता 0x00 है, और इसलिए हम जाने के लिए और एम्परसेंड एक्स जब, 505 00:22:14,120 --> 00:22:17,050 हम जानते हैं कि 0x00 करने के लिए मूल्यांकन करना चाहिए। 506 00:22:17,050 --> 00:22:20,810 कौन सा हम उस संग्रहीत क्यों है हमारे सूचक के मूल्य के रूप में। 507 00:22:20,810 --> 00:22:21,924 समझ आया? 508 00:22:21,924 --> 00:22:22,832 >> दर्शकों: हाँ। 509 00:22:22,832 --> 00:22:28,057 और नकल भिन्नता ptr-- को जाता है 510 00:22:28,057 --> 00:22:28,765 ANDI PENG: ठीक है। 511 00:22:28,765 --> 00:22:30,473 दर्शकों: --which है हम है कि एक सूचक 512 00:22:30,473 --> 00:22:35,220 हमें बताता है कि घोषित पूर्णांक x का पता। 513 00:22:35,220 --> 00:22:36,160 >> ANDI PENG: हाँ। 514 00:22:36,160 --> 00:22:39,272 >> दर्शकों: और इस एक मामले में, स्टार पीटीआर है 515 00:22:39,272 --> 00:22:41,256 5 के बराबर होती है, जो एक्स के मूल्य के बराबर। 516 00:22:41,256 --> 00:22:42,744 >> ANDI PENG: सही है। 517 00:22:42,744 --> 00:22:44,728 >> दर्शकों: कूल। 518 00:22:44,728 --> 00:22:49,382 और कहा कि पाने के लिए एक सरल तरीका है कि या है ही way-- कि 519 00:22:49,382 --> 00:22:51,840 ANDI PENG: इसलिए अभी यह हमारे लिए बहुत ही तार्किक प्रतीत नहीं होता 520 00:22:51,840 --> 00:22:54,690 कर रही है इस समय के सभी खर्च करने के लिए इस सुपर जटिल बात जब 521 00:22:54,690 --> 00:22:57,606 सब हम सिर्फ दो पैदा कर रहा है किया है 5 के मूल्य के साथ पूर्णांकों, है ना? 522 00:22:57,606 --> 00:22:58,900 यह मतलब नहीं है। 523 00:22:58,900 --> 00:23:03,060 लेकिन एक बार हम पर जायेंगे स्मृति आवंटन और-- हम करेंगे 524 00:23:03,060 --> 00:23:06,067 यह हो सकता है क्यों खत्म हो जाना आसान और उपयोगी है पर बाद में। 525 00:23:06,067 --> 00:23:09,150 मुझे लगता है हम अभी नहीं है का कहना है कि जब मेरा विश्वास करो आप के लिए इन मनमाना कार्य बना 526 00:23:09,150 --> 00:23:11,340 हम कर रहे हैं, क्योंकि लोगों को जानने के लिए आप के साथ गड़बड़ करने के लिए कोशिश कर रहा है। 527 00:23:11,340 --> 00:23:14,550 वहाँ वास्तव में इन सभी के लिए उपयोग करता है बातें और हम उनके बारे में बात करेंगे। 528 00:23:14,550 --> 00:23:14,950 >> दर्शकों: बहुत बढ़िया। 529 00:23:14,950 --> 00:23:15,350 >> ANDI PENG: हाँ। 530 00:23:15,350 --> 00:23:16,150 >> दर्शकों: [अश्राव्य]। 531 00:23:16,150 --> 00:23:16,450 >> ANDI PENG: अच्छा सवाल है। 532 00:23:16,450 --> 00:23:17,510 >> दर्शकों: [अश्राव्य]। 533 00:23:17,510 --> 00:23:18,000 >> ANDI PENG: यह नहीं है। 534 00:23:18,000 --> 00:23:18,666 यह सच नहीं है। 535 00:23:18,666 --> 00:23:21,050 दर्शकों: --two चर वह भी बराबर [सुनाई]। 536 00:23:21,050 --> 00:23:22,400 ठीक। 537 00:23:22,400 --> 00:23:23,070 >> ANDI PENG: हाँ। 538 00:23:23,070 --> 00:23:23,570 ठीक। 539 00:23:23,570 --> 00:23:25,249 मैं आगे बढ़ने से पहले, हर कोई स्पष्ट है? 540 00:23:25,249 --> 00:23:26,790 मैं तुम्हें थोड़ी देर में मिल गया, टेलर पता है। 541 00:23:26,790 --> 00:23:27,490 यह ठीक है। 542 00:23:27,490 --> 00:23:28,100 यह ऑनलाइन है। 543 00:23:28,100 --> 00:23:30,600 आप पहले 20 देखेंगे मिनट और आप सब अच्छा होगा। 544 00:23:30,600 --> 00:23:31,190 ठीक। 545 00:23:31,190 --> 00:23:31,690 कूल। 546 00:23:31,690 --> 00:23:35,597 547 00:23:35,597 --> 00:23:37,140 >> ठीक है। 548 00:23:37,140 --> 00:23:41,270 तो यह अनिवार्य है एक तरह से एक हम सिर्फ था कि इसी तरह की बात। 549 00:23:41,270 --> 00:23:43,100 यह सिर्फ एक चित्रमय रूप में है। 550 00:23:43,100 --> 00:23:47,070 आप क्या ट्रैक करने के लिए थे बस हो गया, पूर्णांक एक्स, 5 के बराबर होती है 551 00:23:47,070 --> 00:23:52,159 सब हम इस बिंदु है पर किया है int प्रकार के एक्स नामक एक चर पैदा करते हैं। 552 00:23:52,159 --> 00:23:54,200 हम स्टोर करने के लिए जा रहे हैं इसके बारे में 5 अंदर के मूल्य। 553 00:23:54,200 --> 00:23:57,366 हम नहीं है क्योंकि कोई सूचक नहीं है वास्तव में सही है, फिर भी एक सूचक बनाया? 554 00:23:57,366 --> 00:24:00,302 और फिर अगले में लाइन, पूर्णांक स्टार सूचक, 555 00:24:00,302 --> 00:24:02,760 हम वास्तव में कर रहे है कि जहां शारीरिक रूप से सूचक बनाने 556 00:24:02,760 --> 00:24:05,010 और हम उस स्थापित कर रहे हैं , या संदर्भित करने के लिए बराबर 557 00:24:05,010 --> 00:24:07,250 एम्परसेंड एक्स के सूचक,। 558 00:24:07,250 --> 00:24:10,002 जो जहां जहां भी है स्मृति इस किया हुआ है। 559 00:24:10,002 --> 00:24:12,210 मैं वास्तव में परेशान नहीं किया एक मूल्य इस समय तक बना रही है। 560 00:24:12,210 --> 00:24:14,900 लेकिन इस मामले में, उस बिंदु आपको लगता है कि के बराबर होगा। 561 00:24:14,900 --> 00:24:18,060 >> और फिर वहाँ नीचे, स्टार सूचक dereferencing है। 562 00:24:18,060 --> 00:24:20,310 हम कर रहे हैं कि जहां जानकारी खींच रहा है। 563 00:24:20,310 --> 00:24:24,170 तो एक्स पर कि मूल्य वास्तव में है 35 के बराबर होने जा रहा है। 564 00:24:24,170 --> 00:24:30,390 इस बिंदु पर तो, हम अनिवार्य है सिर्फ 35 के लिए एक्स reinitialized 565 00:24:30,390 --> 00:24:32,320 वास्तव में एक्स को छूने के बिना। 566 00:24:32,320 --> 00:24:34,560 बस सूचक के माध्यम से कि, एक्स की ओर इशारा किया गया था, 567 00:24:34,560 --> 00:24:36,910 हम वास्तव में था क्या एक्स बदल सकते हैं। 568 00:24:36,910 --> 00:24:38,420 मैं भी इस बाहर आकर्षित करने के लिए जा रहा हूँ। 569 00:24:38,420 --> 00:24:52,200 >> यहाँ तो हम बना लिया है यहाँ कुछ यादृच्छिक पता। 570 00:24:52,200 --> 00:24:54,734 चलो बस फिर 0x00 कहते हैं। 571 00:24:54,734 --> 00:24:56,150 चलो बस उस पते चलो कहते हैं। 572 00:24:56,150 --> 00:25:00,830 और हम एक पूर्णांक नामित एक्स बनाया है और मैं इसे करने के लिए सौंपा गया है, मूल्य 5 है। 573 00:25:00,830 --> 00:25:03,840 दूसरी पंक्ति में, पूर्णांक pointer-- तो अब हम है 574 00:25:03,840 --> 00:25:07,820 यह दूसरी बात है यहां एक pointer-- बुलाया 575 00:25:07,820 --> 00:25:14,310 और हम चलो बस कहना है-- जा रहे हैं यह कुछ अन्य यादृच्छिक स्मृति पता है। 576 00:25:14,310 --> 00:25:18,460 >> इसलिए हम इस सेट करने के लिए जा रहे हैं जो कुछ भी करने के लिए बराबर था। 577 00:25:18,460 --> 00:25:21,540 578 00:25:21,540 --> 00:25:25,880 और इस सूचक जा रहा है एक्स के मान की ओर इंगित 579 00:25:25,880 --> 00:25:30,090 और फिर, हम बदलते हैं the-- हम स्टार सूचक करते हैं, 580 00:25:30,090 --> 00:25:32,800 कि जा रहा है हमारे सूचक के मूल्य। 581 00:25:32,800 --> 00:25:36,979 इस मामले में, यह ट्रैक करने के लिए जा रहा है इस एक्स के इस मूल्य को खत्म करने के तीर 582 00:25:36,979 --> 00:25:38,395 और यह 35 के लिए इसे बदलने के लिए जा रहा है। 583 00:25:38,395 --> 00:25:41,400 584 00:25:41,400 --> 00:25:44,760 प्रभावी ढंग से, हम बस बदल एक्स छूने के बिना एक्स। 585 00:25:44,760 --> 00:25:48,970 सिर्फ संदर्भित संकेत के माध्यम से, हम जाकर x का मान बदल सकते हैं। 586 00:25:48,970 --> 00:25:50,050 समझ आया? 587 00:25:50,050 --> 00:25:55,200 >> तो इस तरह से, हम वास्तव में नाम बदल सकते हैं और rechange और पुन: असाइन मूल्यों 588 00:25:55,200 --> 00:25:57,750 हम नहीं था कि चीजों को वास्तव में खुद बनाते हैं। 589 00:25:57,750 --> 00:26:00,925 कि हर किसी के लिए मतलब? 590 00:26:00,925 --> 00:26:01,425 कूल। 591 00:26:01,425 --> 00:26:04,450 592 00:26:04,450 --> 00:26:05,310 ठीक। 593 00:26:05,310 --> 00:26:08,210 यहां इतनी जटिल ग्राफिक। 594 00:26:08,210 --> 00:26:09,360 लाइन से लाइन जाओ। 595 00:26:09,360 --> 00:26:12,055 अनिवार्य रूप से, सिर्फ सटीक करना मैं बस किया है कि एक ही बात है। 596 00:26:12,055 --> 00:26:15,977 597 00:26:15,977 --> 00:26:17,810 मैं आगे बढ़ने से पहले, मैं वास्तव में सिर्फ बनाना चाहते 598 00:26:17,810 --> 00:26:19,370 यकीन है कि हर कोई इस पर वास्तव में स्पष्ट है। 599 00:26:19,370 --> 00:26:26,260 यहां तक ​​तो, हम है कि कोड है पूर्णांक एक 3 के बराबर होती है, बी 4 के बराबर होती है, ग 5 के बराबर होती है। 600 00:26:26,260 --> 00:26:33,130 इसलिए हम नामित तीन पूर्णांकों बना लिया है ए, बी और 3, 4 और 5 के बराबर हैं कि सी। 601 00:26:33,130 --> 00:26:38,460 और फिर हम तीन संकेत बना रहे हैं उन चर से प्रत्येक के लिए उस बिंदु। 602 00:26:38,460 --> 00:26:41,760 >> और अब हम जा रहे हैं अनिवार्य रूप से ऊपर जाने के लिए 603 00:26:41,760 --> 00:26:44,240 आप उन पर काम करते हैं, तब क्या होता है। 604 00:26:44,240 --> 00:26:45,490 इसलिए उन्हें बाहर निकालना। 605 00:26:45,490 --> 00:26:48,156 मैं नहीं paper-- के एक पत्रक ले लो आप लोग सब कागज है, तो पता है, 606 00:26:48,156 --> 00:26:50,930 लेकिन आप उन लोगों के हो सकता है, जो नहीं है करते हैं, जो आप के उन लोगों से उधार ले। 607 00:26:50,930 --> 00:26:53,580 कागज की चादरों लो और लाइन से लाइन जाना। 608 00:26:53,580 --> 00:26:59,390 और अगर आप ऐसा है कि हर आपरेशन में, मैं तुम लोगों को वास्तव में बाहर लिखना चाहते हैं 609 00:26:59,390 --> 00:27:00,800 इस बिंदु पर ए, बी और सी में क्या है। 610 00:27:00,800 --> 00:27:03,550 पतों क्या हैं और क्या कर रहे हैं ए, बी और सी के लिए कहना है कि संकेत 611 00:27:03,550 --> 00:27:04,410 इस समय? 612 00:27:04,410 --> 00:27:07,150 >> और तो उम्मीद है कि इस एक तरह से तुम लोगों को कदम होगा 613 00:27:07,150 --> 00:27:08,900 संकेत के बारे में सोचने के लिए कैसे के माध्यम से। 614 00:27:08,900 --> 00:27:10,650 हम जाने के लिए नहीं जा रहे हैं उनमें से सभी के माध्यम से। 615 00:27:10,650 --> 00:27:13,450 शायद मैं आप five-- दे दूँगा जैसे, तीन मिनट। 616 00:27:13,450 --> 00:27:14,660 पहले कुछ पर शुरू हो जाओ। 617 00:27:14,660 --> 00:28:10,410 618 00:28:10,410 --> 00:28:10,959 ओह। 619 00:28:10,959 --> 00:28:11,459 उफ़। 620 00:28:11,459 --> 00:28:20,940 621 00:28:20,940 --> 00:28:26,950 >> दर्शकों: दूसरी पंक्ति में, क्यों स्टार [सुनाई] चर नहीं है? 622 00:28:26,950 --> 00:28:29,410 >> ANDI PENG: में याद रखें ऑपरेटरों, पहले सप्ताह में, 623 00:28:29,410 --> 00:28:31,730 हम कैसे के बारे में बात की थी आप प्लस बराबरी करते हैं, 624 00:28:31,730 --> 00:28:35,320 वह सिर्फ एक एक से अधिक ग के बराबर होती है इसका मतलब है। 625 00:28:35,320 --> 00:28:39,370 इस case-- में तो यह एक और है स्टार इस्तेमाल किया जा सकता है, जिसमें तरीका है। 626 00:28:39,370 --> 00:28:42,040 संदर्भित करने के अलावा और संकेत घोषित करने, 627 00:28:42,040 --> 00:28:44,440 यह भी लगता है कि यह याद रखना गुणन का मतलब है। 628 00:28:44,440 --> 00:28:46,575 तो इस मामले में, यह सिर्फ होता एक एक बार सी के बराबर होती हो। 629 00:28:46,575 --> 00:28:48,450 यही कारण है कि बस के रूप में अलग है कि लिखने का तरीका है। 630 00:28:48,450 --> 00:28:49,776 >> दर्शकों: एक एक बार सी के बराबर होती है। 631 00:28:49,776 --> 00:28:50,442 ANDI PENG: हाँ। 632 00:28:50,442 --> 00:30:43,488 633 00:30:43,488 --> 00:30:47,130 >> दर्शकों: यह तो क्या इसका मतलब यह है यह एक एम्परसेंड पत्र कहते हैं? 634 00:30:47,130 --> 00:30:50,900 >> ANDI PENG: एम्परसेंड साधन क्या आप कर रहे that-- लिए जा रहे हैं 635 00:30:50,900 --> 00:30:54,760 सूचक है जगह पर जा रहे इशारा करते हुए और पता खींच रहा है। 636 00:30:54,760 --> 00:31:01,270 तो एम्परसेंड आप पता देता है, स्टार वहाँ आप वास्तविक मूल्य देता है। 637 00:31:01,270 --> 00:31:03,090 >> दर्शकों: हम हैं लाइन से लाइन पर निर्माण? 638 00:31:03,090 --> 00:31:04,881 >> ANDI PENG: आप कर रहे हैं लाइन से लाइन पर निर्माण। 639 00:31:04,881 --> 00:31:07,260 तो बस में एक लाइन जाना एक समय और then-- आप 640 00:31:07,260 --> 00:31:08,470 के बारे में चिंता करने की जरूरत नहीं है पूरी बात खत्म। 641 00:31:08,470 --> 00:31:10,428 के माध्यम से प्राप्त करने की कोशिश करते हैं शायद दो, तीन लाइनों 642 00:31:10,428 --> 00:31:12,445 और फिर हम बुलाई और यह पूरा करेंगे। 643 00:31:12,445 --> 00:31:15,530 644 00:31:15,530 --> 00:31:17,470 >> तुम लोगों को खो रहे हैं, तो यह पूरी तरह से ठीक है। 645 00:31:17,470 --> 00:31:19,334 यह एक बहुत कठिन अवधारणा है। 646 00:31:19,334 --> 00:31:22,500 तुम लोगों को वर्ग चिंतित हैं कि अगर डेविड कह रहा था जैसे इस तरह है, 647 00:31:22,500 --> 00:31:23,190 यदि ऐसा नहीं होता। 648 00:31:23,190 --> 00:31:25,949 हम तक पहुंच रहे हैं कठिनाई के वैचारिक शिखर 649 00:31:25,949 --> 00:31:27,740 और फिर यह जा रहा है नीचे की ओर झुका हुआ हो। 650 00:31:27,740 --> 00:31:29,110 तो तुम लोग लगभग देखते हैं। 651 00:31:29,110 --> 00:31:31,080 हम कैंडी के बहुत से प्राप्त करने के लिए है कूबड़ के माध्यम से तुम लोग। 652 00:31:31,080 --> 00:31:32,940 मैं पतन के बाद बहुत ज्यादा लगता है हम कूबड़ खत्म हो जाएगा तोड़ने 653 00:31:32,940 --> 00:31:34,220 और जीवन फिर से ठीक हो जाएगा। 654 00:31:34,220 --> 00:31:36,580 सब पर तो कोई चिंता नहीं। 655 00:31:36,580 --> 00:32:30,732 656 00:32:30,732 --> 00:32:31,232 ठीक है। 657 00:32:31,232 --> 00:32:33,650 मैं तुम लोगों को 20 दे दूँगा अधिक सेकंड लपेट। 658 00:32:33,650 --> 00:33:12,560 659 00:33:12,560 --> 00:33:13,330 ठीक। 660 00:33:13,330 --> 00:33:13,830 ठीक है। 661 00:33:13,830 --> 00:33:16,370 चलो इस पर एक चाकू ले चलो। 662 00:33:16,370 --> 00:33:19,430 आप लोगों के रूप में, मुझे जवाब दे मैं बस में उन्हें टाइप करने के लिए जा रहा हूँ। 663 00:33:19,430 --> 00:33:22,140 और उम्मीद है कि we-- मैं कर सकता हूँ? 664 00:33:22,140 --> 00:33:23,317 मैं वास्तव में यह नहीं लिख सकते हैं। 665 00:33:23,317 --> 00:33:24,400 मैं यह बोर्ड पर आकर्षित करेंगे। 666 00:33:24,400 --> 00:33:31,420 667 00:33:31,420 --> 00:33:35,900 >> यहाँ तो यह पहली पंक्ति में हम एक बी स्टार ग के बराबर होती है। 668 00:33:35,900 --> 00:33:38,060 इसके अलावा इलियट लाया एक वास्तव में, वास्तव में अच्छी बात है। 669 00:33:38,060 --> 00:33:42,500 मैं करने के लिए इसके अलावा में भूल गया कि क्योंकि दो तरीकों से हम स्टार प्रतीक का उपयोग कर सकते हैं, 670 00:33:42,500 --> 00:33:43,750 एक तीसरा रास्ता वास्तव में नहीं है। 671 00:33:43,750 --> 00:33:44,990 गुणन। 672 00:33:44,990 --> 00:33:51,380 और तो सिर्फ इसलिए उलझन में नहीं मिलता एक सितारा है कि उपयोग करने के पहले तरीका है। 673 00:33:51,380 --> 00:33:54,470 यह सिर्फ कंप्यूटर बता रहा है मैं एक सूचक बनाने के बारे में हूँ कि। 674 00:33:54,470 --> 00:34:00,600 >> ऐसा करके दूसरा तरीका अपने सूचक का सितारा, 675 00:34:00,600 --> 00:34:04,320 कि आप चाहते हैं कि सूचक बताता है कि सूचक पर डेटा का उपयोग करने के लिए। 676 00:34:04,320 --> 00:34:06,710 और फिर, ज़ाहिर है, वहाँ सिर्फ साधारण गुणा 677 00:34:06,710 --> 00:34:09,564 दो संख्याओं के बीच आपको बताता है कि मैं दो गुणा करने के लिए चाहते हैं। 678 00:34:09,564 --> 00:34:11,730 इसलिए तरीके का एक बहुत कुछ है हम स्टार प्रतीक का उपयोग कर सकते हैं। 679 00:34:11,730 --> 00:34:13,830 उलझन में नहीं मिलता। 680 00:34:13,830 --> 00:34:16,991 जरा सोचो कि तुम लोग समझते हैं कि यह सुनिश्चित कर लें वास्तव में क्या उन तीनों को 681 00:34:16,991 --> 00:34:18,630 कर रहे हैं। 682 00:34:18,630 --> 00:34:22,920 >> , इस पहली पंक्ति में तो एक ख बार सी के बराबर होती है। 683 00:34:22,920 --> 00:34:26,850 तो चलो के माध्यम से चलते हैं क्या ए, सी क्या है, ख क्या है? 684 00:34:26,850 --> 00:34:32,600 और एक के सूचक, क्या है ख के लिए सूचक, और ग के लिए सूचक? 685 00:34:32,600 --> 00:34:34,050 बराबरी उन सब क्या कर रहे हैं? 686 00:34:34,050 --> 00:34:34,600 ठीक। 687 00:34:34,600 --> 00:34:38,650 >> एक 3 के बराबर होती है तो के साथ हम शुरू, बी 4 के बराबर होती है, और सी सही, 5 के बराबर होती है? 688 00:34:38,650 --> 00:34:42,230 कर सकते हैं, कि पहली पंक्ति के बाद तो किसी को क्या एक है मुझे बताओ? 689 00:34:42,230 --> 00:34:42,730 हाँ। 690 00:34:42,730 --> 00:34:44,229 सिर्फ उत्तर बाहर चिल्लाओ करने के लिए स्वतंत्र महसूस हो रहा है। 691 00:34:44,229 --> 00:34:44,929 20। 692 00:34:44,929 --> 00:34:45,550 अच्छा। 693 00:34:45,550 --> 00:34:46,410 बी क्या है? 694 00:34:46,410 --> 00:34:47,777 >> दर्शकों: 4। 695 00:34:47,777 --> 00:34:48,610 ANDI PENG: सी क्या है? 696 00:34:48,610 --> 00:34:49,659 दर्शकों: 5। 697 00:34:49,659 --> 00:34:50,770 ANDI PENG: याय। 698 00:34:50,770 --> 00:34:51,639 अच्छा। 699 00:34:51,639 --> 00:34:55,707 देहात, पंजाब, और पीसी क्या हैं? 700 00:34:55,707 --> 00:34:58,564 >> दर्शकों: 000001 और 002? 701 00:34:58,564 --> 00:34:59,230 ANDI PENG: हाँ। 702 00:34:59,230 --> 00:35:02,390 एक चाल सवाल की इतनी तरह लेकिन वास्तव में नहीं क्योंकि यहाँ मैं 703 00:35:02,390 --> 00:35:04,760 वास्तविक यादें बाहर खींचा। 704 00:35:04,760 --> 00:35:08,520 लेकिन, क्योंकि एक उदाहरण के लिए, हम नहीं करते वास्तव में उन लोगों की संख्या क्या कर रहे हैं, 705 00:35:08,520 --> 00:35:10,326 हम सिर्फ एम्परसेंड कह सकते हैं। 706 00:35:10,326 --> 00:35:12,200 मैं भी नहीं जानता कि यदि मैं एक एम्परसेंड आकर्षित कर सकते हैं। 707 00:35:12,200 --> 00:35:18,022 यह like-- है कि आप इसे कैसे करते हैं? 708 00:35:18,022 --> 00:35:19,790 >> दर्शकों: एक आठ ड्राइंग की तरह। 709 00:35:19,790 --> 00:35:20,870 >> ANDI PENG: एक आठ की तरह। 710 00:35:20,870 --> 00:35:21,580 उस तरह। 711 00:35:21,580 --> 00:35:22,080 ठीक। 712 00:35:22,080 --> 00:35:23,446 दर्शकों: बिंगो। 713 00:35:23,446 --> 00:35:25,350 >> ANDI PENG: यह हत्या। 714 00:35:25,350 --> 00:35:28,202 तो एक एम्परसेंड, आप कर सकते हैं बस। 715 00:35:28,202 --> 00:35:30,410 हम वास्तव में नहीं है क्योंकि परवाह क्या इस बात का मूल्य 716 00:35:30,410 --> 00:35:32,880 है, और यह कुछ लंबा है गधा मूल्य वैसे भी, 717 00:35:32,880 --> 00:35:35,220 हम सिर्फ giong उपयोग कर रहे हैं एम्परसेंड एक कहने के लिए। 718 00:35:35,220 --> 00:35:37,024 तब पीबी क्या है? 719 00:35:37,024 --> 00:35:37,940 दर्शकों: [अश्राव्य]। 720 00:35:37,940 --> 00:35:38,606 ANDI PENG: हाँ। 721 00:35:38,606 --> 00:35:42,490 722 00:35:42,490 --> 00:35:43,500 कूल। 723 00:35:43,500 --> 00:35:44,010 ठीक है। 724 00:35:44,010 --> 00:35:44,770 आसान पहली पंक्ति। 725 00:35:44,770 --> 00:35:45,270 वी गॉट दिस। 726 00:35:45,270 --> 00:35:46,330 सूचक आसान कर रहे हैं। 727 00:35:46,330 --> 00:35:47,450 यह ठीक है। 728 00:35:47,450 --> 00:35:48,740 >> दूसरी पंक्ति। 729 00:35:48,740 --> 00:35:52,400 और तो स्टार के बराबर होती ही है एक कहावत के रूप में बात एक बार सी के बराबर होती है। 730 00:35:52,400 --> 00:35:54,730 यह लेखन का सिर्फ एक आसान तरीका है। 731 00:35:54,730 --> 00:35:57,170 इसलिए हम बनाने की कोशिश नहीं कर रहे हैं एक बिंदु या यहाँ कुछ भी। 732 00:35:57,170 --> 00:36:00,600 तो पहली पंक्ति के साथ किया। 733 00:36:00,600 --> 00:36:05,144 एक दूसरी लाइन पर क्या है के बाद आप एक बार ग के बराबर होती है ऐसा? 734 00:36:05,144 --> 00:36:05,777 >> दर्शकों: 100? 735 00:36:05,777 --> 00:36:06,610 ANDI PENG: यह 100 है। 736 00:36:06,610 --> 00:36:07,795 अच्छा। 737 00:36:07,795 --> 00:36:08,864 कैसे ख के बारे में? 738 00:36:08,864 --> 00:36:10,256 >> दर्शकों: [अश्राव्य]। 739 00:36:10,256 --> 00:36:11,335 >> ANDI PENG: कैसे सी के बारे में? 740 00:36:11,335 --> 00:36:12,490 >> दर्शकों: [अश्राव्य]। 741 00:36:12,490 --> 00:36:14,530 >> ANDI PENG: और कैसे संकेत के बारे में? 742 00:36:14,530 --> 00:36:15,800 ठीक है, एक ही they-- हैं? 743 00:36:15,800 --> 00:36:20,640 744 00:36:20,640 --> 00:36:21,940 ठीक। 745 00:36:21,940 --> 00:36:23,820 अब तीसरी लाइन। 746 00:36:23,820 --> 00:36:26,400 747 00:36:26,400 --> 00:36:27,350 थोड़ा पेचीदा मामला। 748 00:36:27,350 --> 00:36:29,760 बी स्टार देहात के बराबर होती है। 749 00:36:29,760 --> 00:36:34,189 किसी को पहला, मुझे बता सकते हैं, क्या स्टार देहात बराबर करता है? 750 00:36:34,189 --> 00:36:36,159 >> दर्शकों: यह मूल्य है कि एक पर संग्रहीत किया जाता है। 751 00:36:36,159 --> 00:36:36,950 ANDI PENG: बिल्कुल। 752 00:36:36,950 --> 00:36:38,070 और मूल्य क्या है कि एक पर संग्रहीत किया जाता है? 753 00:36:38,070 --> 00:36:38,860 >> दर्शकों: 100। 754 00:36:38,860 --> 00:36:39,660 >> ANDI PENG: ठीक है। 755 00:36:39,660 --> 00:36:43,462 तो एक के बाद क्या होगा कोड की है कि लाइन को क्रियान्वित? 756 00:36:43,462 --> 00:36:44,760 >> दर्शकों: [अश्राव्य]। 757 00:36:44,760 --> 00:36:45,870 >> ANDI PENG: ख के बारे में क्या? 758 00:36:45,870 --> 00:36:46,780 >> दर्शकों: 100। 759 00:36:46,780 --> 00:36:47,620 >> ANDI PENG: हाँ। 760 00:36:47,620 --> 00:36:49,995 और फिर सब कुछ है बहुत ज्यादा अपरिवर्तित, है ना? 761 00:36:49,995 --> 00:36:51,239 हम इसे छुआ तक नहीं था क्योंकि। 762 00:36:51,239 --> 00:36:55,370 763 00:36:55,370 --> 00:36:57,010 कूल। 764 00:36:57,010 --> 00:36:58,390 चौथी लाइन। 765 00:36:58,390 --> 00:37:00,390 थोड़ा और अधिक जटिल है। 766 00:37:00,390 --> 00:37:06,910 तो pc-- एक बार फिर, पीसी सूचक है कि देहात के बराबर होती है c-- की ओर इशारा किया। 767 00:37:06,910 --> 00:37:11,520 768 00:37:11,520 --> 00:37:12,360 क्या है एक? 769 00:37:12,360 --> 00:37:14,525 >> दर्शकों: 100। 770 00:37:14,525 --> 00:37:15,400 ANDI PENG: ख क्या है? 771 00:37:15,400 --> 00:37:17,920 दर्शकों: 100। 772 00:37:17,920 --> 00:37:18,862 ANDI PENG: सी क्या है? 773 00:37:18,862 --> 00:37:19,993 दर्शकों: 5। 774 00:37:19,993 --> 00:37:20,867 ANDI PENG: देहात क्या है? 775 00:37:20,867 --> 00:37:22,775 दर्शकों: एक एम्परसेंड। 776 00:37:22,775 --> 00:37:23,730 ANDI PENG: पंजाब? 777 00:37:23,730 --> 00:37:26,010 दर्शकों: एम्परसेंड बी। 778 00:37:26,010 --> 00:37:27,730 ANDI PENG: और मुश्किल, पीसी अब क्या है? 779 00:37:27,730 --> 00:37:28,410 दर्शकों: एक एम्परसेंड। 780 00:37:28,410 --> 00:37:29,034 ANDI PENG: याय। 781 00:37:29,034 --> 00:37:31,790 वू हू। 782 00:37:31,790 --> 00:37:32,500 तुम लोग देखते हैं? 783 00:37:32,500 --> 00:37:33,282 यह सब ठीक है। 784 00:37:33,282 --> 00:37:33,990 यह भी बुरा नहीं है। 785 00:37:33,990 --> 00:37:38,730 यह सब नहीं है, तो हम और अधिक कैंडी ठीक है, लेकिन मैं यह सब ठीक है। 786 00:37:38,730 --> 00:37:41,900 और हम सिर्फ एक पर जाने के लिए जा रहे हैं हम कठिन वाले हिट से पहले और अधिक। 787 00:37:41,900 --> 00:37:43,710 जवाब मैं यहाँ तक है। 788 00:37:43,710 --> 00:37:47,050 >> मूलतः, यह पता है कि सिर्फ इस बात पर गणित की तरह। 789 00:37:47,050 --> 00:37:53,240 आप एक तरह सरल समीकरण है जब इसके अलावा बी, एक बार सी, ऐसा करने के लिए आसान है। 790 00:37:53,240 --> 00:37:56,390 और तुम पर विस्तार शुरू करने के समय यह सिर्फ कार्रवाई के आदेश जाओ। 791 00:37:56,390 --> 00:37:57,830 पहले की तरह ही बात है। 792 00:37:57,830 --> 00:38:00,030 >> ट्रैक की यदि रखें अपने स्टार कुछ सामने है। 793 00:38:00,030 --> 00:38:01,640 यही कारण है कि आप मूल्य बताता है। 794 00:38:01,640 --> 00:38:04,640 आप एक और पहले है, तो कुछ है, तो यह आपको पता बताता है। 795 00:38:04,640 --> 00:38:07,860 और अगर आप आवंटित करना चाहिए या तो संकेत या कि मूल्य। 796 00:38:07,860 --> 00:38:11,260 तो चलो इस पर चलें पिछले एक असली जल्दी। 797 00:38:11,260 --> 00:38:12,520 नहीं यह पिछले एक, माफ करना। 798 00:38:12,520 --> 00:38:13,340 असल में, तुम लोगों को चुन सकते हैं। 799 00:38:13,340 --> 00:38:16,006 जो एक तुम लोग जाना चाहते हो शेष तीन से बाहर के ऊपर 800 00:38:16,006 --> 00:38:17,449 जो हमारे पास है? 801 00:38:17,449 --> 00:38:20,490 मुझे लगता है हम कर सकते हैं बस नहीं लगता हम सिर्फ लाइन पर कूद नहीं कर सकते हैं। 802 00:38:20,490 --> 00:38:21,000 ठीक। 803 00:38:21,000 --> 00:38:25,700 तुम लोग, एक विकल्प नहीं है एक पिछले करने के लिए यह सिर्फ तीसरी है। 804 00:38:25,700 --> 00:38:29,228 >> स्टार पीसी बी बार सी के बराबर होती है। 805 00:38:29,228 --> 00:38:30,144 >> दर्शकों: स्टार पीबी? 806 00:38:30,144 --> 00:38:32,117 >> दर्शकों: स्टार PB। 807 00:38:32,117 --> 00:38:32,825 ANDI PENG: क्षमा करें? 808 00:38:32,825 --> 00:38:33,599 दर्शकों: स्टार PB। 809 00:38:33,599 --> 00:38:34,390 ANDI PENG: स्टार PB। 810 00:38:34,390 --> 00:38:35,100 मेरी गलती है। 811 00:38:35,100 --> 00:38:38,647 स्टार पंजाब ख बार सी के बराबर होती है। 812 00:38:38,647 --> 00:38:40,230 मैं तुम लोगों को 10 सेकंड देने के लिए जा रहा हूँ। 813 00:38:40,230 --> 00:38:41,140 बस जल्दी से लगता है। 814 00:38:41,140 --> 00:38:43,450 यह हम ऐसा है कि अब तक, क्या हम बाद क्या होता है 815 00:38:43,450 --> 00:38:46,770 सही है कि वहाँ पांचवें लाइन पर अमल? 816 00:38:46,770 --> 00:38:54,030 817 00:38:54,030 --> 00:38:55,980 ठीक। 818 00:38:55,980 --> 00:38:58,720 क्या है एक? 819 00:38:58,720 --> 00:38:59,560 >> दर्शकों: 100। 820 00:38:59,560 --> 00:39:02,470 >> ANDI PENG: 100। 821 00:39:02,470 --> 00:39:03,610 बी अब क्या है? 822 00:39:03,610 --> 00:39:04,330 >> दर्शकों: 500। 823 00:39:04,330 --> 00:39:05,250 >> ANDI PENG: अच्छा। 824 00:39:05,250 --> 00:39:08,570 किसी को समझाने के लिए चाहता है मुझे करने के लिए 500 क्यों है? 825 00:39:08,570 --> 00:39:10,540 मुझे लगता है हम की तरह नहीं लग रहा है वास्तव में कभी ख को छुआ। 826 00:39:10,540 --> 00:39:13,950 हम कैसे बदलने के लिए प्रबंध किया था ख को छूने के बिना ख का मूल्य है? 827 00:39:13,950 --> 00:39:15,090 हाँ? 828 00:39:15,090 --> 00:39:18,239 >> दर्शकों: क्योंकि स्टार पीबी pb-- पर मूल्य का मतलब 829 00:39:18,239 --> 00:39:19,030 ANDI PENG: बिल्कुल। 830 00:39:19,030 --> 00:39:19,790 दर्शकों: --which ख है। 831 00:39:19,790 --> 00:39:20,581 ANDI PENG: बिल्कुल। 832 00:39:20,581 --> 00:39:26,880 तो यहाँ हमारे चित्र में, हमारे सूचक पंजाब वास्तव में यह सही करने के लिए इशारा कर रहा है 833 00:39:26,880 --> 00:39:28,690 यहां, जो वास्तविक भौतिक ख है। 834 00:39:28,690 --> 00:39:31,340 और तो तुम जाओ और यदि आप स्टार पीबी करते हैं, वह है, 835 00:39:31,340 --> 00:39:36,080 अपने सूचक के अपने तीर निम्नलिखित और शारीरिक रूप से ख के मूल्य बदल रहा है। 836 00:39:36,080 --> 00:39:39,532 तो यह है कि हम करने के लिए बदल ख क्यों है वास्तव में ख को छूने के बिना 500। 837 00:39:39,532 --> 00:39:42,490 और फिर बाकी सब रहता है हम चाहते हैं कि छुआ तक नहीं था क्योंकि एक ही है। 838 00:39:42,490 --> 00:39:47,060 839 00:39:47,060 --> 00:39:48,530 यही कारण है कि ख है। 840 00:39:48,530 --> 00:39:49,420 कूल। 841 00:39:49,420 --> 00:39:50,485 और फिर-- 842 00:39:50,485 --> 00:39:51,910 >> दर्शकों: मैं सिर्फ एक सवाल है। 843 00:39:51,910 --> 00:39:52,730 >> ANDI PENG: हाँ? 844 00:39:52,730 --> 00:39:56,000 >> दर्शकों: चूंकि we've-- एम्परसेंड ग वहाँ नहीं रह गया है, 845 00:39:56,000 --> 00:39:59,620 कि एम्परसेंड एक मतलब होता है अब एक ही बात पर रीडायरेक्ट? 846 00:39:59,620 --> 00:40:00,520 >> ANDI PENG: हाँ। 847 00:40:00,520 --> 00:40:01,582 So-- 848 00:40:01,582 --> 00:40:03,540 दर्शकों: तो तीर एक तरह से सिर्फ और-- चलता है 849 00:40:03,540 --> 00:40:04,030 ANDI PENG: तो essentially-- 850 00:40:04,030 --> 00:40:05,405 दर्शकों: हम access-- नहीं कर सकते --now 851 00:40:05,405 --> 00:40:08,387 ANDI PENG: --when हम मैं जालसाज on-- भिन्नता सी। 852 00:40:08,387 --> 00:40:08,970 वह क्या था? 853 00:40:08,970 --> 00:40:09,560 तीसरी लाइन? 854 00:40:09,560 --> 00:40:10,060 चौथा। 855 00:40:10,060 --> 00:40:11,490 चौथी लाइन। 856 00:40:11,490 --> 00:40:14,910 सभी हमने किया, अनिवार्य रूप से किया गया था, इस तीर को बदल 857 00:40:14,910 --> 00:40:16,680 और यह एक के बजाय की ओर इशारा किया है। 858 00:40:16,680 --> 00:40:19,480 >> दर्शकों: तो हम अब और सी का उपयोग नहीं कर सकते हैं। 859 00:40:19,480 --> 00:40:22,520 >> ANDI PENG: यदि आप इस किया था, तो सटीक नंबर, आप इसे उपयोग कर सकता। 860 00:40:22,520 --> 00:40:23,260 लेकिन कोई नहीं। 861 00:40:23,260 --> 00:40:25,680 हम एक सूचक नहीं है अब और ग की ओर इशारा करते हुए। 862 00:40:25,680 --> 00:40:27,430 अगर तुम चाहते थे, मुझे लगता है , आप इसे पहुँच के लिए फिर से 863 00:40:27,430 --> 00:40:30,390 एक और पैदा होगा ग को बताया कि फिर सूचक 864 00:40:30,390 --> 00:40:32,856 या इस dereferenced और पीठ की ओर इशारा किया। 865 00:40:32,856 --> 00:40:35,730 तो, नहीं, अभी के रूप में, तीन संकेत दिए गए, उनमें से कोई भी ग को इंगित। 866 00:40:35,730 --> 00:40:38,800 867 00:40:38,800 --> 00:40:40,110 >> हर कोई अच्छा है? 868 00:40:40,110 --> 00:40:41,440 जवाब ऑनलाइन कर रहे हैं। 869 00:40:41,440 --> 00:40:45,210 , अनुभाग के बाद, ऊपर जाने के लिए स्वतंत्र महसूस पिछले दो और परीक्षण अपने आप को। 870 00:40:45,210 --> 00:40:47,840 एक ही अवधारणाओं, सिर्फ एक थोड़ा पेचीदा मामला। 871 00:40:47,840 --> 00:40:51,860 बस के तर्क के माध्यम से पालन क्यों बातें अलग बातें हैं। 872 00:40:51,860 --> 00:40:54,530 और संकेत, संकेत दिए गए हैं हम प्यार करते हैं कि एक विषय 873 00:40:54,530 --> 00:40:58,780 वे कर रहे हैं, क्योंकि क्विज़ पर कवर करने के लिए धारणा बहुत चुनौतीपूर्ण। 874 00:40:58,780 --> 00:41:01,360 तो मैं आपको सुझाव है कि लोग सब इस चार्ट की समीक्षा 875 00:41:01,360 --> 00:41:05,916 या इसी तरह की अवधारणाओं को स्लेश यह आपकी प्रश्नोत्तरी से पहले अगले हफ्ते। 876 00:41:05,916 --> 00:41:06,864 >> दर्शकों: मुझे माफ करना। 877 00:41:06,864 --> 00:41:07,530 >> ANDI PENG: हाँ? 878 00:41:07,530 --> 00:41:09,708 दर्शकों: [अश्राव्य] अंतिम one-- [सुनाई]। 879 00:41:09,708 --> 00:41:12,710 880 00:41:12,710 --> 00:41:15,770 >> ANDI PENG: 50,000? 881 00:41:15,770 --> 00:41:17,850 मैं नीचे इसे वापस का पालन करने की आवश्यकता होगी। 882 00:41:17,850 --> 00:41:22,530 लेकिन मुझे लगता है कि लाइन somewhere-- इससे पहले, आप विशाल ग मूल्य बनाया। 883 00:41:22,530 --> 00:41:26,250 सी इस विशाल बात के बराबर होती है जो 100 गुना 500 है। 884 00:41:26,250 --> 00:41:27,006 नहीं। 885 00:41:27,006 --> 00:41:28,000 >> दर्शकों: [अश्राव्य]। 886 00:41:28,000 --> 00:41:28,625 >> ANDI PENG: हाँ। 887 00:41:28,625 --> 00:41:30,620 10,000 है, जो 100 गुना 100। 888 00:41:30,620 --> 00:41:32,020 जो 10,000 है। 889 00:41:32,020 --> 00:41:35,410 तो वापस नीचे वहाँ आप कर रहे हैं बी और सी गुणा। 890 00:41:35,410 --> 00:41:43,165 B-- को इंगित करता है सूचक तो 500-- समय का मूल्य जो है एक-- 891 00:41:43,165 --> 00:41:44,480 >> दर्शकों: [अश्राव्य]। 892 00:41:44,480 --> 00:41:45,730 ANDI PENG: हो सकता है कि गलत है। 893 00:41:45,730 --> 00:41:49,514 दर्शकों: नहीं, नहीं, ऐसा नहीं है। [अश्राव्य] ग में सूचक अब एक-- पर इशारा कर रहा है 894 00:41:49,514 --> 00:41:50,180 ANDI PENG: हाँ। 895 00:41:50,180 --> 00:41:50,840 वह सही है। 896 00:41:50,840 --> 00:41:56,477 >> दर्शकों: --it एक बराबरी पर अपने पर है एक गुना यह ग का मूल्य है। 897 00:41:56,477 --> 00:41:59,560 ANDI PENG: आप एक छोटे से कह सकते हैं कि थोड़ा जोर से तो हर कोई आप सुन सकते हैं? 898 00:41:59,560 --> 00:42:04,879 दर्शकों: सेल्सियस पर तो सूचक अब बताते हैं एक का सूचक बात करने के लिए क्या इस्तेमाल करने के लिए 899 00:42:04,879 --> 00:42:09,460 है-- और अभी भी does-- लेकिन उनके द्वारा इंगित ठीक है, एक है, जो एक ही बात है? 900 00:42:09,460 --> 00:42:12,925 मूल्य एक, तथापि यह नव परिभाषित किया गया है। 901 00:42:12,925 --> 00:42:17,875 और उस की शुरुआत में आप कर रहे हैं एक पहले 100 बार कह रहा था 902 00:42:17,875 --> 00:42:21,340 500 है, जो बी पर मूल्य। 903 00:42:21,340 --> 00:42:24,305 और इतना है कि हालांकि ज्यादा है कि है। 904 00:42:24,305 --> 00:42:24,805 50,000। 905 00:42:24,805 --> 00:42:32,860 वे तुम्हें करने के लिए कि फिर नियत कर रहे हैं क्या ग पर स्मृति अंतरिक्ष सेल्सियस पर सूचक है- 906 00:42:32,860 --> 00:42:34,510 एक है जो करने के लिए इशारा कर रहा है। 907 00:42:34,510 --> 00:42:38,460 तो अगर आप 50,000 होने के लिए एक पुनर्परिभाषित कर रहे हैं। 908 00:42:38,460 --> 00:42:40,210 ANDI PENG: वह कर सकती थी मेरे लिए खंड सिखाने। 909 00:42:40,210 --> 00:42:41,260 अगली बार यह सब तुम्हारा है। 910 00:42:41,260 --> 00:42:41,440 यहां. 911 00:42:41,440 --> 00:42:42,564 यहाँ उस के लिए अधिक कैंडी है। 912 00:42:42,564 --> 00:42:45,790 तुम उस के लिए कैंडी के लायक हो। 913 00:42:45,790 --> 00:42:47,260 >> दर्शकों: मैं लगभग कि पकड़ा। 914 00:42:47,260 --> 00:42:47,660 >> ANDI PENG: आप लगभग कि पकड़ा। 915 00:42:47,660 --> 00:42:48,450 यह सब ठीक है। 916 00:42:48,450 --> 00:42:48,950 हाँ। 917 00:42:48,950 --> 00:42:50,033 लेकिन वह बिल्कुल सही था। 918 00:42:50,033 --> 00:42:54,469 तो तुम्हें क्या करना है क्या मुझे लगता है हमें लगता है कि that-- है 919 00:42:54,469 --> 00:42:56,510 इस तथ्य का पालन किया है संकेत है कि अब 920 00:42:56,510 --> 00:42:57,880 विभिन्न मूल्यों की ओर इशारा करते। 921 00:42:57,880 --> 00:43:01,785 तो value-- क्षमा करें, ग का सूचक एक को repointed। 922 00:43:01,785 --> 00:43:04,390 और इसलिए हमारे संख्या के सभी स्थानांतरित कर दिया गया है। 923 00:43:04,390 --> 00:43:08,930 आप का उपयोग और है कि जब, क्यों है मूल्य यह अलग है, वहाँ जमा। 924 00:43:08,930 --> 00:43:10,490 समझ आया? 925 00:43:10,490 --> 00:43:11,380 ठीक। 926 00:43:11,380 --> 00:43:12,820 कूल। 927 00:43:12,820 --> 00:43:16,635 अच्छा हर कोई, मैं आगे बढ़ने से पहले? 928 00:43:16,635 --> 00:43:25,332 >> दर्शकों: आप जा रहे हैं जब the-- करता है बाएँ स्तंभ में पंक्तियों नीचे, 929 00:43:25,332 --> 00:43:30,494 पहली पंक्ति दूसरी पंक्ति को प्रभावित करता है और उसके बाद की तरह, यह all-- second-- है 930 00:43:30,494 --> 00:43:31,160 ANDI PENG: हाँ। 931 00:43:31,160 --> 00:43:37,610 तो यह है कि मैं सिर्फ टाइप जहां कोड है कल्पना एक ख बार सी के बराबर होती है, एक स्टार ग के बराबर होती है। 932 00:43:37,610 --> 00:43:40,290 बस मैं सोच भी है कि सिर्फ इस कोड भागा 933 00:43:40,290 --> 00:43:42,710 और मैं बाहर प्रिंट नहीं था क्या इन सब बातों के थे। 934 00:43:42,710 --> 00:43:46,200 अगर मैं थे सिर्फ पहला मुद्रित करने के लिए शीर्ष पर बात, यह यहाँ हो जाएगा। 935 00:43:46,200 --> 00:43:48,510 मैं के सभी भाग गया के बाद तो कोड के उन लाइनों, 936 00:43:48,510 --> 00:43:51,160 क्या इन मूल्यों चाहिए अंत में होना है। 937 00:43:51,160 --> 00:43:53,290 >> इसलिए मैं वास्तव में यहाँ एक कार्यक्रम में लिखा है। 938 00:43:53,290 --> 00:43:55,840 मैं सब कुछ किया नहीं है गुणन। 939 00:43:55,840 --> 00:43:58,310 लेकिन सिर्फ कल्पना। 940 00:43:58,310 --> 00:44:00,370 तो यहाँ मैं सिर्फ एक है कार्यक्रम संकेत बुलाया। 941 00:44:00,370 --> 00:44:04,190 मैं तुम्हें ठीक guys-- यदि ज़ूम करने के लिए जा रहा हूँ। 942 00:44:04,190 --> 00:44:07,580 इसलिए मैं चर ए, बी, और सी बना लिया है। 943 00:44:07,580 --> 00:44:09,640 मैं करने के लिए उन्हें बराबर निर्धारित किया है 3, 4, 5 और मैं 944 00:44:09,640 --> 00:44:11,770 उनके इसी संकेत बनाया। 945 00:44:11,770 --> 00:44:14,550 और फिर यहाँ मैं बस जा रहा हूँ क्या है कि बाहर मुद्रित करने के लिए। 946 00:44:14,550 --> 00:44:15,833 तो मुझे लगता है कि चलाते हैं। 947 00:44:15,833 --> 00:44:21,520 948 00:44:21,520 --> 00:44:24,750 >> तुम लोगों को see-- बकवास मत करो। 949 00:44:24,750 --> 00:44:28,150 आप लोग कैसे एक देख रहे हो, बी और सी उन मान रहे हैं 950 00:44:28,150 --> 00:44:33,530 लेकिन उनके संकेत इस विशाल हैं हम के बारे में परवाह नहीं है कि कचरा मूल्य है? 951 00:44:33,530 --> 00:44:36,690 इसलिए मैं वास्तव में प्लग करने के लिए गए थे सभी गुणन में 952 00:44:36,690 --> 00:44:39,770 और उसके बाद के सभी पुनर्मुद्रण यही नहीं, इसे बाहर अमल होगा 953 00:44:39,770 --> 00:44:44,509 कि तल पर है क्या करने के लिए। 954 00:44:44,509 --> 00:44:47,300 तुम लोगों को चारों ओर खेलना चाहते हैं तो वास्तव में शारीरिक रूप से कोडिंग के साथ, 955 00:44:47,300 --> 00:44:49,000 तुम लोगों को बस में उन सभी के प्लग कर सकते हैं। 956 00:44:49,000 --> 00:44:52,860 कोड ऑनलाइन और फिर अपने होगी मूल्यों बाद में करने के लिए कि प्रिंट चाहिए। 957 00:44:52,860 --> 00:44:56,170 >> और फिर आप कैसे सूचक देखेंगे पतों वास्तव में फिर नियत किया है। 958 00:44:56,170 --> 00:44:59,190 तो आप देखेंगे कि कैसे ग का पता वास्तव में हो जाता है 959 00:44:59,190 --> 00:45:00,920 एक का पता था जो कुछ भी बराबर करने के लिए। 960 00:45:00,920 --> 00:45:04,140 और वे मैच हूँ जो कुछ भी कि बड़ी संख्या है। 961 00:45:04,140 --> 00:45:06,530 अच्छा प्रश्न। 962 00:45:06,530 --> 00:45:07,550 हर कोई सब ठीक है? 963 00:45:07,550 --> 00:45:10,300 प्रश्नों के लिए एक आखिरी कॉल। 964 00:45:10,300 --> 00:45:11,590 ठीक। 965 00:45:11,590 --> 00:45:12,090 ठीक है। 966 00:45:12,090 --> 00:45:15,940 तो अपने मन को तैयार उड़ा एक से थोड़ा अधिक काटा। 967 00:45:15,940 --> 00:45:18,000 सारणियों वास्तव में सिर्फ संकेत दिए गए हैं। 968 00:45:18,000 --> 00:45:19,010 यही कारण है कि वे कर रहे हैं सब है। 969 00:45:19,010 --> 00:45:20,410 और तार क्या कर रहे हैं, याद है? 970 00:45:20,410 --> 00:45:21,630 उन्होंने यह भी सरणियों कर रहे हैं। 971 00:45:21,630 --> 00:45:23,110 तो तार वास्तव में क्या कर रहे हैं? 972 00:45:23,110 --> 00:45:27,100 वे करने के लिए संकेत की तरह हो अधिक वर्ण की एक चार की शुरुआत। 973 00:45:27,100 --> 00:45:29,970 >> तो यह है कि शुरू में सिर्फ अवधारणाओं है एक दूसरे के शीर्ष पर निर्माण करने के लिए। 974 00:45:29,970 --> 00:45:32,030 तो यह है कि why-- तुम हो व्याख्यान में याद, डेविड, 975 00:45:32,030 --> 00:45:34,990 वह उस तुलना था जब पूर्णांक स्ट्रिंग माँ की 976 00:45:34,990 --> 00:45:37,640 फिर कुछ और है एक और स्ट्रिंग माँ और आप 977 00:45:37,640 --> 00:45:41,240 एक दूसरे से दो समकक्ष करने के लिए कोशिश करते हैं, वे आप विभिन्न मूल्यों दे। 978 00:45:41,240 --> 00:45:44,370 यह तार क्योंकि खुद को मान नहीं हैं। 979 00:45:44,370 --> 00:45:48,860 वे कर रहे हैं सभी स्मृति पते हैं char-- वे वर्ण और सारणियों की सरणियों हैं 980 00:45:48,860 --> 00:45:50,050 सिर्फ संकेत दिए गए हैं। 981 00:45:50,050 --> 00:45:54,022 >> तो, संक्षेप में, जब डेविड comparing-- था 982 00:45:54,022 --> 00:45:55,355 मैं इस सब को मिटा अगर यह ठीक है? 983 00:45:55,355 --> 00:46:02,320 984 00:46:02,320 --> 00:46:09,750 तब दाऊद ने व्याख्यान में जब था माँ बराबर 985 00:46:09,750 --> 00:46:11,630 हमें करने के लिए है कि एक ही बात लगती है। 986 00:46:11,630 --> 00:46:12,317 है ना? 987 00:46:12,317 --> 00:46:15,150 लेकिन, नीचे कंप्यूटर में डाकू, वास्तव में क्या हो रहा है 988 00:46:15,150 --> 00:46:18,380 कि इस स्ट्रिंग है, सभी यह है कि एक सरणी है। 989 00:46:18,380 --> 00:46:21,420 990 00:46:21,420 --> 00:46:25,390 एक ampersand-- के साथ या, माफ करना, अंत में एक अशक्त टर्मिनेटर के साथ। 991 00:46:25,390 --> 00:46:28,311 992 00:46:28,311 --> 00:46:28,810 है ना? 993 00:46:28,810 --> 00:46:29,940 Backslash 0। 994 00:46:29,940 --> 00:46:32,900 गलत बैकस्लैश। 995 00:46:32,900 --> 00:46:35,960 >> इतना सब वे सब were-- इन दोनों के तार were-- 996 00:46:35,960 --> 00:46:40,360 आकार चौकों की सरणी के साथ कर रहे हैं माँ और माँ का पत्र। 997 00:46:40,360 --> 00:46:44,780 लेकिन क्या सरणियों रहे हैं वास्तव में बस रहे हैं स्मृति में एक विशिष्ट स्थान के लिए संकेत 998 00:46:44,780 --> 00:46:47,140 कि आप अपने सरणी शुरू करने के लिए कहता है। 999 00:46:47,140 --> 00:46:52,370 तो इस मामले में, यह सब था बस कुछ कचरा मूल्य था, 1000 00:46:52,370 --> 00:46:54,230 कुछ बेतरतीब सूचक। 1001 00:46:54,230 --> 00:46:56,330 और यह सब किया गया था कुछ अन्य कचरा मूल्य। 1002 00:46:56,330 --> 00:46:59,830 चलो बस 0x200 कहते हैं। 1003 00:46:59,830 --> 00:47:02,410 >> और तो आप बराबर करने की कोशिश में उन्हें एक दूसरे के लिए दो, 1004 00:47:02,410 --> 00:47:06,130 क्योंकि वे झूठी का मूल्यांकन संकेत addresses-- 1005 00:47:06,130 --> 00:47:08,390 वे were-- कि अलग थे। 1006 00:47:08,390 --> 00:47:11,400 आप कर रहे हैं, तो यह अलग है जबकि वास्तविक पूर्णांकों की तुलना करने की कोशिश कर रहा है। 1007 00:47:11,400 --> 00:47:15,820 आप compare-- करना चाहते थे जैसे कि अगर पिछले example-- पूर्णांक एक बी करने के लिए, 1008 00:47:15,820 --> 00:47:17,640 वे मूल्यांकन होगा सच करने के लिए इलियट ने कहा कि के रूप में 1009 00:47:17,640 --> 00:47:19,431 वे थे क्योंकि संग्रहीत किया गया है कि पूर्णांकों 1010 00:47:19,431 --> 00:47:21,320 और तुम सिर्फ मूल्यों का मूल्यांकन कर रहे हैं। 1011 00:47:21,320 --> 00:47:25,090 इधर, क्योंकि तार सरणियों हैं और सभी सरणियों संकेत कर रहे हैं, 1012 00:47:25,090 --> 00:47:28,080 वे नहीं कर रहे हैं यही कारण है कि एक दूसरे के बराबर। 1013 00:47:28,080 --> 00:47:31,210 >> तो एक तरह से, कि ग्राफिक भ्रामक। 1014 00:47:31,210 --> 00:47:32,450 लेकिन हम सिर्फ कल्पना करते हैं। 1015 00:47:32,450 --> 00:47:38,110 हम आकार की एक सरणी बना दिया है 2-- 0 से 0 से सूचकांक के साथ 3, 1016 00:47:38,110 --> 00:47:41,530 1 के मूल्यों के साथ 1, 2, 2, और 3 उन में संग्रहीत। 1017 00:47:41,530 --> 00:47:43,820 सभी सरणी सच चलो बस, चलो यहाँ does-- 1018 00:47:43,820 --> 00:47:46,720 मैं एक सूचक पैदा कर रहा हूँ कहना है कि उस सरणी के लिए 1019 00:47:46,720 --> 00:47:50,810 पर मूल्य तक पहुँचने इस सरणी के पहले सूचकांक। 1020 00:47:50,810 --> 00:47:52,890 यहाँ तो यह शून्य होगा। 1021 00:47:52,890 --> 00:47:53,390 है ना? 1022 00:47:53,390 --> 00:47:56,820 हर किसी को समझ में कैसे करता है पहली पंक्ति का मूल्यांकन किया है? 1023 00:47:56,820 --> 00:47:57,420 अच्छा है। 1024 00:47:57,420 --> 00:48:00,800 >> और तो आप को प्रारंभ करना चाहते थे उस के बाद अतिरिक्त मान, 1025 00:48:00,800 --> 00:48:04,390 सब हम फिर नियत कर रहे हैं। 1026 00:48:04,390 --> 00:48:08,810 तो 0, 1, 2, 1। 1027 00:48:08,810 --> 00:48:12,770 तो एक बार इस सूचक था कि यहाँ की ओर इशारा करते, सब हम कर रहे हैं 1028 00:48:12,770 --> 00:48:15,540 यह नीचे जा रहा है। 1029 00:48:15,540 --> 00:48:16,970 यही कारण है कि प्लस 1 क्या कर रहा है है। 1030 00:48:16,970 --> 00:48:18,500 और फिर हम वहाँ दो डाल सकते हैं। 1031 00:48:18,500 --> 00:48:23,250 हम एक में 3 डाल करना चाहते थे तो बाद में, हम इस सूचक मिटाना होगा, 1032 00:48:23,250 --> 00:48:25,170 वहाँ में 3 डाल दिया। 1033 00:48:25,170 --> 00:48:26,420 कि मतलब हर कोई करता है? 1034 00:48:26,420 --> 00:48:26,920 हाँ। 1035 00:48:26,920 --> 00:48:28,086 आप में एक सवाल है? 1036 00:48:28,086 --> 00:48:30,711 दर्शकों: यह [सुनाई] है है एक सवाल है, मैं यह भी कहूँगा। 1037 00:48:30,711 --> 00:48:35,496 मैं यह वास्तव में एक नहीं लगता है अंग्रेजी में but-- सवाल, सरणी 1038 00:48:35,496 --> 00:48:37,448 1 के बराबर होती समझ में आता है। 1039 00:48:37,448 --> 00:48:39,888 हम, ठीक है, पहले की तरह बात कर रहे हैं। 1040 00:48:39,888 --> 00:48:44,280 लेकिन चीजें 0 सूचकांक रहे हैं [अश्राव्य] सरणी 0 के बराबर होती है 1041 00:48:44,280 --> 00:48:48,024 पहले स्थान इंगित करने के लिए। 1042 00:48:48,024 --> 00:48:48,690 ANDI PENG: हाँ। 1043 00:48:48,690 --> 00:48:53,740 तो क्या वास्तव में मैं कर रहा हूँ यहाँ है जब मैं पहली बार सूचकांक पहुँचने नहीं कर रहा हूँ। 1044 00:48:53,740 --> 00:48:57,930 सभी मैं, तो सब से पहले doing-- था स्टार सरणी क्या करता है मुझे बता सकते हैं? 1045 00:48:57,930 --> 00:48:59,480 एक सूचक से पहले एक सितारा क्या करता है? 1046 00:48:59,480 --> 00:49:00,855 >> दर्शकों: यह एक सूचक इंगित करता है। 1047 00:49:00,855 --> 00:49:02,910 यही कारण है कि आप एक सूचक की घोषणा कर रहे हैं। 1048 00:49:02,910 --> 00:49:04,380 यह de-- 1049 00:49:04,380 --> 00:49:07,520 >> ANDI PENG: यह जो साधन dereferences यह हो जाता है और वास्तव में मूल्य हो जाता है। 1050 00:49:07,520 --> 00:49:08,020 है ना? 1051 00:49:08,020 --> 00:49:13,030 इस मामले में तो, आप प्राप्त करना चाहते हैं मूल्य यहाँ और है कि 1 के लिए निर्धारित किया है। 1052 00:49:13,030 --> 00:49:13,800 हाँ? 1053 00:49:13,800 --> 00:49:17,050 इसलिए मुझे लगता है मैं नहीं actually-- नहीं कर रहा हूँ वास्तव में इस के सूचकांक के बारे में परवाह है, 1054 00:49:17,050 --> 00:49:21,406 मैं क्या कर रहा हूँ सब सिर्फ नीचे पुनरावृति है सरणी नीचे मेरी सूचक को ले जाकर। 1055 00:49:21,406 --> 00:49:23,280 और फिर अंत में मैं ठीक है, इसे रोकने के लिए है? 1056 00:49:23,280 --> 00:49:26,750 और मुझे लगता है कि रोक रास्ता मैं मारा जब मामले में है 1057 00:49:26,750 --> 00:49:28,750 एक स्ट्रिंग, एक अशक्त टर्मिनेटर की। 1058 00:49:28,750 --> 00:49:32,710 मैं देख रहा हूँ कि अगर मैं एक back-- मारा अगर मैं, ओह, पता है बैकस्लैश 0, मैंने सोचा कि मैं इस के साथ कर रहा हूँ 1059 00:49:32,710 --> 00:49:35,270 और मुझे लगता है कि मैं सिर्फ पता कर सकते हैं के माध्यम से पुनरावृति को रोकने के। 1060 00:49:35,270 --> 00:49:36,200 बहुत अच्छा सवाल। 1061 00:49:36,200 --> 00:49:40,210 >> और हम वास्तव में आगे जाना होगा यह अगले सप्ताह में गहराई में 1062 00:49:40,210 --> 00:49:43,990 क्योंकि जा रहा है कि टुकड़ा संकेत के उपयोग का एक बहुत कुछ शामिल है। 1063 00:49:43,990 --> 00:49:48,459 लेकिन बस अभी पता चला है कि, कि सिर्फ एक अलग more-- है 1064 00:49:48,459 --> 00:49:51,250 उस के लिए सिर्फ एक अलग तरीका है कंप्यूटर, अनिवार्य रूप से लिखने के लिए 1065 00:49:51,250 --> 00:49:52,470 हम क्या कर रहा है। 1066 00:49:52,470 --> 00:49:54,900 डेविड में कहा , जिस तरह से व्याख्यान कि हम 1067 00:49:54,900 --> 00:50:01,720 एक सरणी कर रही द्वारा बस है का उपयोग सरणी 0, ब्रैकेट 0, अगर हम सिर्फ 1068 00:50:01,720 --> 00:50:04,050 पहले मूल्य का उपयोग करना चाहता था। 1069 00:50:04,050 --> 00:50:10,280 >> सभी कंप्यूटर बदल रहा है कर रही है उस में और खुद पुनरावृति कि। 1070 00:50:10,280 --> 00:50:13,580 इसलिए हम वाक्यात्मक इसे कहते हैं बस है जो चीनी 1071 00:50:13,580 --> 00:50:18,420 उपयोगकर्ता के अनुकूल कह का एक अच्छा तरीका कार्यक्रम के लिए कैसे जानने के लिए हमें के तरीके। 1072 00:50:18,420 --> 00:50:21,560 लेकिन कंप्यूटर नीचे, यह क्या कर रहा है, 1073 00:50:21,560 --> 00:50:23,997 यह वास्तव में सिर्फ आ रहा है समायोजन है कि एक सूचक। 1074 00:50:23,997 --> 00:50:26,330 लेकिन हम यह लिखते हैं कि जिस तरह से, यह हमारे लिए आसान है क्योंकि 1075 00:50:26,330 --> 00:50:30,240 के मामले में चीजों के बारे में सोचने के लिए बक्से और बक्से नीचे स्थानांतरित करने के लिए कैसे, 1076 00:50:30,240 --> 00:50:32,190 कोष्ठक होने से है। 1077 00:50:32,190 --> 00:50:36,394 क्षमा करें, कि, वास्तव में था वास्तव में खराब हाँ but--। 1078 00:50:36,394 --> 00:50:38,310 कैसे तो होगा: दर्शकों आप दो तार की तुलना 1079 00:50:38,310 --> 00:50:40,560 वे एक दूसरे के बराबर हैं, तो देखने के लिए? 1080 00:50:40,560 --> 00:50:42,690 >> ANDI PENG: तो दाऊद ने लिखा व्याख्यान में इस कार्यक्रम 1081 00:50:42,690 --> 00:50:45,274 तो मैं बस जाने के लिए जा रहा हूँ जल्दी और संक्षिप्त पर। 1082 00:50:45,274 --> 00:50:47,440 तुम करोगे रास्ता कि आप वास्तव में होता है 1083 00:50:47,440 --> 00:50:51,300 जाओ और तुलना की जरूरत है addresses-- या मान 1084 00:50:51,300 --> 00:50:52,810 संकेत से प्राप्त की। 1085 00:50:52,810 --> 00:50:55,140 तो आप कैसे करते हैं, याद यहां मूल्य प्राप्त? 1086 00:50:55,140 --> 00:50:56,825 मैं यहाँ पते के बारे में परवाह नहीं है। 1087 00:50:56,825 --> 00:50:58,950 मैं वास्तव में कैसे मिलता है जो कुछ भी मूल्य यहाँ है? 1088 00:50:58,950 --> 00:50:59,470 >> दर्शकों: [अश्राव्य]। 1089 00:50:59,470 --> 00:51:00,261 >> ANDI PENG: बिल्कुल। 1090 00:51:00,261 --> 00:51:05,090 तो आप स्टार की तुलना यहाँ स्टार बनाम। 1091 00:51:05,090 --> 00:51:06,150 उन बराबर हैं। 1092 00:51:06,150 --> 00:51:07,690 और फिर आप नीचे जाना। 1093 00:51:07,690 --> 00:51:09,530 यहां स्टार हैं और यहां बराबर स्टार? 1094 00:51:09,530 --> 00:51:10,030 ठीक। 1095 00:51:10,030 --> 00:51:10,283 वे बराबर कर रहे हैं। 1096 00:51:10,283 --> 00:51:12,866 और तुम बस नीचे जा रहा रखने आप दोनों के अंत मारा है जब तक। 1097 00:51:12,866 --> 00:51:16,190 और उन सभी को तो बराबर हैं, यदि आप अपने स्ट्रिंग बराबर है। 1098 00:51:16,190 --> 00:51:18,130 और सी वास्तव में है एक समारोह में बुलाया लिखा 1099 00:51:18,130 --> 00:51:20,713 स्ट्रिंग कंप्यूटर अनुप्रयोग, जो वास्तव में सिर्फ आप न तो 'आप के लिए ऐसा करता है 1100 00:51:20,713 --> 00:51:22,140 यह अपने आप को लिखने के लिए है। 1101 00:51:22,140 --> 00:51:23,274 हाँ? 1102 00:51:23,274 --> 00:51:26,970 >> दर्शकों: मैं व्याख्यान में लगता है हम तुलना जब है। 1103 00:51:26,970 --> 00:51:29,520 हम वास्तव में एक की जरूरत नहीं गड़बड़ी की तरह काउंटर, है ना? 1104 00:51:29,520 --> 00:51:34,310 >> ANDI PENG: क्या तुम नहीं हम वास्तव में परवाह नहीं है क्योंकि 1105 00:51:34,310 --> 00:51:36,250 कितने बक्से हम के माध्यम से दोहराया है। 1106 00:51:36,250 --> 00:51:39,580 हम परवाह सब हम करने जा रहे हैं वह यह है कि मैं रोकने के लिए जब तक आप जानते रख रहा है। 1107 00:51:39,580 --> 00:51:41,990 और आप जब रोकने के लिए पता संकेत के कुछ प्रकार है 1108 00:51:41,990 --> 00:51:45,310 आप एक अशक्त टर्मिनेटर पर कर रहे हैं कि। 1109 00:51:45,310 --> 00:51:45,930 हाँ। 1110 00:51:45,930 --> 00:51:47,154 So-- 1111 00:51:47,154 --> 00:51:48,070 दर्शकों: [अश्राव्य]। 1112 00:51:48,070 --> 00:51:48,736 ANDI PENG: हाँ। 1113 00:51:48,736 --> 00:51:51,950 तुलना करने के मामले में तो तार, मैं वास्तव में नहीं है 1114 00:51:51,950 --> 00:51:54,207 कितने पत्र परवाह मैं तुलना करने की जरूरत है are-- 1115 00:51:54,207 --> 00:51:56,540 वे सच है या झूठ, अगर कर रहे हैं वे एक दूसरे के बराबर कर रहे हैं। 1116 00:51:56,540 --> 00:51:58,914 मैं कितने पत्र परवाह नहीं है उनमें से प्रत्येक में, सही कह रहे हैं? 1117 00:51:58,914 --> 00:52:01,130 मैं सिर्फ यह है कि परवाह इस और एक के साथ मेल खाता है 1118 00:52:01,130 --> 00:52:05,311 मैच और एक के बाद के बाद अंत में जब तक सभी तरह से मेल खाता है। 1119 00:52:05,311 --> 00:52:05,810 है ना? 1120 00:52:05,810 --> 00:52:07,000 समझ आया? 1121 00:52:07,000 --> 00:52:10,166 >> इसलिए मैं वास्तव में, कितने पत्र परवाह नहीं है मैं सिर्फ परवाह पत्र के सभी कि 1122 00:52:10,166 --> 00:52:11,050 मैच। 1123 00:52:11,050 --> 00:52:12,910 हाँ। 1124 00:52:12,910 --> 00:52:13,920 ठीक। 1125 00:52:13,920 --> 00:52:16,840 मैं इस से आगे बढ़ने कर सकते हैं? 1126 00:52:16,840 --> 00:52:18,489 अच्छा है। 1127 00:52:18,489 --> 00:52:21,280 हम कम पर एक छोटे से चला रहे हैं समय तो मैं बस आप अनुमति देने के लिए जा रहा हूँ 1128 00:52:21,280 --> 00:52:23,670 लोग संक्षेप में इस पर ध्यान देने की। 1129 00:52:23,670 --> 00:52:26,430 अपने आईडी यदि इसे चलाने के लिए तुम लोगों को उत्सुक हैं। 1130 00:52:26,430 --> 00:52:30,030 और तुम लोग क्या देख सकते हैं इस बाहर मुद्रण किया जाएगा। 1131 00:52:30,030 --> 00:52:30,640 ठीक। 1132 00:52:30,640 --> 00:52:34,990 >> हम भी एक पर स्पर्श करता हूँ तो यह है कि कुछ बिट सूचक अंकगणित का विचार है। 1133 00:52:34,990 --> 00:52:38,180 कौन सा है, यह है, सब है बल्कि एडजस्ट करने से 1134 00:52:38,180 --> 00:52:42,610 संग्रहित है क्या के मूल्यों अपने सूचक के पते पर, 1135 00:52:42,610 --> 00:52:45,030 यह सिर्फ वास्तव में बदल रहा है पता ही है। 1136 00:52:45,030 --> 00:52:49,420 तुम इंसान चाहता था के रूप में तो अगर स्वयं अपने सूचक को समायोजित करने के लिए, 1137 00:52:49,420 --> 00:52:52,700 यदि आप ऐसा होगा जिस तरह से बस है सूचक के n बार आकार करते हैं। 1138 00:52:52,700 --> 00:52:53,240 है ना? 1139 00:52:53,240 --> 00:52:54,810 >> तो एक इंट। 1140 00:52:54,810 --> 00:52:58,580 एक int-- कितने बाइट्स स्मृति में एक पूर्णांक है? 1141 00:52:58,580 --> 00:52:59,640 यह ठीक है, चार है? 1142 00:52:59,640 --> 00:53:03,520 अगर मुझे पता है इसलिए मैं सभी की एक सरणी है ints और मैं इसे एक को इंगित करना चाहते हैं 1143 00:53:03,520 --> 00:53:08,470 बाद में, मैं मैं तो बस करना है पता था ठीक है, चार बाइट्स मेरी सूचक नीचे ले जाने? 1144 00:53:08,470 --> 00:53:12,440 और इसलिए n बार आकार सूचक बाइट्स की 1145 00:53:12,440 --> 00:53:15,890 लेकिन कई बाइट्स है आप बस रहे हैं द्वारा अपने सूचक नीचे स्थानांतरित करने के लिए जा रहा है। 1146 00:53:15,890 --> 00:53:20,350 >> तो उदाहरण के लिए, हम में से एक सरणी है ints, पहले एक, चलो बस कहना है 1147 00:53:20,350 --> 00:53:22,280 0x00 रूप में जमा है। 1148 00:53:22,280 --> 00:53:26,150 आप अगले एक पर होने जा रहा है पता है 0x04 कि चार बाइट्स बाद में है, क्योंकि। 1149 00:53:26,150 --> 00:53:31,030 और कहा कि एक के बाद एक होने जा रहा है 0x08 और इतने पर और आगे जाना है। 1150 00:53:31,030 --> 00:53:33,830 और हां, एक आदमी, एक नज़र रखना। 1151 00:53:33,830 --> 00:53:36,640 >> आप यहाँ क्या कर रहे सभी है आप एक सूचक y है कि 1152 00:53:36,640 --> 00:53:43,700 और आपको लगता है कि जोड़ रहे हैं अपने स्मृति आप नीचे ले जा सकते हैं, इसलिए है कि 1153 00:53:43,700 --> 00:53:45,559 स्मृति के ब्लॉक आवंटित किए। 1154 00:53:45,559 --> 00:53:46,850 एक उच्च स्तर की अवधारणा की तरह। 1155 00:53:46,850 --> 00:53:48,820 तुम लोग की जरूरत नहीं होगी इस सप्ताह के लिए पता करने के लिए 1156 00:53:48,820 --> 00:53:51,290 लेकिन लगता है कि यह वहाँ नीचे कर रहा है सब है। 1157 00:53:51,290 --> 00:53:55,190 1158 00:53:55,190 --> 00:53:55,900 ठीक। 1159 00:53:55,900 --> 00:53:56,710 >> एक और मजाक का समय है। 1160 00:53:56,710 --> 00:54:01,360 1161 00:54:01,360 --> 00:54:02,780 दो तार एक बार में चलना। 1162 00:54:02,780 --> 00:54:05,713 एक मैं एक रम चाहते हैं, कहते हैं, और कोक कचरा मूल्यों। 1163 00:54:05,713 --> 00:54:08,796 अन्य आप माफ करना होगा कहते हैं, मेरे दोस्त, वह अशक्त समाप्त नहीं कर रहा है। 1164 00:54:08,796 --> 00:54:10,390 तुम लोग यह मिलता है। 1165 00:54:10,390 --> 00:54:10,890 माफ़ कीजिए। 1166 00:54:10,890 --> 00:54:13,490 यह मैं अपने आप को रखने के लिए कैसे मैं अनुभाग के लिए तैयार करने जा रहा है जब 1167 00:54:13,490 --> 00:54:15,650 मैं एक दो मजाक स्लाइड्स सम्मिलित है। 1168 00:54:15,650 --> 00:54:16,150 वैसे भी। 1169 00:54:16,150 --> 00:54:21,460 1170 00:54:21,460 --> 00:54:21,960 ठीक। 1171 00:54:21,960 --> 00:54:24,290 मैं on-- बढ़ने से पहले इसलिए, अनिवार्य रूप से, हम है 1172 00:54:24,290 --> 00:54:30,600 कवर सभी वैचारिक संकेत से संबंधित मुद्दों। 1173 00:54:30,600 --> 00:54:34,090 और फिर हम आगे बढ़ talk-- लिए जा रहे हैं महत्वपूर्ण है कि क्यों इस बारे में अधिक, बात करते हैं 1174 00:54:34,090 --> 00:54:37,810 और उस में फिट बैठता है स्मृति प्रबंधन का विचार है। 1175 00:54:37,810 --> 00:54:39,810 लेकिन मुझे आगे बढ़ने से पहले, किसी को भी सवाल है 1176 00:54:39,810 --> 00:54:43,880 सूचक उपयोग के बारे में, क्या हो रहा है आप संकेत पैदा कर रहे हैं पर जब, 1177 00:54:43,880 --> 00:54:47,540 कैसे प्रत्येक संदर्भित कर रहे हैं दूसरे, वे कैसे अपसंदर्भन कर रहे हैं? 1178 00:54:47,540 --> 00:54:51,760 के बारे में किसी भी सवाल मैं आगे बढ़ने से पहले कि? 1179 00:54:51,760 --> 00:54:53,060 ठीक। 1180 00:54:53,060 --> 00:54:54,770 अच्छा है। 1181 00:54:54,770 --> 00:54:58,170 >> तो यह इस में हमें लाता बड़े उच्च स्तर की अवधारणा 1182 00:54:58,170 --> 00:55:00,310 एक पूरे के रूप में स्मृति प्रबंधन की। 1183 00:55:00,310 --> 00:55:02,720 तो, मूलतः, में आपके कंप्यूटर नहीं है, 1184 00:55:02,720 --> 00:55:06,300 स्मृति के दो बुनियादी प्रकार या जो स्मृति में क्षेत्रों में जमा है। 1185 00:55:06,300 --> 00:55:10,210 आप क्या कहा जाता है यहाँ है ढेर और आप नीचे यहाँ है 1186 00:55:10,210 --> 00:55:11,550 क्या हो चुकी है कहा जाता है। 1187 00:55:11,550 --> 00:55:13,966 और हम के बारे में बात करने जा रहे हैं ढेर पहला यह है क्योंकि 1188 00:55:13,966 --> 00:55:16,910 अधिक finagley एक है कि आप एक तरह से धारणात्मक के लिए है 1189 00:55:16,910 --> 00:55:18,570 क्या हो रहा है समझते हैं। 1190 00:55:18,570 --> 00:55:23,930 >> इतना सब हो चुकी है के बारे में सोच है- यह स्मृति का एक शारीरिक ढेर के रूप में 1191 00:55:23,930 --> 00:55:28,880 आप स्मृति का एक ब्लॉक है जहां कि अपने कार्यक्रम के लिए अलग सेट है 1192 00:55:28,880 --> 00:55:30,180 यह चल रहा है, जबकि। 1193 00:55:30,180 --> 00:55:34,480 और यह सब, अनिवार्य रूप से, जहां है की अपनी स्थानीय चर जमा हो जाती है। 1194 00:55:34,480 --> 00:55:38,300 तो यह सिर्फ एक तेजी से बढ़ी है कि ढेर की तस्वीर में। 1195 00:55:38,300 --> 00:55:41,060 वहाँ नीचे हो चुकी है, मैं कर रहा हूँ बस थोड़ा और अधिक में zooming। 1196 00:55:41,060 --> 00:55:46,170 >> तो, मूलतः, एक ढेर में है अपने कार्यक्रम में समारोह का एक गुच्छा। 1197 00:55:46,170 --> 00:55:48,250 तो चलो बस वापस जाओ सप्ताह में दो उदाहरण के लिए 1198 00:55:48,250 --> 00:55:51,450 हम अपने मुख्य समारोह था जहां साथ ही साथ एक घन समारोह के रूप में 1199 00:55:51,450 --> 00:55:56,410 हम एक समारोह बनाने की कोशिश की है कि जहां इनपुट के रूप में मानकों ले लिया है कि cubed--, 1200 00:55:56,410 --> 00:55:59,110 उन्हें cubed और लौटे उन्हें वापस मुख्य करने के लिए। 1201 00:55:59,110 --> 00:56:02,459 तो यह है कि उस तरह से स्मृति में संग्रहीत किया जाता है आप अपने मुख्य समारोह के लिए किया है 1202 00:56:02,459 --> 00:56:03,250 यहाँ तल पर। 1203 00:56:03,250 --> 00:56:06,630 और उसके बाद प्रत्येक अतिरिक्त समारोह के साथ कि आप कॉल और उस के शीर्ष पर जोड़ने के लिए, 1204 00:56:06,630 --> 00:56:07,960 स्मृति सिर्फ शीर्ष पर ढेर। 1205 00:56:07,960 --> 00:56:10,190 एक भौतिक ढेर के रूप में इसके बारे में सोचो। 1206 00:56:10,190 --> 00:56:13,570 >> और तो आप के सभी मुख्य है अपने मुख्य कार्यों में से चर, 1207 00:56:13,570 --> 00:56:15,260 यहाँ पर जा रहा है कि सब कुछ, संग्रहीत। 1208 00:56:15,260 --> 00:56:17,440 और फिर आप जब कहा जाता है घन, यह हो जाता है और यह 1209 00:56:17,440 --> 00:56:20,810 उन सभी की प्रतियां बनाता है मापदंडों और यह उन्हें भंडार 1210 00:56:20,810 --> 00:56:23,010 एक अलग जगह में ऊपर। 1211 00:56:23,010 --> 00:56:24,280 और इसलिए हम क्यों परवाह करते हैं? 1212 00:56:24,280 --> 00:56:29,220 हम परवाह कारण यह है कि हम अभी नहीं कर सकता है उपयोग के मापदंडों चर here-- 1213 00:56:29,220 --> 00:56:33,080 here-- और हम हम उम्मीद करते हैं, उन्हें बदलने उन्हें यह भी सही है, यहाँ बदला जा करने के लिए? 1214 00:56:33,080 --> 00:56:35,910 >> विचार है कि वे बच रहे हैं वह यह है कि स्मृति में विभिन्न स्थानों में 1215 00:56:35,910 --> 00:56:40,540 इसलिए, कि आप अलग अलग पहुँच रहे हैं जब काम करता है, तुम क्या हो रहा है क्या सोचते हैं 1216 00:56:40,540 --> 00:56:45,520 वास्तव में, क्योंकि ऐसा नहीं हो रहा है स्मृति बिट्स परस्पर नहीं कर रहे हैं। 1217 00:56:45,520 --> 00:56:50,530 और तो वास्तव में सवाल है कि हमें एक तरह से समझने के लिए महत्वपूर्ण 1218 00:56:50,530 --> 00:56:54,100 क्या है, हम चला रहे हैं, यदि एक कार्यक्रम में एक समारोह का आकार 1219 00:56:54,100 --> 00:56:57,159 इसलिए शारीरिक रूप से, कैसे frame-- ढेर ज्यादा स्मृति हम इसे देने के लिए क्या है? 1220 00:56:57,159 --> 00:56:59,950 शायद यह एक विशाल समारोह तो हम है यह है कि बहुत स्मृति देना है। 1221 00:56:59,950 --> 00:57:02,230 यह छोटे थे लेकिन अगर हम चाहते हैं एक छोटे से छोटा सा की आवश्यकता है। 1222 00:57:02,230 --> 00:57:05,980 >> तो विचार है कि हम चला रहे हैं, जब कि है एक प्रोग्राम है कि समारोह का आकार 1223 00:57:05,980 --> 00:57:09,100 कितने पर निर्भर है चर और चर के प्रकार 1224 00:57:09,100 --> 00:57:10,940 हम इसे देने के लिए चाहते हैं। 1225 00:57:10,940 --> 00:57:13,910 लेकिन क्या संख्या के यदि variables-- और उनके आकार, 1226 00:57:13,910 --> 00:57:16,140 कि नहीं चुना गया है आपके द्वारा एनकोडर लेकिन 1227 00:57:16,140 --> 00:57:20,580 वास्तविक द्वारा निर्धारित किया जाता है अपने कार्यक्रम के उपयोगकर्ता। 1228 00:57:20,580 --> 00:57:24,240 मैं एक समारोह बनाना चाहता था तो अगर कि उपयोगकर्ता से तार ले लिया 1229 00:57:24,240 --> 00:57:27,630 लेकिन मैं वास्तव में कैसे बड़े पता नहीं है उन स्ट्रिंग्स यह मेरे लिए मुश्किल है, कर रहे हैं 1230 00:57:27,630 --> 00:57:30,220 विशिष्ट आवंटित करने का स्मृति की मात्रा की जरूरत है। 1231 00:57:30,220 --> 00:57:30,920 है ना? 1232 00:57:30,920 --> 00:57:35,234 >> अगर यह function-- क्योंकि अगर इस यूजर को एक विशाल स्ट्रिंग आदानों, 1233 00:57:35,234 --> 00:57:37,650 यह एक त्रुटि पैदा करने के लिए जा रहा है अनिवार्य रूप से क्या कहा जाता है की 1234 00:57:37,650 --> 00:57:42,190 आप से परे जाना है, जहां अतिप्रवाह हो चुकी है आपको लगता है कि स्मृति की सीमा। 1235 00:57:42,190 --> 00:57:44,250 और इतना तो हम क्या करें? 1236 00:57:44,250 --> 00:57:47,290 हम सिर्फ इस विशाल नहीं बना सकते हैं कि सब कुछ बचा सकते हो चुकी है, 1237 00:57:47,290 --> 00:57:50,260 हम उस समस्या को हल करने के लिए क्या करते हैं? 1238 00:57:50,260 --> 00:57:54,364 >> इसलिए हम पर और बात आगे जा रहे हैं स्मृति के इस दूसरे प्रकार के बारे में 1239 00:57:54,364 --> 00:57:56,780 और फिर हम कैसे के बारे में बात कर सकते हैं हम दोनों एक साथ उपयोग कर सकते हैं 1240 00:57:56,780 --> 00:57:58,550 उस सवाल का हल करने के लिए। 1241 00:57:58,550 --> 00:58:01,024 तो अब हम ऊपर ले जाने के लिए जा रहे हैं स्मृति का एक अलग हिस्सा करने के लिए 1242 00:58:01,024 --> 00:58:01,690 हमारे कंप्यूटर में। 1243 00:58:01,690 --> 00:58:03,215 यही कारण है कि ढेर कहा जाता है। 1244 00:58:03,215 --> 00:58:07,150 इतना सब ढेर एक पूल है के उपलब्ध स्मृति कि 1245 00:58:07,150 --> 00:58:08,690 गतिशील रूप से आवंटित किया जा सकता है। 1246 00:58:08,690 --> 00:58:12,420 तो यह है कि जबकि बदल सकते हैं अपने कार्यक्रम चल रहा है। 1247 00:58:12,420 --> 00:58:15,160 >> और हां एक क्षेत्र की कर सकते हैं कि अप्रयुक्त स्मृति 1248 00:58:15,160 --> 00:58:18,200 हो सकता है कि allowed-- होना समारोह के साथ आवंटित 1249 00:58:18,200 --> 00:58:20,490 कहा जाता malloc, या स्मृति आवंटन। 1250 00:58:20,490 --> 00:58:23,110 तो, मूलतः, जब आप एक कार्यक्रम चला रहे हैं 1251 00:58:23,110 --> 00:58:29,560 आप गतिशील से स्मृति बना सकते हैं ढेर और है कि यहाँ सब नीचे का उपयोग करें। 1252 00:58:29,560 --> 00:58:34,280 और अपने कार्यों का इतना तो सभी यहां ढेर उपयोग कर सकते हैं। 1253 00:58:34,280 --> 00:58:37,960 >> और तो malloc, यह विचार है कि डेविड एक तरह से जल्दी से, संक्षेप में पर भुला 1254 00:58:37,960 --> 00:58:41,570 व्याख्यान में, के लिए सिर्फ एक ही रास्ता है आप अपनी स्मृति को नियंत्रित करने के लिए। 1255 00:58:41,570 --> 00:58:45,470 की तरह, जब तुम सिर्फ पैदा कर रहे हैं अगर आप अभी कर रहे हैं, कार्यों ढेर 1256 00:58:45,470 --> 00:58:48,290 अपने मुख्य समारोह होने अपने यादृच्छिक कार्यों के साथ, 1257 00:58:48,290 --> 00:58:52,270 आप बच्चों के रूप में उनमें से लगता है कि बस आप उनके साथ काम कर रहे थे जब दूर भाग गया। 1258 00:58:52,270 --> 00:58:53,690 वे वास्तव में बुरा बच्चे थे। 1259 00:58:53,690 --> 00:58:55,515 आप उन्हें आप बनाते हैं, उन्हें कुछ सिखाने, 1260 00:58:55,515 --> 00:58:57,640 और फिर जब आप चाहते हैं वे कर रहे हैं फिर उन तक पहुँचने 1261 00:58:57,640 --> 00:58:59,850 वहाँ नहीं अपने क्योंकि स्मृति अभी दूर भाग गया। 1262 00:58:59,850 --> 00:59:04,140 >> लेकिन malloc, या ढेर, एक रास्ता है की, जहां बेहतर होने के बच्चों 1263 00:59:04,140 --> 00:59:07,090 आप की तरह बना सकते हैं उन्हें, उन्हें मान असाइन, 1264 00:59:07,090 --> 00:59:11,080 वास्तव में लग रहा था कि them-- उपयोग तुम चाहते थे हालांकि bad-- उन्हें इस्तेमाल करते हैं, 1265 00:59:11,080 --> 00:59:14,002 लेकिन उसके बाद नियंत्रण करने में सक्षम होना उन्हें और उसके बाद स्मृति मुक्त 1266 00:59:14,002 --> 00:59:14,960 आप उन्हें जब भी जरूरत है। 1267 00:59:14,960 --> 00:59:18,085 तो फिर, आप के साथ कर रहे हैं जब आपके समारोह, बच्चों को आप वापस आने के लिए 1268 00:59:18,085 --> 00:59:20,290 और आप अभी भी वहाँ है कि डेटा है। 1269 00:59:20,290 --> 00:59:25,690 >> इसलिए हम malloc, या बना है कि जिस तरह से, स्मृति समारोह शून्य स्टार से है 1270 00:59:25,690 --> 00:59:26,790 बाइट्स में malloc आकार। 1271 00:59:26,790 --> 00:59:29,730 तो यह है कि सिर्फ प्रोटोटाइप है हम ऐसा क्यों है। 1272 00:59:29,730 --> 00:59:35,800 तो एक उदाहरण है कि हम एक सूचक बनाने के लिए है के इंट स्टार pointer-- बराबरी int-- टाइप 1273 00:59:35,800 --> 00:59:38,120 पूर्णांक के malloc आकार। 1274 00:59:38,120 --> 00:59:41,734 हम आकार ऐसा कारण है तो की और न सिर्फ एक number-- 1275 00:59:41,734 --> 00:59:43,650 जैसा कि हम सभी जानते हैं कि क्योंकि एक पूर्णांक के चार बाइट्स है, 1276 00:59:43,650 --> 00:59:48,310 right-- लेकिन एक पूर्णांक के केवल चार है कुछ ऑपरेटिंग सिस्टम पर बाइट्स। 1277 00:59:48,310 --> 00:59:50,410 >> हमारे लिए विचार के रूप में प्रोग्रामर है कि हम उस 1278 00:59:50,410 --> 00:59:53,160 कोड बनाने के लिए कर सकते हैं चाहते हैं सभी कंप्यूटरों पर नहीं बस चलाने 1279 00:59:53,160 --> 00:59:54,860 हमारे सरल कंप्यूटर। 1280 00:59:54,860 --> 00:59:58,350 हम उपयोग करना चाहते हैं और यही कारण है इसलिए कि के आकार और नहीं सिर्फ चार नंबर। 1281 00:59:58,350 --> 00:59:59,970 कि हर किसी को मतलब? 1282 00:59:59,970 --> 01:00:03,930 इतना सब of-- आकार यह एक सी है समारोह या ऑपरेटर कि 1283 01:00:03,930 --> 01:00:09,350 स्मृति करता है की कितने बाइट्स आपको बताता है चर के एक खास प्रकार ले। 1284 01:00:09,350 --> 01:00:11,150 तो इस मामले में एक पूर्णांक के आकार के चार है। 1285 01:00:11,150 --> 01:00:12,090 चार बाइट्स। 1286 01:00:12,090 --> 01:00:15,490 और malloc मुक्त करने के लिए जा रहा है अपने ढेर में चार बाइट्स अप, 1287 01:00:15,490 --> 01:00:18,790 तो आप तो अपने मुख्य में उपयोग कर सकते हैं समारोह स्मृति स्टोर करने में सक्षम होने के लिए। 1288 01:00:18,790 --> 01:00:22,460 1289 01:00:22,460 --> 01:00:24,860 हर किसी को अब तक उस पर स्पष्ट है? 1290 01:00:24,860 --> 01:00:25,918 हाँ? 1291 01:00:25,918 --> 01:00:28,122 >> दर्शकों: मैं स्पष्ट कर रहा हूँ लेकिन सिर्फ clear-- खत्म हो जाए 1292 01:00:28,122 --> 01:00:28,705 ANDI PENG: ठीक है। 1293 01:00:28,705 --> 01:00:29,246 पूरी तरह से ठीक है। 1294 01:00:29,246 --> 01:00:32,176 दर्शकों: --size की है [सुनाई] वास्तव में यह कर सकते हैं [सुनाई] 1295 01:00:32,176 --> 01:00:34,384 और यह वास्तव में करना होगा हम यह चाहते हैं कि बात है। 1296 01:00:34,384 --> 01:00:35,380 यह कुछ pseudocode नहीं है। 1297 01:00:35,380 --> 01:00:35,878 >> ANDI PENG: नहीं 1298 01:00:35,878 --> 01:00:36,874 >> दर्शकों: यह एक असली thing-- की तरह है 1299 01:00:36,874 --> 01:00:37,372 >> ANDI PENG: यह वास्तविक कोड है। 1300 01:00:37,372 --> 01:00:38,455 >> दर्शकों: --we इसका इस्तेमाल कर सकते हैं। 1301 01:00:38,455 --> 01:00:39,862 यह वास्तविक है। 1302 01:00:39,862 --> 01:00:40,418 कूल। 1303 01:00:40,418 --> 01:00:41,751 ANDI PENG: के आकार सी के साथ आता है 1304 01:00:41,751 --> 01:00:43,475 दर्शकों: यह मेरे जीवन खुशहाल बनाता है। 1305 01:00:43,475 --> 01:00:45,550 ANDI PENG: हाँ। 1306 01:00:45,550 --> 01:00:48,610 आप एक आलसी प्रोग्रामर रहे हैं तो अगर जैसे मैं एक तरह से कभी कभी हूँ, 1307 01:00:48,610 --> 01:00:50,402 मैं याद रखना पसंद नहीं है एक int का क्या आकार 1308 01:00:50,402 --> 01:00:52,734 , मैं याद रखना पसंद नहीं करते है एक नाव के आकार के साथ है। 1309 01:00:52,734 --> 01:00:55,160 बस के आकार आपको बताता है क्या यह और है कि एक बहुत आसान है। 1310 01:00:55,160 --> 01:00:59,880 1311 01:00:59,880 --> 01:01:00,440 >> ठीक है। 1312 01:01:00,440 --> 01:01:02,160 इसलिए एक महत्वपूर्ण बात आप लोग सब चाहते हैं कि 1313 01:01:02,160 --> 01:01:04,620 आप कर रहे हैं जब मन में रखने के लिए malloc का उपयोग कर हमेशा के लिए आप यह है कि 1314 01:01:04,620 --> 01:01:06,400 यह शून्य है देखने के लिए जाँच करने के लिए है। 1315 01:01:06,400 --> 01:01:08,630 की तरह तो मैं वापस करने के लिए कहा ढेर की उस तस्वीर। 1316 01:01:08,630 --> 01:01:11,390 ढेर सिर्फ इस विशाल है तुम मिल गया है कि स्मृति की हो चुकी है। 1317 01:01:11,390 --> 01:01:16,740 और अगर आप हिस्सा लेने के लिए सक्षम होना चाहता हूँ और इसमें से स्मृति का अधिकार है, इसका इस्तेमाल? 1318 01:01:16,740 --> 01:01:19,750 >> लेकिन अगर आप कोई क्या है, तो उस ढेर में और अधिक स्मृति? 1319 01:01:19,750 --> 01:01:23,650 क्या मैं पहले से ही सभी का उपयोग किया है और इसके बारे में मैं और अधिक malloc की कोशिश की? 1320 01:01:23,650 --> 01:01:24,864 यही कारण है कि अस्तित्व में नहीं है। 1321 01:01:24,864 --> 01:01:26,780 आप क्यों कर रहे हैं ठीक है, कि एक त्रुटि प्राप्त करने के लिए जा रहा है। 1322 01:01:26,780 --> 01:01:29,220 आप गलती SEG तक जा रहे हैं। आप जा रहे हैं जहां आप एक विभाजन गलती है की 1323 01:01:29,220 --> 01:01:30,940 वहाँ नहीं कर रहे हैं कि चीजों का उपयोग करने के लिए प्रयास करें। 1324 01:01:30,940 --> 01:01:33,180 और तो जिस तरह से हम करते हैं कि और तरीका है कि हम 1325 01:01:33,180 --> 01:01:36,120 कि हम जांच यह है कि रोकने के सूचक के अशक्त देखने के लिए। 1326 01:01:36,120 --> 01:01:41,650 >> तो अगर मैं कुछ malloc के लिए गए थे और मुझे लगता है, कोई और अधिक स्मृति था 1327 01:01:41,650 --> 01:01:45,501 कि क्योंकि एक त्रुटि प्रिंट होगा सूचक तुम सिर्फ रिक्त है करने के लिए लौट आए। 1328 01:01:45,501 --> 01:01:47,750 और तो जिस तरह से हम है- करना यह सिर्फ महान डिजाइन है 1329 01:01:47,750 --> 01:01:52,140 सिर्फ है- कि किसी भी है याद बार जब आप कुछ भी malloc करने की कोशिश, 1330 01:01:52,140 --> 01:01:55,300 आप की जरूरत करने जा रहे हैं यह शून्य है देखने के लिए जाँच। 1331 01:01:55,300 --> 01:01:58,257 आप करने की कोशिश क्योंकि जब भी ढेर से स्मृति प्राप्त है, 1332 01:01:58,257 --> 01:02:00,340 आप हमेशा बनाने के लिए है आप स्मृति है कि सुनिश्चित करें। 1333 01:02:00,340 --> 01:02:01,350 यही कारण है कि यह सब है। 1334 01:02:01,350 --> 01:02:04,980 >> इसलिए बहुत ज्यादा उन तीन कोड की लाइनों, याद। 1335 01:02:04,980 --> 01:02:06,830 हर बार जब आप malloc, में उन्हें खटखटाने। 1336 01:02:06,830 --> 01:02:08,190 आप उन्हें जरूरत के लिए जा रहे हैं। 1337 01:02:08,190 --> 01:02:10,540 मैं तुम्हें गारंटी है, क्योंकि हम जा रहे हैं एक मामला है और आप अपने कंप्यूटर पर परीक्षण करने के लिए 1338 01:02:10,540 --> 01:02:13,498 आप कर रहे हैं, क्योंकि विस्फोट करने के लिए जा रहा है है कि स्मृति का उपयोग करने की कोशिश करने के लिए जा रहा 1339 01:02:13,498 --> 01:02:16,680 वहाँ नहीं और बातें करने के लिए जा रहे हैं दुर्घटना और यह अच्छा होने के लिए नहीं जा रहा है। 1340 01:02:16,680 --> 01:02:19,290 तो बस अपने दिमाग में है कि ड्रिल। 1341 01:02:19,290 --> 01:02:21,370 Malloc, अशक्त। 1342 01:02:21,370 --> 01:02:22,360 अच्छा। 1343 01:02:22,360 --> 01:02:22,860 ठीक है। 1344 01:02:22,860 --> 01:02:26,280 1345 01:02:26,280 --> 01:02:28,340 >> तो फिर इस begets क्या होता है का सवाल 1346 01:02:28,340 --> 01:02:30,550 हम चाहते हैं कि स्मृति का उपयोग कर रहे हैं के बाद। 1347 01:02:30,550 --> 01:02:32,390 पूरे विचार क्योंकि malloc होने का था 1348 01:02:32,390 --> 01:02:36,460 हम ले जा सकते हैं कि इस ढेर है कि से स्मृति और उसके बाद हम इसका इस्तेमाल कर सकते हैं। 1349 01:02:36,460 --> 01:02:37,220 है ना? 1350 01:02:37,220 --> 01:02:40,550 और फिर हमारे पास क्या याद करने के लिए हम इसके साथ कर रहे हैं, कि है, के बाद 1351 01:02:40,550 --> 01:02:41,900 हम तो यह मुक्त कर सकते हैं। 1352 01:02:41,900 --> 01:02:42,400 जाने दो। 1353 01:02:42,400 --> 01:02:43,979 हम उसे जाने दिया जा सकता है। 1354 01:02:43,979 --> 01:02:47,020 वरना आप भी लीक करने के लिए जा रहे हैं स्मृति और अधिक बुरा होगा। 1355 01:02:47,020 --> 01:02:49,010 >> अनिवार्य रूप से, जब भी आप स्मृति छू रहे हैं, 1356 01:02:49,010 --> 01:02:51,800 बुरी बातें आप तो क्या होगा सही ढंग से काम नहीं करते। 1357 01:02:51,800 --> 01:02:55,150 तो आप पहली बार देखने के लिए जाँच करने के लिए है, आप स्मृति उपलब्ध है तो। 1358 01:02:55,150 --> 01:02:58,700 आप कर रहे हैं के बाद और फिर, आप करना चाहते हैं यह मुफ़्त है और अपने ऑपरेटिंग सिस्टम की अनुमति 1359 01:02:58,700 --> 01:03:00,690 इसे वापस लेने के लिए। 1360 01:03:00,690 --> 01:03:04,870 तो हम ऐसा तरीका है कि बस समारोह में, शून्य मुक्त, और सूचक 1361 01:03:04,870 --> 01:03:06,370 स्मृति की है कि ढेर करने के लिए। 1362 01:03:06,370 --> 01:03:08,680 >> तो उदाहरण मुक्त सूचक है। 1363 01:03:08,680 --> 01:03:11,580 यह सरल, बहुत आसान है इसे भूल नहीं करना चाहते हैं। 1364 01:03:11,580 --> 01:03:14,687 तो यह शून्य है, तो मुक्त, देखने के लिए जाँच। 1365 01:03:14,687 --> 01:03:15,270 हर कोई अच्छा है? 1366 01:03:15,270 --> 01:03:22,660 1367 01:03:22,660 --> 01:03:27,325 तो एक बार फिर, कोड है कि आप लोग एक तरह से जल्दी पर एक नज़र ले जा सकते हैं। 1368 01:03:27,325 --> 01:03:34,964 1369 01:03:34,964 --> 01:03:37,880 मैं यह नई वाक्य रचना का एक बहुत जानते हैं और आप आह, पसंद कर रहे हैं, अगर यह सब ठीक है 1370 01:03:37,880 --> 01:03:38,963 कि फिर क्या मतलब है? 1371 01:03:38,963 --> 01:03:40,250 कोई चिंता नहीं। 1372 01:03:40,250 --> 01:03:46,785 यह सब प्रदर्शित कर रहा है होना चाहिए था एक एक्शन, कैसे इन सब बातों का 1373 01:03:46,785 --> 01:03:47,660 एक साथ इस्तेमाल किया जा सकता है। 1374 01:03:47,660 --> 01:03:52,190 1375 01:03:52,190 --> 01:03:54,190 तो यह है कि एक साथ रखा है अतीत का एक झुंड की तरह 1376 01:03:54,190 --> 01:03:56,532 स्लाइड हम बस गया था के माध्यम से एक कार्यक्रम में। 1377 01:03:56,532 --> 01:03:58,240 दर्शकों: एक तरह से हम actually-- सकते हैं 1378 01:03:58,240 --> 01:03:59,570 ANDI PENG: एक तरह से है कि हम वास्तव में उपयोग कर सकते हैं। 1379 01:03:59,570 --> 01:04:02,379 आप अपने आईडी में है कि खटखटाने जा सकता था आप इसे चला सकते हैं और यह काम करेगा। 1380 01:04:02,379 --> 01:04:02,920 दर्शकों: ठीक है। 1381 01:04:02,920 --> 01:04:04,140 तो यह है कि असली है? 1382 01:04:04,140 --> 01:04:05,580 >> ANDI PENG: यह असली है। 1383 01:04:05,580 --> 01:04:06,430 हाँ। 1384 01:04:06,430 --> 01:04:08,690 मैं तो इसे बनाने की कोशिश फोंट बहुत अलग हैं 1385 01:04:08,690 --> 01:04:11,770 मैं वास्तविक प्रकार है कि जब भी कोड फ़ॉन्ट कोड है 1386 01:04:11,770 --> 01:04:15,471 और मेरी चिट्ठी कोड अलग है कि लेकिन कि वास्तव में काम करता है, तो मैं नहीं जानता। 1387 01:04:15,471 --> 01:04:16,012 दर्शकों: नहीं 1388 01:04:16,012 --> 01:04:17,190 मुझे लगता है कि-- 1389 01:04:17,190 --> 01:04:18,213 >> ANDI PENG: ठीक है। 1390 01:04:18,213 --> 01:04:20,578 >> दर्शकों: --sometimes [अश्राव्य] और मैं कर रहा हूँ 1391 01:04:20,578 --> 01:04:23,416 जैसे कि, वास्तव में प्यारा होगा यह वास्तव में एक प्रयोग करने योग्य बात थी 1392 01:04:23,416 --> 01:04:24,812 लेकिन तब यह एक प्रयोग करने योग्य बात नहीं है। 1393 01:04:24,812 --> 01:04:26,270 मैं यह एक प्रयोग करने योग्य बात यह है कि पसंद है। 1394 01:04:26,270 --> 01:04:27,010 >> ANDI PENG: ठीक है। 1395 01:04:27,010 --> 01:04:27,510 हाँ। 1396 01:04:27,510 --> 01:04:28,430 मैं भी साथ कि पारित करेंगे। 1397 01:04:28,430 --> 01:04:33,266 दाऊद की तरह हो, बच्चों को वास्तव में कर रहे हैं दुख की बात है आप नकली कोड लिखना है। 1398 01:04:33,266 --> 01:04:34,240 ठीक है। 1399 01:04:34,240 --> 01:04:34,740 हाँ? 1400 01:04:34,740 --> 01:04:37,686 >> दर्शकों: तो यहाँ पीटीआर वास्तव में एक सूचक नहीं है 1401 01:04:37,686 --> 01:04:41,130 यह स्मृति का एक ब्लॉक है? 1402 01:04:41,130 --> 01:04:45,130 >> ANDI PENG: तो आप के बारे में बात कर रहे हैं पहली पंक्ति या यहाँ नीचे एक? 1403 01:04:45,130 --> 01:04:48,170 आप यहां इस बारे में बात कर रहे हैं? 1404 01:04:48,170 --> 01:04:50,910 >> दर्शकों: पीटीआर है in-- अलग अलग बातें 1405 01:04:50,910 --> 01:04:53,230 >> ANDI PENG: ठीक है, यहाँ तक इतने क्या मैं वास्तव में doing-- रहा हूँ, 1406 01:04:53,230 --> 01:04:54,660 चलो बस यहाँ के माध्यम से चलते हैं। 1407 01:04:54,660 --> 01:04:57,120 संबंधों के इस प्रकार में अच्छी तरह से अवधारणाओं के सभी। 1408 01:04:57,120 --> 01:05:01,840 यहाँ तो हम पूर्णांक स्टार पीटीआर है। 1409 01:05:01,840 --> 01:05:04,160 तो सूचक int, कि कहाँ है हम वास्तव में बना रहे हैं 1410 01:05:04,160 --> 01:05:06,550 एक पूर्णांक के लिए बताते हैं कि एक सूचक। 1411 01:05:06,550 --> 01:05:08,230 खैर, यह एक पूर्णांक के लिए बात करने के लिए जा रहा है। 1412 01:05:08,230 --> 01:05:12,135 और हम malloc करने जा रहे हैं, या इसे देने के लिए पर्याप्त स्मृति आवंटित 1413 01:05:12,135 --> 01:05:13,200 एक पूर्णांक स्टोर करने के लिए। 1414 01:05:13,200 --> 01:05:14,910 तो इस मामले में चार बाइट्स। 1415 01:05:14,910 --> 01:05:18,024 >> और फिर उस null-- के बराबर होती है, तो हम मुद्रित करने के लिए जा रहे हैं null-- बराबर होती है। 1416 01:05:18,024 --> 01:05:20,440 ओह, आप एक त्रुटि क्योंकि है आप स्मृति से बाहर रहे हैं, है ना? 1417 01:05:20,440 --> 01:05:22,814 अन्यथा लौटने से एक है, कि सिर्फ अपने कार्यक्रम बताता है 1418 01:05:22,814 --> 01:05:24,170 कि आप एक त्रुटि मिल गया है। 1419 01:05:24,170 --> 01:05:26,850 और फिर अगर आप ऐसा करेंगे यह है, कि स्मृति है 1420 01:05:26,850 --> 01:05:33,230 जो भी मिलता स्टोर करने के लिए जा रहा पूर्णांक स्थान में आप देता है 1421 01:05:33,230 --> 01:05:35,460 और सूचक के मूल्य के रूप में यह निर्धारित किया है। 1422 01:05:35,460 --> 01:05:38,500 तो यह वास्तव में करने जा रहा है शारीरिक रूप से इस मूल्य को मिटा 1423 01:05:38,500 --> 01:05:41,702 और पूर्णांक रिटर्न मिलता है जो कुछ भी डाल दिया। 1424 01:05:41,702 --> 01:05:43,910 और फिर आप करने जा रहे हैं वे प्रवेश किया जो कुछ भी प्रिंट। 1425 01:05:43,910 --> 01:05:46,080 >> दर्शकों: और है कि ढेर में होने जा रहा? 1426 01:05:46,080 --> 01:05:47,060 >> ANDI PENG: यही हो रहा है ढेर में किया जाना है। 1427 01:05:47,060 --> 01:05:48,768 >> दर्शकों: और तो यह है कि सुलभ हो जाएगा। 1428 01:05:48,768 --> 01:05:51,220 ANDI PENG: बिल्कुल। 1429 01:05:51,220 --> 01:05:52,600 अच्छा लगा। 1430 01:05:52,600 --> 01:05:53,756 अच्छा। 1431 01:05:53,756 --> 01:05:59,289 >> दर्शकों: तो हम इस पर पीटीआर मुक्त जब अंतिम चरण में, हम सूचक मुक्त कराने रहे हैं 1432 01:05:59,289 --> 01:06:00,724 या हम ब्लॉक मुक्त कराने रहे हैं? 1433 01:06:00,724 --> 01:06:01,390 ANDI PENG: हाँ। 1434 01:06:01,390 --> 01:06:05,570 इसलिए हम pointer-- मुक्त कराने रहे खैर, स्मृति के ब्लॉक मुक्त। 1435 01:06:05,570 --> 01:06:08,780 इतना ही तरीका है कि हम का उपयोग भी कर सकते हैं स्मृति सूचक होने से है। 1436 01:06:08,780 --> 01:06:10,730 आप सूचक नहीं है, तो आप कर रहे हैं यह वह जगह है जहाँ की तरह, ओह, मैं नहीं जानता, 1437 01:06:10,730 --> 01:06:11,290 है ना? 1438 01:06:11,290 --> 01:06:13,956 आप इसे मुक्त तो, अगर आप अनिवार्य रूप से कर रहे हैं कि पूरे ब्लॉक को मुक्त कराने के। 1439 01:06:13,956 --> 01:06:16,500 फिर अपने कंप्यूटर ओह, जानता है, प्रयोग करने योग्य कुछ भी नहीं है, यहाँ है 1440 01:06:16,500 --> 01:06:19,396 मैं सिर्फ कचरा डाल सकते हैं मूल्यों इसे वापस में फिर से। 1441 01:06:19,396 --> 01:06:21,590 >> दर्शकों: पूर्णांकों उस पर मौजूद नहीं है तो? 1442 01:06:21,590 --> 01:06:23,481 >> ANDI PENG: पूर्णांकों अस्तित्व है? 1443 01:06:23,481 --> 01:06:23,980 माफ़ कीजिए। 1444 01:06:23,980 --> 01:06:25,271 आप अपने सवाल rephrase कर सकते हैं? 1445 01:06:25,271 --> 01:06:28,330 दर्शकों: आप मुक्त करने के बाद मैं, मतलब सूचक, आपको मिलता है कि पूर्णांक, 1446 01:06:28,330 --> 01:06:29,990 कि अभी भी मौजूद होगा? 1447 01:06:29,990 --> 01:06:31,360 >> ANDI PENG: नहीं, यह नहीं होगा। 1448 01:06:31,360 --> 01:06:34,070 1449 01:06:34,070 --> 01:06:37,550 या कम से कम उस में मौजूद होगा अपना स्मृति के लिए अपने कंप्यूटर करता है इससे पहले 1450 01:06:37,550 --> 01:06:40,231 इसके साथ जो कुछ भी है, लेकिन वहाँ है आप के लिए कोई रास्ता नहीं है कि पाने के लिए। 1451 01:06:40,231 --> 01:06:41,480 आप सूचक को मुक्त कर दिया है। 1452 01:06:41,480 --> 01:06:43,150 यह अब है, जहां आप नहीं जानते। 1453 01:06:43,150 --> 01:06:43,650 हाँ। 1454 01:06:43,650 --> 01:06:46,500 1455 01:06:46,500 --> 01:06:48,560 >> मैं यहाँ पर स्थानांतरित करने के लिए जा रहा हूँ। 1456 01:06:48,560 --> 01:06:49,060 ओफ़्फ़। 1457 01:06:49,060 --> 01:06:53,012 इसलिए हम वैचारिक का एक बहुत माध्यम से कर रहे स्मृति प्रबंधन की कठिनाइयों 1458 01:06:53,012 --> 01:06:54,720 और हम बस जा रहे हैं अनिवार्य रूप से खर्च करने के लिए 1459 01:06:54,720 --> 01:06:57,090 जा 5, 10 मिनट वाक्य रचना बातों पर कि 1460 01:06:57,090 --> 01:07:03,240 उपयोगी और आप लोगों के लिए उपयोगी हो जाएगा, लेकिन बहुत धारणात्मक वहाँ से बाहर कुछ भी नहीं है। 1461 01:07:03,240 --> 01:07:03,740 ठीक। 1462 01:07:03,740 --> 01:07:06,930 >> इसलिए हम पूरी तरह से यहां गियर बदल रहे हैं। 1463 01:07:06,930 --> 01:07:09,360 स्मृति प्रबंधन, मुश्किल। सूचक, मुश्किल। हाँ। 1464 01:07:09,360 --> 01:07:10,530 यह वास्तव में मुश्किल है, वास्तव में है। 1465 01:07:10,530 --> 01:07:11,270 पूरी तरह से ठीक है। 1466 01:07:11,270 --> 01:07:13,800 अपने टुकड़ा है यही कारण है कि वास्तव में मुश्किल होने जा रहा। 1467 01:07:13,800 --> 01:07:17,740 लेकिन तुम जाओ और करते हैं हम कर रहे हैं कि चीजों को 1468 01:07:17,740 --> 01:07:19,860 क्या करना चाहिए, बनाना यकीन है कि चीजें, अशक्त हैं 1469 01:07:19,860 --> 01:07:21,830 बातें कर रहे हैं, तो जाँच करने के लिए सुनिश्चित करें अशक्त, मुक्त स्मृति के लिए सुनिश्चित करें, 1470 01:07:21,830 --> 01:07:23,910 यकीन है कि चीजें नहीं कर रहे हैं बनाने लीक, आप अच्छा हो जाएगा। 1471 01:07:23,910 --> 01:07:25,761 आप सेट हो जाएगा। 1472 01:07:25,761 --> 01:07:26,260 ठीक है। 1473 01:07:26,260 --> 01:07:30,870 इसलिए हम इस में स्थानांतरित करने के लिए जा रहे हैं पुनर्निर्देशन का पूरी तरह से नई अवधारणा। 1474 01:07:30,870 --> 01:07:33,201 और इसलिए अब से पहले, हम है कि मुख्य रास्ता 1475 01:07:33,201 --> 01:07:35,700 के साथ बातचीत की गई हमारी कार्यक्रमों के मानक इनपुट के माध्यम से है 1476 01:07:35,700 --> 01:07:36,533 और मानक आउटपुट। 1477 01:07:36,533 --> 01:07:37,040 है ना? 1478 01:07:37,040 --> 01:07:39,230 उपयोगकर्ता इनपुट के रूप में हम बातें और कंप्यूटर 1479 01:07:39,230 --> 01:07:42,090 हमें वापस करने के लिए टर्मिनल में यह spits। 1480 01:07:42,090 --> 01:07:44,770 >> लेकिन दूसरे देखते हैं हमें बातचीत करने के लिए तरीके 1481 01:07:44,770 --> 01:07:47,810 साथ कंप्यूटर के साथ हमारे सिर्फ मेरे नहीं हैं कि कार्यक्रमों 1482 01:07:47,810 --> 01:07:50,245 शारीरिक रूप से टाइपिंग बातें मैं के लिए प्रेरित कर रहा हूँ जब में। 1483 01:07:50,245 --> 01:07:52,620 और हम ऐसा रास्ता है एक से अधिक गाजर के माध्यम से 1484 01:07:52,620 --> 01:07:53,453 और पाइप प्रतीक। 1485 01:07:53,453 --> 01:07:55,970 1486 01:07:55,970 --> 01:07:58,630 इसलिए हम भी पढ़ सकते हैं और उस का उपयोग कर फाइल करने के लिए लिखें। 1487 01:07:58,630 --> 01:08:03,230 >> इसलिए हम यह करते हैं कि जिस तरह से है अधिक से अधिक गाजर की तुलना में, यह सब कर रही है 1488 01:08:03,230 --> 01:08:07,410 लिख रही है जो कुछ भी अपने फ़ाइल एक अलग फाइल करने के लिए किया है। 1489 01:08:07,410 --> 01:08:11,870 उदाहरण के लिए, यदि ऐसा है तो मैं हैलो दुनिया को चलाने के लिए चाहता था 1490 01:08:11,870 --> 01:08:14,330 और मैं करने के लिए उत्पादन करना चाहता था एक और फाइल में बचाया जा 1491 01:08:14,330 --> 01:08:17,359 और सिर्फ मुझे, मैं करने के लिए बाहर मुद्रित नहीं सिर्फ गाजर की तुलना में अधिक से अधिक कर सकते हैं, 1492 01:08:17,359 --> 01:08:18,410 output.txt। 1493 01:08:18,410 --> 01:08:22,609 इसलिए कर रहा है कि सभी लेने है मेरी hello.world कार्यक्रम, 1494 01:08:22,609 --> 01:08:26,359 उत्पादन जो कुछ भी है, यह है output.txt नामक एक फाइल में बचत। 1495 01:08:26,359 --> 01:08:29,850 डेविड था कि इतना रास्ता छात्रों के नाम के साथ .csv, 1496 01:08:29,850 --> 01:08:32,310 यह तुम लोगों को क्या कर सकते हैं कि एक ही है। 1497 01:08:32,310 --> 01:08:35,137 >> और क्या विशेष रूप से है उपयोगी यहां अधिक से अधिक कर रहे हैं 1498 01:08:35,137 --> 01:08:38,220 दो गाजर की तुलना में अधिक से अधिक than-- आप एक उत्पादन करने के लिए संलग्न कर सकते हैं जो संकेत 1499 01:08:38,220 --> 01:08:40,795 आप जिसका अर्थ है कि फ़ाइल, सिर्फ यह की चोटी पर जोड़ सकते हैं। 1500 01:08:40,795 --> 01:08:43,420 तुम बस में जोड़ने से रख सकते हैं प्रत्येक अतिरिक्त बात की output.txt 1501 01:08:43,420 --> 01:08:44,490 कि तुम क्या कर रहे हैं। 1502 01:08:44,490 --> 01:08:48,010 या, यदि आप अधिक में शुरू हो रही है, तो जटिल प्रोग्राम, दो से अधिक 1503 01:08:48,010 --> 01:08:50,939 गाजर की तुलना में, कि सिर्फ प्रिंट त्रुटि संदेश बाहर। 1504 01:08:50,939 --> 01:08:53,340 तो अगर आप एक विशाल का कहना है कि त्रुटि संदेश की राशि 1505 01:08:53,340 --> 01:08:54,810 और आप पढ़ना चाहते हैं उन्हें और आप सभी के माध्यम से 1506 01:08:54,810 --> 01:08:56,450 स्क्रॉल करने के लिए नहीं करना चाहते हैं अपने टर्मिनल के माध्यम से, 1507 01:08:56,450 --> 01:08:58,651 आप वास्तव में सिर्फ कर सकते हैं output.txt से अधिक से अधिक 1508 01:08:58,651 --> 01:09:00,359 और इसे बचाने के लिए जा रहा है अपनी त्रुटियों के सभी 1509 01:09:00,359 --> 01:09:02,900 एक फ़ाइल में है कि output.txt बुलाया आप के माध्यम से जाने के लिए और पढ़ सकते हैं। 1510 01:09:02,900 --> 01:09:04,622 दर्शकों: कहाँ पाठ फ़ाइल सहेजा जाता है? 1511 01:09:04,622 --> 01:09:07,330 ANDI PENG: यह वही में बचाया है अपने कार्यक्रम है कि निर्देशिका। 1512 01:09:07,330 --> 01:09:09,830 तो अगर आप अभी वापस जाने के लिए और यह देखने के लिए। 1513 01:09:09,830 --> 01:09:11,930 और एक ही बात है कि हम इनपुट के लिए क्या कर सकते है 1514 01:09:11,930 --> 01:09:14,300 हम वास्तव में ले जा सकते हैं कुछ फाइल की सामग्री 1515 01:09:14,300 --> 01:09:16,380 और हम निवेश कर सकते हैं हमारे कार्यक्रम में कि। 1516 01:09:16,380 --> 01:09:19,930 तो बजाय कमांड करने के लिए होने से जहां आप शारीरिक रूप से लाइन तर्क 1517 01:09:19,930 --> 01:09:21,680 चीजों को टाइप करने के लिए हर बार, आप 1518 01:09:21,680 --> 01:09:27,890 वास्तव में सिर्फ नामक एक फाइल हो सकता है कि input.txt बस में यह सब कहते हैं। 1519 01:09:27,890 --> 01:09:31,970 >> और फिर पाइप क्योंकि विशेष रूप से शांत है यह एक कार्यक्रम के उत्पादन में ले सकते हैं 1520 01:09:31,970 --> 01:09:34,170 और इनपुट के रूप में उपयोग एक अन्य कार्यक्रम के। 1521 01:09:34,170 --> 01:09:38,430 तो उदाहरण के लिए, अपने लोग 'Vigenere में, कोड की इस पंक्ति है कि वहाँ आप 1522 01:09:38,430 --> 01:09:42,010 लोग शायद शायद आपको लगता है कि चल रहे हैं वास्तव में यह doing-- क्या था पता नहीं था 1523 01:09:42,010 --> 01:09:46,910 इस ./generate 1000 पाइप ./42। 1524 01:09:46,910 --> 01:09:47,510 है ना? 1525 01:09:47,510 --> 01:09:51,100 >> इतना सब कर रहा है कि, अगर हम सिर्फ इस कदम से कदम पर एक नज़र रखना, 1526 01:09:51,100 --> 01:09:55,870 ./generate, कि मैं कर रहा हूँ इसका मतलब मेरे कार्यक्रम उत्पन्न चल रहा है। 1527 01:09:55,870 --> 01:09:58,850 यही कारण है कि अपने निवेश पर 1,000 में ले जा रहा है। 1528 01:09:58,850 --> 01:10:03,330 तो मैं बिना सोचे समझे 1,000 पैदा करना चाहते संख्या और मैं पाइप के लिए जा रहा हूँ that-- 1529 01:10:03,330 --> 01:10:07,790 या मैं that-- उत्पादन का उपयोग करने के लिए जा रहा हूँ मिल बुलाया अपने कार्यक्रम के लिए निवेश के रूप में। 1530 01:10:07,790 --> 01:10:12,110 और मैं में से 42 खोजने की कोशिश करने के लिए जा रहा हूँ उन 1,000 से उत्पन्न संख्या 1531 01:10:12,110 --> 01:10:13,130 संख्या। 1532 01:10:13,130 --> 01:10:15,410 कोड की है कि लाइन बनाता है हर किसी को समझ में? 1533 01:10:15,410 --> 01:10:17,820 >> इस तरह से हम बचत कर रहे हैं तो खुद कदम की एक टन। 1534 01:10:17,820 --> 01:10:21,880 हम उत्पन्न चलाने की जरूरत नहीं है, को बचाने के फ़ाइल और फिर मिल में डाल दिया। 1535 01:10:21,880 --> 01:10:23,800 हम एक पंक्ति में यह सब करते हैं, बस कर सकते हैं। 1536 01:10:23,800 --> 01:10:28,080 तो, जो भी outputting है उत्पन्न मिल में इसे सही वापस खटखटाने। 1537 01:10:28,080 --> 01:10:28,580 हाँ? 1538 01:10:28,580 --> 01:10:32,484 >> दर्शकों: और आदेश के संदर्भ में कि that-- लाइन तर्क है, 1539 01:10:32,484 --> 01:10:33,948 तीन कमांड लाइन तर्क? 1540 01:10:33,948 --> 01:10:38,340 यह कोई find--, four-- उत्पन्न है 1000, खोजने के लिए और 42 उत्पन्न? 1541 01:10:38,340 --> 01:10:39,134 या the-- है 1542 01:10:39,134 --> 01:10:42,050 ANDI PENG: पाइप करता है तो वास्तव में नहीं है एक कमांड लाइन तर्क के रूप में गिनती 1543 01:10:42,050 --> 01:10:44,590 संकलक या क्योंकि टर्मिनल कि पाइप जानता है, 1544 01:10:44,590 --> 01:10:48,590 ओह, मैं मैं से पहले विचार करना चाहिए पता है कि कि क्योंकि पाइप मेरी उत्पादन है 1545 01:10:48,590 --> 01:10:51,220 और मैं के बाद विचार करना चाहिए पाइप कि अपने इनपुट है, क्योंकि। 1546 01:10:51,220 --> 01:10:54,520 तो यह that-- जानता है ./generate और 1000, 1547 01:10:54,520 --> 01:10:57,390 उन दो आदेश तो बहस कर रहे हैं सिर्फ पहला कार्यक्रम के लिए। 1548 01:10:57,390 --> 01:11:01,760 और फिर ./find 42 दो कमान कर रहे हैं दूसरा कार्यक्रम के लिए लाइन तर्क। 1549 01:11:01,760 --> 01:11:02,980 हाँ। 1550 01:11:02,980 --> 01:11:06,150 हर कोई इस पर अच्छा है? 1551 01:11:06,150 --> 01:11:10,610 >> तो बस जल्दी असली, क्या करना है कोड के इन तीन लाइनों करते हैं? 1552 01:11:10,610 --> 01:11:11,606 काफी सरल। 1553 01:11:11,606 --> 01:11:13,605 किसी ने मुझे बता करना चाहते हैं पहली पंक्ति क्या करता है? 1554 01:11:13,605 --> 01:11:18,201 1555 01:11:18,201 --> 01:11:19,117 दर्शकों: [अश्राव्य]। 1556 01:11:19,117 --> 01:11:23,540 1557 01:11:23,540 --> 01:11:26,534 >> ANDI PENG: just-- के रूप में सोचो एक से अधिक गाजर क्या करता है? 1558 01:11:26,534 --> 01:11:29,299 >> दर्शकों: यह कुछ कहते हैं अगली पंक्ति में। 1559 01:11:29,299 --> 01:11:31,090 ANDI PENG: तो क्या है उस के विपरीत? 1560 01:11:31,090 --> 01:11:33,514 दर्शकों: यह अगले डालता पहली बात में बात। 1561 01:11:33,514 --> 01:11:34,180 ANDI PENG: हाँ। 1562 01:11:34,180 --> 01:11:37,550 इसलिए कर रहा है कि सब आप कर रहे है एक कार्यक्रम चल रहा .hello-- 1563 01:11:37,550 --> 01:11:40,010 आप हैलो नाम का एक कार्यक्रम चल रहे हैं। 1564 01:11:40,010 --> 01:11:42,960 आप इसे देने के लिए जा रहे हैं एक इनपुट input.txt बुलाया। 1565 01:11:42,960 --> 01:11:43,460 है ना? 1566 01:11:43,460 --> 01:11:46,250 यह वजह से बस के रूप में लगता है शारीरिक रूप से नमस्ते में जा रहा है। 1567 01:11:46,250 --> 01:11:50,632 और फिर आप को बचाने के लिए जा रहे हैं एक फ़ाइल में उत्पादन output.txt बुलाया। 1568 01:11:50,632 --> 01:11:51,715 कैसे दूसरी पंक्ति के बारे में? 1569 01:11:51,715 --> 01:11:54,164 मुझे बताओ कि क्या करना चाहते हैं दूसरी पंक्ति करता है? 1570 01:11:54,164 --> 01:11:55,080 दर्शकों: [अश्राव्य]। 1571 01:11:55,080 --> 01:12:00,522 1572 01:12:00,522 --> 01:12:01,230 ANDI PENG: क्षमा करें। 1573 01:12:01,230 --> 01:12:03,560 दोबारा कहना। 1574 01:12:03,560 --> 01:12:04,060 इलियट। 1575 01:12:04,060 --> 01:12:06,560 >> दर्शकों: यह डालता है तो एक मिल में नंबरों की सूची। 1576 01:12:06,560 --> 01:12:07,540 >> ANDI PENG: हाँ। 1577 01:12:07,540 --> 01:12:10,790 इतने में, याद है, मिल आदेश आप पाते हैं चलाने के लिए 1578 01:12:10,790 --> 01:12:13,209 आप खोज रहे हैं, जहां पता करने की जरूरत है। 1579 01:12:13,209 --> 01:12:15,500 और यह कर रहा है, ताकि सभी कि यहाँ यह है कि आप दे रही है वह यह है कि 1580 01:12:15,500 --> 01:12:18,720 एक पूर्व के सेट आबंटित संख्याओं, तो जा रहा है मिल 1581 01:12:18,720 --> 01:12:21,680 42 की संख्या के लिए उन खोज करने के लिए। 1582 01:12:21,680 --> 01:12:23,620 और फिर 15। 1583 01:12:23,620 --> 01:12:25,870 याद रखें, आप लोगों को दौड़ा इस जब आप अपने कोड का परीक्षण किया। 1584 01:12:25,870 --> 01:12:27,590 अब आप यह कर रहा था क्या समझते हैं? 1585 01:12:27,590 --> 01:12:31,069 1586 01:12:31,069 --> 01:12:33,520 >> दर्शकों: यह रख रहा है निर्देश के सेट 1587 01:12:33,520 --> 01:12:38,860 एक तीन से के माध्यम से [सुनाई] को तीन the-- खेल को जीतने के लिए मिलता है। 1588 01:12:38,860 --> 01:12:39,560 >> ANDI PENG: हाँ। 1589 01:12:39,560 --> 01:12:41,480 >> दर्शकों: यह उन आदानों कार्यक्रम में निर्देश। 1590 01:12:41,480 --> 01:12:42,438 >> ANDI PENG: बहुत सुंदर। 1591 01:12:42,438 --> 01:12:47,840 तो टिल्ड CS50। / Pset3 / 3x3, यह सब कर रहा था कि हम एक पाठ बनाया गया था कि 1592 01:12:47,840 --> 01:12:50,700 था कि फ़ाइल सभी आप लोगों के लिए तैयार खिताब। 1593 01:12:50,700 --> 01:12:56,020 अपने खेल को खेलने के लिए और हां, तो आप just-- हम सिर्फ अपने कार्यक्रम में डाल दिया है कि। 1594 01:12:56,020 --> 01:12:58,230 इसलिए हम बनाया था इस बोर्ड और फिर हम कर रहे हैं 1595 01:12:58,230 --> 01:13:02,890 अपने कार्यक्रम में कहा कि बोर्ड डाल कि यह भाग गया और तीन में से एक टाइल बनाया 1596 01:13:02,890 --> 01:13:03,390 तीन से। 1597 01:13:03,390 --> 01:13:04,730 यही कारण है कि यह कर रहा था कि सभी को है। 1598 01:13:04,730 --> 01:13:07,331 >> और तो वास्तव में जादू नहीं थी पर्दे के पीछे चल रहा है 1599 01:13:07,331 --> 01:13:09,330 तुम लोगों को नहीं था कि हम प्रोग्राम किया कि कार्यक्रम। 1600 01:13:09,330 --> 01:13:13,120 लेकिन अब आप लोग समझ क्यों हम तो यह सब अच्छा है ऐसा ही किया। 1601 01:13:13,120 --> 01:13:15,750 ठीक है। 1602 01:13:15,750 --> 01:13:22,200 >> पुनर्निर्देशन एक बहुत ही है तो, जबकि उपयोगी, सी एक सामान्य तंत्र है 1603 01:13:22,200 --> 01:13:25,030 पढ़ने और लिखने के लिए अपनी खुद की फ़ाइलें। 1604 01:13:25,030 --> 01:13:26,780 कुछ भी नहीं धारणात्मक मैं कर रहा हूँ तो यहाँ मुश्किल 1605 01:13:26,780 --> 01:13:28,330 बस के माध्यम से जाना जा रहा है वास्तव में, बहुत जल्दी। 1606 01:13:28,330 --> 01:13:30,621 यह सब कुछ याद है और यकीन है कि तुम लोगों को बनाने 1607 01:13:30,621 --> 01:13:32,680 वाक्य रचना से इसे सही ढंग से उपयोग कर रहे हैं। 1608 01:13:32,680 --> 01:13:35,640 हम ऐसा होता है कि जिस तरह से है फाइल करने के लिए एक संदर्भ बनाने, 1609 01:13:35,640 --> 01:13:38,473 हम तो हम फ़ाइल को खोलने, और होता सभी पढ़ने और लिखने के लिए करना होगा 1610 01:13:38,473 --> 01:13:39,929 और फिर फ़ाइल को बंद करें। 1611 01:13:39,929 --> 01:13:41,720 जब बात है कि तुम लोग मन में रखने के लिए है चाहता हूँ 1612 01:13:41,720 --> 01:13:47,360 क्योंकि, जबकि यह कर कि हम, बंद करने और फ़ाइलों को खोल रहे हैं 1613 01:13:47,360 --> 01:13:51,230 उन आदेशों की सभी शामिल हैं मानक standard-- में आई / ओ 1614 01:13:51,230 --> 01:13:51,730 पुस्तकालय। 1615 01:13:51,730 --> 01:13:54,410 तो आप कर रहे हैं, जब भी सुनिश्चित कर लें आप included-- है कि यह कर 1616 01:13:54,410 --> 01:13:59,020 मानक आई / ओ डॉट ज included-- #। 1617 01:13:59,020 --> 01:14:01,691 >> जल्दी तो असली। 1618 01:14:01,691 --> 01:14:03,940 एक कदम, आप बनाना चाहते हैं उस फ़ाइल के लिए एक संदर्भ। 1619 01:14:03,940 --> 01:14:07,670 और हम कर संकेत दिया है कि अब, आप लोग मुझे बता सकते हैं कि क्या कोड की है कि लाइन 1620 01:14:07,670 --> 01:14:08,630 कर रहा है। 1621 01:14:08,630 --> 01:14:10,250 है ना? 1622 01:14:10,250 --> 01:14:15,397 यह एक पैदा कर रही है कर रहा है कि सभी, सूचक प्रकार फ़ाइल का नाम दिया है। 1623 01:14:15,397 --> 01:14:17,980 आप यह जा रहा है कि क्योंकि मुझे पता है एक फ़ाइल को इंगित करें और आप कर रहे हैं करने के लिए 1624 01:14:17,980 --> 01:14:20,460 फ़ाइल को खोलने के लिए जा रहा है। 1625 01:14:20,460 --> 01:14:23,320 तो फिर तुम च open-- सभी कर रहे हैं यह फाइल को खोलने करता है। 1626 01:14:23,320 --> 01:14:24,560 >> इस फ़ाइल का नाम है। 1627 01:14:24,560 --> 01:14:26,060 और आप कर सकते हैं तीन बातें की। 1628 01:14:26,060 --> 01:14:28,195 आप पढ़ने, लिखने या संलग्न कर सकते हैं। 1629 01:14:28,195 --> 01:14:30,320 अधिकांश आम तौर पर, आप लोग पढ़ने या लिखने की जाएगी 1630 01:14:30,320 --> 01:14:33,195 आप या तो होना करने के लिए जा रहे हैं, क्योंकि एक फ़ाइल इनपुट या एक outputting। 1631 01:14:33,195 --> 01:14:36,500 इसलिए बहुत ज्यादा अनुसंधान और डब्ल्यू दो हैं चीजों को आप सबसे अधिक उपयोग किया जा रहे हैं। 1632 01:14:36,500 --> 01:14:41,722 >> तो इस मामले में, मैंने किया है सब है फ़ाइल नामक एक फाइल करने के लिए एक सूचक पैदा करते हैं। 1633 01:14:41,722 --> 01:14:47,900 मैं इसे खोल रहा हूँ और मुझे लगता है मैं कर रहा हूँ reading-- हूँ file.txt नामक इस फ़ाइल खोलने 1634 01:14:47,900 --> 01:14:49,020 और मैं इसे पढ़ रहा हूँ। 1635 01:14:49,020 --> 01:14:51,730 यही कारण है कि मैं इस बिंदु पर कर रहा हूँ सब है। 1636 01:14:51,730 --> 01:14:55,270 और फिर इन बस में कार्य कर रहे हैं आप अलग अलग चीजें हैं जो पढ़ सकता है 1637 01:14:55,270 --> 01:14:57,750 या अलग अलग बातें लिखने या अलग-अलग स्थानों को छोड़ 1638 01:14:57,750 --> 01:14:59,420 जहां आप देखना चाहता हूँ। 1639 01:14:59,420 --> 01:15:01,200 इन सब के सब ऑनलाइन कर रहे हैं। 1640 01:15:01,200 --> 01:15:02,960 इन सब के सब आप सिर्फ गूगल कर सकते हैं। 1641 01:15:02,960 --> 01:15:04,280 कोई ज़रूरत नहीं है उन्हें याद करने के लिए। 1642 01:15:04,280 --> 01:15:07,160 वे सिर्फ वहाँ रहे हैं, अपने उपयोग के लिए डिस्पोजेबल 1643 01:15:07,160 --> 01:15:09,360 यदि आप करना चाहते हैं उन का उपयोग करने में सक्षम हो। 1644 01:15:09,360 --> 01:15:13,210 >> तो मैं सिर्फ पढ़ने के लिए चाहते थे कि अगर एक समय में एक चरित्र में, 1645 01:15:13,210 --> 01:15:15,360 मैं फ़ाइल fgetc करना होगा। 1646 01:15:15,360 --> 01:15:18,850 मैं चाहता था या फिर अगर की एक पंक्ति में पढ़ने के लिए एक समय में पाठ, मैं fgets करना होगा। 1647 01:15:18,850 --> 01:15:19,840 और इस प्रकार आगे भी। 1648 01:15:19,840 --> 01:15:23,640 इन सब के सब सिर्फ अलग करना बातें तुम लोगों का प्रयोग कर सकते हैं। 1649 01:15:23,640 --> 01:15:25,920 >> और फिर अंत में, के बाद मैं कर रहा हूँ पढ़ने या लिखने से किया है, 1650 01:15:25,920 --> 01:15:27,770 मैं सिर्फ इतना है कि फ़ाइल fclose करने के लिए जा रहा हूँ। 1651 01:15:27,770 --> 01:15:31,760 और यह एक है, याद उन लोगों के लिए, कृपया याद 1652 01:15:31,760 --> 01:15:34,220 वरना आपकी फ़ाइल ऐसा करते हैं या काम करने के लिए नहीं जा रहा है। 1653 01:15:34,220 --> 01:15:36,130 हमेशा से पहले एक फ़ाइल को खोलने के पढ़ने या पढ़ने, 1654 01:15:36,130 --> 01:15:38,310 आप हमेशा के लिए है आप इसे खोलते हैं तो उसे बंद करें। 1655 01:15:38,310 --> 01:15:40,210 स्मृति के साथ एक ही बात है, है ना? 1656 01:15:40,210 --> 01:15:42,390 तुम हमेशा लेने के लिए है स्मृति और यह मुफ़्त। 1657 01:15:42,390 --> 01:15:45,200 यहाँ आप हमेशा एक खोलने के लिए है इसे पढ़ने के लिए प्रयास करने से पहले दाखिल 1658 01:15:45,200 --> 01:15:47,360 और आप हमेशा के लिए है आप इसे खोलने के बाद इसे बंद कर दें। 1659 01:15:47,360 --> 01:15:50,650 1660 01:15:50,650 --> 01:15:52,190 >> तो यह ऑनलाइन भी है। 1661 01:15:52,190 --> 01:15:55,590 मैं करने के लिए तुम लोगों को चुनौती देने के लिए जा रहा हूँ एक तरह से है कि प्रिंट एक प्रोग्राम लिखने 1662 01:15:55,590 --> 01:15:57,080 एक फाइल करने के hello.world। 1663 01:15:57,080 --> 01:15:58,280 यह वास्तव में आसान है। 1664 01:15:58,280 --> 01:16:00,854 यह अनिवार्य रूप से सिर्फ शामिल कोड की कुछ लाइनों 1665 01:16:00,854 --> 01:16:02,270 कि सिर्फ पहले से लिखा गया था। 1666 01:16:02,270 --> 01:16:04,311 आप उन्हें डाल करने के लिए जा रहे हैं एक साथ और कहा कि लिखें। 1667 01:16:04,311 --> 01:16:06,630 1668 01:16:06,630 --> 01:16:10,950 >> तो कुछ महत्वपूर्ण बातों को ध्यान में रखने के लिए जब तुम लोग इस का उपयोग करने की कोशिश कर रहे हैं। 1669 01:16:10,950 --> 01:16:14,410 यह सब बहुत उपयोगी है अपने pset इस सप्ताह के लिए, 1670 01:16:14,410 --> 01:16:18,000 fopen एक फ़ाइल सूचक है कि बनाता है। 1671 01:16:18,000 --> 01:16:19,500 यह वास्तव में भौतिक फ़ाइल नहीं है। 1672 01:16:19,500 --> 01:16:22,260 सभी इसे करने के लिए इशारा कर रहा है आप खोलना चाहते हैं फ़ाइल। 1673 01:16:22,260 --> 01:16:26,070 और आप अनिवार्य कर रहे हैं, जब भी आप अन्य कार्यों के किसी भी उपयोग कर रहे हैं 1674 01:16:26,070 --> 01:16:30,130 fread या fwrite की तरह या fgetc या fgets है, 1675 01:16:30,130 --> 01:16:33,380 तुम सिर्फ इस के आसपास गुजर रहे हैं कि उन कार्यों के सभी के लिए सूचक। 1676 01:16:33,380 --> 01:16:36,510 तो अगर आप वास्तव में है कि नहीं ले रहे हैं फ़ाइल और अपने कार्यों के लिए उपयोग कर, 1677 01:16:36,510 --> 01:16:39,540 तुम सिर्फ सूचक ले जा रहे हैं और उन कार्यों के लिए इसे लगाने 1678 01:16:39,540 --> 01:16:41,620 आप का उपयोग कर सकते हैं। 1679 01:16:41,620 --> 01:16:45,360 >> और तुम पास करने के लिए भूल जाते हैं आपकी फ़ाइल आप इसे उपयोग करने के बाद, 1680 01:16:45,360 --> 01:16:47,710 अपने कार्यक्रम में स्मृति का रिसाव हो रहा है। 1681 01:16:47,710 --> 01:16:50,700 मूलतः, यह सब साधन बुरा होगा कि है 1682 01:16:50,700 --> 01:16:52,960 और अपने कार्यक्रम होगा सही ढंग से कार्य नहीं। 1683 01:16:52,960 --> 01:16:54,880 और तो pset पर शुरुआत में, मुझे लगता है कि 1684 01:16:54,880 --> 01:16:59,180 वह explained-- जहां एक छोटी वहाँ नैट वेलग्रिंड क्या था explained--। 1685 01:16:59,180 --> 01:17:02,350 वेलग्रिंड है सभी के लिए आप के लिए एक रास्ता है आप स्मृति लीक नहीं कर रहे हैं सुनिश्चित करें। 1686 01:17:02,350 --> 01:17:04,433 तो तुम लोग बनाना चाहते सुनिश्चित करें कि आप कम है कि घड़ी 1687 01:17:04,433 --> 01:17:08,771 कि यह बताते हैं क्योंकि वास्तव में अच्छी तरह से क्या होता है। 1688 01:17:08,771 --> 01:17:09,270 ठीक। 1689 01:17:09,270 --> 01:17:11,260 इसलिए मैं वास्तव में उस के माध्यम से चला गया वास्तव में जल्दी से मैं सच में, क्योंकि 1690 01:17:11,260 --> 01:17:13,870 के बारे में बात करने के लिए प्राप्त करना चाहते हैं pset तुम लोगों को छोड़ने से पहले। 1691 01:17:13,870 --> 01:17:16,690 किसी को भी धारणात्मक सवाल है? 1692 01:17:16,690 --> 01:17:20,060 ज्यादातर यह सब सिर्फ वाक्य रचना है कि आप फ़ाइलों को पढ़ने या लिखने के लिए उपयोग कर सकते हैं। 1693 01:17:20,060 --> 01:17:25,090 1694 01:17:25,090 --> 01:17:28,140 >> अंत में, सभी की पसंदीदा। 1695 01:17:28,140 --> 01:17:31,760 अब हम pset के बारे में बात करने के लिए जा रहे हैं। 1696 01:17:31,760 --> 01:17:35,990 तो, हाथों के शो, कितने तुम लोग इस सप्ताह कल्पना पढ़ा है? 1697 01:17:35,990 --> 01:17:36,660 ओह, यह आधा है। 1698 01:17:36,660 --> 01:17:38,000 यह अच्छी बात है। 1699 01:17:38,000 --> 01:17:41,430 तो यह वास्तव में वास्तव में एक है इस अर्थ में वास्तव में मजा pset 1700 01:17:41,430 --> 01:17:43,889 आप एक तरह लग रहा है कि जासूसी आप कर रहे हैं, क्योंकि 1701 01:17:43,889 --> 01:17:46,930 इन सब वास्तव में अच्छा बातें कर रही है आप क्या कर सकता है कि पता नहीं था कि 1702 01:17:46,930 --> 01:17:49,050 लेकिन अब यह वास्तव में अच्छा है आप उन्हें क्या कर सकते हैं। 1703 01:17:49,050 --> 01:17:52,400 और यह वास्तव में एक बहुत कुछ है तुम लोगों को लगता है की तुलना में आसान। 1704 01:17:52,400 --> 01:17:56,640 >> की तो बुनियादी हिस्सों इस कार्यक्रम के लिए आप कर रहे हैं 1705 01:17:56,640 --> 01:18:00,330 स्रोत कोड डाउनलोड करने के लिए जा रहे हैं या वितरण कोड हमारे द्वारा लिखित। 1706 01:18:00,330 --> 01:18:03,540 और अगर आप एक फ़ोल्डर लिए जा रहे हैं कहा जाता बीएमपी और अन्य फ़ोल्डर 1707 01:18:03,540 --> 01:18:05,550 जेपीजी बुलाया। 1708 01:18:05,550 --> 01:18:08,370 अपने बीएमपी के भीतर, आप कर रहे हैं तीन कार्यक्रमों के लिए जा। 1709 01:18:08,370 --> 01:18:10,400 उनमें से एक पहले से ही आप के लिए लिखा है। 1710 01:18:10,400 --> 01:18:12,477 तो copy.c एक कार्यक्रम है हम पहले से ही लिखा है 1711 01:18:12,477 --> 01:18:14,060 आप के लिए आप डाउनलोड करने के लिए जा रहे हैं। 1712 01:18:14,060 --> 01:18:19,440 करता है कि सभी एक तस्वीर इनपुट के रूप में ले रहा है और आउटपुट के रूप में इसके बारे में एक प्रतिलिपि बनाता है। 1713 01:18:19,440 --> 01:18:22,150 यही सब है कि फाइल कर रही है। 1714 01:18:22,150 --> 01:18:25,260 >> लेकिन आप के लिए क्या करना चाहते हैं whodunit-- तो आप में से कितने 1715 01:18:25,260 --> 01:18:30,450 लोग पांचवीं कक्षा या maybe-- में याद आप शायद तीसरी कक्षा younger-- रहे 1716 01:18:30,450 --> 01:18:33,945 तुम लोगों को गुप्त संदेश था और जब आप इस पर एक कागज का टुकड़ा डाल दिया था 1717 01:18:33,945 --> 01:18:35,440 संदेश को डिकोड करने के लिए? 1718 01:18:35,440 --> 01:18:36,000 हाँ? 1719 01:18:36,000 --> 01:18:39,580 तो यह है कि हम क्या कर रहे है एक कंप्यूटर के लिए इस बार छोड़कर। 1720 01:18:39,580 --> 01:18:41,832 तो हम आपको इस सुंदर छवि दिया है। 1721 01:18:41,832 --> 01:18:43,540 की तरह नहीं लगती नीचे कुछ भी लेकिन 1722 01:18:43,540 --> 01:18:49,660 यह आपकी मदद करने के लिए जा रहा है कि एक संकेत है सवाल का जवाब देने के साथ हम आप से पूछना। 1723 01:18:49,660 --> 01:18:54,170 >> अनिवार्य रूप से आप क्या चाहते हैं फ़ाइल है कि इनपुट है करने के लिए, 1724 01:18:54,170 --> 01:18:56,610 आसपास कुछ बातें tweak, शायद रंग को समायोजित, 1725 01:18:56,610 --> 01:19:00,730 , बातें बदलाव तो यह है कि जो कुछ भी संदेश के माध्यम से आ सकता है। 1726 01:19:00,730 --> 01:19:03,740 तो वहाँ के अंदर छिपा कर रहे हैं पिक्सल और जानकारी 1727 01:19:03,740 --> 01:19:07,140 कि आप सही ढंग से अपने कोड लिखने यदि समझाना और आपको बताने जा रहा है 1728 01:19:07,140 --> 01:19:08,500 इस सुराग है क्या। 1729 01:19:08,500 --> 01:19:12,480 और तो कुछ सहायक संकेत के रूप में कैसे करने के लिए आप इस बारे में आ जाना चाहते हैं। 1730 01:19:12,480 --> 01:19:15,180 >> तुम सच में परिचित करना चाहते हैं फ़ाइल के साथ मैं खुद / हे 1731 01:19:15,180 --> 01:19:18,760 हम से पढ़ रहे हैं, क्योंकि फ़ाइलें और फाइल करने के लिए लेखन। 1732 01:19:18,760 --> 01:19:19,260 है ना? 1733 01:19:19,260 --> 01:19:21,430 और इसलिए हम जब भी ऐसा कि, कि शामिल 1734 01:19:21,430 --> 01:19:25,170 मैं / हे फ़ाइल। आप यहां जा रहे हैं खुद को परिचित करना है 1735 01:19:25,170 --> 01:19:27,450 साथ, आप कैसे चित्रों फाइलों को खुला है? 1736 01:19:27,450 --> 01:19:29,960 कैसे आप चित्र के रूप में फाइल करने के लिए लिख सकता हूँ? 1737 01:19:29,960 --> 01:19:31,640 कैसे आप उन चीजों के सभी करते हैं? 1738 01:19:31,640 --> 01:19:33,660 यही कारण है कि वास्तव में उपयोगी होने जा रहा है। 1739 01:19:33,660 --> 01:19:36,190 >> दूसरे, आप कैसे हैं बदलने के लिए सक्षम होने के लिए जा रहा 1740 01:19:36,190 --> 01:19:38,140 इस तस्वीर स्पष्ट है कि रंग? 1741 01:19:38,140 --> 01:19:43,660 यह शायद शामिल करने के लिए जा रहा है अपने पिक्सल या अपने आरजीबी मूल्यों का समायोजन 1742 01:19:43,660 --> 01:19:45,390 कहीं अनिवार्य रूप से, वहाँ में। 1743 01:19:45,390 --> 01:19:47,800 कोई सही तरीका का नहीं है आप के रूप में के रूप में लंबे समय से इस सुलझाने 1744 01:19:47,800 --> 01:19:52,560 जब तक आप यह कर सकते हैं प्रकार के रूप में can-- इसे बनाने के लिए उन पिक्सल समायोजित 1745 01:19:52,560 --> 01:19:54,640 आप के बारे में परवाह है कि कुछ की तरह लग रही है। 1746 01:19:54,640 --> 01:19:56,207 यही कारण है कि हम के रूप में अच्छी तरह से देखभाल के बारे में सब है। 1747 01:19:56,207 --> 01:19:57,540 तो यह करने के लिए कई तरीके है। 1748 01:19:57,540 --> 01:20:00,039 बस जब तक यह आसपास के साथ खेलने आप काम करता है कुछ मिलता है। 1749 01:20:00,039 --> 01:20:02,900 और तुम सच में होगा कोड के लिए आश्चर्य है कि कैसे कुछ पंक्तियां 1750 01:20:02,900 --> 01:20:04,510 आप वास्तव में यह करने की जरूरत है। 1751 01:20:04,510 --> 01:20:08,700 मैं तीन तरह बात कर रहा हूँ कोड कुल की तर्ज 1752 01:20:08,700 --> 01:20:11,310 आप लिखने की जरूरत है कि ऐसा करने के लिए। 1753 01:20:11,310 --> 01:20:15,470 आप अपने आप को मिल तो अगर 40 लेखन, कोड की 30 लाइनों, 1754 01:20:15,470 --> 01:20:16,960 आप शायद यह गलत कर रहे हैं। 1755 01:20:16,960 --> 01:20:19,390 तुम्हें क्या करना है सभी तरह की है रंगों के साथ खेलने के आसपास 1756 01:20:19,390 --> 01:20:22,960 और कहा कि बाहर कैसे काम करता है। 1757 01:20:22,960 --> 01:20:27,040 >> तो फिर हम एक बिट में सिर एक समस्या के कठिन करने के लिए। 1758 01:20:27,040 --> 01:20:30,190 यहाँ हम आकार है जहां हम आप पूछ रहे हैं 1759 01:20:30,190 --> 01:20:34,210 है-- हम इनपुट के रूप में आप दे रहे हैं एक तस्वीर और अपने आकार बदलने 1760 01:20:34,210 --> 01:20:36,710 कुछ में इस छवि बड़ा हो या छोटा कुछ 1761 01:20:36,710 --> 01:20:38,500 हम आपको दे आयामों पर निर्भर करता है। 1762 01:20:38,500 --> 01:20:41,260 तो व्याख्यान में याद डेविड जल्दी है कि 1763 01:20:41,260 --> 01:20:45,780 कैसे जानकारी पर नजर अपने कंप्यूटर से पता चला है 1764 01:20:45,780 --> 01:20:47,590 यह फाइल का एक प्रकार है मतलब है। 1765 01:20:47,590 --> 01:20:50,530 तो एक वर्ड फ़ाइल विशेष है उस के सामने पात्रों 1766 01:20:50,530 --> 01:20:52,040 यह एक वर्ड फ़ाइल है जो आपके कंप्यूटर बताओ। 1767 01:20:52,040 --> 01:20:53,090 एक जेपीईजी साथ वही बात। 1768 01:20:53,090 --> 01:20:55,131 इस मामले में हम जा रहे हैं आप एक JPEG फ़ाइल देने के लिए। 1769 01:20:55,131 --> 01:20:58,300 हम सभी जानते है कि है जेपीईजी फ़ाइल सही, एक तस्वीर है? 1770 01:20:58,300 --> 01:21:01,430 लेकिन कंप्यूटर को दूसरों से अलग बहुत विशिष्ट मायनों में यह। 1771 01:21:01,430 --> 01:21:04,070 की शुरुआत में तो किसी भी जेपीईजी फ़ाइल, आप कर रहे हैं 1772 01:21:04,070 --> 01:21:08,210 बिटमैप क्या कहा जाता है के लिए जा जानकारी शीर्षक और बिटमैप फ़ाइल शीर्षक। 1773 01:21:08,210 --> 01:21:11,080 सभी लोग कर रहे हैं डेटा के विभिन्न टुकड़ों 1774 01:21:11,080 --> 01:21:14,870 कि, अरे, अपने कंप्यूटर बताओ सुनो, एक JPEGs के लिए आ रहा है 1775 01:21:14,870 --> 01:21:17,820 और इन आयामों हैं या कि जेपीईजी की विशेषताओं। 1776 01:21:17,820 --> 01:21:21,280 >> तो तुम लोग वास्तव में जानना चाहते हैं क्या जानकारी के अंदर संग्रहित है 1777 01:21:21,280 --> 01:21:23,560 उन हेडर की और उनमें से आकार क्या है। 1778 01:21:23,560 --> 01:21:25,640 आप चला रहे हैं क्योंकि जब अपने कार्यक्रम के माध्यम से, 1779 01:21:25,640 --> 01:21:27,370 यदि आप चाहते करने के लिए जा रहे हैं उस राशि पर छोड़ें। 1780 01:21:27,370 --> 01:21:27,940 है ना? 1781 01:21:27,940 --> 01:21:29,910 आप परवाह नहीं है क्योंकि हैडर को संशोधित करने के बारे में, 1782 01:21:29,910 --> 01:21:31,493 आप के बाद क्या संशोधित करने के बारे में परवाह है। 1783 01:21:31,493 --> 01:21:32,450 है ना? 1784 01:21:32,450 --> 01:21:36,040 तो यकीन है कि तुम लोगों को पता करना कैसे बड़े उन बातें कर रहे हैं। 1785 01:21:36,040 --> 01:21:39,065 >> दूसरे, इससे पहले कि आप शुरू अपनी छवि को आकार बदलने के लिए कोशिश कर रहा है, 1786 01:21:39,065 --> 01:21:41,940 आप शायद चाहते करने जा रहे हैं मूल के आयामों को बचा लो। 1787 01:21:41,940 --> 01:21:42,520 है ना? 1788 01:21:42,520 --> 01:21:45,550 मैं इस तस्वीर आपको बता क्योंकि अगर 100 पिक्सल द्वारा 100 पिक्सल है 1789 01:21:45,550 --> 01:21:47,630 और मैं आप बनाना चाहते हैं यह चार गुना बड़ा, 1790 01:21:47,630 --> 01:21:50,460 क्या आप जानते हैं कि चार से उन आयामों गुणा। 1791 01:21:50,460 --> 01:21:54,960 तो फिर तुम एक आउटपुट फाइल चाहते हैं उदाहरण के लिए 400 पिक्सल द्वारा 400। 1792 01:21:54,960 --> 01:21:58,300 तो यह करने के लिए आप लोगों के लिए वास्तव में उपयोगी है मूल के आयामों को बचा लो। 1793 01:21:58,300 --> 01:22:00,780 और फिर बाद में, के बाद आप आकार कर रहे हैं, 1794 01:22:00,780 --> 01:22:06,270 आप के साथ नए हेडर लिख सकते हैं आकार बदलने के बाद उन नए आयाम। 1795 01:22:06,270 --> 01:22:10,750 >> और वैसे भी है कि आप शारीरिक रूप से बड़े पिक्सल में बना सकते हैं 1796 01:22:10,750 --> 01:22:13,380 आप लिख सकते हैं नई RGB--, आरजीबी याद 1797 01:22:13,380 --> 01:22:17,784 सभी हरे, लाल है के लिए खड़ा है कि, और एक बाहर फाइल करने के लिए blue-- पिक्सेल। 1798 01:22:17,784 --> 01:22:20,200 और आप चाहते हैं करने के लिए जा रहे हैं क्या अलग-अलग मात्रा में है 1799 01:22:20,200 --> 01:22:21,200 हम गद्दी कहते हैं। 1800 01:22:21,200 --> 01:22:24,780 सभी padding है रिक्त स्थान हैं पहले और तस्वीरों के बाद 1801 01:22:24,780 --> 01:22:29,265 कि अनिवार्य कि your-- बताओ कैसे बड़े यह अपनी तस्वीर बता 1802 01:22:29,265 --> 01:22:30,589 चाहिए ले जा रही हो। 1803 01:22:30,589 --> 01:22:33,630 इस का एक बहुत के लिए बहुत सार है आप pset कल्पना नहीं पढ़ी है, तो 1804 01:22:33,630 --> 01:22:35,410 लेकिन यह होने जा रहा है जब के लिए बहुत उपयोगी 1805 01:22:35,410 --> 01:22:36,460 आप वास्तव में इसे माध्यम से पढ़ रहे हैं। 1806 01:22:36,460 --> 01:22:38,126 ओह, हाँ, यह समझ में आता है, जैसे आप कर रहे हैं। 1807 01:22:38,126 --> 01:22:39,310 मुझे ऐसा क्यों करना पडेगा? 1808 01:22:39,310 --> 01:22:41,830 समझ में आता है। 1809 01:22:41,830 --> 01:22:46,900 >> अंत में, यह शायद में से एक है सबसे ज्यादा निराशा कार्यक्रमों 1810 01:22:46,900 --> 01:22:51,160 कभी सिर्फ तुम नहीं कर सकते क्योंकि यह काम कर रहा है या नहीं, तो बताओ। 1811 01:22:51,160 --> 01:22:54,980 ठीक सभी इस कार्यक्रम है, कर रही है कि, ठीक से चलाने के लिए, 1812 01:22:54,980 --> 01:22:59,290 यह अचानक करने में सक्षम होना चाहिए 50 छवियों को ठीक है कि 1813 01:22:59,290 --> 01:23:01,025 हमारे हार्ड ड्राइव पर खो गए थे। 1814 01:23:01,025 --> 01:23:03,900 इस कार्यक्रम के साथ और इसलिए समस्या आप वास्तव में यह परीक्षण नहीं किया जा सकता है 1815 01:23:03,900 --> 01:23:06,220 या तो आप बरामद क्योंकि उन्हें या तुम नहीं किया। 1816 01:23:06,220 --> 01:23:09,122 और तो आप की तरह बस इसके साथ चारों ओर खेलने के लिए है, 1817 01:23:09,122 --> 01:23:11,080 और अपने कार्यक्रम है, तो ठीक से, आप करेंगे काम कर 1818 01:23:11,080 --> 01:23:12,829 अचानक में देखना है कि आपने अपनी निर्देशिका 1819 01:23:12,829 --> 01:23:17,400 की एक विशाल राशि मिल गया अब देखते हैं कि चित्रों। 1820 01:23:17,400 --> 01:23:20,490 >> तो मैं कैसे दृष्टिकोण होगा इस समस्या को हम कर रहे हैं, है 1821 01:23:20,490 --> 01:23:22,860 क्या तुम्हें देने के लिए जा रहा एक card.raw फ़ाइल बुलाया। 1822 01:23:22,860 --> 01:23:25,020 मूलतः, वह है, सिर्फ एक भ्रष्ट फ़ाइल 1823 01:23:25,020 --> 01:23:28,870 सभी तस्वीरें कि संग्रहीत साथ आप से उबरने की जरूरत के लिए जा रहे हैं। 1824 01:23:28,870 --> 01:23:32,330 तो आप शायद चाहते करने के लिए जा रहे हैं इनपुट अपने card.raw, या खोलने के लिए, 1825 01:23:32,330 --> 01:23:35,510 अपने card.raw फ़ाइल और आप कर रहे हैं हेरफेर करने के लिए चाहते हो जा 1826 01:23:35,510 --> 01:23:37,840 यह JPEGs स्टोर करने में सक्षम होने के लिए। 1827 01:23:37,840 --> 01:23:42,830 >> इसलिए मुझे लगता है पर नज़र रखने और भंडारण के द्वारा शुरू होगा प्रत्येक व्यक्ति जेपीईजी आप इसे खोजने के रूप में। 1828 01:23:42,830 --> 01:23:47,180 आप व्यक्तिगत रूप से सभी के लिए नहीं जा रहे हैं अचानक बस के सभी 50 JPEGs पैदा करते हैं। 1829 01:23:47,180 --> 01:23:50,190 आप रखना चाहते हैं करने के लिए जा रहे हैं आप खोलने जा रहे हैं कि कितने का ट्रैक। 1830 01:23:50,190 --> 01:23:52,015 और फिर आप करना चाहते हैं आप कर रहे हैं, जब यह सुनिश्चित कर लें 1831 01:23:52,015 --> 01:23:54,640 एक buffer-- के लिए लिख आप लोग मैं के बारे में बात कर रहा हूँ पता चल जाएगा 1832 01:23:54,640 --> 01:23:57,806 आप spec-- पढ़ एक बार आप करना चाहते हैं आप एक अहस्ताक्षरित उपयोग कर रहे हैं कि यह सुनिश्चित कर लें 1833 01:23:57,806 --> 01:23:59,370 चार बफर। 1834 01:23:59,370 --> 01:24:01,790 >> और फिर आप से पूछना चाहता हूँ खुद का सवाल है, 1835 01:24:01,790 --> 01:24:05,797 एक में कितने बाइट्स हैं CF-- एक कार्ड फ़ाइल में हैं? 1836 01:24:05,797 --> 01:24:08,380 यही कारण है कि आप करने जा रहे हैं कि कितने है अपने बफर में पढ़ना चाहते हैं। 1837 01:24:08,380 --> 01:24:11,130 आपको यह सुनिश्चित करना चाहते करने के लिए जा रहे हैं दो संरेखित तो आप क्योंकि 1838 01:24:11,130 --> 01:24:12,850 यादृच्छिक स्मृति बाहर लीक नहीं होगा। 1839 01:24:12,850 --> 01:24:15,370 आप वास्तव में कितने जानते बाइट्स आप की जरूरत है और कितने 1840 01:24:15,370 --> 01:24:18,270 आप उन्हें करना चाहते हैं कि बाइट्स। 1841 01:24:18,270 --> 01:24:21,510 >> और फिर अंत में, आप करना चाहते हैं कहा जाता है एक समारोह का उपयोग sprint-- 1842 01:24:21,510 --> 01:24:26,160 प्रिंट कस्टम फ़ाइल उत्पन्न करने के लिए f-- आप को लगता है कि हर नए जेपीईजी के लिए नाम। 1843 01:24:26,160 --> 01:24:29,129 तुम बनाने के रूप में तो और आपके कार्ड में JPEGs मिल जाए, 1844 01:24:29,129 --> 01:24:31,170 यदि आप चाहते करने के लिए जा रहे हैं उन्हें दुकान और उनके नाम। 1845 01:24:31,170 --> 01:24:31,700 है ना? 1846 01:24:31,700 --> 01:24:33,700 और तो आप करने जा रहे हैं उस समारोह का उपयोग करना चाहते हैं 1847 01:24:33,700 --> 01:24:36,770 नाम बनाने के लिए है कि अपने JPEGs के सभी स्टोर कर सकते हैं। 1848 01:24:36,770 --> 01:24:41,062 >> और अंत में, बंद करने के लिए मत भूलना प्रत्येक जेपीईजी आप कर रहे हैं के बाद। 1849 01:24:41,062 --> 01:24:42,770 आप क्या कर रहे हैं क्योंकि क्या करने जा रहे हैं आप है 1850 01:24:42,770 --> 01:24:44,728 शायद लिए किया जा रहा एक पाश किसी प्रकार का है कि 1851 01:24:44,728 --> 01:24:46,470 अपने JPEGs के सभी के माध्यम से दोहराता। 1852 01:24:46,470 --> 01:24:50,460 आप एक जेपीईजी लिखने जा रहे हैं आप इसे खोजने के रूप में है और यह नाम बदलें। 1853 01:24:50,460 --> 01:24:52,870 लेकिन आप कर रहे हैं के बाद हर एक जेपीईजी के साथ 1854 01:24:52,870 --> 01:24:56,630 आप शुरू कर सकते हैं तो आप इसे बंद करने की जरूरत है से अधिक है और अगले चित्र पर चलते हैं। 1855 01:24:56,630 --> 01:24:58,880 और तो कुछ है कि हम क्या करना पसंद है कि सच में मज़ा, 1856 01:24:58,880 --> 01:25:03,430 यह वह जगह है, क्योंकि इस तरह एक अजीब समस्या सेट लेकिन यह भी एक अजीब तरह से संतोषजनक समस्या 1857 01:25:03,430 --> 01:25:08,380 सेट है, सभी चित्रों का है कि हम आप ठीक ढंग से ठीक हो, तो आप के लिए है, 1858 01:25:08,380 --> 01:25:11,910 सभी चित्रों की तस्वीरें हैं अपने अद्भुत शिक्षण स्टाफ, दोनों 1859 01:25:11,910 --> 01:25:14,240 हार्वर्ड की, पर here-- और यहां येल में। 1860 01:25:14,240 --> 01:25:17,260 और आप के लिए होता है इन सभी चित्रों को ठीक 1861 01:25:17,260 --> 01:25:20,020 और कर्मचारियों की पहचान उन कार्ड में सदस्यों, 1862 01:25:20,020 --> 01:25:23,040 और हमें तो साथ selfies लेने आप परिसर के आसपास हमें लगता है 1863 01:25:23,040 --> 01:25:28,270 हर तस्वीर आप हमें करने के लिए प्रस्तुत करने के लिए, हम करेंगे आप ड्रॉपबॉक्स अंतरिक्ष के एक गीगाबाइट दे। 1864 01:25:28,270 --> 01:25:30,060 >> तो चलो यहाँ गणित करते हैं। 1865 01:25:30,060 --> 01:25:33,010 50 चित्रों और अगर वहाँ 50 शिक्षण स्टाफ के सदस्यों, 1866 01:25:33,010 --> 01:25:37,160 आप सभी 50 के खोजने के लिए होता है, तो हमें, कि, ड्रॉपबॉक्स के 50 गीगाबाइट है 1867 01:25:37,160 --> 01:25:39,000 असल में, हम तुम लोगों को देने होंगे। 1868 01:25:39,000 --> 01:25:42,380 इसलिए कुछ अतिरिक्त जोड़ा प्रोत्साहन तुम लोगों को नहीं था, तो बस 1869 01:25:42,380 --> 01:25:44,480 खो छवियों उबरने के बारे में परवाह है। 1870 01:25:44,480 --> 01:25:46,867 कुछ जोड़ा प्रोत्साहन भी है। 1871 01:25:46,867 --> 01:25:47,825 यह एक मजेदार समस्या सेट है। 1872 01:25:47,825 --> 01:25:48,390 यह सचमुच में है। 1873 01:25:48,390 --> 01:25:51,980 यह एक तरह से निराशा होती है, लेकिन तब यह आप का एहसास जब वास्तव में मजेदार हो जाता है, 1874 01:25:51,980 --> 01:25:54,230 वाह, यह अब मैं काम कर रहा है और है इन चित्रों के सभी है 1875 01:25:54,230 --> 01:25:55,604 कि मैं सिर्फ खुद के द्वारा बनाई गई है। 1876 01:25:55,604 --> 01:25:58,800 1877 01:25:58,800 --> 01:26:00,075 >> Pset पर कोई सवाल? 1878 01:26:00,075 --> 01:26:02,408 किसी के लिए जो पहले से ही है शुरू कर दिया, यदि आप प्रश्न हैं, 1879 01:26:02,408 --> 01:26:06,510 मैं एक दो मिनट के बाद के लिए यहाँ हो जाएगा खंड तुम मुझसे बात करना चाहते हैं। 1880 01:26:06,510 --> 01:26:07,320 अच्छी तरह से किया दोस्तों। 1881 01:26:07,320 --> 01:26:10,520 मैं माफी चाहता हूँ, मैं जानकारी आप लोगों पर फेंक दिया। 1882 01:26:10,520 --> 01:26:13,670 सूचक वास्तव में, वास्तव में कर रहे हैं चुनौतीपूर्ण और निराशा होती। 1883 01:26:13,670 --> 01:26:16,187 >> और मुझे लगता है कि वास्तव में खुश हूँ आप लोग मेरे साथ रहे। 1884 01:26:16,187 --> 01:26:18,020 हम गहराई में अधिक बात करेंगे अगले सप्ताह के बारे में 1885 01:26:18,020 --> 01:26:21,330 हम हैश तालिकाओं शुरू कर रही है के रूप में और उन्हें शामिल करना है कि अधिक कार्य करता है। 1886 01:26:21,330 --> 01:26:23,821 1887 01:26:23,821 --> 01:26:24,320 हाँ। 1888 01:26:24,320 --> 01:26:26,278 किसी को भी किसी भी है तो सवाल है, मैं चारों ओर हो जाएगा। 1889 01:26:26,278 --> 01:26:29,330 आ रहा है और अधिक लेने के लिए धन्यवाद कैंडी अधिक कैंडी है क्योंकि वहाँ। 1890 01:26:29,330 --> 01:26:32,220 1891 01:26:32,220 --> 01:26:33,770 कूल। 1892 01:26:33,770 --> 01:26:35,765