1 00:00:00,000 --> 00:00:02,520 [Powered by Google Translate] [பகுதி 4 - மேலும் வசதியான] 2 00:00:02,520 --> 00:00:04,850 [ராப் Bowden - ஹார்வர்ட் பல்கலைக்கழகம்] 3 00:00:04,850 --> 00:00:07,370 [இந்த CS50 உள்ளது. - CS50.TV] 4 00:00:08,920 --> 00:00:13,350 உங்களுக்கு என்று தெரியாது வழக்கில் நாம், ஒரு வினாடி வினா நாளை வேண்டும். 5 00:00:14,810 --> 00:00:20,970 அதை நீங்கள் வர்க்கம் பார்க்க முடியும் அல்லது வர்க்கம் பார்க்க வேண்டும் எல்லாம் மீது அடிப்படையில் தான். 6 00:00:20,970 --> 00:00:26,360 என்று அவர்கள் மிக சமீபத்திய தலைப்பு கூட, சுட்டிகள் அடங்கும். 7 00:00:26,360 --> 00:00:29,860 நீங்கள் குறைந்தது இன்னும் அதிக அளவு புரிந்து கொள்ள வேண்டும். 8 00:00:29,860 --> 00:00:34,760 நீங்கள் வினாடி வினா புரிந்து வேண்டும் வர்க்கத்தின் சென்று அந்த எதையும். 9 00:00:34,760 --> 00:00:37,320 நீங்கள் அவர்கள் மீது கேள்விகள் இருந்தால், அதனால், நீங்கள் இப்போது அவர்களை கேட்கலாம். 10 00:00:37,320 --> 00:00:43,280 நீங்கள் கேள்விகளை கேட்க அங்கு ஆனால் இந்த ஒரு மாணவர் தலைமையிலான மிகவும் அமர்வு போகிறது 11 00:00:43,280 --> 00:00:45,060 எனவே வட்டம் மக்கள் கேள்விகள். 12 00:00:45,060 --> 00:00:48,020 யாரும் கேள்விகள்? 13 00:00:49,770 --> 00:00:52,090 ஆம். >> [மாணவர்] நீங்கள் சுட்டிகள் மீது மீண்டும் போக முடியுமா? 14 00:00:52,090 --> 00:00:54,350 நான் சுட்டிகள் மேல் போகலாம். 15 00:00:54,350 --> 00:00:59,180 உங்கள் மாறிகள் அனைத்து அவசியம், நினைவக வாழ 16 00:00:59,180 --> 00:01:04,450 ஆனால் பொதுவாக நீங்கள் அதை பற்றி கவலைப்பட வேண்டாம், நீங்கள் தான் x + 2 மற்றும் y + 3 என்று 17 00:01:04,450 --> 00:01:07,080 மற்றும் தொகுப்பி விஷயங்களை நீங்கள் வாழ்க்கை எங்கே கண்டுபிடிக்க முடியும். 18 00:01:07,080 --> 00:01:12,990 நீங்கள் இப்போது நீங்கள் வெளிப்படையாக அந்த நினைவக முகவரிகளை பயன்படுத்தி, சுட்டிகள் கையாள்வதில். 19 00:01:12,990 --> 00:01:19,800 எனவே ஒரு மாறி மட்டுமே எப்போதும் எந்த நேரத்திலும் ஒரு முகவரியில் வசிக்கும். 20 00:01:19,800 --> 00:01:24,040 நாம் ஒரு சுட்டிக்காட்டி அறிவிக்க வேண்டும் என்றால், என்ன வகை போன்ற போகிறார்கள்? 21 00:01:24,040 --> 00:01:26,210 >> நான் ஒரு சுட்டிக்காட்டி ப அறிவிக்க விரும்புகிறேன். வகை என்ன இருப்பான்? 22 00:01:26,210 --> 00:01:33,530 [மாணவர்] எண்ணாக * ப. >> சரி. எனவே எண்ணாக * ப. 23 00:01:33,530 --> 00:01:38,030 எப்படி நான் அதை x சுட்டி செய்ய? >> [மாணவர்] ampersand. 24 00:01:40,540 --> 00:01:45,300 [Bowden] எனவே ampersand மொழியில் ஆபரேட்டர் முகவரி என்று அழைக்கப்படுகிறது. 25 00:01:45,300 --> 00:01:50,460 அதனால் நான் சொல்ல & போது x அது மாறி x நினைவக முகவரி போகிறது. 26 00:01:50,460 --> 00:01:56,790 எனவே இப்போது நான் சுட்டிக்காட்டி ப வேண்டும், மற்றும் எங்கேயும் என் குறியீடு நான் * ப பயன்படுத்தலாம் 27 00:01:56,790 --> 00:02:02,960 அல்லது நான் x பயன்படுத்த முடியும் அது சரியான ஒன்று இருக்கும். 28 00:02:02,960 --> 00:02:09,520 (* ப). இந்த என்ன செய்கிறார்? அந்த நட்சத்திரம் என்ன அர்த்தம்? 29 00:02:09,520 --> 00:02:13,120 [மாணவர்] அந்த சமயத்தில் ஒரு மதிப்பு பொருள். >> சரி. 30 00:02:13,120 --> 00:02:17,590 நாம் அது இருக்கும் என்றால், அதை வரைபடங்களை அவுட் வரைய மிகவும் பயனுள்ளதாக இருக்கும் 31 00:02:17,590 --> 00:02:22,230 இந்த மதிப்பு 4 வேண்டும் நடந்தால் அது x நினைவகம் ஒரு சிறிய பெட்டி, எங்கே 32 00:02:22,230 --> 00:02:25,980 நாம், ப நினைவகம் ஒரு சிறிய பெட்டி வேண்டும் 33 00:02:25,980 --> 00:02:31,590 அதனால் x க்கு ப புள்ளிகள், நாம் ப x ஒரு அம்புக்குறி வரைய. 34 00:02:31,590 --> 00:02:40,270 நாம் சொல்லும் போது * ப நாம் ப என்று பாக்ஸ் சென்று சொல்கிறீர்கள். 35 00:02:40,270 --> 00:02:46,480 நட்சத்திர அம்பு பின்பற்ற மற்றும் பிறகு அங்கேயே நீ அந்த பெட்டியில் வைத்து விரும்புகிறீர்கள் என்ன. 36 00:02:46,480 --> 00:03:01,090 அதனால் நான் * ப = 7 கூற முடியும்; அந்த x மற்றும் அந்த 7 மாற்றம் என்பது பெட்டியில் போகலாம். 37 00:03:01,090 --> 00:03:13,540 அல்லது நான் சொல்ல முடியும் எண்ணாக z = * ப * 2; குழப்பம் என்று அது நட்சத்திரம், நட்சத்திர ஏனெனில். 38 00:03:13,540 --> 00:03:19,230 ஒரு நட்சத்திரம் ப dereferencing உள்ளது, மற்ற நட்சத்திர 2 பெருக்குவதன். 39 00:03:19,230 --> 00:03:26,780 நான் அதே x உடன் * ப பதிலாக இருக்க முடியும் கவனிக்க. 40 00:03:26,780 --> 00:03:29,430 அதே வழியில் அவர்கள் பயன்படுத்தலாம். 41 00:03:29,430 --> 00:03:38,000 பின்னர் நான் ஒரு முற்றிலும் புதிய விஷயம் ப புள்ளி வைத்திருக்க முடியும். 42 00:03:38,000 --> 00:03:42,190 நான் சொல்ல ப = &z; 43 00:03:42,190 --> 00:03:44,940 எனவே இப்போது x க்கு இனி புள்ளிகள் பி; அது z சுட்டி காட்டும். 44 00:03:44,940 --> 00:03:50,510 மற்றும் நான் * ப செய்ய எந்த நேரத்தில் அது z செய்து அதே தான். 45 00:03:50,510 --> 00:03:56,170 நாம் செயல்பாடுகளை ஏற்பட்டதற்கு துவக்க முறை இந்த பற்றிய பயனுள்ள விஷயம். 46 00:03:56,170 --> 00:03:59,790 >> இது ஏதோ அந்த புள்ளிகள் ஒரு சுட்டிக்காட்டி அறிவிக்க தேவையில்லாத மாதிரி தான் 47 00:03:59,790 --> 00:04:03,140 பின்னர் நீங்கள் அதை dereferencing 48 00:04:03,140 --> 00:04:06,060 நீங்கள் ஆரம்பிக்க அசல் மாறி பயன்படுத்தப்படும் போது. 49 00:04:06,060 --> 00:04:18,190 ஆனால் நீங்கள் செயல்பாடுகளை பெற போது - மிகவும், நாம் சில செயல்பாடு, int foo வேண்டும் சொல்கிறேன் 50 00:04:18,190 --> 00:04:32,810 ஒரு சுட்டிக்காட்டி எடுத்து தான் * ப = 6 இல்லை; 51 00:04:32,810 --> 00:04:39,990 நாம் இடமாற்று உடன் முன் பார்த்தேன் போல, நீங்கள் ஒரு சிறந்த swap மற்றும் ஒரு தனி செயல்பாடு செய்ய முடியாது 52 00:04:39,990 --> 00:04:45,180 சி எல்லாம் எப்போதும் மதிப்பு போய் மட்டுமே முழு தேர்ச்சி. 53 00:04:45,180 --> 00:04:48,360 நீங்கள் சுட்டிகள் கடந்து நீங்கள் கூட நீங்கள் மதிப்பு போய். 54 00:04:48,360 --> 00:04:51,940 இது மிகவும் மதிப்பு நினைவக முகவரிகள் என்று நடக்கும். 55 00:04:51,940 --> 00:05:00,770 அதனால் நான் சொல்ல foo (ப); நான் செயல்பாடு foo என சுட்டிக்காட்டி கடந்து போகிறேன் 56 00:05:00,770 --> 00:05:03,910 பின்னர் foo * ப = 6 செய்கிறார்; 57 00:05:03,910 --> 00:05:08,600 உள்ளே அந்த செயல்பாடு மிகவும், * ப, இன்னும் x ஆகும் 58 00:05:08,600 --> 00:05:12,720 அந்த செயல்பாடு உள்ள ஆகியவற்றை நோக்காகக்கொண்ட இல்லை, ஏனெனில் ஆனால் நான் அந்த விழாவிற்கு உள்ளே x பயன்படுத்த முடியாது. 59 00:05:12,720 --> 00:05:19,510 எனவே * ப = 6 நான் மற்றொரு செயல்பாடு ஒரு உள்ளூர் மாறி அணுகலாம் ஒரே வழி. 60 00:05:19,510 --> 00:05:23,600 அல்லது, நன்றாக, சுட்டிகள் நான் மற்றொரு செயல்பாடு ஒரு உள்ளூர் மாறி அணுகலாம் ஒரே வழி ஆகும். 61 00:05:23,600 --> 00:05:31,600 [மாணவர்] நாம் ஒரு சுட்டிக்காட்டி திரும்ப வேண்டும் என்று. நீங்கள் எப்படி சரியாக செய்ய வேண்டும்? 62 00:05:31,600 --> 00:05:44,270 [Bowden] எண்ணாக y = 3 போன்ற ஏதாவது ஒரு சுட்டிக்காட்டி திரும்ப; திரும்ப & y? >> [மாணவர்] சரி. 63 00:05:44,270 --> 00:05:48,480 [Bowden] சரி. நீங்கள் இதை செய்ய கூடாது. இந்த மோசமாக உள்ளது. 64 00:05:48,480 --> 00:05:59,480 நான் இந்த விரிவுரை ஸ்லைடுகள் பார்த்த என்று நீங்கள் நினைவகத்தை இந்த வரைபடம் பார்த்து தொடங்கியது 65 00:05:59,480 --> 00:06:02,880 அங்கு இங்கு நீங்கள் நினைவக முகவரி 0 கிடைத்துவிட்டது 66 00:06:02,880 --> 00:06:09,550 கீழே இங்கே நீங்கள் 32 நினைவக முகவரி 4 நிகழ்ச்சிகள் அல்லது 2 வேண்டும். 67 00:06:09,550 --> 00:06:15,120 எனவே நீங்கள் சில விஷயங்களை மற்றும் சில பொருட்களை வாங்கி, பின்னர் உங்கள் ஸ்டாக் இல்லை 68 00:06:15,120 --> 00:06:21,780 நீங்கள் தான் வளர்ந்து, கற்க தொடங்கினார் உங்கள் குவியல், கிடைத்துவிட்டது. 69 00:06:21,780 --> 00:06:24,390 [மாணவர்] ஸ்டேக் மேலே குவியல் இல்லையா? 70 00:06:24,390 --> 00:06:27,760 >> Yeah. குவியல் மேல் உள்ளது, இல்லையா? >> [மாணவர்] சரி, அவர் மேல் 0 வைத்து. 71 00:06:27,760 --> 00:06:30,320 [மாணவர்] ஓ, அவர் மேல் 0 வைத்து. >> [மாணவர்] ஓ, சரி. 72 00:06:30,320 --> 00:06:36,060 நிபந்தனைகள்: எனிவேர் CS50 நீங்கள் இந்த வழியை பார்க்க போகிறோம். >> [மாணவர்] சரி. 73 00:06:36,060 --> 00:06:40,290 இது தான் நீங்கள் முதல், ஸ்டாக்குகள் பார்க்கிறோம் போது 74 00:06:40,290 --> 00:06:45,000 நீங்கள் ஒருவர் மேல் விஷயங்கள் குவியலிடுதல் என்று ஒரு அடுக்கை நினைக்கும் போது எனக்கு பிடிக்கும். 75 00:06:45,000 --> 00:06:50,810 நாம் ஸ்டேக் ஒரு அடுக்கு வழக்கமாக போன்ற வளர்ந்து அதனால் சுற்றி இந்த புரட்ட முனைகின்றன 76 00:06:50,810 --> 00:06:55,940 அதற்கு பதிலாக ஸ்டேக்கின் கீழே தொங்கும். >> [மாணவர்] இருப்பினும் குவியல்களின் தொழில்நுட்ப, மிக வளர என்ன? 77 00:06:55,940 --> 00:07:01,100 அது வளர நீங்கள் என்ன சார்ந்திருக்கிறது. 78 00:07:01,100 --> 00:07:04,010 ஸ்டாக் மற்றும் குவியல் எப்போதும் எதிர் திசைகளில் வளர்ந்து. 79 00:07:04,010 --> 00:07:09,420 குவியல் எப்போதும் அது வளரும் என்று உணர்வு வளர்ந்து வருகிறது 80 00:07:09,420 --> 00:07:12,940 அதிக நினைவக முகவரிகள், மற்றும் குவியல் கீழே பெருகி நோக்கி 81 00:07:12,940 --> 00:07:17,260 அதில் கீழ் நினைவக முகவரிகள் நோக்கி வளரும். 82 00:07:17,260 --> 00:07:20,250 எனவே உயர் 0 மற்றும் கீழ் உயர் நினைவக முகவரிகள் ஆகும். 83 00:07:20,250 --> 00:07:26,390 அவர்கள் வெறும் திசைகளில் எதிர்ப்பதற்கு, வளர்ந்து வரும் இரு. 84 00:07:26,390 --> 00:07:29,230 [மாணவர்] நீங்கள் கீழே ஸ்டாக் வைக்க வேண்டும், ஏனெனில் நான் அந்த பொருள் 85 00:07:29,230 --> 00:07:33,640 இது ஸ்டேக் ஒரு குவியல் மேலே தொடங்க காரணம் இன்னும் உள்ளுணர்வு தெரிகிறது, ஏனெனில் 86 00:07:33,640 --> 00:07:37,520 குவியல், மிக தன்னை மேல் மிகவும் that's தான் - >> சரி. 87 00:07:37,520 --> 00:07:44,960 நீங்கள் ஸ்டேக் அதிகமாக வளர்ந்து பெரிய என குவியல் என்று, ஆனால். 88 00:07:44,960 --> 00:07:50,280 எனவே ஸ்டேக் நாம் வகையான வளர்ந்து காட்ட வேண்டும் என்று உள்ளது. 89 00:07:50,280 --> 00:07:55,390 ஆனால் எல்லா இடங்களிலும் நீங்கள் இல்லையெனில் ஆனால் மேலே முகவரியை 0 காட்ட போகிறேன் 90 00:07:55,390 --> 00:07:59,590 கீழே உள்ள உயர்ந்த நினைவக முகவரி, இந்த நினைவகம் உங்கள் வழக்கமான காட்சி உள்ளது. 91 00:07:59,590 --> 00:08:02,100 >> நீங்கள் ஒரு கேள்வி இருக்கிறது? 92 00:08:02,100 --> 00:08:04,270 [மாணவர்] நீங்கள் எங்களுக்கு குவியல் பற்றி மேலும் சொல்ல முடியுமா? 93 00:08:04,270 --> 00:08:06,180 Yeah. நான் ஒரு இரண்டாவது அந்த கிடைக்கும். 94 00:08:06,180 --> 00:08:12,220 முதல், & y திரும்பி ஏன் திரும்பி சென்று, ஒரு கெட்ட விஷயம் 95 00:08:12,220 --> 00:08:18,470 ஸ்டாக் நீங்கள் செயல்பாடுகளை அனைத்து பிரதிநிதித்துவப்படுத்தும் ஸ்டேக் பிரேம்கள் ஒரு கொத்து வேண்டும் 96 00:08:18,470 --> 00:08:20,460 இது அழைக்கப்படுகிறது. 97 00:08:20,460 --> 00:08:27,990 முந்தைய பொருட்களை புறக்கணிக்கும் எனவே, உங்கள் ஸ்டேக் மேல் எப்போதும் முக்கிய செயல்பாடு இருக்கும் 98 00:08:27,990 --> 00:08:33,090 என்று அழைக்கப்படும் வருகின்றன என்று முதல் விழா என்பதால். 99 00:08:33,090 --> 00:08:37,130 பிறகு மற்றொரு செயல்பாடு அழைக்க போது, ஸ்டாக் கீழே வளர போகிறது. 100 00:08:37,130 --> 00:08:41,640 நான் சில செயல்பாடு, foo, அழைத்து தன்னுடைய ஸ்டாக் சட்டகமானது பெறுகிறார் என்றால், 101 00:08:41,640 --> 00:08:47,280 சில செயல்பாடு, பட்டியில் அழைக்க முடியும்; அதன் சொந்த ஸ்டாக் சட்டகமானது பெறுகிறார். 102 00:08:47,280 --> 00:08:49,840 மேலும், பட்டை சுழல்நிலை முடியும் அது தன்னை அழைக்க முடியும் 103 00:08:49,840 --> 00:08:54,150 அதனால் பட்டியில் இரண்டாவது அழைப்பு அதன் சொந்த ஸ்டாக் சட்டகமானது போகிறது என்று. 104 00:08:54,150 --> 00:08:58,880 அதனால் இந்த ஸ்டேக் பிரேம்கள் என்ன உள்ளூர் மாறிகள் அனைத்தும் 105 00:08:58,880 --> 00:09:03,450 அந்த செயல்பாடு வாதங்கள் எல்லாம் - 106 00:09:03,450 --> 00:09:08,730 இந்த செயல்பாடு உள்ளமைவாக ஆகியவற்றை நோக்காகக்கொண்ட என்று எந்த விஷயங்கள் இந்த ஸ்டேக் பிரேம்கள் போக. 107 00:09:08,730 --> 00:09:21,520 அதனால், நான் பட்டி போன்ற ஏதாவது ஒரு விழாவில் கூறினார் போது பொருள் 108 00:09:21,520 --> 00:09:29,270 நான் ஒரு முழு அறிவிக்க பின்னர் அந்த முழு ஒரு சுட்டிக்காட்டி திரும்பி போகிறேன். 109 00:09:29,270 --> 00:09:33,790 எனவே y அங்கு வசிக்கிறார்? 110 00:09:33,790 --> 00:09:36,900 [மாணவர்] y பட்டியில் வாழ்கிறார். >> [Bowden] சரி. 111 00:09:36,900 --> 00:09:45,010 எங்கோ நினைவகம் இந்த சிறிய சதுர அது உள்ள y என்று ஒரு littler சதுர. 112 00:09:45,010 --> 00:09:53,370 நான் திரும்பி & y போது, நான் நினைவகம் இந்த சிறிய தொகுதி ஒரு சுட்டிக்காட்டி திரும்ப ஒப்படைக்கிறேன். 113 00:09:53,370 --> 00:09:58,400 ஆனால் பின்னர் ஒரு விழாவில் திருப்பி, அதன் ஸ்டாக் சட்டகமானது ஸ்டேக் ஆஃப் வந்துவிட்டது. 114 00:10:01,050 --> 00:10:03,530 இது ஸ்டேக் என்று ஏன் என்று. 115 00:10:03,530 --> 00:10:06,570 நீங்கள் என்ன அது, ஸ்டாக் தரவு கட்டமைப்பு போல. 116 00:10:06,570 --> 00:10:11,580 அல்லது தட்டுக்களில் ஒரு அடுக்கு போன்ற, எப்போதும் உதாரணம் 117 00:10:11,580 --> 00:10:16,060 முக்கிய கீழே போக போகிறது, பிறகு நீங்கள் அழைக்க முதல் செயல்பாடு, அதற்கு மேல் செல்ல போகிறது 118 00:10:16,060 --> 00:10:20,400 நீங்கள் என்று கூறப்படும் அனைத்து செயல்பாடுகளில் இருந்து திரும்பி வரும் வரை, நீங்கள் முக்கிய திரும்ப பெற முடியாது 119 00:10:20,400 --> 00:10:22,340 அது முதலிடத்தில் உள்ளது. 120 00:10:22,340 --> 00:10:28,650 >> நீங்கள் செய்தால் [மாணவர்] அதனால் & y, அந்த மதிப்பு அறிவிப்பு இல்லாமல் மாறுதலுக்குட்படக்கூடியது திருப்பி. 121 00:10:28,650 --> 00:10:31,290 ஆமாம், it's - >> அது மறைந்து இருக்க முடியும் [மாணவர்]. >> சரி. 122 00:10:31,290 --> 00:10:34,660 நீங்கள் முயற்சி செய்தால் - அது முற்றிலும் தான் - 123 00:10:34,660 --> 00:10:38,040 அது ஒரு சுட்டிக்காட்டி திரும்பி ஏனென்றால் இது, ஒரு முழு எண்ணாக * பார் என்று 124 00:10:38,040 --> 00:10:41,310 அதன் திரும்ப வகை எண்ணாக * ஆகும். 125 00:10:41,310 --> 00:10:46,500 இந்த செயல்பாடு திரும்ப மதிப்பு பயன்படுத்துகிறார்கள் என்றால், அது வரையறுக்கப்படாத நடத்தை தான் 126 00:10:46,500 --> 00:10:51,770 என்று சுட்டிக்காட்டி மோசமான நினைவக இடங்களும், ஏனெனில். >> [மாணவர்] சரி. 127 00:10:51,770 --> 00:11:01,250 அதனால் என்ன என்றால், எடுத்துக்காட்டாக, நீங்கள் அறிவித்தார் எண்ணாக * y = malloc (sizeof (int))? 128 00:11:01,250 --> 00:11:03,740 நல்லது. ஆம். 129 00:11:03,740 --> 00:11:07,730 [மாணவர்] நாம் மறுசுழற்சி தொட்டிக்கு பொருட்களை இழுத்து போது நாம் எப்படி பேசினார் 130 00:11:07,730 --> 00:11:11,750 அவர்கள் உண்மையில் அழிந்துவிடும்; நாம் அவர்களது சுட்டிகள் இழக்க. 131 00:11:11,750 --> 00:11:15,550 எனவே இந்த விஷயத்தில் நாம் உண்மையில் அது நினைவகத்தில் இன்னும் மதிப்பு அழிக்க அல்லது? 132 00:11:15,550 --> 00:11:19,130 பெரும்பாலான, அது இன்னும் இருக்க போகிறது. 133 00:11:19,130 --> 00:11:24,220 ஆனால் நாம் வேறு சில செயல்பாடு, பஜ் அழைக்க நடக்கும் என்று. 134 00:11:24,220 --> 00:11:28,990 பஜ் இங்கே அதன் சொந்த ஸ்டாக் சட்டகமானது போகிறது. 135 00:11:28,990 --> 00:11:31,470 இது, இந்த விஷயங்களை எல்லாம் மேற்சேர்க்கை வேண்டும் நடக்கிறது 136 00:11:31,470 --> 00:11:34,180 பின்னர் நீங்கள் பின்னர், நீங்கள் முன் வந்தது என்று சுட்டிக்காட்டி முயற்சி மற்றும் பயன்படுத்தினால் 137 00:11:34,180 --> 00:11:35,570 அதே மதிப்பு இருக்க போவதில்லை. 138 00:11:35,570 --> 00:11:38,150 அதை நீங்கள் செயல்பாடு பஜ் என்று காரணம் மட்டும் மாற்ற வேண்டும் நடக்கிறது. 139 00:11:38,150 --> 00:11:43,080 [மாணவர்] ஆனால் நாம், நாம் இன்னும் 3 கிடைக்கும் அல்லவா? 140 00:11:43,080 --> 00:11:44,990 [Bowden] அனைத்து வாய்ப்பு, நீங்கள் என்று. 141 00:11:44,990 --> 00:11:49,670 ஆனால் நீங்கள் அந்த தங்கியிருக்க முடியாது. சி தான் வரையறுக்கப்படாத நடத்தை என்கிறார். 142 00:11:49,670 --> 00:11:51,920 >> [மாணவர்] ஓ, அது. சரி. 143 00:11:51,920 --> 00:11:58,190 Malloc பயன்படுத்தி வருகிறது அங்கு நீ ஒரு சுட்டிக்காட்டி திரும்ப வேண்டும் போது, இந்த. 144 00:12:00,930 --> 00:12:15,960 நான் எழுதுவது நான் தான் malloc திருப்பி (3 * sizeof (int)). 145 00:12:17,360 --> 00:12:24,050 நாம் ஒரு இரண்டாவது அதிக malloc மேல் போகலாம், ஆனால் malloc யோசனை உங்கள் உள்ளூர் மாறிகள் அனைத்து 146 00:12:24,050 --> 00:12:26,760 எப்போதும் ஸ்டாக் சென்று. 147 00:12:26,760 --> 00:12:31,570 Malloced என்று எதுவும் குவியல் செல்லும், மற்றும் அதை நிரந்தரமாக எப்போதும் குவியல் இருக்கும் 148 00:12:31,570 --> 00:12:34,490 நீங்கள் வெளிப்படையாக அதை விடுவிக்க வரை. 149 00:12:34,490 --> 00:12:42,130 இந்த போது நீங்கள் malloc ஒன்று, அது செயல்பாட்டை மீண்டும் பிறகு உயிர் பிழைக்க நடக்கிறது என்று அர்த்தம். 150 00:12:42,130 --> 00:12:46,800 இயங்குவதாக நிறுத்தி பிறகு [மாணவர்] அது உயிர் பிழைக்க முடியுமா? >> இல்லை 151 00:12:46,800 --> 00:12:53,180 சரி, அது நிரல் அனைத்து ஓடுவதை செய்து வரை இருக்க போகிறது. >> ஆமாம். 152 00:12:53,180 --> 00:12:57,510 நாம் இயங்குவதாக நிறுத்தப்படும் போது என்ன நடக்கிறது என்பதை பற்றிய விவரங்கள் மேல் போக முடியும். 153 00:12:57,510 --> 00:13:02,150 நீங்கள் என்னை ஞாபகப்படுத்த வேண்டும், ஆனால் அது முற்றிலும் ஒரு தனி விஷயம். 154 00:13:02,150 --> 00:13:04,190 [மாணவர்] எனவே malloc ஒரு சுட்டிக்காட்டி உருவாக்குகிறது? >> சரி. 155 00:13:04,190 --> 00:13:13,030 Malloc - >> [மாணவர்] நான் malloc ஒரு சுட்டிக்காட்டி பயன்படுத்தலாம் என்று நினைவகம் ஒரு தொகுதி நியமிக்கிறார் என்று. 156 00:13:15,400 --> 00:13:19,610 [Bowden] நான் மீண்டும் அந்த வரைபடம் வேண்டும். >> [மாணவர்] இந்த செயல்பாடு என்றாலும், வேலை? 157 00:13:19,610 --> 00:13:26,430 [மாணவர்] சரி, malloc நீங்கள் பயன்படுத்தலாம் என்று நினைவகம் ஒரு தொகுதி நியமிக்கிறார், 158 00:13:26,430 --> 00:13:30,470 பின்னர் அது நினைவகம் முதல் தொகுதி முகவரி கொடுக்கிறது. 159 00:13:30,470 --> 00:13:36,750 >> [Bowden] சரி. எனவே நீங்கள் malloc, நீங்கள் நினைவகத்தை சில தொகுதி வாட்டி 160 00:13:36,750 --> 00:13:38,260 அந்த குவியல் தற்போது தான். 161 00:13:38,260 --> 00:13:43,040 குவியல் மிக சிறிய என்றால், குவியல் தான் வளர போகிறது, அது இந்த திசையில் வளரும். 162 00:13:43,040 --> 00:13:44,650 எனவே குவியல் மிகவும் சிறியது சொல்கிறேன். 163 00:13:44,650 --> 00:13:49,960 அது சிறிது வளர தான் வளர்ந்தது என்று இந்த தொகுதி ஒரு சுட்டிக்காட்டி திரும்ப பற்றி. 164 00:13:49,960 --> 00:13:55,130 நீங்கள் இலவச பொருட்கள், நீங்கள் குவியல் இன்னும் அறை செய்யும் போது, 165 00:13:55,130 --> 00:14:00,030 எனவே பின்னர் malloc அழைத்து நீங்கள் முன்னர் விடுதலை என்று அந்த நினைவு பயன்படுத்தலாம். 166 00:14:00,030 --> 00:14:09,950 malloc மற்றும் இலவச பற்றி முக்கியமான விஷயம், நீங்கள் முழுமையான கட்டுப்பாட்டை கொடுக்கிறது என்று 167 00:14:09,950 --> 00:14:12,700 இந்த நினைவகம் தொகுதிகள் வாழ்நாளில். 168 00:14:12,700 --> 00:14:15,420 உலக மாறிகள் எப்போதும் உயிரோடு இருக்கும். 169 00:14:15,420 --> 00:14:18,500 உள்ளூர் மாறிகள் தமது எல்லைக்குள் வாழும். 170 00:14:18,500 --> 00:14:22,140 விரைவில் நீங்கள் ஒரு சுருள் பிரேஸ் கடந்த செல்லவேண்டும், உள்ளூர் மாறிகள் இறந்துவிட்டதாக. 171 00:14:22,140 --> 00:14:28,890 நீங்கள் உயிருடன் இருக்க வேண்டும் போது Malloced நினைவக உயிருடன் இருக்கிறார் 172 00:14:28,890 --> 00:14:33,480 நீங்கள் விடுதலை வேண்டும், அதை சொல்ல போது பின் வெளியிடப்பட்டது. 173 00:14:33,480 --> 00:14:38,420 அந்த உண்மையில், உண்மையில் நினைவகம் மட்டும் 3 வகைகள் உள்ளன. 174 00:14:38,420 --> 00:14:41,840 ஸ்டாக் இது தானாக நினைவக மேலாண்மை, அங்கே. 175 00:14:41,840 --> 00:14:43,840 விஷயங்கள் தானாகவே நடக்கும். 176 00:14:43,840 --> 00:14:46,910 நீங்கள் int x போது, நினைவக int x ஒதுக்கீடு. 177 00:14:46,910 --> 00:14:51,630 X நோக்கம் வெளியே செல்லும் போது, நினைவக x க்காக மீட்பதற்கு. 178 00:14:51,630 --> 00:14:54,790 பின்னர் மாறும் நினைவக மேலாண்மை, இது malloc என்ன ஆகும், அங்கு 179 00:14:54,790 --> 00:14:56,740 நீங்கள் கட்டுப்படுத்தும் போது அது. 180 00:14:56,740 --> 00:15:01,290 நீங்கள் மாறும் நினைவக மற்றும் ஒதுக்கீடு கூடாது போது முடிவு. 181 00:15:01,290 --> 00:15:05,050 பின்னர் நிலையான இல்லை, இது வெறும், அதை நிரந்தரமாக வாழ்ந்து என்று அர்த்தம் 182 00:15:05,050 --> 00:15:06,610 இது உலக மாறிகள் எவை என்பது. 183 00:15:06,610 --> 00:15:10,240 அவர்கள் நினைவாக தான் எப்போதும் இருக்கும். 184 00:15:10,960 --> 00:15:12,760 >> கேள்விகள்? 185 00:15:14,490 --> 00:15:17,230 [மாணவர்] நீங்கள் சுருள் ப்ரேஸ் பயன்படுத்தி ஒரு தொகுதி வரையறை முடியுமா 186 00:15:17,230 --> 00:15:21,220 ஆனால் வேண்டும் என்ற ஒரு அறிக்கையை அல்லது அப்படி ஒரு அறிக்கை அல்லது ஏதாவது இருந்தால்? 187 00:15:21,220 --> 00:15:29,130 நீங்கள் ஒரு விழாவில் ஒரு தொகுதி வரையறை செய்யலாம், ஆனால் அதுவும் சுருள் ப்ரேஸ் உள்ளது. 188 00:15:29,130 --> 00:15:32,100 [மாணவர்] எனவே நீங்கள் உங்கள் குறியீடு உள்ள சுருள் ப்ரேஸ்களை ஒரு சீரற்ற ஜோடி போன்ற முடியாது 189 00:15:32,100 --> 00:15:35,680 உள்ளூர் மாறிகள் என்று? >> ஆமாம், நீங்கள். 190 00:15:35,680 --> 00:15:45,900 Int பட்டியில் உள்ளே நாம் {int y = 3;} முடியும். 191 00:15:45,900 --> 00:15:48,440 என்று இங்கேயே இருக்க வேண்டும். 192 00:15:48,440 --> 00:15:52,450 ஆனால் அந்த முற்றிலும் எண்ணாக y நோக்கம் வரையறுக்கிறது. 193 00:15:52,450 --> 00:15:57,320 அந்த இரண்டாவது சுருள் பிரேஸ் பின்னர், y இனி பயன்படுத்த முடியாது. 194 00:15:57,910 --> 00:16:00,630 நீங்கள் என்றாலும், அதை கிட்டத்தட்ட. 195 00:16:02,940 --> 00:16:07,370 , ஒரு திட்டம் முடிவடையும் போது என்ன நடக்கிறது என்பதை மீண்டும் பெற 196 00:16:07,370 --> 00:16:18,760 நாம் மட்டும் விஷயங்கள் எளிதாக செய்ய வேண்டும் என்று ஒரு தவறான கருத்து / பாதி பொய் என்ன இருக்கிறது. 197 00:16:18,760 --> 00:16:24,410 நாம் உங்களுக்கு சொல்ல வேண்டும் என்று நீங்கள் நினைவகத்தை ஒதுக்க போது 198 00:16:24,410 --> 00:16:29,860 நீங்கள் அந்த மாறி ஒரு ரேம் சில துண்டின் ஒதுக்கீடு. 199 00:16:29,860 --> 00:16:34,190 ஆனால் நீங்கள் உண்மையில் நேரடியாக உங்கள் திட்டங்களில் இதுவரை ரேம் தொடுதல். 200 00:16:34,190 --> 00:16:37,490 நீங்கள் நினைத்து இருந்தால், எப்படி நான் வரைந்த - 201 00:16:37,490 --> 00:16:44,330 நீங்கள் GDB இல் மூலம் சென்றால் மற்றும் உண்மையில், நீங்கள் அதே விஷயத்தை பார்ப்போம். 202 00:16:51,120 --> 00:16:57,590 பொருட்படுத்தாமல் நீங்கள் உங்கள் நிரல் அல்லது நீங்கள் இயக்கி என்ன திட்டம், ரன் எத்தனை முறை 203 00:16:57,590 --> 00:16:59,950 ஸ்டாக் எப்போதும் தொடங்க போகிறது - 204 00:16:59,950 --> 00:17:06,510 நீங்கள் எப்போதும் முகவரியை oxbffff ஒன்று சுற்றி மாறிகள் பார்க்க போகிறோம். 205 00:17:06,510 --> 00:17:09,470 அந்த பகுதியில் எங்காவது வழக்கமாக உள்ளது. 206 00:17:09,470 --> 00:17:18,760 ஆனால் எப்படி 2 திட்டங்கள் சாத்தியமான ஒரே நினைவக சுட்டிகளையும் முடியும்? 207 00:17:20,640 --> 00:17:27,650 [மாணவர்] oxbfff ரேம் இருக்க வேண்டும் அமைந்துள்ள சில தன்னிச்சையான பெயர் இல்லை 208 00:17:27,650 --> 00:17:31,320 என்று உண்மையில் செயல்பாடு என போது பொறுத்து வெவ்வேறு இடங்களில் இருக்க முடியும். 209 00:17:31,320 --> 00:17:35,920 Yeah. கால மெய்நிகர் நினைவகம் உள்ளது. 210 00:17:35,920 --> 00:17:42,250 யோசனை என்று ஒவ்வொரு முறை, உங்கள் கணினியில் இயங்கும் என்று ஒவ்வொரு நிரல் 211 00:17:42,250 --> 00:17:49,450 அதன் சொந்த - முற்றிலும் சுதந்திரமான முகவரியை ஸ்பேஸ் - நாம் 32 பிட்கள் அனுமானிக்கலாம். 212 00:17:49,450 --> 00:17:51,590 இந்த முகவரி இடம். 213 00:17:51,590 --> 00:17:56,220 அதை பயன்படுத்த அதன் சொந்த முற்றிலும் சுதந்திரமான 4 ஜிகாபைட் உள்ளது. 214 00:17:56,220 --> 00:18:02,220 >> நீங்கள் ஒரே நேரத்தில் 2 திட்டங்கள் ரன் என்றால், இந்த திட்டத்தை, தன்னை 4 ஜிகாபைட் காண்கிறது 215 00:18:02,220 --> 00:18:04,870 இந்த திட்டம், தன்னை 4 ஜிகாபைட் காண்கிறது 216 00:18:04,870 --> 00:18:07,720 மேலும் இந்த திட்டத்தை dereference ஒரு சுட்டிக்காட்டி முடியாது 217 00:18:07,720 --> 00:18:10,920 இந்த திட்டத்திற்கு நினைவக முடிவடையும். 218 00:18:10,920 --> 00:18:18,200 என்ன மெய்நிகர் நினைவகம் ஒரு செயல்முறைகள் முகவரியை இடத்தில் இருந்து ஒரு ஒப்பீட்டை உள்ளது 219 00:18:18,200 --> 00:18:20,470 ரேம் மீது உண்மையான விஷயத்தை. 220 00:18:20,470 --> 00:18:22,940 அது எனக்கு தெரியும் உங்கள் இயங்கு வரை தான், 221 00:18:22,940 --> 00:18:28,080 ஏ, இந்த பையன் dereferences சுட்டிக்காட்டி oxbfff, உண்மையில் பொருள் 222 00:18:28,080 --> 00:18:31,040 அவர் ரேம் பைட் 1000, விரும்புகிறது என்று 223 00:18:31,040 --> 00:18:38,150 அதேசமயம், இந்த திட்டத்தை dereferences oxbfff என்றால், அவர் உண்மையில் ரேம் பைட் 10000 விரும்புகிறார். 224 00:18:38,150 --> 00:18:41,590 அவர்கள் தன்னிச்சையாக வெகு தொலைவில் இருக்க முடியும். 225 00:18:41,590 --> 00:18:48,730 இந்த ஒரு நிகழ்ச்சி முகவரியை இடத்தில் விஷயங்களை கூட உண்மைதான். 226 00:18:48,730 --> 00:18:54,770 எனவே இப்படி தன்னை அனைத்து 4 ஜிகாபைட் காண்கிறது, ஆனால் சொல்ல நாம் - 227 00:18:54,770 --> 00:18:57,290 [மாணவர்] ஒவ்வொரு முறை உள்ளதா - 228 00:18:57,290 --> 00:19:01,350 நாம் உங்களுக்கு ரேம் மட்டும் 4 ஜிகாபைட் ஒரு கணினி வேண்டும் என்று. 229 00:19:01,350 --> 00:19:06,430 ஒவ்வொரு முறை முழு 4 ஜிகாபைட் பார்க்க வேண்டும்? >> ஆமாம். 230 00:19:06,430 --> 00:19:13,060 ஆனால் அதை பார்க்கும் 4 ஜிகாபைட் பொய். 231 00:19:13,060 --> 00:19:20,460 அது அது வேறு செயல்முறை உள்ளது தெரியவில்லை, ஏனெனில் இது அனைத்து இந்த நினைவு நினைக்கிறார்கள். 232 00:19:20,460 --> 00:19:28,140 அது உண்மையில் தேவைப்படுகிறது அது மட்டும் எவ்வளவு நினைவகம் பயன்படுத்தும். 233 00:19:28,140 --> 00:19:32,340 இயங்கு இந்த ரேம் கொடுக்க போவதில்லை 234 00:19:32,340 --> 00:19:35,750 இந்த முழு பகுதியில் எந்த நினைவகத்தை பயன்படுத்தி இல்லை என்றால். 235 00:19:35,750 --> 00:19:39,300 அது அந்த பகுதியில் நினைவகம் கொடுக்க போவதில்லை. 236 00:19:39,300 --> 00:19:54,780 ஆனால் கருத்து என்பது - நான் நினைத்து பார்க்கிறேன் - நான் ஒரு ஒப்புமை நினைக்க முடியாது. 237 00:19:54,780 --> 00:19:56,780 ஒப்புமை கடினம். 238 00:19:57,740 --> 00:20:02,700 மெய்நிகர் நினைவகம் பிரச்சினைகளில் ஒன்று அல்லது அதை தீர்க்கும் காரியங்கள் ஒன்று 239 00:20:02,700 --> 00:20:06,810 செயல்முறைகள் ஒருவர் முழுமையாக தெரியாமல் இருக்க வேண்டும். 240 00:20:06,810 --> 00:20:12,140 அதனால் நீங்கள் எந்த நிரலை எழுத முடியும் என்று தான் dereferences எந்த சுட்டிக்காட்டி, 241 00:20:12,140 --> 00:20:19,340 நான், * (ox1234) என்ற ஒரு திட்டத்தை எழுத விரும்புகிறேன் 242 00:20:19,340 --> 00:20:22,890 மற்றும் இது என்று dereferencing நினைவக முகவரியை 1234. 243 00:20:22,890 --> 00:20:28,870 >> ஆனால் அது என்ன 1234 வழிமுறையாக மொழிபெயர்க்க இயங்கு வரை தான். 244 00:20:28,870 --> 00:20:33,960 நீங்கள் 1234, இந்த செயல்முறை சரியான நினைவக முகவரி என்ன 245 00:20:33,960 --> 00:20:38,800 இது ஸ்டாக் அல்லது ஏதாவது போல், இந்த என்று நினைவக முகவரி மதிப்பு வரும் 246 00:20:38,800 --> 00:20:41,960 இதுவரை செயல்முறை தெரியும் என்று. 247 00:20:41,960 --> 00:20:47,520 இது தரையிறக்கும் நடந்தால் ஆனால் அது 1234, சரியான முகவரி அல்ல 248 00:20:47,520 --> 00:20:52,910 ஸ்டாக் அப்பால் என்று இங்கே நினைவு சில சிறிய துண்டு மற்றும் குவியல் அப்பால் 249 00:20:52,910 --> 00:20:57,200 நீங்கள் உண்மையில் நீங்கள் segfaults போன்ற பொருட்களை வாங்கி அதற்கு அந்த பயன்படுத்தப்படும் இல்லை 250 00:20:57,200 --> 00:21:00,260 நீங்கள் தொட்டு கூடாது என்று நினைவு தொட்டு ஏனெனில். 251 00:21:07,180 --> 00:21:09,340 இது உண்மைதான் - 252 00:21:09,340 --> 00:21:15,440 ஒரு 32 பிட் கணினியில், 32 பிட்கள் ஒரு நினைவக முகவரி வரையறுக்க 32 பிட்கள் வேண்டும் என்பதாகும். 253 00:21:15,440 --> 00:21:22,970 அல்லது 4 பைட்டுகள் - சுட்டிகள் 8 பைட்டுகள் ஏன் 32 பிட்கள் 8 பைட்டுகள் ஏனெனில் அது. 254 00:21:22,970 --> 00:21:25,250 சுட்டிகள் 4 பைட்டுகள். 255 00:21:25,250 --> 00:21:33,680 எனவே நீங்கள் oxbfffff போன்ற சுட்டிக்காட்டி பார்க்கும் போது, அது - 256 00:21:33,680 --> 00:21:40,080 எந்த நிரல் உள்ள நீங்கள், எந்த தன்னிச்சையான சுட்டிக்காட்டி கட்ட முடியாது 257 00:21:40,080 --> 00:21:46,330 எங்கேயும் ox0 இருந்து எருது 8 f's வேண்டும் - ffffffff. 258 00:21:46,330 --> 00:21:49,180 [மாணவர்] அவர்கள் 4 பைட்டுகள் என்று சொல்ல வில்லையா? >> சரி. 259 00:21:49,180 --> 00:21:52,730 [மாணவர்] பிறகு ஒவ்வொரு பைட் வேண்டும் - >> [Bowden] பதின்அறுமம். 260 00:21:52,730 --> 00:21:59,360 அறுபதின்ம - 5, 6, 7, 8. சுட்டிகள் நீ எப்போதும் அறுபதின்ம பார்க்க போகிறோம். 261 00:21:59,360 --> 00:22:01,710 அதை நாம் சுட்டிகள் வகைப்படுத்த எப்படி மட்டுமல்ல. 262 00:22:01,710 --> 00:22:05,240 அறுபதின்ம ஒவ்வொரு 2 இலக்கங்கள் 1 பைட் ஆகும். 263 00:22:05,240 --> 00:22:09,600 எனவே 4 பைட்டுகள் 8 அறுபதின்ம இலக்கங்கள் இருக்க நடக்கிறது. 264 00:22:09,600 --> 00:22:14,190 அதனால் ஒரு 32 பிட் கணினியில் ஒவ்வொரு சுட்டிக்காட்டி, 4 பைட்டுகள் போகிறது 265 00:22:14,190 --> 00:22:18,550 இது உங்கள் செயலை நீங்கள் எந்த தன்னிச்சையான 4 பைட்டுகள் கட்ட முடியும் 266 00:22:18,550 --> 00:22:20,550 மேலும், இது ஒரு சுட்டிக்காட்டி அவுட் செய்ய 267 00:22:20,550 --> 00:22:32,730 எந்த அளவிற்கு இது தெரியும் தான், அது நினைவகம் 32 பைட்டுகள் ஒரு முழு 2 உரையாற்ற முடியும். 268 00:22:32,730 --> 00:22:34,760 உண்மையில் அந்த அணுகல் இல்லை என்றாலும், 269 00:22:34,760 --> 00:22:40,190 உங்கள் கணினி மட்டும் 512 மெகாபைட் உள்ளது கூட, அது அந்த அளவு நினைவகத்தை கொண்டுள்ளது நினைக்கிறார்கள். 270 00:22:40,190 --> 00:22:44,930 மற்றும் இயங்கு அதை மட்டுமே நீங்கள் உண்மையில் என்ன ஒதுக்க என்று போதுமான புத்திசாலி. 271 00:22:44,930 --> 00:22:49,630 4 நிகழ்ச்சிகள்: அது, ஓ, ஒரு புதிய செயல்முறை செல்லவில்லை. 272 00:22:49,630 --> 00:22:51,930 >> Yeah. >> [மாணவர்] எருது என்ன அர்த்தம்? ஏன் அதை எழுத? 273 00:22:51,930 --> 00:22:54,980 அது அறுபதின்ம குறியீடு உள்ளது. 274 00:22:54,980 --> 00:22:59,590 நீங்கள் காளை ஒரு எண் தொடக்கத்தில் பார்க்கும் போது, அடுத்தடுத்த விஷயங்களை அறுபதின்ம இருக்கும். 275 00:23:01,930 --> 00:23:05,760 [மாணவர்] நீங்கள் ஒரு திட்டம் முடிவடையும் போது என்ன நடக்கிறது என்பதை பற்றி விளக்கினார். >> ஆமாம். 276 00:23:05,760 --> 00:23:09,480 என்ன ஒரு திட்டம் முடிவடையும் போது நடக்கும் இயக்க அமைப்பு 277 00:23:09,480 --> 00:23:13,600 வெறும் erases இந்த முகவரி உள்ளது, அவ்வளவு தான் என்று காணுங்கள். 278 00:23:13,600 --> 00:23:17,770 இயங்கு இப்போது பயன்படுத்த மற்றொரு திட்டம் என்று நினைவு கொடுக்க முடியும். 279 00:23:17,770 --> 00:23:19,490 [மாணவர்] சரி. 280 00:23:19,490 --> 00:23:24,800 எனவே நீங்கள் குவியல் அல்லது ஸ்டாக் அல்லது உலக மாறிகள் அல்லது ஏதாவது ஏதாவது ஒதுக்கி போது, 281 00:23:24,800 --> 00:23:27,010 அவர்கள் தான் விரைவில் திட்டம் முடிவடையும் என மறைந்துவிடும் 282 00:23:27,010 --> 00:23:32,120 இயங்கு இப்போது எந்த பணியில் என்று நினைவு கொடுக்க இலவச என்பதால். 283 00:23:32,120 --> 00:23:35,150 [மாணவர்] எழுதப்பட்ட மதிப்புகள் இன்னும் ஒருவேளை உள்ளன என்றாலும்? >> சரி. 284 00:23:35,150 --> 00:23:37,740 மதிப்புகள் இன்னும் வாய்ப்பு இருக்கிறது. 285 00:23:37,740 --> 00:23:41,570 அது அது அவர்கள் பெற கடினமாக இருக்கும் நடக்கிறது. 286 00:23:41,570 --> 00:23:45,230 இது ஒரு நீக்கப்பட்ட கோப்பில் பெற விட அதை அவர்கள் பெற மிகவும் கடினம் 287 00:23:45,230 --> 00:23:51,450 நீக்கப்பட்டவை கோப்பு வகை நீண்ட நேரம் அங்கு உட்கார்ந்து வன் நிறைய பெரிய காரணம். 288 00:23:51,450 --> 00:23:54,120 அதை நினைவு வெவ்வேறு பகுதிகளில் மேலெழுத நடக்கிறது 289 00:23:54,120 --> 00:23:58,640 அந்த கோப்பு இருக்க பயன்படும் நினைவகம் துண்டின் மேலெழுத நடக்கும் முன். 290 00:23:58,640 --> 00:24:04,520 ஆனால் பிரதான நினைவகம், வேகமாக நிறைய மூலம் நீங்கள் சுழற்சி ரேம்,, 291 00:24:04,520 --> 00:24:08,040 மிக விரைவாக மறைந்து இருக்க போகிறது. 292 00:24:10,300 --> 00:24:13,340 இந்த அல்லது வேறு ஏதாவது கேள்விகள்? 293 00:24:13,340 --> 00:24:16,130 [மாணவர்] நான் வேறு ஒரு தலைப்பை பற்றி கேள்விகள். சரி >>. 294 00:24:16,130 --> 00:24:19,060 யார் இந்த கேள்விகள்? 295 00:24:20,170 --> 00:24:23,120 >> சரி. வேறு தலைப்பு. >> [மாணவர்] சரி. 296 00:24:23,120 --> 00:24:26,550 நான், நடைமுறையில் சோதனைகள் சில நடக்கிறது 297 00:24:26,550 --> 00:24:30,480 அவர்களை ஒன்று அது sizeof பற்றி 298 00:24:30,480 --> 00:24:35,630 மற்றும் மதிப்பு அது திரும்பும் அல்லது வேறு மாறியின் வகை என்று. >> ஆமாம். 299 00:24:35,630 --> 00:24:45,060 இது int, நீண்ட இருவரும் மீண்டும் 4 இருவரும், அதனால் அவர்கள் இருவரும் 4 பைட்டுகள் நீண்ட என்று கூறினார். 300 00:24:45,060 --> 00:24:48,070 ஒரு முழு எண்ணாக மற்றும் நீண்ட இடையே எந்த வித்தியாசமும் இல்லை, அல்லது அது அதே விஷயம்? 301 00:24:48,070 --> 00:24:50,380 ஆம், ஒரு வித்தியாசம் உள்ளது. 302 00:24:50,380 --> 00:24:52,960 சி நிலையான - 303 00:24:52,960 --> 00:24:54,950 நான் ஒருவேளை குழப்பம் ஏற்படுத்த போகிறேன். 304 00:24:54,950 --> 00:24:58,800 சி நிலையான வெறும் சி, சி உத்தியோகபூர்வ ஆவணத்தில் என்ன இருக்கிறது 305 00:24:58,800 --> 00:25:00,340 இது சொல்வது. 306 00:25:00,340 --> 00:25:08,650 எனவே சி நிலையான ஒரு எரிப்பதை எப்போதும் எப்போதும் 1 பைட் என்று கூறுகிறார். 307 00:25:10,470 --> 00:25:19,040 பிறகு எல்லாம் - ஒரு குறுகிய எப்போதும் தான் அதிகமாக அல்லது ஒரு எரிப்பதை சமமாக இருப்பது வரையறுக்கப்பட்டுள்ளது. 308 00:25:19,040 --> 00:25:23,010 இந்த கண்டிப்பாக விட, ஆனால் நேர்மறையான இல்லை இருக்கலாம். 309 00:25:23,010 --> 00:25:31,940 ஒரு முழு எண்ணாக தான் அதிகமாக அல்லது ஒரு குறுகிய சமமாக இருப்பதால் வரையறுக்கப்பட்டுள்ளது. 310 00:25:31,940 --> 00:25:36,210 மற்றும் ஒரு நீண்ட தான் அதிகமாக அல்லது ஒரு முழு எண்ணாக சம என வரையறுக்கப்பட்டுள்ளது. 311 00:25:36,210 --> 00:25:41,600 மற்றும் ஒரு நீண்ட நீண்ட விட அல்லது ஒரு நீண்ட சமமாக இருக்கும். 312 00:25:41,600 --> 00:25:46,610 எனவே சி நிலையான வரையறுக்கிறது மட்டும் தான் எல்லாம் உறவினர் வரிசை ஆகும். 313 00:25:46,610 --> 00:25:54,880 பொருட்களை எடுத்து அந்த நினைவு உண்மையான அளவு, வரை செயல்படுத்த பொதுவாக உள்ளது 314 00:25:54,880 --> 00:25:57,640 ஆனால் அது மிகவும் நன்றாக இந்த வரையறை. >> [மாணவர்] சரி. 315 00:25:57,640 --> 00:26:02,490 எனவே குறும்படங்களின் எப்போதும் 2 பைட்டுகள் இருக்க போகிறோம். 316 00:26:04,920 --> 00:26:09,950 Ints எப்போதும் 4 பைட்டுகள் இருக்க போகிறோம். 317 00:26:12,070 --> 00:26:15,340 நீண்ட longs எப்போதும் 8 பைட்டுகள் இருக்க போகிறோம். 318 00:26:17,990 --> 00:26:23,160 அது ஒரு 32 பிட் அல்லது 64 பிட் சிஸ்டம் பயன்படுத்தும் என்பதை பொறுத்து, longs. 319 00:26:23,160 --> 00:26:27,450 எனவே ஒரு நீண்ட அமைப்பை ஒத்ததாக போகிறது. 320 00:26:27,450 --> 00:26:31,920 நீங்கள் அப்ளையன்ஸ் போன்ற ஒரு 32 பிட் கணினியில் பயன்படுத்தினால், அது 4 பைட்டுகள் இருக்க போகிறது. 321 00:26:34,530 --> 00:26:42,570 நீங்கள் சமீபத்தில் கணினிகள் நிறைய போன்ற ஒரு 64 பிட் பயன்படுத்தினால், அது 8 பைட்டுகள் இருக்க போகிறது. 322 00:26:42,570 --> 00:26:45,230 >> Ints எப்போதும் இந்த கட்டத்தில் 4 பைட்டுகள். 323 00:26:45,230 --> 00:26:47,140 நீண்ட longs எப்போதும் 8 பைட்டுகள். 324 00:26:47,140 --> 00:26:50,300 கடந்த காலத்தில், ints மட்டும் 2 பைட்டுகள் இருக்க வேண்டும். 325 00:26:50,300 --> 00:26:56,840 ஆனால் இந்த முற்றிலும் விட மற்றும் சமமாக இந்த உறவுகள் அனைத்தும் நிறைவு அறிகிறோம். 326 00:26:56,840 --> 00:27:01,280 எனவே நீண்ட செய்தபின் முழு எண்ணாக அதே அளவு இருக்கும் அனுமதிக்கப்படுகிறது, 327 00:27:01,280 --> 00:27:04,030 இது ஒரு நீண்ட நீண்ட அதே அளவு இருக்க அனுமதிக்கப்படும். 328 00:27:04,030 --> 00:27:11,070 மற்றும் அது அவ்வாறு அமைப்புகள் 99,999%, இது சமமாக இருக்க வேண்டும் என்று இருக்கும் நடக்கிறது 329 00:27:11,070 --> 00:27:15,800 ஒரு முழு எண்ணாக அல்லது நீண்ட காலம் ஒன்று. இது 32 பிட் அல்லது 64 பிட் சார்ந்துள்ளது. >> [மாணவர்] சரி. 330 00:27:15,800 --> 00:27:24,600 மிதவைகள் உள்ள, பிட்கள் அடிப்படையில் நியமிக்கப்பட்ட தசம புள்ளி எப்படி இருக்கிறது? 331 00:27:24,600 --> 00:27:27,160 பைனரி என விரும்புகிறீர்களா? >> சரி. 332 00:27:27,160 --> 00:27:30,570 நீங்கள் CS50 தெரியும் தேவையில்லை. 333 00:27:30,570 --> 00:27:32,960 நீங்கள் கூட 61 என்று அறிய முடியாது. 334 00:27:32,960 --> 00:27:37,350 நீங்கள் எந்த போக்கில் என்று நிஜமாகவே இல்லை. 335 00:27:37,350 --> 00:27:42,740 அது ஒரு பிரதிநிதித்துவம் இல்லை. 336 00:27:42,740 --> 00:27:45,440 நான் சரியான பிட் allotments மறக்க. 337 00:27:45,440 --> 00:27:53,380 மிதவை புள்ளி கருத்தை நீங்கள் பிரதிநிதித்துவப்படுத்துவதாக பிட்கள் ஒரு குறிப்பிட்ட எண்ணை ஒதுக்கி உள்ளது - 338 00:27:53,380 --> 00:27:56,550 அடிப்படையில், எல்லாம் அறிவியல் குறியீடு உள்ளது. 339 00:27:56,550 --> 00:28:05,600 எனவே நீங்கள் 1,2345 போன்ற பல தன்னை, பிரதிநிதித்துவப்படுத்துவதாக பிட்கள் ஒரு குறிப்பிட்ட எண்ணிக்கையிலான ஒதுக்க. 340 00:28:05,600 --> 00:28:10,200 நான் 5 மேற்பட்ட இலக்கங்கள் கொண்ட எண்ணை குறிக்கும் முடியாது. 341 00:28:12,200 --> 00:28:26,300 இது போன்ற இருக்கிறது என்று நீங்கள் கூட பிட்கள் ஒரு குறிப்பிட்ட எண்ணிக்கையிலான ஒதுக்க 342 00:28:26,300 --> 00:28:32,810 என்று நீங்கள் முடியும் மிகப்பெரிய உள்ளீடு போல் நீங்கள் தான், ஒரு குறிப்பிட்ட எண்ணிக்கை வரை செல்ல முடியும், 343 00:28:32,810 --> 00:28:36,190 நீங்கள் மட்டும், ஒரு குறிப்பிட்ட உள்ளீடு கீழே போகலாம் 344 00:28:36,190 --> 00:28:38,770 நீங்கள் மிகச்சிறிய உள்ளீடு என்று விரும்புகிறேன். 345 00:28:38,770 --> 00:28:44,410 >> நான், சரியான வழி பிட்கள் இந்த மதிப்புகள் அனைத்து ஒதுக்கப்படும் என்று ஞாபகம் இல்லை 346 00:28:44,410 --> 00:28:47,940 ஆனால் பிட்கள் ஒரு குறிப்பிட்ட எண்ணிக்கை, 1,2345 அர்ப்பணிக்கப்பட்டது 347 00:28:47,940 --> 00:28:50,930 பிட்கள் மற்றொரு குறிப்பிட்ட எண்ணிக்கை, உள்ளீடு அர்ப்பணிக்கப்பட்டது 348 00:28:50,930 --> 00:28:55,670 அது ஒரு குறிப்பிட்ட அளவு ஒரு உள்ளீடு பிரதிநிதித்துவம் மட்டுமே சாத்தியமாகும். 349 00:28:55,670 --> 00:29:01,100 [மாணவர்] மற்றும் ஒரு இரட்டை? ஒரு கூடுதல் நீண்ட மிதவை போல? >> சரி. 350 00:29:01,100 --> 00:29:07,940 இப்போது நீங்கள் பதிலாக 4 பைட்டுகள் 8 பைட்டுகள் பயன்படுத்தும் தவிர ஒரு மிதவை அதே விஷயம். 351 00:29:07,940 --> 00:29:11,960 இப்போது நீங்கள், 9 இலக்கங்கள் அல்லது 10 இலக்கங்கள் பயன்படுத்த முடியும் 352 00:29:11,960 --> 00:29:16,630 இந்த 300 பதிலாக 100 வரை செல்ல முடியும். >> [மாணவர்] சரி. 353 00:29:16,630 --> 00:29:21,550 மற்றும் மிதவைகள் மேலும் 4 பைட்டுகள். >> ஆமாம். 354 00:29:21,550 --> 00:29:27,520 நன்றாக, மீண்டும், இது அநேகமாக, பொது அமலாக்க ஒட்டுமொத்த பொறுத்தது 355 00:29:27,520 --> 00:29:30,610 ஆனால் மிதவைகள் 4 பைட்டுகள், இரட்டையர் 8 உள்ளன. 356 00:29:30,610 --> 00:29:33,440 அவர்கள் இரட்டை மிதவைகள் அளவு ஏனெனில் இரட்டையர் இரட்டை அழைக்கப்படுகின்றன. 357 00:29:33,440 --> 00:29:38,380 [மாணவர்] சரி. அங்கு இரட்டை இரட்டையர்? >> இல்லை. 358 00:29:38,380 --> 00:29:43,660 நான் நினைக்கிறேன் - நீண்ட longs போலவே >> [மாணவர்]? >> சரி. நான் அப்படி நினைக்கவில்லை. ஆம். 359 00:29:43,660 --> 00:29:45,950 கடந்த ஆண்டு சோதனை இல் [மாணவர்] முக்கிய செயல்பாடு பற்றி ஒரு கேள்வி இருந்தது 360 00:29:45,950 --> 00:29:49,490 உங்கள் திட்டத்தின் ஒரு பகுதியாக இருக்க வேண்டும் என்ற. 361 00:29:49,490 --> 00:29:52,310 பதில் உங்கள் திட்டத்தின் ஒரு பகுதியாக இருக்க வேண்டும் என்று இருந்தது. 362 00:29:52,310 --> 00:29:55,100 என்ன சூழ்நிலையில்? என்று நான் பார்த்தேன் என்ன. 363 00:29:55,100 --> 00:29:59,090 [Bowden] இது போல் - >> [மாணவர்] என்ன நிலைமை? 364 00:29:59,090 --> 00:30:02,880 நீங்கள் பிரச்சனை? >> [மாணவர்] ஆமாம், நான் நிச்சயமாக அதை கவனித்து கொள்ள முடியும். 365 00:30:02,880 --> 00:30:07,910 தொழில்நுட்ப ரீதியாக, இருக்க வேண்டும் இல்லை, ஆனால் அடிப்படையில் அது இருக்க போகிறது. 366 00:30:07,910 --> 00:30:10,030 [மாணவர்] நான் வேறு ஒரு ஆண்டு ஒரு பார்த்தேன். 367 00:30:10,030 --> 00:30:16,220 அது சரி அல்லது தவறு இருந்தது: ஒரு செல்லுபடியாகும் - >> ஓ, ஒரு கேட்ச் கோப்பு.? 368 00:30:16,220 --> 00:30:18,790 . [மாணவர்] ஏதாவதொன்று கேட்ச் கோப்பு வேண்டும் - [ஒரே நேரத்தில் பேசும் இரு - புரிந்து] 369 00:30:18,790 --> 00:30:21,120 சரி. அதனால் தனி தான். 370 00:30:21,120 --> 00:30:26,800 >> ஒரு. கேட்ச் கோப்பை மட்டும் செயல்பாடுகளை கட்டுப்படுத்த வேண்டும். 371 00:30:26,800 --> 00:30:32,400 நீங்கள் ஒரு இயந்திர குறியீடு இந்த கோப்பு, பைனரி, என்ன, தொகுக்கக்கூடிய 372 00:30:32,400 --> 00:30:36,620 இல்லாமல் இன்னும் இயங்கக்கூடிய இருப்பது. 373 00:30:36,620 --> 00:30:39,420 ஒரு செல்லுபடியாகும் இயங்கக்கூடிய ஒரு முக்கிய செயல்பாடு இருக்க வேண்டும். 374 00:30:39,420 --> 00:30:45,460 நீங்கள் 100 1 கோப்பு செயல்பாடுகளை ஆனால் எந்த முக்கிய எழுதலாம் 375 00:30:45,460 --> 00:30:48,800 பின்னர், பைனரி என்று கீழே தொகுக்க 376 00:30:48,800 --> 00:30:54,460 நீங்கள் தான் முக்கிய என்று மற்றொரு கோப்பு எழுத ஆனால் இந்த செயல்பாடுகளை ஒரு கூட்டத்தை அழைப்பு 377 00:30:54,460 --> 00:30:56,720 இங்கு இந்த பைனரி கோப்பு. 378 00:30:56,720 --> 00:31:01,240 அதனால் நீங்கள் இயங்கக்கூடிய செய்யும் போது, அந்த தொடுப்பி என்ன சம்பந்தம் இல்லை 379 00:31:01,240 --> 00:31:05,960 இந்த 2 பைனரி கோப்புகள் இயங்கக்கூடிய வகையில் சேர்க்கிறது. 380 00:31:05,960 --> 00:31:11,400 ஒரு. கேட்ச் கோப்பு அனைத்து ஒரு முக்கிய செயல்பாடு வேண்டும். 381 00:31:11,400 --> 00:31:19,220 மற்றும் பெரிய குறியீடு தளங்கள் மீது நீங்கள். கேட்ச் கோப்புகள் மற்றும் 1 முக்கிய கோப்பு ஆயிரக்கணக்கான பார்க்கிறேன். 382 00:31:23,960 --> 00:31:26,110 மேலும் கேள்விகள்? 383 00:31:29,310 --> 00:31:31,940 [மாணவர்] மற்றொரு கேள்வி இருந்தது. 384 00:31:31,940 --> 00:31:36,710 அது ஒரு மொழி என்று. சரி அல்லது தவறு? 385 00:31:36,710 --> 00:31:42,030 பதில் தவறு, அது கணகண வென்ற சப்தம் போல் அல்ல நான் ஏன் புரிந்து. 386 00:31:42,030 --> 00:31:44,770 ஆனால் நாங்கள் அப்படி இல்லை என்றால் நீங்கள் என்ன கூறுவீர்கள்? 387 00:31:44,770 --> 00:31:49,990 என்று தான் அடிப்படையில் - நான் அது அழைப்பு விடுத்துள்ளது சரியாக பார்க்க முடியும். 388 00:31:49,990 --> 00:31:52,410 ஆனால் அது வெறும் கட்டளைகளை இயக்குகிறது. 389 00:31:53,650 --> 00:31:55,650 என்று. 390 00:31:58,240 --> 00:32:00,870 நான் இந்த கவனித்து கொள்ளலாம். Yeah. 391 00:32:10,110 --> 00:32:13,180 ஓ, அப்படியா. என்று கூட அப்படி. 392 00:32:13,180 --> 00:32:17,170 இந்த தயாரிப்பு பயன்பாட்டு நோக்கம் தானாக தீர்மானிக்க கூறுகிறார் 393 00:32:17,170 --> 00:32:19,610 ஒரு பெரிய திட்டத்தை துண்டுகளை மறுதொகுப்பு வேண்டும் இது 394 00:32:19,610 --> 00:32:22,350 அவர்களை மீள்தொகுப்பானது கட்டளைகளை கொடுக்கவும். 395 00:32:22,350 --> 00:32:27,690 நீங்கள் முற்றிலும் பெரும் என்று கோப்புகளை உருவாக்க முடியும். 396 00:32:27,690 --> 00:32:33,210 செய்ய, நாம் முன்னர் சொன்னது போல், கோப்புகளை நேர முத்திரைகளையும் பார்க்க மற்றும் 397 00:32:33,210 --> 00:32:36,930 நீங்கள் தனிப்பட்ட கோப்புகளை கீழே தொகுக்க முடியும், மற்றும் நீங்கள் தொடுப்பி பெற வரை அது இல்லை 398 00:32:36,930 --> 00:32:39,270 அவர்கள் இயங்கக்கூடிய வகையில் ஒன்றாக இருக்கும். 399 00:32:39,270 --> 00:32:43,810 நீங்கள் 10 வெவ்வேறு கோப்புகள் மற்றும் நீங்கள், அவர்களை 1 மாற்றத்தை நீங்கள் 400 00:32:43,810 --> 00:32:47,870 பிறகு என்ன செய்ய போகிறார் தான் மீள்தொகுப்பானது என்று 1 கோப்பு 401 00:32:47,870 --> 00:32:50,640 பின்னர் ஒன்றாக எல்லாவற்றையும் மீண்டும் இணைக்கவும். 402 00:32:50,640 --> 00:32:53,020 ஆனால் அதை விட டம்பர் தான். 403 00:32:53,020 --> 00:32:55,690 இது முற்றிலும் அது செய்ய வேண்டும், என்ன என்று வரையறுக்க வரை நீங்கள் தான். 404 00:32:55,690 --> 00:32:59,560 இது முன்னிருப்பாக, இந்த முறை முத்திரை பொருள் அங்கீகரிக்க முடியும் 405 00:32:59,560 --> 00:33:03,220 ஆனால் நீங்கள் எதையும் செய்ய ஒரு தயாரிப்பு கோப்பு எழுத முடியும். 406 00:33:03,220 --> 00:33:09,150 நீங்கள் எழுத முடியும் ஒரு கோப்பை உருவாக்க அதனால் நீங்கள் அதை குறுவட்டு மீது மற்றொரு அடைவு செய்ய தட்டச்சு போது. 407 00:33:09,150 --> 00:33:15,560 நான் விரக்தி நான் பிசுப்பு எல்லாம் என் அப்ளையன்ஸ் உள்ளே ஏனெனில் 408 00:33:15,560 --> 00:33:21,740 பின்னர் நான் மேக் இருந்து PDF பார்க்க. 409 00:33:21,740 --> 00:33:30,720 >> அதனால் நான் கண்டுபிடிப்பானில் சென்று நான் போய் என்ன செய்ய முடியும், சர்வர் இணை, 410 00:33:30,720 --> 00:33:36,950 நான் இணைக்க சர்வர் என் வீட்டு உபயோக மற்றும் நான் எம் திறக்க 411 00:33:36,950 --> 00:33:40,190 அந்த LaTeX தொகுக்கப்பட்ட. 412 00:33:40,190 --> 00:33:49,320 ஆனால் நான் விரக்தி கொண்டிருந்தேன் நான் எம் புதுப்பிக்க தேவையான ஒவ்வொரு முறை ஏனெனில், 413 00:33:49,320 --> 00:33:53,900 நான் அதை அணுக முடியும் என்று ஒரு குறிப்பிட்ட அடைவு நகலெடுத்து வேண்டும் 414 00:33:53,900 --> 00:33:57,710 அது எரிச்சலூட்டும் இருந்தது. 415 00:33:57,710 --> 00:34:02,650 அதனால் நான் அதை விஷயங்கள் உண்டு என்பதை வரையறுக்க வேண்டும், இது ஒரு தயாரிப்பு கோப்பு எழுதினார். 416 00:34:02,650 --> 00:34:06,130 நீங்கள் எப்படி இந்த PDF LaTeX உள்ளது. 417 00:34:06,130 --> 00:34:10,090 மற்ற எந்த தயாரிப்பு கோப்பை போன்ற - அல்லது நான் நீங்கள் கோப்புகளை காணவில்லை நினைக்கிறேன், 418 00:34:10,090 --> 00:34:13,510 ஆனால் நாம், அப்ளையன்ஸ் தான் என்கிறார் ஒரு உலகளாவிய தயாரிப்பு கோப்பு இல்லை 419 00:34:13,510 --> 00:34:16,679 நீங்கள் ஒரு சி கோப்பு ஒடுக்குவதற்கான இருந்தால், கணகண வென்ற சப்தம் பயன்படுத்த. 420 00:34:16,679 --> 00:34:20,960 அதனால் இங்கே என் ஒப்பனைகளை கோப்பில் நான் என்ன சொல்ல வேண்டும் என்று, 421 00:34:20,960 --> 00:34:25,020 இந்த கோப்பு நீங்கள் PDF LaTeX கொண்டு தொகுக்க வேண்டும் போகிறோம். 422 00:34:25,020 --> 00:34:27,889 அதனால் அது தொகுக்கப்பட்ட செய்து அந்த PDF LaTeX தான். 423 00:34:27,889 --> 00:34:31,880 செய்ய ஒடுக்குவதற்கான. அது நான் குறிப்பிட்ட வரிசையில் இந்த கட்டளைகளை இயக்கும். 424 00:34:31,880 --> 00:34:36,110 அது PDF LaTeX இயங்கும், அது, நான் அதை நகல் வேண்டும் அடைவு அதை நகலெடுக்கிறது 425 00:34:36,110 --> 00:34:38,270 அது சிடி தான் அடைவு மற்றும் பிற விஷயங்களை இல்லை, 426 00:34:38,270 --> 00:34:42,380 ஆனால் அது அனைத்து, ஒரு கோப்பு மாற்றங்களை அங்கீகரிக்க 427 00:34:42,380 --> 00:34:45,489 இது மாற்றுகிறது என்றால், அது இயக்க வேண்டும் என்று கட்டளைகளை இயக்கும் 428 00:34:45,489 --> 00:34:48,760 போது கோப்பு மாற்றங்கள். >> [மாணவர்] சரி. 429 00:34:50,510 --> 00:34:54,420 நான் உலக ஒப்பனைகளை கோப்புகளை எனக்கு அதை பார்க்க வேண்டும் எங்கே என்று தெரியவில்லை. 430 00:34:57,210 --> 00:35:04,290 மற்ற கேள்விகள்? கடந்த ஏதாவது வினாடி வினாக்கள்? எந்த சுட்டிக்காட்டி விஷயங்கள்? 431 00:35:06,200 --> 00:35:08,730 போன்ற சுட்டிகள் மூலம் நுட்பமான விஷயங்கள் உள்ளன - 432 00:35:08,730 --> 00:35:10,220 நான் ஒரு புதிர் கேள்வி கண்டுபிடிக்க முடியும் போவதில்லை - 433 00:35:10,220 --> 00:35:16,250 ஆனால் நான் தான் இந்த மாதிரி போல். 434 00:35:19,680 --> 00:35:24,060 நான் சொல்வது உங்களுக்கு புரிகிறதா உறுதி எண்ணாக * x * y - 435 00:35:24,890 --> 00:35:28,130 இந்த சரியாக இங்கே எதுவும் இல்லை, நான் நினைக்கிறேன். 436 00:35:28,130 --> 00:35:32,140 ஆனால் அப்படி * x * y, அந்த ஸ்டாக் இருக்கும் என்று 2 காரணிகள் ஆகும். 437 00:35:32,140 --> 00:35:37,220 நான் சொல்லும் போது x = malloc (sizeof (int)), x, இன்னும் ஸ்டாக் ஒரு மாறி உள்ளது 438 00:35:37,220 --> 00:35:41,180 malloc குவியல் உள்ள சில தடுப்பு, நாம் குவியல் செய்ய x புள்ளி நேர்கிறது. 439 00:35:41,180 --> 00:35:43,900 >> குவியல் என்று ஸ்டேக் புள்ளிகள் மீது ஏதாவது எனவே. 440 00:35:43,900 --> 00:35:48,100 எப்போது நீங்கள் malloc எதையும், நீங்கள் தவிர்க்க முடியாமல் அது ஒரு சுட்டிக்காட்டி உள்ளே சேமித்து. 441 00:35:48,100 --> 00:35:55,940 என்று சுட்டிக்காட்டி ஸ்டாக் உள்ளது எனவே, malloced தொகுதி குவியல் உள்ளது. 442 00:35:55,940 --> 00:36:01,240 நிறைய பேர் குழப்பி எடுத்து சொல்ல எண்ணாக * x = malloc; x குவியல் உள்ளது. 443 00:36:01,240 --> 00:36:04,100 X சுட்டி காட்டும் இல்லை குவியல் உள்ளது. 444 00:36:04,100 --> 00:36:08,540 என்ன காரணத்திற்காக நீங்கள் x உலகளாவிய மாறி இருக்கும் வரையில் x தன்னை, ஸ்டாக் உள்ளது 445 00:36:08,540 --> 00:36:11,960 இதில் அது நினைவகம் மற்றொரு பகுதியில் இருக்கும் நடக்கிறது. 446 00:36:13,450 --> 00:36:20,820 தடம் எனவே, இந்த பெட்டி மற்றும் அம்புக்குறி வரைபடங்களை வினாடி வினா ஒரு அழகான பொதுவான. 447 00:36:20,820 --> 00:36:25,740 இது வினாடி வினா 0 இல்லை என்றால் அல்லது, அதை வினாடி வினா 1 இருக்கும். 448 00:36:27,570 --> 00:36:31,940 நீங்கள், ஒடுக்குவதற்கான உள்ள வழிமுறைகளை இந்த அனைத்து தெரிய வேண்டும் 449 00:36:31,940 --> 00:36:35,740 அந்த அடிப்படையில் கேள்விகளுக்கு பதிலளிக்க வேண்டியிருந்தது இருந்து. ஆம். 450 00:36:35,740 --> 00:36:38,940 [மாணவர்] நாம் அந்த வழிமுறைகளை மேல் போக முடியவில்லை - >> என்று. 451 00:36:48,340 --> 00:36:58,640 படிகள் மற்றும் ஒடுக்குவதற்கான முன் நாம், preprocessing வேண்டும் 452 00:36:58,640 --> 00:37:16,750 , ஒடுக்குவதற்கான ஒருங்கிணைப்பதில், மற்றும் இணைக்கும். 453 00:37:16,750 --> 00:37:21,480 Preprocessing. என்ன செய்ய? 454 00:37:29,720 --> 00:37:32,290 இது எளிதான படி - நன்றாக, இல்லை போன்ற - 455 00:37:32,290 --> 00:37:35,770 அது வெளிப்படையாக இருக்க வேண்டும் என்று அர்த்தம் இல்லை, ஆனால் இது எளிதான செயல் தான். 456 00:37:35,770 --> 00:37:38,410 உங்களுக்கு அது உங்களை செயல்படுத்த முடியும். Yeah. 457 00:37:38,410 --> 00:37:43,410 [மாணவர்] என்ன நீங்கள் உங்கள் இந்த போன்றவை அடங்கும் எடுத்து நகலெடுக்கிறது பின்னர் மேலும் வரையறுக்கிறது. 458 00:37:43,410 --> 00:37:49,250 இது, # அடங்கும் போன்ற விஷயங்களை பார்க்க மற்றும் # வரையறுக்க 459 00:37:49,250 --> 00:37:53,800 மற்றும் அது நகல்கள் மற்றும் பசைகள் அந்த உண்மையில் என்ன. 460 00:37:53,800 --> 00:37:59,240 அதனால் # cs50.h அடங்கும் என்று சொல்லும் போது, Preprocessor நகல் மற்றும் cs50.h ஒட்டுதல் 461 00:37:59,240 --> 00:38:01,030 அந்த நிலைப்பாட்டின். 462 00:38:01,030 --> 00:38:06,640 நீங்கள் # 4 இருக்கும் x வரையறுத்து கூற போது, Preprocessor முழு திட்டத்தின் மூலம் செல்கிறது 463 00:38:06,640 --> 00:38:10,400 மற்றும் 4 x அனைத்து நிகழ்வுகளையும் பதிலாக. 464 00:38:10,400 --> 00:38:17,530 எனவே Preprocessor சரியான சி கோப்பு எடுத்து சரியான சி கோப்பு வெளியிடுகிறது 465 00:38:17,530 --> 00:38:20,300 அங்கு விஷயங்களை நகல் மற்றும் ஒட்டப்படும். 466 00:38:20,300 --> 00:38:24,230 எனவே இப்போது ஒடுக்குவதற்கான. என்ன செய்ய? 467 00:38:25,940 --> 00:38:28,210 [மாணவர்] இது சி இருந்து பைனரி செல்லும். 468 00:38:28,210 --> 00:38:30,970 >> [Bowden] இது பைனரி அனைத்து வழியில் செல்ல முடியாது. 469 00:38:30,970 --> 00:38:34,220 [மாணவர்] இயந்திர குறியீட்டை பிறகு? >> இது இயந்திர குறியீடு அல்ல. 470 00:38:34,220 --> 00:38:35,700 [மாணவர்] சட்டமன்ற? >> சட்டமன்ற. 471 00:38:35,700 --> 00:38:38,890 இது சி குறியீடு வழியில் செல்லும் முன் சட்டமன்ற சென்று, 472 00:38:38,890 --> 00:38:45,010 பெரும்பாலான மொழிகளில் இப்படி செய்வாள். 473 00:38:47,740 --> 00:38:50,590 எந்த உயர் மட்ட மொழி தேர்வு, மற்றும் நீங்கள் அதை தொகுக்க போகிறோம் என்றால், 474 00:38:50,590 --> 00:38:52,390 அது படிகளில் தொகுக்க இருப்பார்கள். 475 00:38:52,390 --> 00:38:58,140 முதலில் சி பைதான் தொகுக்க நடக்கிறது, அது, சட்டமன்றத்தில் சி தொகுக்க நடக்கிறது 476 00:38:58,140 --> 00:39:01,600 பின்னர் சட்டமன்ற பைனரி மொழிபெயர்க்கப்பட்ட போகிறது. 477 00:39:01,600 --> 00:39:07,800 எனவே ஒடுக்குவதற்கான சி இருந்து சட்டமன்றத்தில் கொண்டு போகிறது. 478 00:39:07,800 --> 00:39:12,130 ஒடுக்குவதற்கான வார்த்தை பொதுவாக அதிக அளவில் இருந்து கொண்டு பொருள் 479 00:39:12,130 --> 00:39:14,340 குறைந்த அளவில் நிரலாக்க மொழி. 480 00:39:14,340 --> 00:39:19,190 இந்த ஒரு உயர் மட்ட மொழி தொடங்க அங்கு தொகுப்பு மட்டுமே படி 481 00:39:19,190 --> 00:39:23,270 மற்றும் ஒரு குறைந்த அளவு மொழி முடிவடைய, மற்றும் படி ஒடுக்குவதற்கான என்று அதனால் தான். 482 00:39:25,280 --> 00:39:33,370 ஒடுக்குவதற்கான போது [மாணவர்], நீ # அடங்கும் செய்துவிட்டேன் என்று நாம் cs50.h. 483 00:39:33,370 --> 00:39:42,190 தொகுப்பி மீள்தொகுப்பானது cs50.h அங்கு உள்ளன என்று செயல்பாடுகளை போல், 484 00:39:42,190 --> 00:39:45,280 மேலும், அதே என்று சட்டமன்ற குறியீடு மொழிபெயர்க்க 485 00:39:45,280 --> 00:39:50,830 அல்லது முன் சட்டமன்ற இருந்தது என்று ஒன்று நகலெடுத்து ஒட்டவும்? 486 00:39:50,830 --> 00:39:56,910 cs50.h அழகான மிகவும் சட்டமன்ற முடிவடைய வேண்டும். 487 00:39:59,740 --> 00:40:03,680 விழாவில் முன்மாதிரிகளை மற்றும் பொருட்கள் போன்ற பொருட்களை நீங்கள் கவனமாக இருக்க தான் உள்ளது. 488 00:40:03,680 --> 00:40:09,270 அதை நீங்கள் செயல்பாடுகளை நினைத்தீர்கள் போன்ற தொகுப்பி விஷயங்களை பார்க்கலாம் என்று உறுதி 489 00:40:09,270 --> 00:40:12,910 சரியான பதிலுக்கு வகைகள் மற்றும் சரியான வாதங்கள் மற்றும் காரியங்களுக்கு. 490 00:40:12,910 --> 00:40:18,350 >> அதை ஒடுக்குவதற்கான தான் போது மிகவும் cs50.h பின்னர் கோப்பில் தொடங்குகிறது, மற்றும் 491 00:40:18,350 --> 00:40:22,310 இது எல்லாம் சரியாக என்று வருகிறது என்று உறுதி செய்து பின்னர் அதை அடிப்படையாக தூர எறிந்து. 492 00:40:22,310 --> 00:40:29,410 ஆனால் CS50 நூலகத்தில் வரையறுத்த செயல்பாடுகளை, cs50.h இருந்து தனி அவை 493 00:40:29,410 --> 00:40:33,610 அந்த தனித்தனியாக தொகுக்கப்பட்ட முடியாது. 494 00:40:33,610 --> 00:40:37,270 உண்மையில் இணைக்கும் படி கீழே வரும் என்று, நாம் இரண்டாவது அந்த கிடைக்கும். 495 00:40:37,270 --> 00:40:40,100 ஆனால் முதல், என்ன பூட்டு? 496 00:40:41,850 --> 00:40:44,500 பைனரி [மாணவர்] சட்டமன்ற? >> சரி. 497 00:40:46,300 --> 00:40:48,190 கூடியிருந்தனர். 498 00:40:48,190 --> 00:40:54,710 சட்டமன்ற அழகான மிகவும் பைனரி ஒரு தூய மொழிபெயர்ப்பு ஏனெனில் நாம் அதை ஒடுக்குவதற்கான அழைக்க கூடாது. 499 00:40:54,710 --> 00:41:00,230 சட்டமன்ற இருந்து பைனரி செல்வதில் மிகவும் சிறிய தர்க்கம் உள்ளது. 500 00:41:00,230 --> 00:41:03,180 அது ஒரு அட்டவணையில் வரை போல், ஓ, இந்த வழிமுறை இல்லை; 501 00:41:03,180 --> 00:41:06,290 அந்த பைனரி 01110 ஒத்துள்ளது. 502 00:41:10,200 --> 00:41:15,230 அதனால் கோப்புகளை என்று வெளியீடுகளை பொதுவாக கூடியிருந்தனர். ஓ கோப்புகள். 503 00:41:15,230 --> 00:41:19,020 மற்றும். ஓ கோப்புகள் நாம் சொல்வதை என்ன, 504 00:41:19,020 --> 00:41:21,570 எப்படி ஒரு கோப்பு ஒரு முக்கிய செயல்பாடு வேண்டும். 505 00:41:21,570 --> 00:41:27,640 எந்த கோப்பு ஒரு செல்லுபடியாகும் சி கோப்பு வரை ஒரு. ஓ கோப்பு கீழே தொகுக்க முடியும். 506 00:41:27,640 --> 00:41:30,300 இது. ஓ கீழே தொகுக்க முடியும். 507 00:41:30,300 --> 00:41:43,030 இப்போது, இணைக்கும். உண்மையில் ஒரு கொத்து கொண்டு என்ன ஓ கோப்புகள் மற்றும் இயங்கக்கூடிய அவற்றை கொண்டு. 508 00:41:43,030 --> 00:41:51,110 அதனால் என்ன இணைக்கும் இல்லை நீங்கள் ஒரு. ஓ கோப்பு CS50 நூலகம் என்று முடியும். 509 00:41:51,110 --> 00:41:56,980 அது ஒரு ஏற்கனவே தொகுக்கப்பட்ட பைனரி கோப்பு. 510 00:41:56,980 --> 00:42:03,530 அதனால் நீங்கள் GetString அழைக்கும் உங்கள் கோப்பு, உங்கள் hello.c, தொகுத்தல் போது 511 00:42:03,530 --> 00:42:06,360 hello.c, hello.o கீழே தொகுக்கப்பட்ட 512 00:42:06,360 --> 00:42:08,910 hello.o பைனரி இப்போது. 513 00:42:08,910 --> 00:42:12,830 , அதை GetString பயன்படுத்துகிறது, அது cs50.o வழியாக செல்ல வேண்டும் 514 00:42:12,830 --> 00:42:16,390 மற்றும் தொடுப்பி சேர்ந்து அவர்களை smooshes இந்த கோப்பில் GetString நகலெடுக்கிறது 515 00:42:16,390 --> 00:42:20,640 அது தேவை அனைத்து செயல்பாடுகள் உள்ளன என்று இயங்கக்கூடிய வெளியே வரும். 516 00:42:20,640 --> 00:42:32,620 எனவே cs50.o உண்மையில் ஒரு ஓ கோப்பு அல்ல, ஆனால் அது எந்த அடிப்படை வேறுபாடு உள்ளது என்று நெருங்கிய போதும். 517 00:42:32,620 --> 00:42:36,880 எனவே தான் இணைப்பு ஒன்றாக கோப்புகள் ஒரு கொத்து கொண்டு 518 00:42:36,880 --> 00:42:41,390 தனித்தனியாக செயல்பட்டு அனைத்து கொண்டிருக்கும் நான் பயன்படுத்த வேண்டும் 519 00:42:41,390 --> 00:42:46,120 உண்மையில் இயக்க என்று இயங்கக்கூடிய உருவாக்குகிறது. 520 00:42:48,420 --> 00:42:50,780 >> மற்றும் அதனால் நாம் சொல்வதை கூட இல்லை 521 00:42:50,780 --> 00:42:55,970 நீங்கள் 1000 முடியும் அங்கு. கேட்ச் கோப்புகள், நீங்கள் அவற்றை எல்லாம் தொகுக்க. ஓ கோப்புகள், 522 00:42:55,970 --> 00:43:00,040 அநேகமாக ஒரு செல்லும், நீங்கள் 1 மாற்ற. கேட்ச் கோப்பு. 523 00:43:00,040 --> 00:43:05,480 நீங்கள் தான் 1. கேட்ச் கோப்பு பின்னர் வேறு இணைக்கவும் எல்லாம், மீள்தொகுப்பானது வேண்டும் 524 00:43:05,480 --> 00:43:07,690 மீண்டும் ஒன்றாக எல்லாவற்றையும் இணைக்க. 525 00:43:09,580 --> 00:43:11,430 [மாணவர்] நாம் lcs50 எழுத இணைக்கும் போது? 526 00:43:11,430 --> 00:43:20,510 சரி, அப்படி lcs50. நீங்கள் அந்த நூலகத்தில் இணைக்கும் வேண்டும் என்று தொடுப்பி அந்த கொடி சமிக்ஞைகள். 527 00:43:26,680 --> 00:43:28,910 கேள்விகள்? 528 00:43:41,310 --> 00:43:46,860 நாம் முதல் விரிவுரை அந்த 5 வினாடிகள் தவிர வேறு பைனரி மீது போயிருந்தாய்? 529 00:43:50,130 --> 00:43:53,010 நான் அப்படி நினைக்கவில்லை. 530 00:43:55,530 --> 00:43:58,820 நீ, நாம் சென்று விட்டேன் என்று பெரிய ஓஸ் அனைத்து தெரிய வேண்டும் 531 00:43:58,820 --> 00:44:02,670 நாங்கள் உங்களுக்கு ஒரு செயல்பாடு கொடுத்தார் என்றால், நீங்கள், முடியும் 532 00:44:02,670 --> 00:44:09,410 நீங்கள் கிட்டத்தட்ட, பெரிய ஓ என்று கூற முடியும். அல்லது நல்ல, பெரிய ஓ கடுமையாக உள்ளது. 533 00:44:09,410 --> 00:44:15,300 நீங்கள் எல்லாம் அதே எண்ணை மீது தேடுகிறது சுழல்கள் ஒரு காக்கப்பட்ட பார்க்க நீங்கள், 534 00:44:15,300 --> 00:44:22,260 >> [மாணவர்] n ஸ்கொயர் - இண்ட் ஜே, ஜே > அது சரி செய்யப்பட்டு n முனைகிறது. 535 00:44:22,260 --> 00:44:25,280 நீங்கள் மூன்று காக்கப்பட்ட இருந்தால், அதை n cubed இருக்கிறது. 536 00:44:25,280 --> 00:44:29,330 அதனால் தான் அந்த வகையான உடனடியாக சுட்டிக்காட்ட முடியும். 537 00:44:29,330 --> 00:44:33,890 நீங்கள் செருகும் வரிசையாக்கம் மற்றும் குமிழி வரிசையாக்கம் தெரியும் மற்றும் வகை மற்றும் அந்த அனைத்து ஒன்றிணைக்க வேண்டும். 538 00:44:33,890 --> 00:44:41,420 அவர்கள் அந்த n ஸ்கொயர் மற்றும் n log n மற்றும் அனைத்து ஏன் அதை புரிந்து கொள்ள எளிதாகவும் 539 00:44:41,420 --> 00:44:47,810 நான் அடிப்படையில் நீங்கள் கொடுத்த அங்கு ஒரு வருடம் ஒரு புதிர் இருக்கிறது என்று காரணம் 540 00:44:47,810 --> 00:44:55,050 குமிழி வரிசையாக்கம் செயல்படுத்துதல் மற்றும் "இந்த செயல்பாடு இயங்கும் நேரம் என்ன?", என்றார் 541 00:44:55,050 --> 00:45:01,020 நீங்கள் குமிழி வரிசையாக்கம் அதை அங்கீகரிக்க ஏன் என்றால், நீங்கள் உடனடியாக n ஸ்கொயர் கூற முடியும். 542 00:45:01,020 --> 00:45:05,470 நீங்கள் அதை பார்க்க வேண்டும் ஆனால், நீங்கள் கூட அது குமிழி வரிசையாக்கம் உணர வேண்டிய அவசியம் இல்லை; 543 00:45:05,470 --> 00:45:08,990 நீங்கள் தான் இந்த இந்த செய்து கூற முடியும். இந்த ஸ்கொயர் n. 544 00:45:12,350 --> 00:45:14,710 [மாணவர்] நீங்கள் கொண்டு வர முடியும் எந்த கடுமையான எடுத்துக்காட்டுகள் இருக்கின்றன, 545 00:45:14,710 --> 00:45:20,370 கண்டறிவதன் ஒரு ஒத்த கருத்து போல? 546 00:45:20,370 --> 00:45:24,450 >> நான் உங்களுக்கு எந்த கடுமையான உதாரணங்கள் கொடுக்க வேண்டும் என்று நான் நினைக்கவில்லை. 547 00:45:24,450 --> 00:45:30,180 குமிழி வரிசையாக்கம் தான், நாம் என்று பற்றிய போன்ற கடுமையான இல்லை 548 00:45:30,180 --> 00:45:36,280 மேலும் நீண்ட நீங்கள் புரிந்து கொள்ள நீங்கள் வரிசை முழுவதும் தேடி என்று, என்று 549 00:45:36,280 --> 00:45:41,670 அணியின் ஒவ்வொரு உறுப்பு க்கு, இது ஸ்கொயர் n என்று ஒன்று இருக்கும். 550 00:45:45,370 --> 00:45:49,940 நாம் இங்கேயே போன்ற பொதுவான கேள்விகள் உள்ளன - ஓ. 551 00:45:55,290 --> 00:45:58,530 ஒரு நாள், டக் கூறினார், "நான் ஒரு வரிசை வரிசைப்படுத்த முடியும் என்று ஒரு நெறிமுறையை கண்டுபிடித்தனர் 552 00:45:58,530 --> 00:46:01,780 "O (log n) நேரம்! உள்ள n எண்கள்" 553 00:46:01,780 --> 00:46:04,900 நாம் எப்படி அது முடியாத காரியம் தெரியுமா? 554 00:46:04,900 --> 00:46:08,850 [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி. 555 00:46:08,850 --> 00:46:13,710 மிகவும் குறைந்தது, நீங்கள், அணியின் ஒவ்வொரு உறுப்பு தொட வேண்டும் 556 00:46:13,710 --> 00:46:16,210 அது ஒரு வரிசை வரிசைப்படுத்த முடியாது - 557 00:46:16,210 --> 00:46:20,850 எல்லாம் வரிசையாக்கம் செய்யப்படாத வகையில் இருந்தால், நீங்கள், வரிசை எல்லாம் தொட்டு போகிறாய் 558 00:46:20,850 --> 00:46:25,320 அதை n, ஓ குறைவாக அதை செய்ய முடியாது. 559 00:46:27,430 --> 00:46:30,340 [மாணவர்] நீங்கள் எங்களுக்கு n, ஓ அதை செய்ய முடியாது என்று உதாரணம் காட்டியது 560 00:46:30,340 --> 00:46:33,920 நீங்கள் நினைவு நிறைய பயன்படுத்தினால். >> சரி. 561 00:46:33,920 --> 00:46:37,970 மற்றும் that's - நான் that's மறக்க - அது மாதிரி எண்ணி? 562 00:46:47,360 --> 00:46:51,330 ஹ்ம்ம். ஒரு முழு எண்ணிலான வரிசையாக்க படிமுறை தான். 563 00:46:59,850 --> 00:47:05,100 நான் கடந்த வாரம் நினைவில் இல்லை என்று இந்த சிறப்பு பெயர் தேடிக்கொண்டிருக்கிறேன். 564 00:47:05,100 --> 00:47:13,000 Yeah. இந்த n, பெரிய ஓ விஷயங்களை சாதிக்க முடியும் என்று பலவகையான வகைகள் உள்ளன. 565 00:47:13,000 --> 00:47:18,430 நீ மட்டும் ஒரு குறிப்பிட்ட எண்ணிக்கையில் முழு வரை பயன்படுத்தலாம் போன்ற ஆனால் வரம்புகள் உள்ளன. 566 00:47:20,870 --> 00:47:24,560 பிளஸ் நீங்கள் ஏதாவது that's வரிசைப்படுத்த முயற்சி என்றால் - 567 00:47:24,560 --> 00:47:30,750 உங்கள் வரிசை 012, -12, 151, 4 மில்லியன், இருந்தால் 568 00:47:30,750 --> 00:47:35,120 பின்னர் அந்த ஒற்றை உறுப்பு முற்றிலும் முழு வரிசையாக்க அழிக்க போகிறது. 569 00:47:42,060 --> 00:47:44,030 >> கேள்விகள்? 570 00:47:49,480 --> 00:47:58,870 [மாணவர்] நீங்கள் ஒரு சுழல்நிலை செயல்பாடு மற்றும் அது சுழல்நிலை அழைப்புகளை செய்தால் 571 00:47:58,870 --> 00:48:02,230 மீண்டும் அறிக்கையில் உள்ள, என்று, வால் சுழல்நிலை தான் 572 00:48:02,230 --> 00:48:07,360 அதனால் அந்த இயக்க போது நினைவக பயன்படுத்த முடியாது 573 00:48:07,360 --> 00:48:12,550 ஒரு தீர்வு பங்கேற்பு அல்லது குறைந்தபட்சம் ஒப்பிடக்கூடிய நினைவக பயன்படுத்த வேண்டும்? 574 00:48:12,550 --> 00:48:14,530 [Bowden] ஆமாம். 575 00:48:14,530 --> 00:48:19,840 அது சாத்தியம் சற்று மெதுவாக இருக்கும், ஆனால் உண்மையில். என்று 576 00:48:19,840 --> 00:48:23,290 சுழல்நிலை வால் மிகவும் நல்லது. 577 00:48:23,290 --> 00:48:32,640 ஸ்டாக் சட்டங்களை மீண்டும் திருமணம் செய்ய விரும்புவது, நாம் பிரதான வேண்டும் என்று 578 00:48:32,640 --> 00:48:42,920 நாம் எண்ணாக பட்டியை (int x) அல்லது ஏதாவது. 579 00:48:42,920 --> 00:48:52,310 இந்த ஒரு சரியான சுழல்நிலை விழா அல்ல, ஆனால் திரும்பி பார் (x - 1). 580 00:48:52,310 --> 00:48:57,620 அதனால், இந்த குறைபாடுகளை கொண்டுள்ளது. நீங்கள் அடிப்படை வழக்குகள் மற்றும் பொருள் வேண்டும். 581 00:48:57,620 --> 00:49:00,360 ஆனால் இங்கே கருத்து, இந்த சுழல்நிலை வால் உள்ளது 582 00:49:00,360 --> 00:49:06,020 இது அதன் ஸ்டாக் சட்டகமானது வரும் போது முக்கிய அழைப்புகள் பட்டியில் பொருள். 583 00:49:09,550 --> 00:49:12,440 இந்த ஸ்டேக் சட்டத்தில் உள்ள நினைவகம் ஒரு சிறிய தொகுதி இருக்கும் நடக்கிறது 584 00:49:12,440 --> 00:49:17,490 அதன் வாதம் x ஒத்துள்ளது. 585 00:49:17,490 --> 00:49:25,840 அதனால் நாம் முக்கிய பட்டியில் (100) அழைக்க நடக்கும் என்று; 586 00:49:25,840 --> 00:49:30,050 எனவே x 100 அவுட் தொடங்க போகிறது. 587 00:49:30,050 --> 00:49:35,660 தொகுப்பி இந்த, ஒரு வால் சுழல்நிலை செயல்பாடு என்று அடையாளம் என்றால் 588 00:49:35,660 --> 00:49:38,540 பார், அதன் சுழல்நிலை அழைப்பு பட்டியில் வைக்கும் போது 589 00:49:38,540 --> 00:49:45,490 அதற்கு பதிலாக ஸ்டாக் பெரும்பாலும் வளரும் வரைக்கும் எங்கே இது ஒரு புதிய ஸ்டாக் சட்டகமானது, செய்யும், 590 00:49:45,490 --> 00:49:48,220 இறுதியில் அதை குவியல் கொண்டு இயங்கும் பிறகு segfaults கிடைக்கும் 591 00:49:48,220 --> 00:49:51,590 நினைவக மோதி தொடங்குகிறது ஏனெனில். 592 00:49:51,590 --> 00:49:54,830 >> அதற்கு பதிலாக தனது சொந்த ஸ்டாக் சட்டகமானது செய்யும் எனவே, இது, உணர முடியும் 593 00:49:54,830 --> 00:49:59,080 வணக்கம், நான் உண்மையில், இந்த ஸ்டாக் சட்டகமானது திரும்பி வர வேண்டும் என்றும் 594 00:49:59,080 --> 00:50:08,040 எனவே அதற்கு பதிலாக நான் 99 இந்த வாதம் பதிலாக பிறகு பட்டியில் அனைத்து தொடங்க வேண்டும். 595 00:50:08,040 --> 00:50:11,810 , - (1 x) மற்றும் அது மீண்டும் அதை செய்யும் மற்றும் அதை திரும்ப பட்டியில் அடையும் 596 00:50:11,810 --> 00:50:17,320 அதற்கு பதிலாக புதிய ஸ்டாக் சட்டகமானது செய்து, அது 98 அதன் தற்போதைய வாதம் பதிலாக 597 00:50:17,320 --> 00:50:20,740 பின்னர் பட்டையின் ஆரம்பத்தில் திரும்பி செல்ல. 598 00:50:23,860 --> 00:50:30,430 அந்த நடவடிக்கைகள், ஸ்டாக் அந்த 1 மதிப்பு பதிலாக மற்றும் தொடக்கத்தில் மீண்டும் குதித்து, 599 00:50:30,430 --> 00:50:32,430 அழகான திறமையான உள்ளன. 600 00:50:32,430 --> 00:50:41,500 அதனால் தான் இந்த பங்கேற்பு இது ஒரு தனி செயல்பாடு அதே நினைவக பயன்பாடு ஆகும் 601 00:50:41,500 --> 00:50:45,390 நீங்கள் மட்டும் 1 ஸ்டாக் சட்டகமானது பயன்படுத்தி, ஆனால் நீங்கள் downsides பாதிக்கப்பட்ட இருப்பதால் 602 00:50:45,390 --> 00:50:47,240 செயல்பாடுகளை அழைக்க என்ற. 603 00:50:47,240 --> 00:50:50,240 இது இந்த அமைப்பு செய்ய ஏனெனில் அழைப்பு செயல்பாடுகளை சற்றே விலை முடியும் 604 00:50:50,240 --> 00:50:52,470 மற்றும் teardown மற்றும் அனைத்து இந்த பொருள். 605 00:50:52,470 --> 00:50:58,160 இந்த வால் மறுநிகழ்வு நல்லது. 606 00:50:58,160 --> 00:51:01,170 [மாணவர்] ஏன் புதிய வழிமுறைகளை உருவாக்க முடியாது? 607 00:51:01,170 --> 00:51:02,980 அதை உணர்ந்து, ஏனெனில் அது தேவையில்லை. 608 00:51:02,980 --> 00:51:07,800 பார் அழைப்பை தான் சுழல்நிலை அழைப்பு திரும்பி வருகிறார். 609 00:51:07,800 --> 00:51:12,220 அதை திரும்ப மதிப்பு எதுவும் செய்ய தேவையில்லை. 610 00:51:12,220 --> 00:51:15,120 அது உடனடியாக திரும்ப நடக்கிறது. 611 00:51:15,120 --> 00:51:20,530 எனவே அது தனது சொந்த வாதம் பதிலாக மீண்டும் தொடங்க போகிறது. 612 00:51:20,530 --> 00:51:25,780 மேலும், நீங்கள் வால் சுழல்நிலை பதிப்பு இல்லை என்றால், 613 00:51:25,780 --> 00:51:31,460 நீங்கள் இந்த பட்டியில் திரும்பும் போது அங்கு இந்த பார்கள் கிடைக்கும் 614 00:51:31,460 --> 00:51:36,010 அதை பார் உடனடியாக கொடுக்கிறது என்று பிறகு, இந்த ஒரு அதன் மதிப்பு திரும்ப வேண்டும் 615 00:51:36,010 --> 00:51:39,620 மற்றும் இது ஒரு அதன் மதிப்பு கொடுக்கிறது, அது வெறும் உடனடியாக திரும்ப நடக்கிறது 616 00:51:39,620 --> 00:51:41,350 இந்த ஒரு அதன் மதிப்பு கொடுங்கள். 617 00:51:41,350 --> 00:51:45,350 எனவே நீங்கள் ஸ்டேக் இந்த விஷயங்கள் அனைத்து ஆஃப் உறுத்தும் இந்த சேமிப்பு 618 00:51:45,350 --> 00:51:48,730 மீண்டும் மதிப்பு மட்டும் எப்படியோ அனைவரும் எழுந்து கடந்து போகிறது என்பதால். 619 00:51:48,730 --> 00:51:55,400 அதனால் தான் மேம்படுத்தப்பட்டது வாதம் நமது வாதம் பதிலாக மீண்டும் தொடங்க முடியாது? 620 00:51:57,460 --> 00:52:01,150 - நீங்கள் அப்படி ஏதாவது இருந்தால், செயல்பாடு, வால் சுழல்நிலை இருந்தால் 621 00:52:01,150 --> 00:52:07,530 [மாணவர்] என்றால் பார் (x + 1). >> சரி. 622 00:52:07,530 --> 00:52:11,770 >> நீங்கள் நிலையில் அதை வைத்து அப்படி என்றால், நீங்கள் திரும்பி மதிப்பு ஏதோ செய்கிறோம். 623 00:52:11,770 --> 00:52:16,260 அல்லது நீங்கள் மீண்டும் 2 செய்வது கூட * பார் (x - 1). 624 00:52:16,260 --> 00:52:23,560 எனவே இப்போது பார் - இது 2 மடங்கு மதிப்பு கணக்கிட வேண்டும் (x 1), வரிசையில் திரும்ப வேண்டும் 625 00:52:23,560 --> 00:52:26,140 அதனால் இப்போது, அதன் சொந்த தனி ஸ்டாக் சட்டகமானது தேவை 626 00:52:26,140 --> 00:52:31,180 இப்போது, நீங்கள் எவ்வளவு கடின முயற்சி இல்லை, நீங்கள் வேண்டும் போகிறோம் - 627 00:52:31,180 --> 00:52:34,410 இந்த ரிகர்ஸிவ் வால் இல்லை. 628 00:52:34,410 --> 00:52:37,590 [மாணவர்] நான் ஒரு வால் மறுநிகழ்வு ஒரு நோக்கம், ஒரு மறுநிகழ்வு கொண்டுவர முயற்சி என்று - 629 00:52:37,590 --> 00:52:41,450 [Bowden] ஒரு இலட்சிய உலகில், ஆனால் CS50 நீங்கள் இல்லை. 630 00:52:43,780 --> 00:52:49,280 வால் மறுநிகழ்வு பெறுவதற்காக, பொதுவாக, ஒரு கூடுதல் வாதம் அமைக்க 631 00:52:49,280 --> 00:52:53,550 பார் y கொண்டு int x எடுக்கும் இடத்தில் 632 00:52:53,550 --> 00:52:56,990 மற்றும் y நீங்கள் திரும்ப வேண்டும் இறுதி ஒன்று தொடர்புடையது. 633 00:52:56,990 --> 00:53:03,650 (- 1 x), 2 * y மிகவும் பின் இந்த பட்டியில் திரும்பி போகிறாய். 634 00:53:03,650 --> 00:53:09,810 நான் தான் என்று ஒரு உயர் மட்ட நீங்கள் விஷயங்களை வால் சுழல்நிலை வேண்டும் மாற்றும் எப்படி. 635 00:53:09,810 --> 00:53:13,790 ஆனால் கூடுதல் வாதம் - 636 00:53:13,790 --> 00:53:17,410 பின்னர் இறுதியில் உங்கள் தளத்தை வழக்கு அடைய போது, நீங்கள் y திரும்ப 637 00:53:17,410 --> 00:53:22,740 நீங்கள் முழு நேரம் நீங்கள் விரும்பும் திரும்பி மதிப்பு சேகரிக்க ஏனெனில். 638 00:53:22,740 --> 00:53:27,280 நீங்கள் வகையான செயலாற்றலாலோ செய்து ஆனால் சுழல்நிலை அழைப்புகளை பயன்படுத்தி வருகின்றனர். 639 00:53:32,510 --> 00:53:34,900 கேள்விகள்? 640 00:53:34,900 --> 00:53:39,890 சரங்களை பயன்படுத்தும் போது போன்ற வேளை சுட்டிக்காட்டி கணித பற்றி [மாணவர்]. >> என்று. 641 00:53:39,890 --> 00:53:43,610 சுட்டிக்காட்டி கணித. 642 00:53:43,610 --> 00:53:48,440 சரங்களை எரிப்பதை நட்சத்திரங்கள் ஏனெனில் சரங்களை பயன்படுத்தும் போது அது எளிதில் 643 00:53:48,440 --> 00:53:51,860 எழுத்துகள், எப்போதும் எப்போதும் ஒரு பைட் ஆகும் 644 00:53:51,860 --> 00:53:57,540 அதனால் சுட்டிக்காட்டி கணித நீங்கள் சரங்களை கையாளும் போது வழக்கமான கூட்டல் ஆகும். 645 00:53:57,540 --> 00:54:08,790 நாம் மட்டும் எரிப்பதை * கள் = "ஹலோ" என்று. 646 00:54:08,790 --> 00:54:11,430 நாம் நினைவகத்தில் ஒரு தொகுதி உள்ளது. 647 00:54:19,490 --> 00:54:22,380 நீங்கள் எப்போதும் பூஜ்ய அழிப்பு வேண்டும், ஏனெனில் இது 6 பைட்டுகள் வேண்டும். 648 00:54:22,380 --> 00:54:28,620 மற்றும் கரி * கள் இந்த வரிசை தொடக்கத்தில் சுட்டி போகிறது. 649 00:54:28,620 --> 00:54:32,830 எனவே கள் அங்கு சுட்டிக்காட்டியுள்ளது. 650 00:54:32,830 --> 00:54:36,710 இப்போது, இந்த அடிப்படையில் எந்த வரிசை எவ்வாறு உள்ளது 651 00:54:36,710 --> 00:54:40,780 பொருட்படுத்தாமல் அதை malloc அல்லது அதை ஸ்டேக்கில் என்று ஒரு திகழ்ந்தது என்பது. 652 00:54:40,780 --> 00:54:47,110 எந்த அணி, அடிப்படையில் வரிசை தொடக்கத்தில் ஒரு சுட்டிக்காட்டி உள்ளது 653 00:54:47,110 --> 00:54:53,640 பின்னர் எந்த அணி செயல்பாடு, எந்த குறியீட்டு எண், ஒரு குறிப்பிட்ட ஈடு என்று வரிசையாக செல்லும். 654 00:54:53,640 --> 00:55:05,360 >> அதனால் நான் கள் [3] போன்ற ஏதாவது சொல்லும் போது, இந்த கள் சென்று உள்ளே 3 எழுத்துகள் எண்ணி 655 00:55:05,360 --> 00:55:12,490 எனவே கள் [3], நாம் 0 கொண்டு, 1, 2, 3, அதனால் கள் [3] இந்த எல் பார்க்கவும் போகிறது. 656 00:55:12,490 --> 00:55:20,460 [மாணவர்] நாம் கள் + 3 செய்து பின்னர் அடைப்புக்குறிக்குள் நட்சத்திரம் அதே மதிப்பில் அடைய முடியும்? 657 00:55:20,460 --> 00:55:22,570 ஆம். 658 00:55:22,570 --> 00:55:26,010 இந்த * (கள் + 3) ஆகும்; 659 00:55:26,010 --> 00:55:31,240 என்று எப்போதும் எப்போதும் சமமான நீ என்ன பெரிய விஷயம் இல்லை. 660 00:55:31,240 --> 00:55:34,070 நீங்கள் பிராக்கெட் வாக்கிய அமைப்பு பயன்படுத்த வேண்டும். 661 00:55:34,070 --> 00:55:37,770 நீங்கள் எப்போதும் (கள் + 3) தொடரியல் * பயன்படுத்தலாம். 662 00:55:37,770 --> 00:55:40,180 மக்கள் என்றாலும், பிராக்கெட் வாக்கிய அமைப்பு போன்ற முனைகின்றன. 663 00:55:40,180 --> 00:55:43,860 [மாணவர்] எனவே அனைத்து வரிசைகள் தான் உண்மையில் குறிப்புகள் உள்ளன. 664 00:55:43,860 --> 00:55:53,630 நான் சொல்லும் போது ஒரு சிறிய வேறுபாடு உள்ளது int x [4]; >> [மாணவர்] அந்த நினைவு உருவாக்க உள்ளதா? 665 00:55:53,630 --> 00:56:03,320 [Bowden] அப்படி 16 பைட்டுகள் ஒட்டுமொத்த, அடுக்கு 4 ints உருவாக்க போகிறார். 666 00:56:03,320 --> 00:56:05,700 இது ஸ்டேக் 16 பைட்டுகள் உருவாக்க நடக்கிறது. 667 00:56:05,700 --> 00:56:09,190 x எங்கு சேமிக்க முடியாது. 668 00:56:09,190 --> 00:56:13,420 அது தான் தொடக்கத்தில் குறிப்பிடும் ஒரு குறியீடு உள்ளது. 669 00:56:13,420 --> 00:56:17,680 நீங்கள், இந்த செயல்பாடு உள்ளே வரிசை அறிவித்தார் காரணம் 670 00:56:17,680 --> 00:56:22,340 தொகுப்பி செய்ய என்ன தான் மாறி x அனைத்து நிகழ்வுகளையும் மாற்ற 671 00:56:22,340 --> 00:56:26,400 இந்த 16 பைட்டுகள் வைத்து தேர்வு நடந்தது அங்கு என்று. 672 00:56:26,400 --> 00:56:30,040 ஒரு உண்மையான சுட்டிக்காட்டி, ஏனெனில் அது எரிப்பதை * கள் மூலம் அதை செய்ய முடியாது. 673 00:56:30,040 --> 00:56:32,380 அது மற்ற விஷயங்களை சுட்டிக்காட்ட இலவசம். 674 00:56:32,380 --> 00:56:36,140 x ஒரு நிலையாக இருக்கும். நீங்கள் வேறு ஒரு வரிசைக்கு இது புள்ளி முடியாது. >> [மாணவர்] சரி. 675 00:56:36,140 --> 00:56:43,420 ஆனால் இந்த யோசனையை, இந்த குறியீட்டு எண், இது ஒரு வழக்கமான வரிசை என்று பொருட்படுத்தாமல் அதே தான் 676 00:56:43,420 --> 00:56:48,230 இது ஏதோ அல்லது ஒரு சுட்டிக்காட்டி இருந்தால் அல்லது அது ஒரு malloced வரிசைக்கு ஒரு சுட்டிக்காட்டி இருக்கிறது. 677 00:56:48,230 --> 00:56:59,770 உண்மையில், அது அதே விஷயம் அந்த அளவுக்கு சமமானதாகும். 678 00:56:59,770 --> 00:57:05,440 அது உண்மையில் ஒரு அடைப்புக்குறிக்குள் உள்ளே என்ன மொழிபெயர்கப்பட்டுள்ளது என்ன, அடைப்புக்குறிக்குள் இடது 679 00:57:05,440 --> 00:57:07,970 அவர்கள் ஒன்றாக சேர்த்து, மற்றும் dereferences. 680 00:57:07,970 --> 00:57:14,710 இந்த போலவே செல்லுபடியாகும் * (கள் + 3) அல்லது கள் [3]. 681 00:57:16,210 --> 00:57:22,090 [மாணவர்] நீங்கள் 2 பரிமாண அணிகளை குறிக்கும் குறிப்புகள் முடியுமா? 682 00:57:22,090 --> 00:57:27,380 >> அது கடினமாக உள்ளது. பாரம்பரியமாக, இல்லை. 683 00:57:27,380 --> 00:57:34,720 ஒரு 2 பரிமாண அணிகளில் சில வசதியான இலக்கணத்தை ஒரு 1 பரிமாண அணிகளில் இல்லை 684 00:57:34,720 --> 00:57:54,110 ஏனெனில் நான் சொல்லும் போது int x [3] [3], இந்த உண்மையிலேயே 9 மதிப்புகள் வெறும் 1 வரிசை ஆகும். 685 00:57:55,500 --> 00:58:03,000 அதனால் நான் சுட்டு, ஒடுக்கி நான் என்ன தெரியும் போது. 686 00:58:03,000 --> 00:58:13,090 நான் x [1] [2], அதை நான் இரண்டாவது வரிசையில் செல்ல வேண்டும் தெரியும், அது முதல் 3 தவிர்க்க நடக்கிறது, சொன்னால் 687 00:58:13,090 --> 00:58:17,460 பின்னர், அது இந்த ஒரு பெற நடக்கிறது என்று இரண்டாவது விஷயம் விரும்புகிறார். 688 00:58:17,460 --> 00:58:20,480 ஆனால் அது இன்னும் ஒரு ஒற்றை பரிமாண அணிகளில் உள்ளது. 689 00:58:20,480 --> 00:58:23,660 அதனால் நான், அந்த அணி ஒரு சுட்டிக்காட்டி ஒதுக்க வேண்டும் என்றால் 690 00:58:23,660 --> 00:58:29,770 நான் கூறுவேன் எண்ணாக * ப = x; 691 00:58:29,770 --> 00:58:33,220 x வகை தான் - 692 00:58:33,220 --> 00:58:38,280 அது ஒரு சின்னம் என்பதால் அதை x முரட்டு என்று வகை மற்றும் அது ஒரு உண்மையான மாறி இல்லை 693 00:58:38,280 --> 00:58:40,140 ஆனால் அது ஒரு முழு எண்ணாக * ஆகும். 694 00:58:40,140 --> 00:58:44,840 x இந்த தொடக்கத்தில் ஒரு சுட்டிக்காட்டி இருக்கிறது. >> [மாணவர்] சரி. 695 00:58:44,840 --> 00:58:52,560 அதனால் நான் [1] [2] அணுக முடியாது. 696 00:58:52,560 --> 00:58:58,370 நான், சிறப்பு இலக்கணத்தை ஒரு சுட்டிக்காட்டி அறிவித்தார் அங்கு நினைக்கிறேன் 697 00:58:58,370 --> 00:59:12,480 int போல் வேடிக்கையாக (* ப [-. முற்றிலும் வேடிக்கையாக நான் கூட தெரியாது. 698 00:59:12,480 --> 00:59:17,090 ஆனால் அடைப்புக்குறிக்குள் மற்றும் பொருட்களை போன்ற சுட்டிகள் அறிவித்தார் ஒரு இலக்கணத்தை உள்ளது. 699 00:59:17,090 --> 00:59:22,960 இது கூட நீங்கள் அதை செய்ய விடுங்கள் இல்லை. 700 00:59:22,960 --> 00:59:26,640 நான் உண்மையை சொல் என்று ஒன்று வந்து பார் என்று. 701 00:59:26,640 --> 00:59:34,160 புள்ளி ஒரு இலக்கணத்தை இருந்தால் நான், பிறகு இருப்பேன். ஆனால் நீங்கள் அதை பார்க்க மாட்டேன். 702 00:59:34,160 --> 00:59:39,670 மேலும் இலக்கணத்தை நீங்கள் அதை பயன்படுத்தினால், மக்கள் குழப்பி வேண்டும் என்று தொன்மையான உள்ளது. 703 00:59:39,670 --> 00:59:43,540 இது போன்ற பல பரிமாண அணிகளை அழகாக அரிது. 704 00:59:43,540 --> 00:59:44,630 அழகான நீ - 705 00:59:44,630 --> 00:59:48,490 நீங்கள் அணி விஷயங்களை செய்கிறீர்கள் என்றால், அது, அரிதான இருக்க போவதில்லை 706 00:59:48,490 --> 00:59:56,730 ஆனால் சி நீங்கள் அரிதாக பலபரிமாண வரிசைகள் பயன்படுத்தி கொள்ள போகிறோம். 707 00:59:57,630 --> 01:00:00,470 Yeah. >> [மாணவர்] நாம் ஒரு மிகவும் நீண்ட வரிசை வேண்டும் என்று. 708 01:00:00,470 --> 01:00:03,900 >> எனவே மெய்நிகர் நினைவக அது, அனைத்து தொடர்ச்சியான தோன்றும் என்று 709 01:00:03,900 --> 01:00:05,640 ஒருவருக்கொருவர் உரிமை அடுத்த உறுப்புகள் போல், 710 01:00:05,640 --> 01:00:08,770 ஆனால் பருநிலை நினைவகம், இது பிரிந்து வேண்டும் என்று முடியும் என்று? >> ஆமாம். 711 01:00:08,770 --> 01:00:16,860 நினைவக வேலைகள் எப்படி மெய்நிகர் அது பிரிக்கிறது - 712 01:00:19,220 --> 01:00:24,860 ஒதுக்கீடு யூனிட் 4 கிலோபைட்டுகளை இருக்கிறது இது ஒரு பக்கம்,, என்பது 713 01:00:24,860 --> 01:00:29,680 எனவே ஒரு முறை சொன்னால், ஏய், நான், இந்த நினைவகத்தை பயன்படுத்த வேண்டும் 714 01:00:29,680 --> 01:00:35,970 இயங்கு இது நினைவகம் என்று சிறிய தொகுதி 4 கிலோபைட்டுகளை ஒதுக்க வேண்டும். 715 01:00:35,970 --> 01:00:39,100 நீங்கள் நினைவகத்தை மட்டுமே முழு தொகுதி ஒரு சிறிய பைட், பயன்படுத்த கூட 716 01:00:39,100 --> 01:00:42,850 இயங்கு அது முழு 4 கிலோபைட்டுகளை கொடுக்க போகிறார். 717 01:00:42,850 --> 01:00:49,410 இந்த வழி என்ன நான் செய்ய முடியும் - இது என் ஸ்டேக் என்று நாம். 718 01:00:49,410 --> 01:00:53,180 இந்த ஸ்டேக் பிரிக்கப்பட்ட. என் ஸ்டேக் மெகாபைட் மற்றும் மெகாபைட் இருக்க முடியும். 719 01:00:53,180 --> 01:00:55,020 என் ஸ்டேக் பெரும் முடியும். 720 01:00:55,020 --> 01:01:00,220 ஆனால் ஸ்டேக் தன்னை, தனிநபர் பக்கங்கள் பிரிந்தது வேண்டும் 721 01:01:00,220 --> 01:01:09,010 இந்த எங்கள் ரேம் என்று நாம் இங்கு கவனிக்க இருந்தால் நாம், 722 01:01:09,010 --> 01:01:16,600 நான் ரேம் 2 ஜிகாபைட் இருந்தால், இந்த, என் ரேம் zeroth பைட் போன்ற உண்மையான முகவரியை 0 723 01:01:16,600 --> 01:01:22,210 இந்த இங்கே 2 ஜிகாபைட் அனைத்து வழி கீழே உள்ளது. 724 01:01:22,210 --> 01:01:27,230 இந்த பக்கம் இங்கு இந்த தொகுதி தொடர்புடைய கூடும். 725 01:01:27,230 --> 01:01:29,400 இந்த பக்கம் இங்கு இந்த தொகுதி தொடர்புடைய கூடும். 726 01:01:29,400 --> 01:01:31,560 இந்த ஒரு இங்கு இந்த ஒரு ஒத்திருக்கும் கூடும். 727 01:01:31,560 --> 01:01:35,540 இயங்கு பருநிலை நினைவகம் ஒதுக்க இலவச இருக்கும் 728 01:01:35,540 --> 01:01:39,320 தன்னிச்சையாக எந்த தனிப்பட்ட பக்கம். 729 01:01:39,320 --> 01:01:46,180 என்று அர்த்தம் என்று இந்த எல்லை வரிசை காலூன்றியிருக்கின்றன நடந்தால், 730 01:01:46,180 --> 01:01:50,070 ஒரு அணி, இந்த விட்டு நடந்தால் மற்றும் சரியான ஒரு பக்கம் இந்த உத்தரவை 731 01:01:50,070 --> 01:01:54,460 பின்னர் அந்த வரிசையில் பருநிலை நினைவகம் பிரிந்தது போகிறது. 732 01:01:54,460 --> 01:01:59,280 செயல்முறை முடியும் போது பிறகு, நிரல் வெளியேறும்போது, 733 01:01:59,280 --> 01:02:05,690 இந்த ஒப்பீடு குறையலாம மற்றும் அது மற்ற விஷயங்களை இந்த சிறிய தொகுதிகள் பயன்படுத்த இலவசம். 734 01:02:14,730 --> 01:02:17,410 மேலும் கேள்விகள்? 735 01:02:17,410 --> 01:02:19,960 [மாணவர்] சுட்டிக்காட்டி கணித. >> ஓ. 736 01:02:19,960 --> 01:02:28,410 சரங்களை, எளிதாக இருந்தது, ஆனால் ints போன்ற ஏதாவது பார்க்க 737 01:02:28,410 --> 01:02:35,000 எனவே மீண்டும் ஒரு எண்ணாக x [4]; 738 01:02:35,000 --> 01:02:41,810 இந்த வரிசை என்பதை அல்லது 4 முழுஎண்களின் ஒரு malloced வரிசைக்கு ஒரு சுட்டிக்காட்டி என்று, 739 01:02:41,810 --> 01:02:47,060 அதே வழியில் சிகிச்சை நடக்கிறது. 740 01:02:50,590 --> 01:02:53,340 எனவே வரிசைகள் குவியல் மீது [மாணவர்] இருக்கும்? 741 01:03:01,400 --> 01:03:05,270 [Bowden] வரிசைகள் குவியல் மீது இல்லை. >> [மாணவர்] ஓ. 742 01:03:05,270 --> 01:03:08,320 >> [Bowden] வரிசைக்கு இந்த வகை ஸ்டேக்கில் இருக்கிறது 743 01:03:08,320 --> 01:03:12,220 தவிர, நீங்கள் அதை அறிவித்தார் - உலக மாறிகள் புறக்கணிக்கும். உலக மாறிகள் பயன்படுத்த வேண்டாம். 744 01:03:12,220 --> 01:03:16,280 நான் என்ன ஒரு செயல்பாடு உள்ளே int x [4]; 745 01:03:16,280 --> 01:03:22,520 இந்த வரிசை அடுக்கிற்கு ஒரு 4 முழு தொகுதி உருவாக்க நடக்கிறது. 746 01:03:22,520 --> 01:03:26,960 ஆனால் இந்த malloc (4 * sizeof (int)); குவியல் போக போகிறது. 747 01:03:26,960 --> 01:03:31,870 ஆனால் இந்த புள்ளி பிறகு நான், அழகான அதே வழிகளில் x மற்றும் ப பயன்படுத்தலாம் 748 01:03:31,870 --> 01:03:36,140 நீங்கள் ப reassign முடியாது பற்றி முன்பு நான் விதிவிலக்குகள் தவிர. 749 01:03:36,140 --> 01:03:40,960 தொழில்நுட்ப, அவற்றின் அளவுகள் ஓரளவு மாறுபட்டதாக இருக்கும், ஆனால் அந்த முற்றிலும் பொருத்தமற்ற தான். 750 01:03:40,960 --> 01:03:43,310 நீங்கள் உண்மையில் தங்கள் அளவுகள் பயன்படுத்த முடியாது. 751 01:03:48,020 --> 01:03:56,810 நான் சொல்ல முடியும் ப ப [3] = 2; அல்லது x [3] = 2; 752 01:03:56,810 --> 01:03:59,680 நீங்கள் சரியாக அதே வழிகளில் அவற்றை பயன்படுத்த முடியும். 753 01:03:59,680 --> 01:04:01,570 இப்போது மிகவும் சுட்டிக்காட்டி கணித - ஆம். 754 01:04:01,570 --> 01:04:07,390 [மாணவர்] நீங்கள் அடைப்புக்குறிக்குள் இருந்தால் ப * செய்ய இல்லையா? 755 01:04:07,390 --> 01:04:11,720 அடைப்புக்குறிக்குள் ஒரு உள்ளார்ந்த dereference இருக்கும். சரி >>. 756 01:04:11,720 --> 01:04:20,200 உண்மையில், இது என்ன நீ சொல்கிறாய் நீ பலபரிமாண வரிசைகள் பெற முடியும் 757 01:04:20,200 --> 01:05:02,650 சுட்டிகள் மூலம், நீங்கள் என்ன செய்ய முடியும் என்ற சொல்கிறேன், ஏதோ போல், முழு எண்ணாக ** பக் = malloc (sizeof (int *) * 5); 758 01:05:02,650 --> 01:05:06,900 நான் அதை ஆல் அவுட் முதல் எழுத வேண்டும். 759 01:05:37,880 --> 01:05:41,020 நான் ஒரு விரும்பவில்லை. 760 01:05:41,020 --> 01:05:42,550 சரி. 761 01:05:42,550 --> 01:05:48,910 நான் இங்கே என்ன இருக்கிறது - அந்த பக் [நான்] இருக்க வேண்டும். 762 01:05:48,910 --> 01:05:53,680 எனவே பக் ஒரு சுட்டிக்காட்டி ஒரு சுட்டிக்காட்டி இருக்கிறது. 763 01:05:53,680 --> 01:06:02,420 நீங்கள் 5 எண்ணாக நட்சத்திரங்கள் வரிசை சுட்டிக்காட்ட பக் mallocing. 764 01:06:02,420 --> 01:06:10,950 எனவே நினைவகத்தில் நீங்கள் ஸ்டேக் பக் உள்ள 765 01:06:10,950 --> 01:06:20,150 இது அனைத்து சுட்டிகளையும் தங்களை இது 5 தொகுதிகளின் வரிசை சுட்டிக்காட்ட நடக்கிறது. 766 01:06:20,150 --> 01:06:28,210 பின்னர் போது இங்கே நான் malloc கீழே, நான் malloc அந்த தனிப்பட்ட சுட்டிகள் ஒவ்வொரு 767 01:06:28,210 --> 01:06:32,080 குவியல் மீது 4 பைட்டுகள் ஒரு தனி தொகுதி சுட்டி வேண்டும். 768 01:06:32,080 --> 01:06:35,870 4 பைட்டுகள் மிகவும் இந்த புள்ளிகள். 769 01:06:37,940 --> 01:06:40,660 மற்றும் வேறு 4 பைட்டுகள் இந்த ஒரு புள்ளிகள். 770 01:06:40,660 --> 01:06:43,200 >> அவர்கள் அனைவரும் தங்கள் சொந்த 4 பைட்டுகள் சுட்டி. 771 01:06:43,200 --> 01:06:49,080 இந்த என்னை பல்பரிமாணம் செய்யும் ஒரு வழி தருகிறது. 772 01:06:49,080 --> 01:06:58,030 நான் பக் [3] [4], ஆனால் இப்போது அதே விஷயம் அல்ல என பல பரிமாண அணிகளை சொல்ல முடியும் 773 01:06:58,030 --> 01:07:05,390 பலபரிமாண வரிசைகள் அது மொழிபெயர்க்கப்பட்டு ஏனெனில் [3] [4] x வரிசை நோக்கி செல்கையில் ஒரு வகையில். 774 01:07:05,390 --> 01:07:14,790 இந்த dereferences, ப dereferences பின்னர், மூன்றாவது குறியீட்டு அணுகும் 775 01:07:14,790 --> 01:07:20,790 மற்றும் அணுகல்கள் - 4 தவறானது என்று - இரண்டாவது குறியீட்டு. 776 01:07:24,770 --> 01:07:31,430 அதேசமயம் நாம் போது int x [3] [4] ஒரு பரிமாண வரிசை போல் முன் 777 01:07:31,430 --> 01:07:35,740 நீங்கள் அடைப்புக்குறி இரட்டை போது, உண்மையில் ஒரே ஒரு dereference தான் 778 01:07:35,740 --> 01:07:40,490 , நீங்கள் ஒரு சுட்டியை தொடர்ந்து பின்னர் ஒரு ஆஃப்செட் 779 01:07:40,490 --> 01:07:42,850 இந்த உண்மையில் 2D குறிப்புகள் இல்லை. 780 01:07:42,850 --> 01:07:45,840 நீங்கள் 2 தனித்தனி சுட்டிகள் பின்பற்ற. 781 01:07:45,840 --> 01:07:50,420 இந்த தொழில்நுட்ப அனுமதிக்கிறது நீ பலபரிமாண வரிசைகள் வேண்டும் 782 01:07:50,420 --> 01:07:53,550 ஒவ்வொரு வரிசை வெவ்வேறு அளவுகளில் எங்கே. 783 01:07:53,550 --> 01:07:58,000 அதனால் நான் துண்டிக்கப்பட்ட பலபரிமாண வரிசைகள் இது என்று என்ன இருக்கிறது என்று நான் நினைக்கிறேன் 784 01:07:58,000 --> 01:08:01,870 உண்மையில் முதலில் 10 உறுப்புகள் என்று ஒன்று சுட்டி முடியும் என்பதால், 785 01:08:01,870 --> 01:08:05,540 இரண்டாவது விஷயம் 100 கூறுகள் என்று ஒன்று சுட்டி முடியும். 786 01:08:05,540 --> 01:08:10,790 [மாணவர்] நீங்கள் முடியும் சுட்டிகள் எண்ணிக்கை எந்த அளவு இருக்கிறதா 787 01:08:10,790 --> 01:08:14,290 மற்ற சுட்டிகள் சுட்டி காட்டியது? >> இல்லை 788 01:08:14,290 --> 01:08:17,010 நீங்கள் முழு எண்ணாக ***** ப முடியும். 789 01:08:18,050 --> 01:08:23,760 மீண்டும் சுட்டிக்காட்டி கணித வேண்டும் - >> [மாணவர்] ஓ. >> சரி. 790 01:08:23,760 --> 01:08:35,649 [மாணவர்] நான் எண்ணாக *** ப வேண்டும் என்றால், நான் ஒரு dereferencing செய்ய நான் ப * இந்த மதிப்பு சமமாக இருக்கும் என்று, 791 01:08:35,649 --> 01:08:39,560 அது மட்டும் dereferencing 1 நிலை என்ன செய்ய போகிறாய்? >> ஆமாம். 792 01:08:39,560 --> 01:08:43,340 - நான் கடந்த சுட்டிக்காட்டி உள்ள சுட்டி என்று தான் அணுக வேண்டும் என்றால் 793 01:08:43,340 --> 01:08:46,210 நீங்கள் *** ப செய்ய. சரி >>. 794 01:08:46,210 --> 01:08:54,080 எனவே இந்த 1 தொகுதி, மற்றொரு தொகுதி புள்ளிகளை, மற்றொரு தொகுதிக்கு புள்ளிகள் ப புள்ளிகள் ஆகும். 795 01:08:54,080 --> 01:09:02,010 நீங்கள் * செய்தால் பின்னர் p = வேறு, நீங்கள் இந்த மாற்றம் 796 01:09:02,010 --> 01:09:13,640 இப்போது வேறு ஒரு தொகுதி சுட்டிக்காட்ட. சரி >>. 797 01:09:13,640 --> 01:09:17,649 >> இந்த malloced இருந்தால் [Bowden] மேலும், நீங்கள் இப்போது நினைவகம் கசியவிடப்பட்ட 798 01:09:17,649 --> 01:09:20,430 இந்த பல்வேறு குறிப்புகள் வேண்டும் நடக்கும் வரை 799 01:09:20,430 --> 01:09:25,270 நீங்கள் மட்டும் விட்டு துரத்தினார் அந்த நபரை மீண்டும் பெற முடியாது என்பதால். 800 01:09:25,270 --> 01:09:29,550 சுட்டிக்காட்டி கணித. 801 01:09:29,550 --> 01:09:36,310 int x [4]; 4 முழுஎண்களின் வரிசை ஒதுக்க போகிறது 802 01:09:36,310 --> 01:09:40,670 x அணி தொடக்கத்தில் சுட்டி சென்று அமைந்துள்ள. 803 01:09:40,670 --> 01:09:50,420 அதனால் நான் x [1] போன்ற ஏதோ சொல்ல, நான் வரிசையில் இரண்டாவது முழு சென்று என்ன வேண்டும், 804 01:09:50,420 --> 01:09:53,319 இந்த ஒரு வேண்டும். 805 01:09:53,319 --> 01:10:04,190 இந்த முழு எண் 4 பைட்டுகள் எடுத்து முதல் ஆனால் உண்மையில், அந்த அணி மீது 4 பைட்டுகள் தான். 806 01:10:04,190 --> 01:10:08,470 1 ஆஃப்செட் ஒரு உண்மையில் ஒரு 1 ஆஃப்செட் அப்படியென்றால் 807 01:10:08,470 --> 01:10:12,030 வரிசை வகை என்ன காலங்களில் அளவு. 808 01:10:12,030 --> 01:10:17,170 இந்த முழு அணிவரிசை, எனவே அதை ஈடு செய்ய இது int 1 முறை அளவு தெரியும். 809 01:10:17,170 --> 01:10:25,260 மற்ற தொடரியல். இந்த * (x + 1) ஆகும் என்பதை நினைவில்; 810 01:10:25,260 --> 01:10:35,250 நான் சுட்டிக்காட்டி என்ன என்று மீண்டும் சுட்டிக்காட்டி சேமித்து என்று முகவரி: 1, என்று சொல்லும் போது 811 01:10:35,250 --> 01:10:40,360 பிளஸ் 1 முறை சுட்டிக்காட்டி வகை அளவு. 812 01:10:40,360 --> 01:10:59,510 நீங்கள் x = ox100, பின்னர் x + 1 = ox104. 813 01:10:59,510 --> 01:11:19,750 இந்த துஷ்பிரயோகம் மற்றும் சொல்லலாம் எரிப்பதை போன்ற * கேட்ச் = (எரிப்பதை *) x; 814 01:11:19,750 --> 01:11:23,050 இப்போது கேட்ச் x அதே முகவரியை போகிறது. 815 01:11:23,050 --> 01:11:26,040 கேட்ச், ox100 சமமாக இருக்கும் 816 01:11:26,040 --> 01:11:31,490 ஆனால் கேட்ச் + 1 ox101 சமமாக இருக்கும் 817 01:11:31,490 --> 01:11:38,030 சுட்டிக்காட்டி கணித நீங்கள் சேர்க்கும் என்று சுட்டிக்காட்டி வகையை சார்ந்தது என்பதால். 818 01:11:38,030 --> 01:11:45,390 எனவே கேட்ச் + 1, அதை கேட்ச் பார்க்க, அது ஒரு எரிப்பதை சுட்டிக்காட்டி, அதனால், கரி 1 முறை அளவு சேர்க்க நடக்கிறது 819 01:11:45,390 --> 01:11:48,110 , இது எப்போதும் 1 போகிறது, அதனால் நீங்கள் 101 கிடைக்கும் 820 01:11:48,110 --> 01:11:54,890 நான் இன்னும் கூட 100 என்பது x, செய்தால், x + 1 104 போகிறது அதேசமயம். 821 01:11:56,660 --> 01:12:06,340 [மாணவர்] நீங்கள் கேட்ச் + 1 உங்கள் சுட்டிக்காட்டி முன்னெடுத்து பொருட்டு பயன்படுத்த முடியுமா? 822 01:12:06,340 --> 01:12:09,810 ஆமாம், நீங்கள். 823 01:12:09,810 --> 01:12:16,180 X ஒரு சின்னமாக இருப்பதால் நீங்கள் x உடன் அதை செய்ய முடியாது, அது ஒரு நிலையான; நீ x மாற்ற முடியாது. 824 01:12:16,180 --> 01:12:22,610 >> ஆனால் கேட்ச் ஒரு சுட்டிக்காட்டி இருக்கும் நடக்கும், எனவே சி + + செய்தபின் கச்சிதமாக இது 1 அதிகப்படுத்த வேண்டும். 825 01:12:22,610 --> 01:12:32,440 கேட்ச் ஒரு எண்ணாக * இருந்தால், பிறகு கேட்ச் + 104 வேண்டும். 826 01:12:32,440 --> 01:12:41,250 + இல்லை சுட்டிக்காட்டி கணித போல் கேட்ச் + 1 சுட்டிக்காட்டி கணித செய்ய வேண்டும் வேண்டும். 827 01:12:43,000 --> 01:12:48,870 இந்த உண்மையில் ஒன்றிணைப்பு வகையான போன்ற விஷயங்கள் எப்படி நிறைய இருக்கிறது - 828 01:12:49,670 --> 01:12:55,710 அதற்கு பதிலாக விஷயங்கள் பிரதிகளை உருவாக்கும், நீங்கள் பதிலாக செல்லலாம் - 829 01:12:55,710 --> 01:13:02,400 இந்த சில அழிக்க நாம் - நான் வரிசைக்கு இந்த அரை கடக்க வேண்டும் என்றால் பிடிக்கும். 830 01:13:04,770 --> 01:13:10,520 நாம் நான் ஒரு விழாவில் இந்த வரிசையில் இந்த பக்கத்தில் கடக்க வேண்டும் என்று. 831 01:13:10,520 --> 01:13:12,700 நான் அந்த விழாவிற்கு செல்ல வேண்டும்? 832 01:13:12,700 --> 01:13:17,050 நான் x கடந்து இருந்தால், நான் இந்த முகவரிக்கு செல்லும். 833 01:13:17,050 --> 01:13:23,780 ஆனால் நான் இந்த குறிப்பிட்ட முகவரியை அனுப்ப வேண்டும். அதனால் நான் என்ன கடக்க வேண்டும்? 834 01:13:23,780 --> 01:13:26,590 [மாணவர்] சுட்டி + 2? 835 01:13:26,590 --> 01:13:29,350 [Bowden] அதனால் x + 2. ஆம். 836 01:13:29,350 --> 01:13:31,620 இந்த முகவரியை இருக்க போகிறது. 837 01:13:31,620 --> 01:13:42,810 நீங்கள் மிகவும் அடிக்கடி அதை பார்க்க வேண்டும் x [2] பின்னர் அந்த முகவரி. 838 01:13:42,810 --> 01:13:47,850 எனவே நீங்கள் அடைப்புக்குறி ஒரு உள்ளார்ந்த dereference ஏனெனில் அது முகவரியை எடுக்க வேண்டும். 839 01:13:47,850 --> 01:13:53,250 x [2], இந்த பெட்டியில் என்று மதிப்பு குறிக்கிறது, மற்றும் நீங்கள் அந்த பெட்டியை முகவரி வேண்டும் 840 01:13:53,250 --> 01:13:56,850 அதனால் நீங்கள் என்ன சொன்னாலும் & x [2]. 841 01:13:56,850 --> 01:14:02,880 அதனால் நீங்கள் ஏதாவது அரை பட்டியலை அனுப்ப விரும்பினால் அங்கு ஒன்றிணைப்பு வகையான எப்படி இருக்கும் 842 01:14:02,880 --> 01:14:08,790 நீங்கள் உண்மையில் நான் கடந்து & x [2], மற்றும் இப்போது இதுவரை சுழல் அழைப்பு விஷயத்தில், 843 01:14:08,790 --> 01:14:12,510 என் புதிய வரிசை அங்கு தொடங்குகிறது. 844 01:14:12,510 --> 01:14:15,130 கடைசி நிமிடத்தில் கேள்விகள். 845 01:14:15,130 --> 01:14:20,050 [மாணவர்] நாம் ஒரு ampersand வைத்து அல்லது ஒரு எனில் - அந்த பெயரென்ன? >> ஸ்டார்? 846 01:14:20,050 --> 01:14:23,200 [மாணவர்] ஸ்டார். >> தொழில்நுட்ப ரீதியாக, dereference ஆபரேட்டர், ஆனால் - >> [மாணவர்] Dereference. 847 01:14:23,200 --> 01:14:29,310 >> நாம் ஒரு நட்சத்திரம் அல்லது ஒரு ampersand வைத்து என்றால் நான் y சொன்னால், என்ன நடக்கும் = x மற்றும் x ஒரு சுட்டிக்காட்டி இருக்கிறது? 848 01:14:29,310 --> 01:14:34,620 Y வகை என்ன? >> [மாணவர்] நான் அதை சுட்டிக்காட்டி 2 சொல்கிறேன். 849 01:14:34,620 --> 01:14:38,270 நீங்கள் தான் சொல்ல நீங்கள் y = x, இப்போது x மற்றும் y புள்ளி அதே விஷயம். >> அதையே செய்ய [மாணவர்] பாயிண்ட். 850 01:14:38,270 --> 01:14:45,180 மற்றும் x ஒரு முழு எண்ணாக சுட்டிக்காட்டி இருந்தால்? நீங்கள் சுட்டிகள் ஒதுக்க முடியாது, ஏனெனில் >> அது புகார் கூறினார். 851 01:14:45,180 --> 01:14:46,540 [மாணவர்] சரி. 852 01:14:46,540 --> 01:14:51,860 நாம் அம்புகள் அவற்றை வரைந்து கூட, அந்த சுட்டிகள் நினைவில், 853 01:14:51,860 --> 01:15:02,010 உண்மையில் அனைத்து அவர்கள் கடை - எண்ணாக * x - உண்மையில் அனைத்து x சேகரிக்கிறது என்பதை, ox100 போல் உள்ளது 854 01:15:02,010 --> 01:15:06,490 நாம் 100 சேமிக்கப்படும் தொகுதி சுட்டிக்காட்டுவது போன்ற பிரதிநிதித்துவப்படுத்துவதாக நடக்கும். 855 01:15:06,490 --> 01:15:19,660 அதனால் நான் சொல்ல போது எண்ணாக * y = x; நான் y கொண்டு ox100 நகல் நான், 856 01:15:19,660 --> 01:15:24,630 இதில் நாம் தான் மேலும் ox100 சுட்டும், y என பிரதிநிதித்துவம் போகிறோம். 857 01:15:24,630 --> 01:15:39,810 நான் சொன்னால் எண்ணாக நான் = (int) x; பிறகு நான் ox100 மதிப்பு என்ன சேமிக்க நடக்கிறது 858 01:15:39,810 --> 01:15:45,100 அது உள்ளே, ஆனால் இப்போது அதற்கு பதிலாக ஒரு சுட்டிக்காட்டி ஒரு முழு பொருள் கொள்ளுமாறு நடக்கிறது. 859 01:15:45,100 --> 01:15:49,310 ஆனால் நீங்கள் நடிக்க வேண்டும் அல்லது வேறு அதை புகார். 860 01:15:49,310 --> 01:15:53,300 [மாணவர்] எனவே நீங்கள் நடிக்க வேண்டும் என்று - 861 01:15:53,300 --> 01:16:00,290 அதை y இன் x அல்லது நடிப்பதற்கு எண்ணாக கொண்ட எண்ணாக வார்ப்பு போகிறது? 862 01:16:00,290 --> 01:16:03,700 [Bowden] என்ன? 863 01:16:03,700 --> 01:16:07,690 [மாணவர்] சரி. இந்த அடைப்புக்குறிக்குள் பின்னர் அங்கு ஒரு x அல்லது அங்கு ay போகிறது? 864 01:16:07,690 --> 01:16:11,500 >> [Bowden] ஒன்று. x மற்றும் y சமமானதாக இருக்கும். >> [மாணவர்] சரி. 865 01:16:11,500 --> 01:16:14,390 அவர்கள் இருவரும் சுட்டிகள் இருப்பதால். >> சரி. 866 01:16:14,390 --> 01:16:21,050 [மாணவர்] அது முழு வடிவம் அறுபதின்ம 100 சேமிக்க முடியும்? >> [Bowden] சரி. 867 01:16:21,050 --> 01:16:23,620 ஆனால் அது சுட்டிக்காட்டியுள்ளது என்ன மதிப்பு. 868 01:16:23,620 --> 01:16:29,940 [Bowden] சரி. >> [மாணவர்] எனவே முழு வடிவம் தான் முகவரி. சரி. 869 01:16:29,940 --> 01:16:34,720 நீங்கள் சில வினோதமான காரணம் விரும்பினார், [Bowden] இருந்தால் 870 01:16:34,720 --> 01:16:38,900 நீங்கள் பிரத்யேகமாக சுட்டிகள் சமாளிக்க மற்றும் முழு சமாளிக்க முடியாது 871 01:16:38,900 --> 01:16:49,240 மற்றும் எண்ணாக * x = 0 போன்ற. 872 01:16:49,240 --> 01:16:53,000 நீங்கள் சுட்டிக்காட்டி கணித நடந்து தொடங்குகிறது முறை மிகவும் குழப்பி கொள்ள போகிறோம். 873 01:16:53,000 --> 01:16:56,570 எனவே அவர்கள் சேமித்து அந்த எண்கள் பொருளற்றது ஆகும். 874 01:16:56,570 --> 01:16:58,940 அதை நீங்கள் இன்னும் புரிந்து இறுதியில் மட்டும் எப்படி. 875 01:16:58,940 --> 01:17:02,920 நான், ஒரு முழு எண்ணாக ஒரு முழு எண்ணாக * இருந்து ox100 நகலெடுக்க இலவச இருக்கிறேன் 876 01:17:02,920 --> 01:17:07,790 ஒருவேளை நடிப்பு என்று கத்தினாள் போகிறது you're - நான் ஒதுக்க இலவச இருக்கிறேன் - 877 01:17:07,790 --> 01:17:18,160 நான் இந்த தன்னிச்சையான எண்ணாக * என்ற (int *) ox1234 போல் ஒதுக்க இலவச இருக்கிறேன். 878 01:17:18,160 --> 01:17:25,480 எனவே ox123 செல்லுபடியாகும் ஒரு நினைவக முகவரி மற்றும் y ஆனது போல் இருக்கிறது. 879 01:17:25,480 --> 01:17:32,060 & Y அழகான மிகவும் ox123 என்று ஏதாவது திரும்ப நடக்கும். 880 01:17:32,060 --> 01:17:35,430 [மாணவர்] அந்த அறுபதின்ம இருந்து தசம வடிவத்தில் செல்ல ஒரு உண்மையிலேயே வழி இருக்க வேண்டும், 881 01:17:35,430 --> 01:17:39,230 நீங்கள் ஒரு சுட்டிக்காட்டி இருந்தால் இப்படி நீங்கள் ஒரு முழு எண்ணாக அதை நடித்தார்? 882 01:17:39,230 --> 01:17:44,860 [Bowden] நீங்கள் உண்மையில் ஒரு printf போன்ற பயன்படுத்தி அச்சிட முடியாது. 883 01:17:44,860 --> 01:17:50,300 நாம் நான் எண்ணாக y = 100 வேண்டும் என்று. 884 01:17:50,300 --> 01:18:02,700 எனவே printf (% d \ n - உங்களுக்கு ஏற்கனவே தெரியும் என்றும் - அச்சிட என்று ஒரு முழு எண்,% x. 885 01:18:02,700 --> 01:18:05,190 நாம் அதை அறுபதின்ம என்று அச்சிட வேண்டும். 886 01:18:05,190 --> 01:18:10,760 எனவே ஒரு சுட்டிக்காட்டி, அறுபதின்ம சேமிக்கப்படுகிறது 887 01:18:10,760 --> 01:18:12,960 மற்றும் ஒரு முழு தசம சேமிக்கப்படுகிறது. 888 01:18:12,960 --> 01:18:14,700 எல்லாம் பைனரி சேமிக்கப்படுகிறது. 889 01:18:14,700 --> 01:18:17,950 அதை நாம் அறுபதின்ம போன்ற சுட்டிகள் காட்ட முனைகின்றன என்று மட்டும் தான் 890 01:18:17,950 --> 01:18:23,260 நாம், இந்த 4 பைட் தொகுதிகள் நினைக்க காரணம் 891 01:18:23,260 --> 01:18:25,390 மற்றும் நினைவக முகவரிகள் நன்கு இருக்கும். 892 01:18:25,390 --> 01:18:28,890 இது BF தொடங்குகிறது என்றால், அது ஸ்டேக் இருக்க என்ன, இப்படி நாங்கள். 893 01:18:28,890 --> 01:18:35,560 அதனால் தான் அறுபதின்ம போன்ற சுட்டிகள் எங்கள் விளக்கம் தான். 894 01:18:35,560 --> 01:18:39,200 சரி. எந்த கடைசியாக கேள்விகள்? 895 01:18:39,200 --> 01:18:41,700 >> நீங்கள் வேறு ஏதாவது இருந்தால் பிறகு நான் ஒரு பிட் இங்கே இருப்பார்கள். 896 01:18:41,700 --> 01:18:46,070 மற்றும் அந்த முடிவில் தான். 897 01:18:46,070 --> 01:18:48,360 >> [மாணவர்] ஆஹா! [கரவொலி] 898 01:18:51,440 --> 01:18:53,000 >> [CS50.TV]