1 00:00:00,000 --> 00:00:00,499 2 00:00:00,499 --> 00:00:01,395 [இசை] 3 00:00:01,395 --> 00:00:05,590 4 00:00:05,590 --> 00:00:07,940 >> டக் LLOYD: சரி, ஒரு பரிந்துரை இங்கே துவங்குவதற்கு முன். 5 00:00:07,940 --> 00:00:11,660 நீங்கள் வீடியோ பார்த்து இல்லை என்றால் நீங்கள் முதல் செய்ய வேண்டும் சுட்டிகள். 6 00:00:11,660 --> 00:00:15,860 இந்த வீடியோ ஏனெனில் மற்றொரு சுட்டிகள் வேலை வழி. 7 00:00:15,860 --> 00:00:17,574 >> எனவே அதை பேச நடக்கிறது சில கருத்துக்கள் பற்றி 8 00:00:17,574 --> 00:00:19,490 நாங்கள் மறைக்க என்று வீடியோ சுட்டிகள், மற்றும் நாம் 9 00:00:19,490 --> 00:00:21,948 இப்போது அவர்கள் மீது விரிவுரை போகிறது, அவர்கள் ஏற்கனவே இருக்கும் என்று கருதிக்கொண்டு 10 00:00:21,948 --> 00:00:23,090 அப்படி புரிந்து. 11 00:00:23,090 --> 00:00:25,440 அதனால் தான் உங்கள் நியாயமான எச்சரிக்கை தான் என்று நீங்கள் இந்த வீடியோ பார்க்கிறோம் என்றால் 12 00:00:25,440 --> 00:00:27,814 மற்றும் நீங்கள் பார்த்தது இல்லை சுட்டிகள் வீடியோ, அது வலிமை வகையான 13 00:00:27,814 --> 00:00:29,610 உங்கள் தலைக்கு மேல் ஒரு சிறிய பிட் பறக்க. 14 00:00:29,610 --> 00:00:32,080 அதனால் அது நன்றாக இருக்கும் அந்த வரிசையில் தான் பார்க்க. 15 00:00:32,080 --> 00:00:34,710 >> எனவே நாம் ஏற்கனவே ஒரு பார்த்திருக்கிறேன் வழியில், சுட்டிகள் வேலை 16 00:00:34,710 --> 00:00:37,810 இது நாம் ஒரு அறிவிக்க உள்ளது மாறி, பின்னர் நாம் 17 00:00:37,810 --> 00:00:42,160 ஒரு சுட்டிக்காட்டி அறிவிக்க மற்றொரு மாறி மாறி, என்று அது சுட்டிக்காட்டியுள்ளது. 18 00:00:42,160 --> 00:00:44,870 எனவே நாம் உருவாக்கிய ஒரு ஒரு பெயர் மாறி, நாம் நான் 19 00:00:44,870 --> 00:00:48,480 ஒரு பெயர் இரண்டாவது மாறி உருவாக்கப்பட்ட நாம் இரண்டாவது அந்த மாறி சுட்டிக்காட்ட 20 00:00:48,480 --> 00:00:50,220 என்று முதலில். 21 00:00:50,220 --> 00:00:52,370 இந்த வகையான ஒரு என்றாலும் பிரச்சனை, ஏனெனில் 22 00:00:52,370 --> 00:00:54,650 என்பதை அறிய எங்களுக்கு தேவைப்படுகிறது எவ்வளவு நினைவகம் நாங்கள் இருக்கிறோம் 23 00:00:54,650 --> 00:00:57,600 கணம் வேண்டும் போகிறது எங்கள் திட்டம் தொகுக்கப்பட்டது. 24 00:00:57,600 --> 00:00:58,220 >> அது ஏன்? 25 00:00:58,220 --> 00:01:03,338 நாங்கள் பெயரிட முடியும் இருக்க வேண்டும், ஏனெனில் அல்லது சாத்தியமான மாறிகள் அனைத்து அடையாளம் 26 00:01:03,338 --> 00:01:04,129 நாம் சந்திப்பதில்லை என்று. 27 00:01:04,129 --> 00:01:07,910 நாம் இருக்கும் என்று ஒரு வரிசை வேண்டும் தகவல் நிறைய நடத்த முடியும், 28 00:01:07,910 --> 00:01:10,110 ஆனால் அது இன்னும் இல்லை போதுமான சரியாக துல்லியமான. 29 00:01:10,110 --> 00:01:12,640 நாம் என்ன தெரியாது என்றால், நாம் என்ன யோசனை என்றால் 30 00:01:12,640 --> 00:01:14,370 எவ்வளவு நாம் தொகுக்கும் நேரத்தில் வேண்டும்? 31 00:01:14,370 --> 00:01:17,020 அல்லது என்ன எங்கள் திட்டம் கூட ஒரு நீண்ட நேரம் இயங்கும் வரை 32 00:01:17,020 --> 00:01:19,810 பல்வேறு பயனர் ஏற்று தரவு, மற்றும் நாம் முடியாது உண்மையில் 33 00:01:19,810 --> 00:01:23,170 நாங்கள் இருக்கிறோம் என்பதை மதிப்பிட 1,000 அலகுகள் வேண்டும் போகிறீர்கள்? 34 00:01:23,170 --> 00:01:26,060 >> அதை நாம் முடியாது போல் இது இல்லை கட்டளை வரியில் சொல்ல 35 00:01:26,060 --> 00:01:28,040 எத்தனை பொருட்களை நுழைய நீங்கள் வேண்டும் என்று நான் நினைக்கிறேன். 36 00:01:28,040 --> 00:01:31,100 சரி என்று யூகம் தவறு இருந்தால் என்ன? 37 00:01:31,100 --> 00:01:34,300 டைனமிக் நினைவக ஒதுக்கீடு ஒருவகையில் எங்களைக் வழி அனுமதிக்கிறது 38 00:01:34,300 --> 00:01:36,867 இந்த பிரச்சினையை சுற்றி பெற. 39 00:01:36,867 --> 00:01:38,700 வழி அது என்ன சுட்டிகள் பயன்படுத்தி வருகிறது. 40 00:01:38,700 --> 00:01:42,140 >> நாம் சுட்டிகள் பயன்படுத்த முடியும் மாறும் அணுகல் கிடைக்கும் 41 00:01:42,140 --> 00:01:45,710 என்று ஒதுக்கப்பட்ட நினைவகம், நினைவு உங்கள் நிரல் ஒதுக்கீடு இயங்கும். 42 00:01:45,710 --> 00:01:48,290 அது தொகுக்கும் நேரத்தில் ஒதுக்கப்பட்டுள்ளது. 43 00:01:48,290 --> 00:01:51,570 போது நீங்கள் மாறும் ஒதுக்க நினைவு இது ஒரு பூல் இருந்து வருகிறது 44 00:01:51,570 --> 00:01:53,795 நினைவகம் குவியல் அறியப்படுகிறது. 45 00:01:53,795 --> 00:01:56,420 நாம் நான் முன்பு அனைத்து நினைவக நிச்சயமாக வேலை 46 00:01:56,420 --> 00:01:59,920 ஒரு பூல் இருந்து வரும் நினைவகம் அடுக்கு எனப்படும். 47 00:01:59,920 --> 00:02:02,470 ஒரு நல்ல வழி பொதுவாக mind-- மற்றும் இந்த ஆட்சி வைத்து 48 00:02:02,470 --> 00:02:04,720 எப்போதும் நிறைவேறும் நடத்த முடியாது ஆனால் அழகான மிகவும் கிட்டத்தட்ட 49 00:02:04,720 --> 00:02:09,940 எப்போதும் உண்மைதான் எந்த என்று வைத்திருக்கிறது முறை நீங்கள் ஒரு மாறி பெயர் கொடுக்க 50 00:02:09,940 --> 00:02:12,090 ஒருவேளை ஸ்டாக் வாழ்கிறார். 51 00:02:12,090 --> 00:02:14,650 மற்றும் எந்த நேரத்தில் நீங்கள் இல்லை ஒரு மாறி ஒரு பெயர் கொடுக்க, 52 00:02:14,650 --> 00:02:19,160 நீங்கள் மாறும் நினைவக செய்ய முடியும் ஒதுக்கீடு, அதை குவியல் மீது வாழ்கிறார். 53 00:02:19,160 --> 00:02:22,190 >> இப்போது நான் வகையான இந்த வழங்குவதை நினைவகம் இந்த இரண்டு குளங்கள் இருந்தால். 54 00:02:22,190 --> 00:02:24,740 ஆனால் நீங்கள் இந்த பார்த்திருக்கிறேன் பொதுவாக இது வரைபடம், 55 00:02:24,740 --> 00:02:27,290 ஒரு பிரதிநிதித்துவம் என்ன நினைவகம், தெரிகிறது 56 00:02:27,290 --> 00:02:30,373 நாம் பற்றி கவலைப்பட போவதில்லை மேல் மற்றும் கீழ் பொருள். 57 00:02:30,373 --> 00:02:33,580 நாம் என்ன பற்றி கவலை இந்த பகுதி ஆகிறது இங்கே மத்தியில், குவியல் மற்றும் ஸ்டாக். 58 00:02:33,580 --> 00:02:35,570 நீங்கள் மூலம் பார்க்க முடியும் என இந்த வரைபடம் பார்த்து, 59 00:02:35,570 --> 00:02:38,390 இந்த உண்மையில் இரண்டு இல்லை நினைவகம் தனி குளங்கள். 60 00:02:38,390 --> 00:02:42,757 அது நினைவகம் ஒரு பகிரப்பட்ட குளம் இருக்கிறது எங்கே நீங்கள் இந்த காட்சி, துவக்க 61 00:02:42,757 --> 00:02:44,590 நீங்கள் கீழே உள்ள ஆரம்பிக்கலாம் மற்றும் பூர்த்தி தொடங்கும் 62 00:02:44,590 --> 00:02:48,040 ஸ்டாக் கீழே, நீங்கள் இருந்து மேலே தொடங்க மற்றும் பூர்த்தி தொடங்கும் 63 00:02:48,040 --> 00:02:50,072 குவியல் மேலே இருந்து கீழே. 64 00:02:50,072 --> 00:02:51,780 ஆனால் உண்மையில் அதே குளம், அது தான் 65 00:02:51,780 --> 00:02:56,050 வெவ்வேறு இடங்களில், வெவ்வேறு இடங்களில் நினைவக ஒதுக்கீடு என்று. 66 00:02:56,050 --> 00:02:59,060 நீங்கள் வெளியே இயக்க முடியும் அல்லது கொண்ட மூலம் நினைவக 67 00:02:59,060 --> 00:03:01,240 குவியல் அனைத்து வழியில் செல்ல கீழே, அல்லது வேண்டும் 68 00:03:01,240 --> 00:03:05,440 ஸ்டாக், மேல் அனைத்து வழியில் செல்ல அல்லது குவியல் மற்றும் ஸ்டாக் கொண்ட 69 00:03:05,440 --> 00:03:06,740 ஒருவருக்கொருவர் எதிரான சந்திக்க. 70 00:03:06,740 --> 00:03:09,500 அந்த அனைத்து நிலைமைகளை இருக்க முடியும் உங்கள் திட்டம் ஏற்படும் 71 00:03:09,500 --> 00:03:11,030 நினைவகம் ரன் அவுட் வேண்டும். 72 00:03:11,030 --> 00:03:11,952 எனவே மனதில் வைத்து. 73 00:03:11,952 --> 00:03:13,660 நாம் பற்றி பேச போது குவியல் மற்றும் ஸ்டாக் 74 00:03:13,660 --> 00:03:17,880 நாம் உண்மையில் பற்றி பேசுகிறீர்கள் நினைவகம் அதே பொது துண்டின், வெறும் 75 00:03:17,880 --> 00:03:21,930 அந்த நினைவு வேறு பகுதிகள். 76 00:03:21,930 --> 00:03:24,910 >> எனவே நாம் மாறும் எப்படி கிடைக்கும் முதல் இடத்தில் நினைவக ஒதுக்கீடு? 77 00:03:24,910 --> 00:03:27,740 எங்கள் திட்டம் கிடைக்கிறது எப்படி அது இயங்கும் நினைவக? 78 00:03:27,740 --> 00:03:32,660 நன்றாக சி என்று ஒரு செயல்பாடு வழங்குகிறது malloc, நினைவக ஒதுக்கீட்டுக், இது 79 00:03:32,660 --> 00:03:36,810 நீங்கள் ஒரு அழைப்பை, மற்றும் நீங்கள் கடந்து நீங்கள் எப்படி பல வேண்டும் என்று நினைவகம் பைட்டுகள். 80 00:03:36,810 --> 00:03:39,940 உங்கள் இயங்குவதாக என்றால் அதனால் மற்றும் நீங்கள் ஒரு முழு இயக்க வேண்டும், 81 00:03:39,940 --> 00:03:46,040 நீங்கள் நான்கு பைட்டுகள் mallock வேண்டும் நினைவக malloc, நான்கு அடைப்புக்குறிக்குள். 82 00:03:46,040 --> 00:03:48,540 >> mallock வழியாக போகலாம் குவியல் மூலம் பார்த்து, 83 00:03:48,540 --> 00:03:50,750 நாம் மாறும் என்பதால் , நினைவக ஒதுக்கீடு 84 00:03:50,750 --> 00:03:53,500 அதை நீங்கள் திரும்ப வேண்டும் அந்த நினைவு ஒரு சுட்டிக்காட்டி. 85 00:03:53,500 --> 00:03:56,180 நீங்கள் அந்த நினைவகம் கொடுக்க முடியாது அது ஒரு பெயர் கொடுக்க முடியாது, 86 00:03:56,180 --> 00:03:57,950 அதை நீங்கள் அதை ஒரு சுட்டிக்காட்டி கொடுக்கிறது. 87 00:03:57,950 --> 00:04:00,780 மீண்டும் நான் சொன்னேன் அப்படி என்று அது ஒருவேளை முக்கியம் என்று 88 00:04:00,780 --> 00:04:03,770 சுட்டிகள், வீடியோ பார்த்து நாம் இந்த மிக அதிகமாக கிடைக்கும் முன். 89 00:04:03,770 --> 00:04:05,940 எனவே malloc நடக்கிறது ஒரு சுட்டிக்காட்டி மீண்டும் நீங்கள் கொடுப்பேன். 90 00:04:05,940 --> 00:04:08,950 >> Mallock நீங்கள் எந்த கொடுக்க முடியாது என்றால் நினைவக நீங்கள் ரன் அவுட், ஏனெனில், 91 00:04:08,950 --> 00:04:10,645 அது ஒரு வெற்று சுட்டிக்காட்டி மீண்டும் நீங்கள் கொடுப்பேன் என்று. 92 00:04:10,645 --> 00:04:15,282 நாம் என்ன நடக்கும் என்பதை நினைவில் முயற்சி மற்றும் dereference ஒரு பூஜ்ய சுட்டிக்காட்டி? 93 00:04:15,282 --> 00:04:17,019 நாம் சரியான, ஒரு நொடி தவறு பாதிக்கப்படுகின்றனர்? 94 00:04:17,019 --> 00:04:18,060 என்று ஒருவேளை நல்லதல்ல. 95 00:04:18,060 --> 00:04:21,579 >> எனவே ஒவ்வொரு முறையும் நீங்கள் ஒரு அழைப்பை எப்போதும், எப்போதும் நீங்கள் malloc 96 00:04:21,579 --> 00:04:25,270 சரிபார்க்க வேண்டும் அல்லது இல்லையா அதை நீங்கள் மீண்டும் பூஜ்ய கொடுத்தார் சுட்டிக்காட்டி. 97 00:04:25,270 --> 00:04:28,800 அது இருந்தால், நீங்கள் உங்கள் நிரல் முடிவுக்கு வேண்டும் நீங்கள், dereference முயற்சி இருந்தால், ஏனெனில் 98 00:04:28,800 --> 00:04:31,360 நீங்கள் போகிறோம் பூஜ்ய சுட்டிக்காட்டி ஒரு அடுக்கு தவறு பாதிக்கப்படுகின்றனர் 99 00:04:31,360 --> 00:04:34,380 உங்கள் திட்டம் ஆகிறது எப்படியும் செயலிழக்க செய்ய போகிறது. 100 00:04:34,380 --> 00:04:37,190 எனவே எப்படி நிலையாக நாம் செய்ய ஒரு முழு எண் பெற? 101 00:04:37,190 --> 00:04:37,730 >> எண்ணாக x. 102 00:04:37,730 --> 00:04:40,010 நாம் ஒருவேளை அந்த செய்துவிட்டேன் முறை ஒரு கொத்து, சரியான? 103 00:04:40,010 --> 00:04:43,480 இந்த என்று ஒரு மாறி உருவாக்குகிறது ஸ்டாக் வாழ்கிறார் என்று x. 104 00:04:43,480 --> 00:04:46,190 எப்படி நாம் மாறும் ஒரு முழு எண் பெறலாம்? 105 00:04:46,190 --> 00:04:50,010 முகப்பு நட்சத்திர படப்புள்ளிகளுக்குள், malloc 4 சமம். 106 00:04:50,010 --> 00:04:53,050 >> அல்லது அதிக பொருத்தமாக நாம் எண்ணாக நட்சத்திரம் படப்புள்ளிகளுக்குள் சொல்ல விரும்புகிறேன் 107 00:04:53,050 --> 00:04:57,680 எண்ணாக malloc அளவு சமகிறது சில குறைவான தூக்கி 108 00:04:57,680 --> 00:04:59,740 எங்கள் திட்டம் சுற்றி மந்திரம் எண்கள். 109 00:04:59,740 --> 00:05:04,140 இது எங்களுக்கு பெற போகிறது குவியல் இருந்து நினைவக நான்கு பைட்டுகள், 110 00:05:04,140 --> 00:05:06,720 மற்றும் சுட்டிக்காட்டி நாம் பெற அது திரும்பி படப்புள்ளிகளுக்குள் என்று அழைக்கப்படுகிறது. 111 00:05:06,720 --> 00:05:08,430 பின்னர் நாம் போலவே நாங்கள் முன்பு செய்த 112 00:05:08,430 --> 00:05:13,966 முடியும் படப்புள்ளிகளுக்குள், dereference என்று நினைவக அணுக. 113 00:05:13,966 --> 00:05:15,590 எப்படி நாம் பயனர் இருந்து ஒரு முழு எண் கிடைக்கும்? 114 00:05:15,590 --> 00:05:17,970 நாம் int x முழு எண்ணாக சமம் சொல்ல முடியும். 115 00:05:17,970 --> 00:05:19,930 அந்த அழகான நேரடியான தான். 116 00:05:19,930 --> 00:05:24,030 நாம் ஒரு வரிசை உருவாக்க வேண்டும் என்றால் என்ன ஸ்டேக் வாழும் மிதவைகள் x? 117 00:05:24,030 --> 00:05:28,210 என்று பெயர் stack_array-- மிதக்க எங்கள் அணி சதுர அடைப்புக்குறிக்குள் x இன். 118 00:05:28,210 --> 00:05:32,419 அது எங்களுக்கு ஒரு அணியை உருவாக்கும் ஸ்டேக் வாழும் மிதவைகள் x. 119 00:05:32,419 --> 00:05:34,960 நாம் மிதவைகள் ஒரு வரிசை உருவாக்க முடியும் அதுவும், குவியல் வாழ்கிறார். 120 00:05:34,960 --> 00:05:37,330 இலக்கணத்தை ஒரு பார்க்க வேண்டும் , மேலும் சிக்கலான சிறிய 121 00:05:37,330 --> 00:05:41,740 ஆனால் நாம் பங்குகளாக சொல்ல முடியும் நட்சத்திர heap_array சமகிறது 122 00:05:41,740 --> 00:05:44,360 , malloc x முறை மிதவை அளவு. 123 00:05:44,360 --> 00:05:48,160 நான் நடத்த போதுமான அறை வேண்டும் x புள்ளி மதிப்புகள் மிதக்கும். 124 00:05:48,160 --> 00:05:51,560 அதனால் நான் 100 வேண்டும் சொல்கிறது மிதவைகள், அல்லது 1,000 மிதவைகள். 125 00:05:51,560 --> 00:05:54,810 எனவே அந்த வழக்கு இருக்க வேண்டும் 100 மிதவைகள் 400 பைட்டுகள், 126 00:05:54,810 --> 00:05:59,080 அல்லது 1,000 மிதவைகள் 4,000 பைட்டுகள், ஒவ்வொரு பங்குகளாக எடுத்து என்று, ஏனெனில் 127 00:05:59,080 --> 00:06:01,230 இடைவெளிகளில் நான்கு பைட்டுகள். 128 00:06:01,230 --> 00:06:05,110 >> இந்த செய்து பிறகு நான் பயன்படுத்த முடியும் heap_array மீது சதுர பிராக்கெட் வாக்கிய. 129 00:06:05,110 --> 00:06:08,970 நான் stack_array நான் என்று, நான் தனித்தனியாக அதன் உறுப்புகள் அணுக முடியும் 130 00:06:08,970 --> 00:06:11,590 பயன்படுத்தி heap_array பூஜ்யம், heap_array ஒன்று. 131 00:06:11,590 --> 00:06:15,800 ஆனால் நாம் என்ன செய்ய முடியும் காரணம் நினைவு ஏனெனில் சி ஒரு வரிசை பெயர் 132 00:06:15,800 --> 00:06:19,990 உண்மையில் ஒரு சுட்டிக்காட்டி இருக்கிறது அந்த வரிசையில் முதல் உறுப்பு. 133 00:06:19,990 --> 00:06:23,480 நாம் ஒரு அறிவித்தார் என்று உண்மையில் எனவே இங்கு ஸ்டாக் மிதவைகள் வரிசை 134 00:06:23,480 --> 00:06:24,810 உண்மையில் ஒரு பிட் தவறான. 135 00:06:24,810 --> 00:06:27,600 நாம் உண்மையில் உள்ளன அங்கு இரண்டாவது வரி குறியீடு 136 00:06:27,600 --> 00:06:32,360 மேலும் ஒரு துண்டின் ஒரு சுட்டிக்காட்டி உருவாக்கி நாம் பின்னர் சில வேலை செய்ய வேண்டும் என்று நினைவு. 137 00:06:32,360 --> 00:06:35,620 >> இங்கே பெரிய பிரச்சனை தான் மாறும் என்றாலும் நினைவக ஒதுக்கீடு, 138 00:06:35,620 --> 00:06:38,360 அது உண்மையில் எனவேதான் சில நல்ல பழக்கம் உருவாக்க முக்கியம் 139 00:06:38,360 --> 00:06:39,800 போது நீங்கள் அதை வேலை. 140 00:06:39,800 --> 00:06:43,060 நிலையாக அறிவித்தார் போலல்லாமல் நினைவகம், உங்கள் நினைவக 141 00:06:43,060 --> 00:06:46,790 தானாக திரும்பினார் உங்கள் செயல்பாடு செய்யப்படுகிறது போது அமைப்பு. 142 00:06:46,790 --> 00:06:49,280 நாம் பிரதான வேண்டும், அதனால் என்றால் முக்கிய செயல்பாடாக அழைக்கிறது 143 00:06:49,280 --> 00:06:53,860 ஊ, முடிந்ததும் அதை f போது செய்து என்ன மற்றும் நிரல் கட்டுப்பாட்டை கொடுக்கிறது 144 00:06:53,860 --> 00:06:58,810 மீண்டும், முக்கிய அனைத்து நினைவக பயன்படுத்தப்படும் என்று F மீண்டும் வழங்கப்படுகிறது. 145 00:06:58,810 --> 00:07:01,250 அது மீண்டும் பயன்படுத்த முடியும் வேறு சில நிரல் மூலம், 146 00:07:01,250 --> 00:07:04,250 அல்லது வேறு சில செயல்பாடு என்று முக்கிய பின்னர் என்று விடும். 147 00:07:04,250 --> 00:07:06,970 அது மீண்டும் அதே நினைவக முழுவதும் பயன்படுத்த முடியும். 148 00:07:06,970 --> 00:07:09,620 >> நீங்கள் என்றால் மாறும் என்றாலும் நினைவகத்தை ஒதுக்க 149 00:07:09,620 --> 00:07:14,380 நீங்கள் வெளிப்படையாக சொல்ல வேண்டும் நீங்கள் அதை செய்ய என்று அமைப்பு. 150 00:07:14,380 --> 00:07:18,370 இது முடிந்த, நீங்கள் அதை மீது நடத்த வேண்டும் நீங்கள் வெளியே இயங்கும் ஒரு சிக்கலுக்கு வழிவகுக்கும் 151 00:07:18,370 --> 00:07:19,290 நினைவகம். 152 00:07:19,290 --> 00:07:22,179 உண்மையில் நாம் சில நேரங்களில் பார்க்கவும் ஒரு நினைவக கசிவு இதனை. 153 00:07:22,179 --> 00:07:24,970 மற்றும் சில நேரங்களில் இந்த நினைவு கசிவுகள் உண்மையில் மிகவும் கொடுமையாக இருக்கும் 154 00:07:24,970 --> 00:07:27,020 அமைப்பு நடிப்பு. 155 00:07:27,020 --> 00:07:31,120 >> நீங்கள் அடிக்கடி இணைய பயனர் என்றால் நீங்கள், சில இணைய உலாவிகளில் பயன்படுத்த வேண்டும் 156 00:07:31,120 --> 00:07:35,630 நான் இங்கே பெயர்கள் பெயரை, ஆனால் சில வலை உலாவிகள் அங்கு உள்ளன 157 00:07:35,630 --> 00:07:39,150 உண்மையில் கொண்ட போனதாகும் இருக்கும் என்று சரி இல்லை என்று நினைவு கசிவுகள். 158 00:07:39,150 --> 00:07:44,570 நீங்கள் உங்கள் உலாவியில் திறந்த விட்டு என்றால் நேரம் ஒரு நீண்ட கால, நாட்கள் 159 00:07:44,570 --> 00:07:48,060 மற்றும் நாட்கள், அல்லது வாரங்கள், நீங்கள் சில நேரங்களில் உங்கள் கணினியில் கவனிக்க வேண்டும் என்று 160 00:07:48,060 --> 00:07:49,790 உண்மையில் மெதுவாக, உண்மையில் இயங்கும் உள்ளது. 161 00:07:49,790 --> 00:07:54,640 அதற்கு காரணம் என்று உலாவி, நினைவக ஒதுக்கீடு 162 00:07:54,640 --> 00:07:57,320 ஆனால் பின்னர் அமைப்பு கூறினார் அதைப் செய்துள்ளார். 163 00:07:57,320 --> 00:08:01,000 அதனால் அந்த குறைவான நினைவகம் விட்டு உங்கள் மற்ற திட்டங்கள் அனைத்து கிடைக்கும் 164 00:08:01,000 --> 00:08:04,480 நீங்கள் இருப்பதால், பகிர்ந்து கொள்ள வேண்டும் என்று இணைய உலாவி leaking-- 165 00:08:04,480 --> 00:08:06,755 திட்டம் நினைவக கசிவு. 166 00:08:06,755 --> 00:08:08,880 நாம் மீண்டும் நினைவு கொடுக்க எப்படி நாம் அது முடித்துவிட்டீர்கள் போது? 167 00:08:08,880 --> 00:08:10,838 சரி அதிர்ஷ்டவசமாக அது ஒரு இருக்கிறது அதை செய்ய மிகவும் சுலபமான வழி. 168 00:08:10,838 --> 00:08:11,710 நாம் தான் அதை விடுவிக்க. 169 00:08:11,710 --> 00:08:15,020 இலவச என்று ஒரு செயல்பாடு இல்லை, அது, நினைவகம் ஒரு சுட்டிக்காட்டி ஏற்றுக்கொள்கிறார் 170 00:08:15,020 --> 00:08:16,010 நாம் செல்ல நல்ல இருக்கும். 171 00:08:16,010 --> 00:08:18,310 >> எனவே நாம் இருக்கிறோம் சொல்கிறேன் எங்கள் திட்டத்தை மத்திய, 172 00:08:18,310 --> 00:08:21,970 நாங்கள் 50 எழுத்துக்கள் malloc வேண்டும். 173 00:08:21,970 --> 00:08:25,710 நாம் முடியும் என்று ஒரு வரிசை malloc வேண்டும் 50 எழுத்துக்கள் வைத்திருக்கும் திறனுடைய. 174 00:08:25,710 --> 00:08:29,109 நாங்கள் திரும்ப ஒரு சுட்டிக்காட்டி கிடைக்கும் போது என்று, அந்த சுட்டிக்காட்டி பெயர் சொல். 175 00:08:29,109 --> 00:08:30,900 நாம் இருக்கும்போது என்ன செய்கிறோம் சொல் செய்ய போகிறேன், 176 00:08:30,900 --> 00:08:33,440 மற்றும் நாம் இருக்கும் போது நாம் தான் அதை விடுவிக்க செய்து. 177 00:08:33,440 --> 00:08:37,460 இப்போது நாம் அந்த 50 திரும்பியுள்ளனர் மீண்டும் கணினியில் நினைவகம் பைட்டுகள். 178 00:08:37,460 --> 00:08:40,147 வேறு சில செயல்பாடு அவற்றை பயன்படுத்த முடியும். 179 00:08:40,147 --> 00:08:43,480 நாம் ஒரு பாதிக்கப்பட்ட பற்றி கவலைப்பட வேண்டிய அவசியம் இல்லை நினைவக கசிவு நாம் வார்த்தை விடுவிக்க வேண்டும், ஏனெனில். 180 00:08:43,480 --> 00:08:46,639 நாம் மீண்டும் நினைவக கொடுத்துள்ளது, எனவே நாம் அதை வேலை. 181 00:08:46,639 --> 00:08:48,430 எனவே மூன்று உள்ளன என்று வேண்டும் தங்க விதிகள் 182 00:08:48,430 --> 00:08:51,700 நீங்கள் போதெல்லாம் மனதில் வைத்து கொள்ள மாறும் நினைவக ஒதுக்கீடு 183 00:08:51,700 --> 00:08:52,990 malloc உடன். 184 00:08:52,990 --> 00:08:56,480 நினைவகம் ஒவ்வொரு தொகுதி என்று நீங்கள் malloc விடுவிக்க வேண்டும் 185 00:08:56,480 --> 00:08:58,430 உங்கள் நிரல் முன் இயங்கும். 186 00:08:58,430 --> 00:09:02,029 இப்போது மீண்டும், பயன்பாட்டிற்கான அல்லது IDE, இந்த வகையான எப்படியும் நீங்கள் நடக்கிறது 187 00:09:02,029 --> 00:09:04,820 உங்களுக்குக் போது இந்த எப்படியும் நடக்கும் உங்கள் திட்டம் முடிக்கப்படும் போது, 188 00:09:04,820 --> 00:09:06,880 அனைத்து நினைவக வெளியிடப்பட்டது. 189 00:09:06,880 --> 00:09:10,750 ஆனால் அது பொதுவாக நல்ல கோடிங் தான் நடைமுறையில் எப்போதும், நீங்கள் முடித்துவிட்டீர்கள் போது, 190 00:09:10,750 --> 00:09:13,810 நீங்கள் mallocd என்ன விடுவிக்க. 191 00:09:13,810 --> 00:09:16,690 >> என்று, ஒரு சில விஷயங்கள் என்று நீங்கள் mallocd விடுவிக்க வேண்டும் நான். 192 00:09:16,690 --> 00:09:19,880 நீங்கள் புள்ளிவிவரரீதியில் அறிவிக்க என்றால் ஒரு முழு போது, int x அரை பெருங்குடல், 193 00:09:19,880 --> 00:09:23,500 என்று ஸ்டேக் இல் வாழ்கிறார், நீங்கள் பின்னர் x விடுவிக்க வேண்டும். 194 00:09:23,500 --> 00:09:25,970 நீங்கள் எனக்கு மிகவும் மட்டுமே விஷயங்கள் mallocd விடுவிக்கப்பட வேண்டும். 195 00:09:25,970 --> 00:09:28,960 >> மற்றும் இறுதியாக, இரண்டு முறை இல்லை இலவச ஏதாவது செய்ய. 196 00:09:28,960 --> 00:09:31,170 அந்த ஏற்படலாம் மற்றொரு வித்தியாசமான சூழ்நிலை. 197 00:09:31,170 --> 00:09:33,530 நீங்கள் எனக்கு மிகவும் எல்லாம் mallocd விடுதலை செய்ய வேண்டும். 198 00:09:33,530 --> 00:09:36,000 நீங்கள் என்று மட்டுமே விஷயங்கள் , malloc விடுவிக்கப்பட வேண்டும். 199 00:09:36,000 --> 00:09:38,730 மற்றும் இருமுறை இல்லை இலவச ஏதாவது செய்ய. 200 00:09:38,730 --> 00:09:43,660 >> எனவே இங்கு ஒரு உதாரணம் மூலம் செல்லலாம் சில மாறும் ஒதுக்கீடு என்ன 201 00:09:43,660 --> 00:09:46,122 நினைவக கலப்பு போல இருக்கும் சில நிலையான நினைவக இல். 202 00:09:46,122 --> 00:09:47,080 இங்கே என்ன நடக்கும்? 203 00:09:47,080 --> 00:09:48,913 நீங்கள் பின்பற்ற முடியும் என்று பார்க்க சேர்ந்து என்ன தான் நினைக்கிறேன் 204 00:09:48,913 --> 00:09:51,720 நாம் சென்று நடக்க போகிறது குறியீடு அனைத்து இந்த வரிகளை மூலம். 205 00:09:51,720 --> 00:09:53,980 >> எனவே நாம் எண்ணாக மீ சொல்கிறோம். 206 00:09:53,980 --> 00:09:54,840 இங்கே என்ன நடக்கிறது? 207 00:09:54,840 --> 00:09:56,339 சரி இந்த அழகான நேர்மையானவன். 208 00:09:56,339 --> 00:09:59,650 நான் மீ என ஒரு முழு எண் மாறி உருவாக்க. 209 00:09:59,650 --> 00:10:01,400 நான் அதை பச்சை நிறம் என்று நிறம், ஏனென்றால் 210 00:10:01,400 --> 00:10:03,730 நான் பேசுகிறேன் போது நான் பயன்படுத்த வேண்டும் என்று பற்றி முழு மாறிகள். 211 00:10:03,730 --> 00:10:05,160 இது ஒரு பெட்டியில் தான். 212 00:10:05,160 --> 00:10:08,400 அதை நீங்கள் மீ என, அது கடையில் உள்ளே முழு எண்கள். 213 00:10:08,400 --> 00:10:12,400 >> நான் ஒரு முழு எண்ணாக நட்சத்திரம் என்ன சொன்னால் என்ன? 214 00:10:12,400 --> 00:10:13,530 சரி என்று அழகாக ஒத்த. 215 00:10:13,530 --> 00:10:15,780 நான் ஒரு பெட்டியில் ஒரு என்று உருவாக்கும். 216 00:10:15,780 --> 00:10:19,100 அதை பிடித்து எண்ணாக திறன் தான் நட்சத்திரங்கள், முழு சுட்டிகள். 217 00:10:19,100 --> 00:10:21,570 எனவே நான் அது பச்சை-ஜேம்ஸ் டீனின் வண்ணத்தில். 218 00:10:21,570 --> 00:10:24,140 >> நான் அதை ஒன்று உள்ளது தெரிகிறேன் ஒரு முழு எண் செய்ய, 219 00:10:24,140 --> 00:10:25,852 ஆனால் அது ஒரு முழு எண் தன்னை தான். 220 00:10:25,852 --> 00:10:27,310 ஆனால் அது மிகவும் அதிகமாக அதே யோசனை. 221 00:10:27,310 --> 00:10:28,101 நான் ஒரு பெட்டியில் உருவாக்கப்பட்டது. 222 00:10:28,101 --> 00:10:30,070 இந்த வலது இருவரும் இப்போது ஸ்டாக் வாழ்கின்றனர். 223 00:10:30,070 --> 00:10:32,520 நான் அவர்கள் இருவரையும் பெயர்கள் வழங்கப்படுகின்றன. 224 00:10:32,520 --> 00:10:36,750 >> எண்ணாக நட்சத்திர ஆ எண்ணாக malloc அளவு சமம். 225 00:10:36,750 --> 00:10:38,560 இந்த ஒரு சிறிய தந்திரமான இருக்கலாம். 226 00:10:38,560 --> 00:10:44,110 இரண்டாவது எடுத்து நீங்கள் என்ன பற்றி யோசிக்க இந்த வரைபடத்தில் என்ன எதிர்பார்க்கிறீர்கள். 227 00:10:44,110 --> 00:10:50,210 எண்ணாக நட்சத்திர ஆ எண்ணாக malloc அளவு சமம். 228 00:10:50,210 --> 00:10:51,940 >> சரி இந்த ஒரு பெட்டியில் உருவாக்க முடியாது. 229 00:10:51,940 --> 00:10:53,800 இந்த உண்மையில் இரண்டு பெட்டிகள் உருவாக்குகிறது. 230 00:10:53,800 --> 00:10:58,670 அது இது நிறுவுகிறது, போடுகிறான் ஒரு உறவு ஒரு புள்ளி. 231 00:10:58,670 --> 00:11:02,240 நாம் ஒரு தொகுதி ஒதுக்கீடு குவியல் நினைவகத்தை. 232 00:11:02,240 --> 00:11:05,940 கவனிக்கிறது மேல் வலது பெட்டியில் என்று ஒரு நாமம் இல்லை. 233 00:11:05,940 --> 00:11:06,760 >> நாம் அது mallocd. 234 00:11:06,760 --> 00:11:08,050 அது குவியல் உள்ளது. 235 00:11:08,050 --> 00:11:10,090 ஆனால் ஆ ஒரு பெயர் உண்டு. 236 00:11:10,090 --> 00:11:11,950 அது கேட்ச் என்று ஒரு சுட்டிக்காட்டி மாறி இருக்கிறது. 237 00:11:11,950 --> 00:11:13,910 என்று ஸ்டேக் இல் வாழ்கிறார். 238 00:11:13,910 --> 00:11:18,250 >> அது நினைவக ஒரு துண்டு தான் மற்றொரு ஒன்று என்று சுட்டிக் காட்டுகிறது. 239 00:11:18,250 --> 00:11:21,840 ஆ முகவரியை கொண்டுள்ளது நினைவகம் என்று தொகுதி. 240 00:11:21,840 --> 00:11:23,757 அது இல்லையென்றால் ஒரு பெயர் இல்லை. 241 00:11:23,757 --> 00:11:24,590 ஆனால் அது சுட்டிக் காட்டுகிறது. 242 00:11:24,590 --> 00:11:29,760 நாம் எண்ணாக நட்சத்திர ஆ சமம் என்று சொல்லும் போது எண்ணாக malloc அளவு, அங்கே அந்த, 243 00:11:29,760 --> 00:11:33,490 வெளிவர ஆரம்பித்தது என்று அம்புக்குறி அங்கு வலது புறம், அந்த முழு விஷயம், 244 00:11:33,490 --> 00:11:36,740 நான் அதை தோன்றும் வேண்டும் மீண்டும், என்ன நடக்கிறது. 245 00:11:36,740 --> 00:11:39,341 என்று அனைத்து நடக்கிறது குறியீடு என்று ஒற்றை வரி. 246 00:11:39,341 --> 00:11:41,340 இப்போது நாம் இன்னும் கொஞ்சம் கிடைக்கும் மீண்டும் நேரடியான. 247 00:11:41,340 --> 00:11:43,330 ஒரு உம்மைக்குறி மீ சமம். 248 00:11:43,330 --> 00:11:46,280 நீங்கள் என்ன ஒரு நினைவு உம்மைக்குறி மீ சமம்? 249 00:11:46,280 --> 00:11:48,920 சரி என்று ஒரு மீ முகவரி பெறுகிறார் தான். 250 00:11:48,920 --> 00:11:54,150 அல்லது, இன்னும் வரைபட வைத்து மீ புள்ளிகள். 251 00:11:54,150 --> 00:11:56,360 >> ஒரு ப சமம். 252 00:11:56,360 --> 00:11:57,560 சரி இங்கே மற்றொரு ஒன்று தான். 253 00:11:57,560 --> 00:11:59,230 ஒரு ஆ சமம். 254 00:11:59,230 --> 00:12:02,260 என்ன நடக்க போகிறது வரைபடம், இந்த நேரத்தில்,? 255 00:12:02,260 --> 00:12:04,330 >> சரி என்று நினைவு வேலையை ஆபரேட்டர் படைப்புகள் 256 00:12:04,330 --> 00:12:08,960 மதிப்பு ஒதுக்க மூலம் வலது இடது மதிப்பு. 257 00:12:08,960 --> 00:12:14,820 மீ எனவே, அதற்கு பதிலாக ஒரு சுட்டி, இப்போது ப புள்ளிகள் அதே இடத்தில் சுட்டி. 258 00:12:14,820 --> 00:12:18,900 ஒரு, ஒரு ப பாயிண்ட் அங்கு ப புள்ளிகள் காட்டுகிறார். 259 00:12:18,900 --> 00:12:25,280 >> ஒரு கூரான என்று ப அமையும் ஒரு உம்மைக்குறி ஆ சமம் இருந்திருக்கும். 260 00:12:25,280 --> 00:12:28,150 ஆனால் அதற்கு பதிலாக வெறும் ஆ சமகிறது என்று அர்த்தம் ஆ இப்போது 261 00:12:28,150 --> 00:12:31,770 , அதே முகவரியை ஏனெனில் சுட்டிக்காட்டி ஆ உள்ளே வெறும் ஒரு முகவரி இருக்கிறது. 262 00:12:31,770 --> 00:12:35,004 இப்போது ஒரு உள்ளே அதே முகவரி. 263 00:12:35,004 --> 00:12:37,170 மீ ஒருவேளை, 10 சமம் மிகவும் நேரடியான விஷயம் 264 00:12:37,170 --> 00:12:38,690 நாங்கள் சிறிது செய்துவிட்டேன். 265 00:12:38,690 --> 00:12:40,460 பெட்டியில் 10 போடு. 266 00:12:40,460 --> 00:12:45,640 ஸ்டார் ஆ மீ சமம் பிளஸ் 2, நினைவு எங்கள் சுட்டிகள் வீடியோ என்ன நட்சத்திர ஆ அர்த்தம். 267 00:12:45,640 --> 00:12:50,230 நாங்கள் dereference b மற்றும் வைக்க போகிறோம் என்று நினைவக இடம் சில மதிப்பு. 268 00:12:50,230 --> 00:12:51,860 இந்த வழக்கில் 12. 269 00:12:51,860 --> 00:12:55,300 >> எனவே போது நாம் ஒரு புள்ளி, dereference நாங்கள் வெறும் அம்பு கீழே பயணம் நினைவு. 270 00:12:55,300 --> 00:12:58,205 அல்லது வேறு வழி வைத்து, நாம் என்று நினைவக முகவரி செல்ல 271 00:12:58,205 --> 00:12:59,580 நாம் சில வழியில் அதை கையாள. 272 00:12:59,580 --> 00:13:00,830 நாம் அங்கு சில மதிப்பு வைத்து. 273 00:13:00,830 --> 00:13:03,960 இந்த வழக்கில் நட்சத்திர ஆ இல் மீ சமம் பிளஸ் 2 தான் 274 00:13:03,960 --> 00:13:08,230 மாறி சென்று, ஆ மூலம் சுட்டிக்காட்டினார் நினைவக சென்று, ஆ மூலம் சுட்டிக்காட்டினார் 275 00:13:08,230 --> 00:13:11,750 12, அங்கு மீ பிளஸ் 2 வைக்க. 276 00:13:11,750 --> 00:13:14,970 >> இப்போது நான் ஆ விடுவிக்கிறேன். 277 00:13:14,970 --> 00:13:16,490 நான் ஆ விடுவிக்க போது என்ன நடக்கும்? 278 00:13:16,490 --> 00:13:18,800 நான் இலவச வழிமுறையாக சொன்னதை நினைவில். 279 00:13:18,800 --> 00:13:21,920 நான் ஆ விடுவிக்க போது நான் என்ன சொல்கிறேன்? 280 00:13:21,920 --> 00:13:23,410 >> நான் அதை வேலை செய்து இருக்கிறேன், சரியான? 281 00:13:23,410 --> 00:13:25,702 நான் அடிப்படையில், நினைவகம் கொடுக்க. 282 00:13:25,702 --> 00:13:26,910 நான் கணினியில் அதை திரும்ப கொடுக்க. 283 00:13:26,910 --> 00:13:33,010 நான் இந்த இனி தேவையில்லை என்ன நான் சரி, அவர்களுக்கு சொல்லி? 284 00:13:33,010 --> 00:13:37,390 >> இப்போது நான் சொல்கிறேன் என்றால் நட்சத்திர ஒரு 11 ஒருவேளை நீங்கள் சமம் 285 00:13:37,390 --> 00:13:40,460 ஏற்கனவே மோசமான என்று ஏதாவது சொல்ல சரி, இங்கே என்ன நடக்க போகிறது? 286 00:13:40,460 --> 00:13:44,160 நான் அந்த ஒருவேளை முயற்சி உண்மையில் என்றால் ஒரு அடுக்கு தவறு பாதிக்கப்படும். 287 00:13:44,160 --> 00:13:47,140 ஏனென்றால் இப்போது, என்றாலும் நினைவகம் முன்பு அந்த துண்டின் 288 00:13:47,140 --> 00:13:50,220 நான் என்று இருந்தது ஏதாவது இந்த கட்டத்தில் அணுகல், 289 00:13:50,220 --> 00:13:54,590 இப்போது நான் நினைவகத்தை அணுக என்று என்னை அணுக சட்ட அல்ல. 290 00:13:54,590 --> 00:13:57,330 >> மற்றும் நாம் அநேகமாக சாப்பிடுவேன் நாம் நினைவு அணுக போது, நினைவு 291 00:13:57,330 --> 00:14:00,000 நாம் தீண்டும் கூடாது என்று, என்று மிகவும் பொதுவான காரணம் தான் 292 00:14:00,000 --> 00:14:01,860 ஒரு பிரிவின் தவறு. அதனால் என் திட்டம் 293 00:14:01,860 --> 00:14:05,170 நான் இந்த செய்ய முயற்சி இருந்தால் செயலிழக்க செய்யும். 294 00:14:05,170 --> 00:14:09,910 எனவே மீண்டும் அது நல்ல பெற ஒரு நல்ல யோசனை பயிற்சி மற்றும் நல்ல பழக்கம் நன்கு ஆழமாக பதிந்து 295 00:14:09,910 --> 00:14:12,920 malloc மற்றும் இலவச பணிபுரியும் போது, எனவே நீங்கள் அடுக்கு பாதிக்கப்படுகின்றனர் என்று 296 00:14:12,920 --> 00:14:15,310 நீங்கள் பயன்படுத்த, மற்றும் தவறுகளை உங்கள் மாறும் ஒதுக்கீடு 297 00:14:15,310 --> 00:14:17,370 நினைவக பொறுப்புடன். 298 00:14:17,370 --> 00:14:20,300 >> நான் டக் லாயிட் இருக்கிறேன் இந்த CS50 உள்ளது. 299 00:14:20,300 --> 00:14:21,947