1 00:00:00,000 --> 00:00:10,970 >> [இசை] 2 00:00:10,970 --> 00:00:12,536 >> டேவிட் ஜே MALAN: சரி. 3 00:00:12,536 --> 00:00:13,392 >> [சிரிப்பு] 4 00:00:13,392 --> 00:00:14,240 >> மீண்டும் வருக. 5 00:00:14,240 --> 00:00:14,990 இந்த CS50 உள்ளது. 6 00:00:14,990 --> 00:00:16,890 இந்த வாரம் ஐந்து இறுதியில். 7 00:00:16,890 --> 00:00:20,020 மற்றும் இப்போது வரை, நாம் அழகான மிகவும் வைத்திருக்கிறேன் வழங்கப்பட்டது எடுத்து வருகிறது என்று அங்கு 8 00:00:20,020 --> 00:00:23,480 நீங்கள் இந்த ஒடுக்கி, கணகண வென்ற சப்தம், உள்ளது இந்த வழி மூலம் நாடுவதன் 9 00:00:23,480 --> 00:00:27,100 மற்ற கருவி என்று எப்படியோ கொள்ளுங்கள் என்று மாயமாக உங்கள் மூல குறியீடு மாற்றுகிறது 10 00:00:27,100 --> 00:00:31,350 பொருள் குறியீடு, பூஜ்ஜியங்களைக் மற்றும் ஒருவர் மீது உங்கள் கணினி CPU, மத்திய 11 00:00:31,350 --> 00:00:33,410 செயலாக்க அலகு, உண்மையில் அறிகிறது. 12 00:00:33,410 --> 00:00:36,770 என்று ஒரு எண் வெளியே ஆனால் வீச்சு இந்த தொப்பி கீழே நடக்கிறது 13 00:00:36,770 --> 00:00:38,690 உள்ளீடு மற்றும் வெளியீடு இடையே. 14 00:00:38,690 --> 00:00:41,800 >> நான் நாம் சதை முன்மொழிய விரும்புகிறேன் இன்னும் கொஞ்சம் விரிவாக எடுத்து அந்த அவுட் 15 00:00:41,800 --> 00:00:45,130 இந்த நான்கு படிகள், என்று ஏதாவது முன் செயலாக்கம், ஏதாவது 16 00:00:45,130 --> 00:00:48,300 நாம் பார்த்த அந்த தொகுக்கப்பட்ட,, என்று ஏதாவது கூடியிருந்தனர் என்று, மற்றும் 17 00:00:48,300 --> 00:00:49,420 ஏதாவது இணைக்கும் என்று. 18 00:00:49,420 --> 00:00:53,270 எனவே இப்போது வரை, எமது சில திட்டங்கள், நாங்கள் தீவிர அடங்கும் இருந்தது. 19 00:00:53,270 --> 00:00:56,650 மேலும் சமீபத்தில் சில கூர்மையான கிடைத்தது மாறா வரையறுக்கிறது. 20 00:00:56,650 --> 00:01:00,660 அது மாறிவிடும் அந்த விஷயங்கள் என்று புல சின்னம் அல்லது முன்னொட்டாக 21 00:01:00,660 --> 00:01:04,150 பவுண்டு சின்னமாக முன் செயலி இருக்கிறது கட்டளைகளை. 22 00:01:04,150 --> 00:01:07,960 என்று தான் அது என்று ஒரு ஆடம்பரமான வழி உண்மையில் அந்த குறியீடு ஒரு வரி 23 00:01:07,960 --> 00:01:12,280 வேறொன்றாக மாற்றப்படுகிறது கணினி கூட மாற்ற முயற்சி உங்கள் 24 00:01:12,280 --> 00:01:13,800 பூஜ்ஜியங்களைக் மற்றும் தான் ஒரு திட்டம். 25 00:01:13,800 --> 00:01:19,000 >> உதாரணமாக, கூர்மையான தரமான உள்ளடக்கியது நான் / ஓ. ம, அழகான மிகவும் சென்று பொருள் 26 00:01:19,000 --> 00:01:24,010 மேலே, கோப்புகளை உள்ளடக்கங்களை அடைய stdio.h மற்றும் அங்கு அவர்களுக்கு ஒட்டவும். 27 00:01:24,010 --> 00:01:25,880 எனவே எந்த பூஜ்ஜியங்களைக் மற்றும் சொந்தங்களுக்கு இன்னும் அந்த நேரத்தில். 28 00:01:25,880 --> 00:01:27,470 அது உண்மையில் ஒரு மாற்று இருக்கிறது. 29 00:01:27,470 --> 00:01:30,790 என்று அழைக்கப்படும் போது முடிந்துவிட்டது முன் செயலாக்க நிலை, நீங்கள் 30 00:01:30,790 --> 00:01:34,230 உண்மையில் குறிப்பாக கணகண வென்ற சப்தம் இயக்க அல்லது பெரும்பாலான சந்தர்ப்பங்களில் செய்ய. 31 00:01:34,230 --> 00:01:36,950 அதனால் இதெல்லாம் நடக்கிறது முதல் தானாக இதுவரை. 32 00:01:36,950 --> 00:01:38,800 >> பின்னர் தொகுப்பு படி வருகிறது. 33 00:01:38,800 --> 00:01:40,920 ஆனால் நாம் மிகையாக எளிமைப்படுத்தப்பட்ட தொகுப்பு. 34 00:01:40,920 --> 00:01:45,060 ஒரு திட்டம் ஒடுக்குவதற்கான உண்மையில் என்றால் , சி போன்ற ஏதாவது இருந்து அதை எடுத்து 35 00:01:45,060 --> 00:01:48,430 மூல குறியீடு நாம் கீழே, எழுதி ஏதோ சட்டசபை அழைக்கப்படும். 36 00:01:48,430 --> 00:01:52,900 சட்டமன்ற மொழி கீழ் நிலையில் உள்ளது மொழி என்று, அதிர்ஷ்டவசமாக, நாம் தான் 37 00:01:52,900 --> 00:01:55,480 மிகவும் வேண்டிய நேரத்தை இந்த செமஸ்டர் எழுத. 38 00:01:55,480 --> 00:01:59,100 ஆனால் இது மிகவும் குறைந்த அளவில் தான் நீங்கள் உண்மையில் எழுத தொடங்க அந்த உணர்வு 39 00:01:59,100 --> 00:02:04,270 சேர்க்க மற்றும் கழித்தால் மற்றும் பெருக்கவும் ஏற்ற நினைவகம் மற்றும் சேமிக்க நினைவகம், 40 00:02:04,270 --> 00:02:08,259 மிகவும் அடிப்படை வழிமுறைகளை ஒரு கணினி, தொப்பி கீழே, 41 00:02:08,259 --> 00:02:09,639 உண்மையில் அறிகிறது. 42 00:02:09,639 --> 00:02:14,930 >> இறுதியாக, கூடியிருந்தனர் என்று மொழி எடுக்கிறது நாங்கள் தான் என்று பூஜ்ஜியங்களைக் மற்றும் நெருங்கியவர்களிடம் 43 00:02:14,930 --> 00:02:16,190 இதுவரை விவரிக்கும். 44 00:02:16,190 --> 00:02:19,270 உண்மையில் இறுதியாக, என்று அழைக்கப்படும் இருக்கிறது கட்டம் இணைக்கும், நாம் தருகிறேன் 45 00:02:19,270 --> 00:02:22,360 ஒருங்கிணைக்கிறது இது ஒரு கணம், பார்க்க உங்கள் பூஜ்ஜியங்களைக் மற்றும் பூஜ்ஜியங்களைக் கொண்டு தான் மற்றும் 46 00:02:22,360 --> 00:02:24,870 முன் தான் மற்ற மக்கள் நீங்கள் உருவாக்கிய. 47 00:02:24,870 --> 00:02:26,660 >> இந்த சூப்பர் எளிய நிரல் கருதுகின்றனர். 48 00:02:26,660 --> 00:02:27,560 இது வீக் 1 இருந்து. 49 00:02:27,560 --> 00:02:29,610 அது, உலக வணக்கம், என்றார் திரையில். 50 00:02:29,610 --> 00:02:30,920 நாம் கணகண வென்ற சப்தம் மூலம் இந்த இயங்கின. 51 00:02:30,920 --> 00:02:33,200 அல்லது நாம் அதை செய்ய இயங்கின இது கணகண வென்ற சப்தம் இயங்கின. 52 00:02:33,200 --> 00:02:36,170 மற்றும் நேரத்தில் outputted எங்கே சில பூஜ்ஜியங்களைக் மற்றும் தான். 53 00:02:36,170 --> 00:02:38,100 அங்கே அவுட் ஆனால் வீச்சு ஒரு இடைநிலை படி. 54 00:02:38,100 --> 00:02:40,460 நான் இங்கு சென்றால் - அடடா, இல்லை இன்னும் அவரை பார்க்க விரும்புகிறேன். 55 00:02:40,460 --> 00:02:44,800 நான் என் உபயோகப்பொருள் இங்கு சென்றால் நான் hello.c, இங்கே திறந்து 56 00:02:44,800 --> 00:02:46,160 அதே திட்டம். 57 00:02:46,160 --> 00:02:48,600 என்ன நான் என் முனையத்தில் செய்ய போகிறேன் இங்கே சாளரம் நான் போகிறேன் 58 00:02:48,600 --> 00:02:51,430 , கணகண வென்ற சப்தம் ரன் விட வேண்டும் இது அனைத்து நான்கு தானியங்க 59 00:02:51,430 --> 00:02:52,870 எங்களுக்கு அந்த படிகளை. 60 00:02:52,870 --> 00:02:58,620 நான் கணகண வென்ற சப்தம்-S செய்ய மற்றும் உள்ளிட பின் hello.c பின்னர். 61 00:02:58,620 --> 00:03:00,590 >> நான் ஒரு ஒளிரும் வரியில் கிடைக்கும் மீண்டும், இது நல்லது. 62 00:03:00,590 --> 00:03:05,280 இப்போது சற்று பெரிய சாளரத்தில், நான் இங்கே செய்து gedit திறந்து போகிறேன். 63 00:03:05,280 --> 00:03:09,610 நான், ஒரு கோப்பை திறந்து போகிறேன் வெளியே விட்டபடி, hello.s இந்த அழைக்கப்படுகிறது 64 00:03:09,610 --> 00:03:11,870 என்று சட்டசபை மொழி கொண்டுள்ளது நான் முன்னர் குறிப்பிட்டது. 65 00:03:11,870 --> 00:03:15,060 இந்த சட்டமன்ற என்று என்ன இருக்கிறது மொழி, மிகவும் குறைந்த நிலை 66 00:03:15,060 --> 00:03:18,470 அறிவுறுத்தல்கள் என்று உங்கள் இன்டெல் CPU அல்லது என்ன அது உள்ளே தான் இருக்கிறது 67 00:03:18,470 --> 00:03:19,350 அறிகிறது. 68 00:03:19,350 --> 00:03:24,480 மற்றும் MOV நடவடிக்கை ஆகும். அழைப்பு இல்லை , மிக குறைந்த அளவில் செயல்பாடு அழைப்பு. 69 00:03:24,480 --> 00:03:26,380 துணை கழித்தால் உள்ளது. 70 00:03:26,380 --> 00:03:30,370 >> நீங்கள் உள்ளே ஒரு குறிப்பிட்ட CPU கொண்டிருக்கும் போது உங்கள் கணினியில், என்ன செய்கிறது 71 00:03:30,370 --> 00:03:34,300 ஆனால் தனிப்பட்ட, மற்றும் பிற CPU கள் சந்தை, இது அறிவுறுத்தல்கள் அது 72 00:03:34,300 --> 00:03:39,460 புரிந்து பெரும்பாலும் எப்படி திறமையான இது சில நிறைவேற்றி உள்ளது எவ்வளவு வேகமாக, ஆகிறது 73 00:03:39,460 --> 00:03:40,380 அந்த அறிவுறுத்தலை. 74 00:03:40,380 --> 00:03:45,150 இப்போது இதை பற்றி மேலும் அறிய, நீங்கள் எடுக்க முடியும் கல்லூரியில் அடுத்த வீழ்ச்சி CS61. 75 00:03:45,150 --> 00:03:48,170 ஆனால் இங்கு நாம் ஒரு சில, உதாரணமாக, வேண்டும் நன்கு இருக்கும் என்று அடையாளங்கள். 76 00:03:48,170 --> 00:03:50,150 hello.c திட்டத்தின் பெயர். 77 00:03:50,150 --> 00:03:51,070 >> . உரை - 78 00:03:51,070 --> 00:03:54,190 வட்டி மிகவும் அங்கு இல்லை இப்போது, நினைவு உரை 79 00:03:54,190 --> 00:03:59,190 அங்கு உள்ள பகுதி, திங்கள் என, உள்ளது நினைவகம் உங்கள் நிரல் உண்மையில் முடிகிறது. 80 00:03:59,190 --> 00:04:01,330 அதனால் குறைந்தது தெளிவற்ற தான் அங்கு பழக்கமான. 81 00:04:01,330 --> 00:04:03,730 இங்கே, நிச்சயமாக, ஒரு குறிப்பும் இல்லை எங்கள் முக்கிய செயல்பாடு. 82 00:04:03,730 --> 00:04:07,220 கீழே உருட்டுதல், இந்த விஷயங்களை பார்க்கவும் என பதிவேடுகளை, மிக சிறிய துகள்களாக 83 00:04:07,220 --> 00:04:09,190 உங்கள் உண்மையான CPU இன் நினைவக உள்ளே. 84 00:04:09,190 --> 00:04:12,930 நான் கூட கீழே இருந்தால், மேலும், நான் ஒருவித பார்க்கிறேன் 85 00:04:12,930 --> 00:04:14,240 ஆஸ்கி மறைமுக குறிப்பிடவில்லை. 86 00:04:14,240 --> 00:04:17,120 மற்றும், உண்மையில், அந்த சரம், இல்லை ஹலோ, கமா, உலக. 87 00:04:17,120 --> 00:04:20,079 >> எனவே நீண்ட கதை குறுகிய, இந்த வருகிறது , தானாகவே, நீங்கள் நடக்கிறது 88 00:04:20,079 --> 00:04:22,140 தொப்பி கீழே இந்த நேரத்தில் அனைத்து. 89 00:04:22,140 --> 00:04:26,450 என்ன நடந்துகொண்டிருக்கிறது உண்மையில் முறை ஆகும் நீங்கள் கணகண வென்ற சப்தம் ரன், அல்லது மூலம் 90 00:04:26,450 --> 00:04:29,150 , நீங்கள் முதலில் போகிறது, செய்ய மூல குறியீடு இருந்து, 91 00:04:29,150 --> 00:04:30,700 சட்டசபை மொழி என்று அழைக்கப்படும். 92 00:04:30,700 --> 00:04:35,210 பின்னர் கணகண வென்ற சப்தம் இந்த சட்டசபை மாற்றப்படும் கீழே பூஜ்ஜியங்களைக் மற்றும் நெருங்கியவர்களிடம் மொழி. 93 00:04:35,210 --> 00:04:38,340 இந்த நாம் ஆரம்பித்தது என்று ஸ்லைடு உள்ளது வாரத்தில் 0 எங்கள் விவாதம் - 94 00:04:38,340 --> 00:04:39,840 பின்னர் அந்த வாரத்தில் 1. 95 00:04:39,840 --> 00:04:44,030 பின்னர் இறுதியாக, அந்த பூஜ்ஜியங்களைக் மற்றும் சொந்தங்களுக்கு பூஜ்ஜியங்களைக் மற்றும் ஒருவர் இணைந்து 96 00:04:44,030 --> 00:04:47,190 அந்த நூலகங்கள் இருந்து நாம் எடுத்து ஸ்டாண்டர்ட் I / O அல்லது போன்றவை வழங்கப்பட்டது 97 00:04:47,190 --> 00:04:50,010 சரம் நூலகம் அல்லது CS50 நூலகம். 98 00:04:50,010 --> 00:04:54,200 >> எனவே இந்த படத்தை வரைவதற்கு பார்வை, நாங்கள் hello.c வேண்டும். 99 00:04:54,200 --> 00:04:57,220 அது, நிச்சயமாக, printf பயன்படுத்துகிறது உலக ஹலோ சொல்ல செயல்பட. 100 00:04:57,220 --> 00:05:01,810 தொகுப்பு படி அதை கீழே எடுக்கிறது அந்த கோப்பு நாம் கூட, hello.s பார்த்தேன் 101 00:05:01,810 --> 00:05:04,290 பொதுவாக நீக்கப்பட்டது என்று கூட தானாகவே. 102 00:05:04,290 --> 00:05:06,050 ஆனால் அந்த சட்டமன்ற குறியீடு தான் நடுத்தர படியில். 103 00:05:06,050 --> 00:05:09,750 பின்னர் நாங்கள் அசம்ப்ளியை போது நீங்கள் மொழி, அதனால் பேச, என்று 104 00:05:09,750 --> 00:05:10,830 அந்த பூஜ்ஜியங்களைக் மற்றும் தான் கிடைக்கும். 105 00:05:10,830 --> 00:05:13,920 எனவே நாம் இன்று திறம்பட உள்ள காண்பிக்க என்ன வழங்கப்பட்டது நாங்கள் எடுத்து வருகிறோம், 106 00:05:13,920 --> 00:05:16,430 மூல குறியீடு சென்று பொருள் குறியீடு மறுக்க வேண்டும். 107 00:05:16,430 --> 00:05:18,850 >> ஆனால் இறுதியாக, இப்போது அதே படம் - அதை செய்ய உதைத்துவிட்டு நாம் 108 00:05:18,850 --> 00:05:20,020 இடது புறம். 109 00:05:20,020 --> 00:05:22,880 மற்றும் கவனத்தில் என்று மேல் அங்கு நான் stdio.h குறிப்பிடப்பட்டுள்ளது. 110 00:05:22,880 --> 00:05:25,030 என்று நாம் சேர்க்கப்பட்டுள்ளது என்று ஒரு கோப்பு கிட்டத்தட்ட எல்லா ல் 111 00:05:25,030 --> 00:05:26,250 நாம் எழுதப்பட்ட. 112 00:05:26,250 --> 00:05:28,830 என்று யாருடைய உள்ளடக்கங்கள் கோப்பு நகல் ஒட்டியது செய்து, 113 00:05:28,830 --> 00:05:30,350 திறம்பட உங்கள் குறியீடு மீது. 114 00:05:30,350 --> 00:05:34,170 ஆனால் அது, ஒரு கணினியில் மாறிவிடும் கணினி எங்காவது, மறைமுகமாக ஒரு இருக்கிறது 115 00:05:34,170 --> 00:05:39,150 யாரோ ஆண்டுகளுக்கு எழுதினார் stdio.c கோப்பு முன்பு என்று அனைத்து செயல்படுத்துகிறது 116 00:05:39,150 --> 00:05:41,870 அறிவித்தார் என்று செயல்பாடுகளை stdio.h ல். 117 00:05:41,870 --> 00:05:45,465 >> இப்போது உண்மையில் அது அநேகமாக இல்லை அல்லது உங்கள் Mac அல்லது உங்கள் கணினியில் 118 00:05:45,465 --> 00:05:47,660 CS50 பயன்பாட்டிற்கான ஒரு மூல சி குறியீடு உள்ளது. 119 00:05:47,660 --> 00:05:52,710 யாரோ ஏற்கனவே தொகுக்கப்பட்ட மற்றும் சேர்க்கப்பட்டுள்ளது . ஓ பொருள் குறியீடு கோப்பு அல்லது. ஒரு 120 00:05:52,710 --> 00:05:56,020 ஒரு பகிர்ந்து நூலகம் என்பது கோப்பு, என்று முன் நிறுவப்பட்டு 121 00:05:56,020 --> 00:05:57,240 உங்களுக்கு முன் தொகுக்கப்பட்ட. 122 00:05:57,240 --> 00:06:01,950 ஆனால் உண்மையில் உள்ளது என்று நினைக்கிறேன் இணையாக நமது கணினி stdio.c மீது 123 00:06:01,950 --> 00:06:02,650 கணகண வென்ற சப்தம் கொண்டு. 124 00:06:02,650 --> 00:06:04,960 உங்கள் குறியீடு தொகுக்கப்பட்ட மற்றும் கூடியிருந்த. 125 00:06:04,960 --> 00:06:09,200 stdio.c 'கள் குறியீடு தொகுக்கப்பட்டு கூடியிருந்த, இந்த மிக கடந்த என்று 126 00:06:09,200 --> 00:06:13,730 இங்கு, விலக, நாம் எப்படியாவது வேண்டும் இணைப்பு, அதனால் பேச, உங்கள் பூஜ்ஜியங்களைக் மற்றும் சொந்தங்களுக்கு 127 00:06:13,730 --> 00:06:18,430 ஒன்று அவரது பூஜ்ஜியங்களைக் மற்றும் ஹெட்லைட்களாக இறுதியில் அந்த எளிய நிரல் 128 00:06:18,430 --> 00:06:20,540 ஹலோ கூப்பிட்டேன். 129 00:06:20,540 --> 00:06:23,340 >> அதனால் தான் மந்திரம் தான் இதுவரை நடந்து வருகிறது. 130 00:06:23,340 --> 00:06:26,430 இந்த எடுக்க தொடரும் ஐந்து செயல்முறைகள் வழங்கப்பட்டது, ஆனால் உணர 131 00:06:26,430 --> 00:06:28,750 ஓரு விவரங்கள் நிறைய இருக்கிறது அங்கு கீழே நடக்கிறது. 132 00:06:28,750 --> 00:06:31,920 இந்த செய்கிறது என்ன உங்கள் இன்டெல் உள்ளே கொண்டு கணினி 133 00:06:31,920 --> 00:06:33,940 குறிப்பாக தனித்துவமான. 134 00:06:33,940 --> 00:06:37,020 >> அதனால் குறிப்பு, நீங்கள் விரும்பினால் செய்ய இந்த வெள்ளிக்கிழமை மதிய எங்களுக்கு சேர, போக செய்ய 135 00:06:37,020 --> 00:06:41,570 வழக்கமான இடத்தில் cs50.net/rsvp வேண்டும், 1:15 PM, இந்த வெள்ளி. 136 00:06:41,570 --> 00:06:43,400 இப்போது ஒரு சில அறிவிப்புகள். 137 00:06:43,400 --> 00:06:44,670 நாம் சில நல்ல செய்தி இருக்கிறது. 138 00:06:44,670 --> 00:06:45,970 நாம் சில மோசமான செய்தி இருக்கிறது. 139 00:06:45,970 --> 00:06:47,260 இங்கே சில நல்ல செய்தி தொடங்க. 140 00:06:47,260 --> 00:06:52,038 141 00:06:52,038 --> 00:06:54,510 >> [GROANING] 142 00:06:54,510 --> 00:06:54,710 >> சரி. 143 00:06:54,710 --> 00:06:56,670 சரி, அது, தொழில்நுட்ப விடுமுறை இது எங்களுக்கு மிகவும் ஒரு பரிசு இல்லை. 144 00:06:56,670 --> 00:06:58,030 நிச்சயமாக ஆனால் பின்னர் கெட்ட செய்தி. 145 00:06:58,030 --> 00:07:00,550 146 00:07:00,550 --> 00:07:01,880 >> [GROANING] 147 00:07:01,880 --> 00:07:03,530 >> நான் நிறைய நேரம் செலவிட்டு இந்த அனிமேஷன்களின். 148 00:07:03,530 --> 00:07:04,690 >> [சிரிப்பு] 149 00:07:04,690 --> 00:07:07,000 >> ஒரு ஆய்வு அமர்வு அங்கு இருக்கும் இந்த திங்கள் வரும். 150 00:07:07,000 --> 00:07:08,340 அதை 5:30 pm இருக்க போகிறது. 151 00:07:08,340 --> 00:07:11,210 நாம் அனைவரும் இந்த விவரங்கள் நீங்கள் ஞாபகப்படுத்துவோம் நிச்சயமாக இந்த மின்னஞ்சல் வழியாக 152 00:07:11,210 --> 00:07:13,470 நாட்கள் நேரம் ஒரு சில இணைய. 153 00:07:13,470 --> 00:07:16,610 இது படம்பிடிக்கப்பட்டு கிடைக்க செய்யப்படும் விரைவில் அதன் பின்னர். 154 00:07:16,610 --> 00:07:19,200 நீங்கள் செய்ய முடியாது என்றால், அந்த திங்கள் இரவு ஸ்லாட், கவலைப்பட வேண்டாம். 155 00:07:19,200 --> 00:07:22,270 பிரிவுகள் வரும் வாரம் கூட சாப்பிடுவேன் வினாடி வினா மதிப்புரை கவனம். 156 00:07:22,270 --> 00:07:25,670 உங்கள் பகுதியில் இது திங்கள், இருந்தால் உண்மையில் பல்கலைக்கழக விடுமுறை, நாம் 157 00:07:25,670 --> 00:07:26,920 இன்னும் பிரிவில் சந்திக்க. 158 00:07:26,920 --> 00:07:28,890 நீங்கள் வெறுமனே என்று செய்ய முடியாது என்றால் பிரிவு போகிறோம் என்பதால் 159 00:07:28,890 --> 00:07:29,860 விட்டு, அது நல்லது. 160 00:07:29,860 --> 00:07:33,710 ஒரு ஞாயிறு அல்லது செவ்வாய் பிரிவில் அல்லது கலந்து ஜேசன் பிரிவில் இசைக்கு-ல், இது தான் 161 00:07:33,710 --> 00:07:35,110 ஆன்லைனில் கிடைக்கும். 162 00:07:35,110 --> 00:07:37,490 >> எனவே, இன்னும் கெட்ட செய்தி. 163 00:07:37,490 --> 00:07:41,960 எனவே பாடத்திட்டங்கள் படி, நாம் அடுத்த வெள்ளி விரிவுரை. 164 00:07:41,960 --> 00:07:43,690 ஆனால் நல்ல செய்தி - 165 00:07:43,690 --> 00:07:44,860 தெளிவாக, நான் இந்த அதிக நேரம் செலவிட்டார். 166 00:07:44,860 --> 00:07:45,280 >> [சிரிப்பு] 167 00:07:45,280 --> 00:07:47,140 >> நாங்கள் வெள்ளிக்கிழமை விரிவுரைகள் அடுத்த ரத்து செய்கிறேன். 168 00:07:47,140 --> 00:07:50,590 எனவே எங்களுக்கு ஒரு பரிசு, நீ உண்மையில் ஒரு நல்ல ஓய்வுக்கான ல் முடியும் 169 00:07:50,590 --> 00:07:52,990 இந்த வாரம் எனவே இரண்டு வாரங்களுக்கு இடையே. 170 00:07:52,990 --> 00:07:57,460 எந்த விரிவுரைகள் அடுத்த வாரம், ஒரு சிறிய மிகவும் நீங்கள் இருக்க வேண்டும், அது சிறிய புதிர், 171 00:07:57,460 --> 00:07:59,030 பெருகிய முறையில் உற்சாகமாக. 172 00:07:59,030 --> 00:08:03,870 >> எனவே இப்போது நம் கவனத்தை திருப்பினால் நாம் உண்மையில் இன்னும் காட்சி என்று ஒன்று 173 00:08:03,870 --> 00:08:06,990 மேலும் அற்புதமான மற்றும் மேடை அமைக்க அடிவானத்தில் இருக்க போகிறது என்ன 174 00:08:06,990 --> 00:08:08,420 வாரங்களில் நேரம் வெறும் இரண்டு. 175 00:08:08,420 --> 00:08:12,160 முதல் புதிர் பின்னர், நாம் திரும்ப வேண்டும் எங்கள் பிரச்சனை செட் மற்றொரு கவனத்தை 176 00:08:12,160 --> 00:08:16,710 டொமைன் குறிப்பிட்ட பிரச்சனை, என்று பொதுவாக ஆய்வுத்துறை அல்லது பாதுகாப்பு. 177 00:08:16,710 --> 00:08:19,550 >> இந்த பிரச்சினையை உண்மையில், பாரம்பரியம் தொகுப்பு எனக்கு ஒன்று 178 00:08:19,550 --> 00:08:24,850 முழுவதும் நடக்க சக அல்லது காஸ் கற்பித்தல் சில புகைப்படங்களை எடுத்து வளாகம் 179 00:08:24,850 --> 00:08:29,450 அடையாளம் ஆனால் அல்லாத வெளிப்படையான மக்கள், பின்னர் இடங்களில், அல்லது விஷயங்களை, ஒவ்வொரு ஆண்டும் நான் 180 00:08:29,450 --> 00:08:34,520 எப்படியோ தற்செயலாக நீக்க நிர்வகிக்க அல்லது டிஜிட்டல் மீடியா கார்டு சிதைக்க 181 00:08:34,520 --> 00:08:35,720 என்று நம் கேமரா உள்ளே இருக்கிறார். 182 00:08:35,720 --> 00:08:36,860 ஆனால் பெரிய விஷயமல்ல. 183 00:08:36,860 --> 00:08:39,200 நான் முன்னே சென்று அடைப்பை ஏற்படுத்த முடியும் என் கணினியில் என்று. 184 00:08:39,200 --> 00:08:43,010 நான், இது ஒரு தடயவியல் படத்தை உருவாக்க முடியும் பூஜ்ஜியங்களைக் நகல் மூலம், பேச வேண்டும் 185 00:08:43,010 --> 00:08:46,830 அந்த நினைவக அட்டை தான் உண்டு, என்பதை அதன் ஒரு SD அட்டை அல்லது சிறிய ஃபிளாஷ் அட்டை அல்லது 186 00:08:46,830 --> 00:08:48,100 நீங்கள் அறிந்த நீங்கள் என்ன. 187 00:08:48,100 --> 00:08:49,300 பின்னர் நாம் வெளியே கொடுத்துவிடலாம். 188 00:08:49,300 --> 00:08:53,190 >> அதனால் மற்ற மத்தியில் முன்னோக்கி சவால், நீங்கள் விஷயங்களை, எழுத வேண்டும் 189 00:08:53,190 --> 00:08:58,630 ஒரு மொத்தமாக குணமடைய சி குறியீடு எனக்கு JPEG படங்கள் மற்றும் வெளிப்படுத்தினார் இருக்கும் 190 00:08:58,630 --> 00:09:00,190 அந்த மக்கள், இடங்கள், அல்லது விஷயங்கள். 191 00:09:00,190 --> 00:09:03,340 நாம் இந்த பிரச்சனையில், பேசுகிறேன் அமைக்கவும் மற்றும் நாட்களில் பற்றி, வர 192 00:09:03,340 --> 00:09:04,440 பொதுவாக கிராபிக்ஸ். 193 00:09:04,440 --> 00:09:06,140 நாம், ஒரு நிச்சயமாக அவர்கள் பயன்படுத்திய உடைத்து ஐந்து. 194 00:09:06,140 --> 00:09:09,080 வழங்கப்பட்டது ஆனால் நீங்கள் அப்படி எடுத்து இந்த உயர் மட்ட கருத்துக்கள் உள்ளது 195 00:09:09,080 --> 00:09:10,680 செவ்வக மற்றும் ovals பற்றி. 196 00:09:10,680 --> 00:09:12,450 ஆனால் தொப்பி கீழே பிக்சல்கள் உள்ளன. 197 00:09:12,450 --> 00:09:14,370 நீங்கள் தொடங்க வேண்டும் அந்த பற்றி நினைத்து. 198 00:09:14,370 --> 00:09:18,800 அல்லது நீங்கள் P-தொகுப்பு 4 யோசிக்க வேண்டும் க்கான உங்கள் செங்கற்கள் இடையே இடைவெளி பற்றி, எப்படி 199 00:09:18,800 --> 00:09:21,990 விரைவில் நீங்கள் பந்து முழுவதும் நகரும் திரையில் உடைத்து. 200 00:09:21,990 --> 00:09:24,830 எனவே இந்த கருத்து உள்ளது என்று உங்கள் திரையில் புள்ளிகள் 201 00:09:24,830 --> 00:09:26,290 ஏற்கனவே நாடகம் வரும். 202 00:09:26,290 --> 00:09:29,430 >> இப்போது நீங்கள் பார்க்க என்ன, எனினும், என்ன நீங்கள் ஒரு கணினி திரையில் கிடைக்கும். 203 00:09:29,430 --> 00:09:33,680 நீங்கள் எப்போதாவது சில நல்ல அல்லது பார்த்தோம் என்றால் மோசமான தொலைக்காட்சி, பிரச்சனைகளுக்கும் அவர்கள் அழகாக அதிகம் 204 00:09:33,680 --> 00:09:36,280 technophobes போன்ற பார்வையாளர்களை சிகிச்சை யார் உண்மையில் செய்கிறது 205 00:09:36,280 --> 00:09:37,630 நிறைய கம்ப்யூட்டிங் பற்றி. 206 00:09:37,630 --> 00:09:40,840 அதனால் அதை போலீசார் மிகவும் எளிதானது சொல்ல துப்பறியும், நீங்கள் 207 00:09:40,840 --> 00:09:41,710 எனக்கு அந்த சுத்தம்? 208 00:09:41,710 --> 00:09:42,710 அல்லது வலது, அதிகரிக்க? 209 00:09:42,710 --> 00:09:45,550 மேம்படுத்த உள்ள Buzz வார்த்தை போல பெரும்பாலான எந்த குற்றம் தொடர்பான நிகழ்ச்சி. 210 00:09:45,550 --> 00:09:49,240 நீங்கள் மிகவும் எடுக்க என்றால் உண்மை என்ன ஒரு சந்தேக தடுமாறுவதும் படம் 211 00:09:49,240 --> 00:09:51,620 மோசமான ஒன்று, நீங்கள் முடியாது அதை அதிகரிக்க. 212 00:09:51,620 --> 00:09:53,080 நீங்கள் எண்ணற்ற பெரிதாக்க முடியாது. 213 00:09:53,080 --> 00:09:56,350 நீங்கள் ஒருவரின் என்ற கற்றையை பார்க்க முடியாது என்று உறுதி யார் கண் 214 00:09:56,350 --> 00:09:59,860 இருந்தபோதிலும் குறிப்பிட்ட குற்றம், தொலைக்காட்சியில் இந்த வழக்கம். 215 00:09:59,860 --> 00:10:04,110 >> அதனால் அந்த ஊக்குவிக்க நாம் என்று வரவிருக்கும் பிரச்சினை ஒரு கண்ணோட்டம் கொண்ட அமைக்க 216 00:10:04,110 --> 00:10:05,765 சில நிகழ்ச்சிகளில் இது உங்களுக்கு தெரிந்திருந்தால் இருக்கலாம். 217 00:10:05,765 --> 00:10:06,500 >> [மறுஒளிபரப்பு வீடியோ] 218 00:10:06,500 --> 00:10:07,835 >> -சரி. 219 00:10:07,835 --> 00:10:09,956 இப்போது, நீங்கள் நன்றாக செல்லலாம். 220 00:10:09,956 --> 00:10:17,060 221 00:10:17,060 --> 00:10:17,766 >> அதை நிறுத்து. 222 00:10:17,766 --> 00:10:18,658 என்று மீண்டும் இயக்கவும். 223 00:10:18,658 --> 00:10:19,550 >> ஒரு நிமிடம், காத்திரு. 224 00:10:19,550 --> 00:10:21,580 வலது போக. 225 00:10:21,580 --> 00:10:21,800 >> -இருக்கின்றன. 226 00:10:21,800 --> 00:10:22,690 என்று நிறுத்தப்படலாம். 227 00:10:22,690 --> 00:10:23,692 >> திரை முழு. 228 00:10:23,692 --> 00:10:23,846 >> -சரி. 229 00:10:23,846 --> 00:10:24,154 என்று நிறுத்தப்படலாம். 230 00:10:24,154 --> 00:10:25,140 >> யா, என்று எழுந்து-வருபவைகளை இறுக்கமாக்கு? 231 00:10:25,140 --> 00:10:27,090 >> அந்த பையன் மீது, திசையன் மீண்டும் சக்கரம் மூலம். 232 00:10:27,090 --> 00:10:29,730 >> இந்த இடத்தில் சரியான இங்கே-பெரிதாக்கு. 233 00:10:29,730 --> 00:10:33,700 >> -உடன் சரியான உபகரணங்கள், படிமமாக்கப்படுகின்றன விரிவாக்கப்பட்டு கூரான. 234 00:10:33,700 --> 00:10:34,490 >> -என்ன என்று? 235 00:10:34,490 --> 00:10:35,870 >> அது ஒரு விரிவாக்கம் திட்டம் தான். 236 00:10:35,870 --> 00:10:36,793 >> -முடியுமா நீங்கள் எந்த வரை என்று தெளிவாக? 237 00:10:36,793 --> 00:10:38,560 >> -எனக்கு தெரியாது. 238 00:10:38,560 --> 00:10:39,090 அதை மேம்படுத்த வேண்டும். 239 00:10:39,090 --> 00:10:41,690 >> பகுதி-6-அதிகரிக்கவும். 240 00:10:41,690 --> 00:10:43,510 >> நான் விரிவாக மேம்படுத்தப்பட்ட மற்றும் - 241 00:10:43,510 --> 00:10:44,456 >> நான் அதிகரிக்க போதுமான இருக்கிறது என்று நான் நினைக்கிறேன். 242 00:10:44,456 --> 00:10:45,402 என் திரையில் அதை வெளியிட. 243 00:10:45,402 --> 00:10:47,300 >> அவள் கண்ணில் பிரதிபலிப்பு-அதிகரிக்கவும். 244 00:10:47,300 --> 00:10:49,330 >> இதை வழியாக இயக்க-விடு வீடியோ மேம்பாடு. 245 00:10:49,330 --> 00:10:50,340 >> -எட்கர், இந்த அதிகரிக்க முடியும்? 246 00:10:50,340 --> 00:10:52,320 >> On-வை. 247 00:10:52,320 --> 00:10:54,290 >> நலன் இந்த பிரதிபலிப்பு வேலை. 248 00:10:54,290 --> 00:10:55,560 >> -யாரோ பிரதிபலிப்பு. 249 00:10:55,560 --> 00:10:56,440 >> -பிரதிபலிப்பு. 250 00:10:56,440 --> 00:10:57,940 >> ஒரு பிரதிபலிப்பு-இல்லை மனிதனின் முகம். 251 00:10:57,940 --> 00:10:58,860 >> -பிரதிபலிப்பு. 252 00:10:58,860 --> 00:10:59,710 >> -இருக்கின்றன ஒரு பிரதிபலிப்பு தான். 253 00:10:59,710 --> 00:11:00,900 >> கண்ணாடியில ல் பெரிதாக்குக. 254 00:11:00,900 --> 00:11:03,500 >> -நீங்கள் ஒரு பிரதிபலிப்பு பார்க்க முடியும். 255 00:11:03,500 --> 00:11:04,700 >> -முடியுமா நீங்கள் இங்கிருந்து படத்தை அதிகரிக்க? 256 00:11:04,700 --> 00:11:05,700 >> -முடியுமா நீங்கள் அவனை இங்கே அதிகரிக்க? 257 00:11:05,700 --> 00:11:06,500 >> -முடியுமா நீங்கள் அதை அதிகரிக்க? 258 00:11:06,500 --> 00:11:07,380 >> -முடியுமா நீங்கள் அதை அதிகரிக்க? 259 00:11:07,380 --> 00:11:08,190 >> -முடியுமா நாம் அதிகரிக்க? 260 00:11:08,190 --> 00:11:08,940 >> -முடியுமா நீங்கள் அதை அதிகரிக்க? 261 00:11:08,940 --> 00:11:10,280 >> இரண்டாவது On-பிடித்துக்கொண்டு, நான் அதிகரிக்க வேண்டும். 262 00:11:10,280 --> 00:11:11,570 >> கதவை ல் பெரிதாக்குக. 263 00:11:11,570 --> 00:11:12,180 >> -எக்ஸ் 10. 264 00:11:12,180 --> 00:11:13,052 >> -பெரிதாக்கு. 265 00:11:13,052 --> 00:11:13,197 >> [சிரிப்பு] 266 00:11:13,197 --> 00:11:14,360 >> உள்ளே-நகர்த்து 267 00:11:14,360 --> 00:11:15,100 >> நிறுத்த, காத்திருங்கள். 268 00:11:15,100 --> 00:11:15,740 >> -நிறுத்து. 269 00:11:15,740 --> 00:11:16,290 >> அது இடைநிறுத்தம். 270 00:11:16,290 --> 00:11:19,390 >> சுமார் ஒரு 75 டிகிரி-சுழற்று செங்குத்து தயவு செய்து. 271 00:11:19,390 --> 00:11:19,886 >> [சிரிப்பு] 272 00:11:19,886 --> 00:11:24,350 >> பகுதி மீண்டும்-நிறுத்து, மற்றும் கதவை பற்றி மீண்டும். 273 00:11:24,350 --> 00:11:26,330 >> ஒரு படத்தை enhancer-Got அந்த படங்கள் எப்படி முடியும்? 274 00:11:26,330 --> 00:11:28,990 >> -ஒருவேளை நாம் பிரதீப் சென் பயன்படுத்தலாம் முறை ஜன்னல்கள் மீது பார்க்க. 275 00:11:28,990 --> 00:11:30,680 >> -இந்த மென்பொருள் கலை மாநில உள்ளது. 276 00:11:30,680 --> 00:11:31,676 >> -சின்னம் மதிப்பு ஆஃப் ஆகிறது. 277 00:11:31,676 --> 00:11:34,166 >> -உடன் சரியான சேர்க்கையை வழிமுறைகளின். 278 00:11:34,166 --> 00:11:38,399 >> -அவர் வெளிச்சம் வழிமுறைகளை எடுத்து அடுத்த நிலை மற்றும் நான் அவற்றை பயன்படுத்த முடியும் 279 00:11:38,399 --> 00:11:38,648 இந்த புகைப்படத்தை அதிகரிக்க. 280 00:11:38,648 --> 00:11:42,050 >> On-பூட்டு மற்றும் z-அச்சு பெரிதாகும். 281 00:11:42,050 --> 00:11:42,760 >> -அதிகரிக்கவும். 282 00:11:42,760 --> 00:11:43,060 >> -அதிகரிக்கவும். 283 00:11:43,060 --> 00:11:43,760 >> -அதிகரிக்கவும். 284 00:11:43,760 --> 00:11:45,010 >> -உறைதல் மற்றும் மேம்படுத்தும். 285 00:11:45,010 --> 00:11:47,470 286 00:11:47,470 --> 00:11:47,910 >> [END மறுஒளிபரப்பு வீடியோ] 287 00:11:47,910 --> 00:11:51,470 >> டேவிட் ஜே MALAN: அதனால் பிரச்சனை அமை 5 அங்கே மேலே உள்ளது என்ன. 288 00:11:51,470 --> 00:11:55,260 நாம் விரைவில் ஒரு நல்ல புரிதல் கிடைக்கும் போது, ஏன் நீங்கள் ஒரு 289 00:11:55,260 --> 00:11:57,300 நமது அந்த வழியில் மேம்படுத்த முடியாது. 290 00:11:57,300 --> 00:12:00,090 ஆனால் முதல், நம்முடைய கவனத்தை திருப்பி நாம் நாங்கள் அங்கு கட்டுமான தொகுதிகள் சில 291 00:12:00,090 --> 00:12:02,250 அந்த கதையை சொல்ல முடியும் இருக்க வேண்டும். 292 00:12:02,250 --> 00:12:05,580 >> எனவே இந்த படத்தை வரைந்தார் என்று நினைவு திங்கள் மற்றும் சிறிது கடந்த வாரம். 293 00:12:05,580 --> 00:12:09,970 இந்த விஷயங்கள் அமைப்பை விவரிக்கிறது உங்கள் கணினியின் நினைவகத்தில் போது 294 00:12:09,970 --> 00:12:11,000 சில இயங்குவதாக. 295 00:12:11,000 --> 00:12:14,310 மேலே உள்ள தொழில்நுட்ப பிரிவு, திரும்ப, குறிக்கிறது உண்மையான பூஜ்ஜியங்களைக் மற்றும் நெருங்கியவர்களிடம் 296 00:12:14,310 --> 00:12:16,000 உங்கள் திட்டத்தை உருவாக்கும். 297 00:12:16,000 --> 00:12:19,340 அங்கு, அந்த கீழே, சில துவக்கப்படும் அல்லது uninitialized தரவு, இது வழக்கமாக 298 00:12:19,340 --> 00:12:22,910 அல்லது மாறிலிகள் போன்ற விஷயங்களை குறிக்கிறது சரங்களை அல்லது உலக மாறிகள் 299 00:12:22,910 --> 00:12:24,200 முன்கூட்டியே அறிவித்தார். 300 00:12:24,200 --> 00:12:26,500 அங்கு குவியல், ஆனால் நாம் வருகிறேன் மீண்டும் ஒரு பிட் ல் என்று. 301 00:12:26,500 --> 00:12:27,410 >> பின்னர் ஸ்டாக் இருக்கிறது. 302 00:12:27,410 --> 00:12:30,660 மிகவும் தட்டுக்களில் ஒரு ஸ்டேக் போன்ற நினைவு இடத்தில் உணவு விடுதியில், இந்த 303 00:12:30,660 --> 00:12:33,610 அடுக்கியிருப்பது மற்றும் போதெல்லாம் அடுக்கியிருப்பது நீங்கள் ஒரு திட்டம் என்ன? 304 00:12:33,610 --> 00:12:36,380 305 00:12:36,380 --> 00:12:37,730 அடுக்கிற்கு என்ன பயன்? 306 00:12:37,730 --> 00:12:39,320 >> அப்படியா? 307 00:12:39,320 --> 00:12:40,000 >> செயல்பாடு அழைப்பு. 308 00:12:40,000 --> 00:12:42,890 நீங்கள் ஒரு செயல்பாடு என்று எந்த நேரத்தில், அது அதன் நினைவகம் பேருக்கு கொடுக்கப்பட்ட 309 00:12:42,890 --> 00:12:45,020 உள்ளூர் மாறிகள் அல்லது அதன் காரணிகள். 310 00:12:45,020 --> 00:12:48,810 மற்றும் pictorially, நாங்கள் பார்க்கிறோம் என்று ஒவ்வொன்றும் ஒரு தொடர்ச்சியான செயல்பாடு, என்று 311 00:12:48,810 --> 00:12:52,520 அழைப்புகளை பி அழைப்புகள் சி அழைப்புகள் டி, அவர்கள் ஸ்டாக் மீது அடுக்கியிருப்பது செய்து. 312 00:12:52,520 --> 00:12:55,630 மற்றும் அந்த துண்டுகள் ஒவ்வொரு க்குள் நினைவக அடிப்படையில் ஒரு தனிப்பட்ட நோக்கம் உள்ளது 313 00:12:55,630 --> 00:12:58,590 அந்த விழாவில், இது, நிச்சயமாக, நீங்கள் கையில் விரும்பினால் சிக்கல் உள்ளது 314 00:12:58,590 --> 00:13:01,850 ஒரு செயல்பாடு இருந்து மற்றொரு ஒரு துண்டு செய்ய நீங்கள் அதை விரும்பவில்லை என்று தரவு 315 00:13:01,850 --> 00:13:03,500 மாற்றம் செய் அல்லது மாற்ற. 316 00:13:03,500 --> 00:13:08,060 >> எனவே செயல்படுத்த எங்கள் தீர்வு என்ன ஒரு ஸ்டேக் மூலம் குறிப்பிடப்படுகின்றன ஒரு செயல்பாடு 317 00:13:08,060 --> 00:13:11,390 உள்ளே நினைவக மாற்ற சட்டத்திற்கு மற்றொரு ஸ்டேக் பிரேம்? 318 00:13:11,390 --> 00:13:14,590 எப்படி ஒருவர் அந்த இரண்டு பேச்சு செய்ய? 319 00:13:14,590 --> 00:13:18,510 எனவே சுட்டிகள் அல்லது முகவரிகள் மூலமாக, அங்கு இது, மீண்டும், நான் விவரிக்க 320 00:13:18,510 --> 00:13:22,280 ஒரு குறிப்பிட்ட நினைவக, மூலம் வழி கடி எண், குறிப்பாக 321 00:13:22,280 --> 00:13:23,830 மதிப்பு காணலாம். 322 00:13:23,830 --> 00:13:26,860 அதனால் தான் நாங்கள் தொடர்ந்து கடந்த முறை நினைவு ஒரு இடத்தில் கதை பார்த்து 323 00:13:26,860 --> 00:13:28,280 மிகவும் தரமற்ற திட்டம். 324 00:13:28,280 --> 00:13:32,900 இந்த திட்டம் ஒரு சில தரமற்ற உள்ளது காரணங்கள், ஆனால் மிகவும் கவலை ஒன்று 325 00:13:32,900 --> 00:13:34,620 அது என்ன சரிபார்க்க முடியவில்லை, ஏனெனில்? 326 00:13:34,620 --> 00:13:39,111 327 00:13:39,111 --> 00:13:40,450 >> ஆமாம், அது உள்ளீடு சரிபார்க்க முடியவில்லை. 328 00:13:40,450 --> 00:13:41,870 மன்னிக்கவும்? 329 00:13:41,870 --> 00:13:43,880 >> 12 எழுத்துக்களை விட இருந்தால். 330 00:13:43,880 --> 00:13:47,260 மிகவும் புத்திசாலித்தனமாக, memcopy அழைக்கும் போது, இது, பெயர் குறிப்பிடுவதை போல, வெறும் 331 00:13:47,260 --> 00:13:50,630 அதன் இரண்டாவது வாதம் இருந்து பிரதிகள் நினைவகம் அதன் முதல் விவாதத்தில். 332 00:13:50,630 --> 00:13:54,730 மூன்றாவது வாதம், மிகவும் நன்றாக உள்ளது, நீங்கள் இல்லை என்று சோதிக்க 333 00:13:54,730 --> 00:13:59,400 இந்த வழக்கில், நீளம் அதிகமாக நகலெடுக்க பார், எழுத்துக்கள் எண்ணிக்கை, 334 00:13:59,400 --> 00:14:03,810 இலக்கு நோக்கி, இந்த உள்ளது வரிசை சி ஆனால் பிரச்சனை என்று 335 00:14:03,810 --> 00:14:07,230 சி தன்னை போதுமான பெரிய இல்லை என்றால் என்று கையாள? 336 00:14:07,230 --> 00:14:09,900 நீங்கள் எண்ணிக்கை நகலெடுக்க போகிறோம் நீங்கள் கொடுக்கப்பட்டுள்ளது என்று பைட்டுகள். 337 00:14:09,900 --> 00:14:13,040 ஆனால் நீங்கள் உண்மையில் இன்னும் என்ன வேண்டும் நீங்கள் அறை விட பைட்டுகள்? 338 00:14:13,040 --> 00:14:16,770 >> சரி, இந்த திட்டம் மிகவும் முட்டாள் தனமாக தான் கண்மூடித்தனமாக அது என்ன எடுத்து செல்கிறான் 339 00:14:16,770 --> 00:14:20,650 கொடுக்கப்பட்ட, ஹலோ பின்சாய்வுக்கோடானது 0 சரம் குறுகிய பெரும் என்றால் 340 00:14:20,650 --> 00:14:22,040 போதும், ஐந்து எழுத்துகள் போன்ற. 341 00:14:22,040 --> 00:14:26,470 ஆனால் உண்மையில் 12 எழுத்துக்கள் தான் அல்லது 1,200 எழுத்துக்கள், நாம் கடந்த முறை பார்த்தேன் 342 00:14:26,470 --> 00:14:29,380 நீங்கள் முற்றிலும் போகிறோம் என்று நினைவக மேலெழுதும் என்று 343 00:14:29,380 --> 00:14:30,470 உனக்கு சொந்தம் இல்லை. 344 00:14:30,470 --> 00:14:34,390 மற்றும் மோசமான நிலை, நீங்கள் மேலெழுதும் என்று நாம் என்று அங்கு சிவப்பு பகுதி 345 00:14:34,390 --> 00:14:35,380 முகவரி திரும்பி - 346 00:14:35,380 --> 00:14:38,370 இது தான் அங்கு கணினி தானாக, நீங்கள், பின்னால் 347 00:14:38,370 --> 00:14:43,130 விட்டு காட்சிகளை, tucks ஒரு 32 பிட் மதிப்பு என்று அது என்ன முகவரி அது நினைவூட்டுகிறது 348 00:14:43,130 --> 00:14:47,080 திரும்ப போது foo, இந்த மற்ற செயல்பாடு, இயக்கும் செய்யப்படுகிறது. 349 00:14:47,080 --> 00:14:49,320 அதை வகையான ஒரு ரொட்டி ரொட்டிதுணுக்கு தான் இது கொடுக்கிறது. 350 00:14:49,320 --> 00:14:52,490 நீங்கள், திறன், அந்த மேலெழுதும் என்றால் நீங்கள் கெட்ட பையன் என்றால், முடியும் என்று 351 00:14:52,490 --> 00:14:54,750 சாத்தியமுள்ள எடுத்துக்கொள்ள ஒருவரின் கணினி. 352 00:14:54,750 --> 00:14:58,020 நீங்கள் மிகவும் உறுதியாக தருகிறேன் பெரும்பாலான சந்தர்ப்பங்களில் அதை செயலிழக்க. 353 00:14:58,020 --> 00:15:01,690 >> இப்போது இந்த சிக்கல் அதிகரித்துள்ளது நாம் நினைவக பற்றி பேச ஆரம்பித்துவிட்டார்கள் என 354 00:15:01,690 --> 00:15:03,010 பொதுவாக மேலாண்மை. 355 00:15:03,010 --> 00:15:07,150 மற்றும் malloc, நினைவக ஒதுக்கீடு, ஒரு நாம் ஒதுக்க முடியும் என்று செயல்பாடு 356 00:15:07,150 --> 00:15:11,260 நாங்கள் முன்கூட்டியே தெரியாது போது நினைவகம் நாம் சில வேண்டும் என்று. 357 00:15:11,260 --> 00:15:13,960 அதனால், உதாரணமாக, நான் திரும்பி சென்றால் இங்கே உபயோகப்பொருள் வேண்டும். 358 00:15:13,960 --> 00:15:21,010 நான், கடந்த முறை hello2.c இருந்து திறந்து பார்த்து இது இங்கே இந்த திட்டம், நினைவு 359 00:15:21,010 --> 00:15:23,500 இது போன்ற ஒரு சிறிய ஒன்று, மூன்று கோடுகள் - 360 00:15:23,500 --> 00:15:27,940 உங்கள் பெயர், பின்னர் சரம் பெயர், மாநில இடது, getstring சமம். 361 00:15:27,940 --> 00:15:29,690 பின்னர் நாம், அதை அச்சிட பயனர் பெயர். 362 00:15:29,690 --> 00:15:31,170 >> இந்த ஒரு சூப்பர் எளிய நிரல் இருந்தது. 363 00:15:31,170 --> 00:15:34,870 தெளிவாக இருக்கும், எனக்கு முன்னே செல்லலாம் மேலும் ஹலோ-2 செய்ய. 364 00:15:34,870 --> 00:15:36,680 நான் டாட் சாய்வு ஹலோ-2 செய்ய போகிறேன். 365 00:15:36,680 --> 00:15:37,750 உங்கள் பெயரை குறிப்பிட - 366 00:15:37,750 --> 00:15:38,140 டேவிட். 367 00:15:38,140 --> 00:15:38,840 உள்ளிடவும். 368 00:15:38,840 --> 00:15:39,540 டேவிட் வணக்கம். 369 00:15:39,540 --> 00:15:41,060 அதை சரி செய்ய தெரிகிறது. 370 00:15:41,060 --> 00:15:43,140 ஆனால் என்ன உண்மையில் நடக்கிறது இங்கே தொப்பி கீழே? 371 00:15:43,140 --> 00:15:44,670 முதல் நாம் சில அடுக்குகள் தலாம். 372 00:15:44,670 --> 00:15:48,380 சரம் நமக்கு ஒரு பொருளாகும் என்ன உணர்ந்து? 373 00:15:48,380 --> 00:15:49,110 சார் நட்சத்திரம். 374 00:15:49,110 --> 00:15:52,740 எனவே அது இன்னும் சிறிது கமுக்கமான செய்யலாம் ஆனால் இன்னும் தொழில்நுட்ப சரியான இந்த என்று 375 00:15:52,740 --> 00:15:55,570 அதாவது ஒரு எரிப்பதை நட்சத்திரம், இருக்கிறது பெயர், ஆம், ஒரு மாறி உள்ளது. 376 00:15:55,570 --> 00:15:59,920 ஆனால் என்ன பெயர் கடைகளில் முகவரி ஒரு சிறிய விநோதமாக ஒரு எரிப்பதை, 377 00:15:59,920 --> 00:16:01,050 நான் ஒரு சரம் திரும்ப பெற காரணம். 378 00:16:01,050 --> 00:16:03,580 நான் பல வருகிறது எழுத்துகள் ஒரு எரிப்பதை இல்லை. 379 00:16:03,580 --> 00:16:07,400 >> ஆனால் நிச்சயமாக, நீங்கள் மட்டுமே முதல் வேண்டும் நினைவில் எரிப்பதை முகவரி எங்கே 380 00:16:07,400 --> 00:16:08,870 ஏனெனில் ஏன் முழு சரம்? 381 00:16:08,870 --> 00:16:12,700 நீங்கள் எப்படி கண்டுபிடிக்க செய்ய முடிவு சரம் தொடக்கத்தில் தெரிந்தும்? 382 00:16:12,700 --> 00:16:13,630 பின்சாய்வுக்கோடானது பூஜ்யம். 383 00:16:13,630 --> 00:16:17,260 அதனால் அந்த இரண்டு துப்பு நீங்கள் கண்டுபிடிக்க தொடக்கத்தில் மற்றும் இறுதிக்குள் 384 00:16:17,260 --> 00:16:20,280 எந்த சரம் அவர்கள் மிகவும் நீண்ட, இருக்கிறது சரியாக உள்ள அமைக்கப்பட்டது 385 00:16:20,280 --> 00:16:22,110 டெர்மினேட்டர், அந்த பின்சாய்வுக்கோடானது பூஜ்யம். 386 00:16:22,110 --> 00:16:24,520 >> ஆனால் இந்த getstring அழைக்கிறார். 387 00:16:24,520 --> 00:16:28,020 மற்றும் அது getstring மாறிவிடும் அனைத்து இந்த நேரம் வகையான வருகிறது 388 00:16:28,020 --> 00:16:28,820 நமக்கு துரோகம். 389 00:16:28,820 --> 00:16:32,460 அது, நிச்சயமாக இருக்கும், இந்த தொழிலாளர் செய்து பயனர் ஒரு சரம் பெற. 390 00:16:32,460 --> 00:16:34,580 ஆனால் அந்த நினைவு எங்கே வரும்? 391 00:16:34,580 --> 00:16:38,440 நாங்கள் இங்கே படத்தை மீண்டும் சென்று என்றால் ஒரு இருந்து வரையறை விண்ணப்பிக்க 392 00:16:38,440 --> 00:16:42,610 நேரம் முன்பு, அந்த ஸ்டேக் எங்கே செயல்பாடுகள் என்று அழைக்கப்படும் போது நினைவகம், செல்கிறது 393 00:16:42,610 --> 00:16:45,370 என்று தர்க்கம் மூலம், நீங்கள் getstring அழைக்க போது, பின்னர் நான் தட்டச்சு 394 00:16:45,370 --> 00:16:50,900 D-A-V-i-D, Enter எங்கே D-A-V-i-D பின்சாய்வுக்கோடானது பூஜ்யம் அடிப்படையில், சேமிக்கப்படும் 395 00:16:50,900 --> 00:16:53,480 கதையை நாம் இதுவரை எங்களிடம்? 396 00:16:53,480 --> 00:16:55,190 >> அது போல் என்று ஸ்டாக், சரியான? 397 00:16:55,190 --> 00:16:58,120 நீங்கள் சரம் கிடைக்கும் என்று நீங்கள் ஒரு get ஸ்டாக் நினைவகத்தை சிறிய துண்டு. 398 00:16:58,120 --> 00:17:01,630 எனவே அது D-A-V-i-D காரணங்கள் உள்ளது பின்சாய்வுக்கோடானது பூஜ்யம் சேமிக்கப்படுகிறது 399 00:17:01,630 --> 00:17:02,770 அங்கு அடுக்கில். 400 00:17:02,770 --> 00:17:07,680 ஆனால் மீண்டும் getstring, ஒரு நிமிடம் அந்த சரம், அதனால் பேச, அதாவது 401 00:17:07,680 --> 00:17:11,700 இது உணவு விடுதியில் இருந்து தட்டில் தான் ஸ்டாக் எடுத்து வருகிறது. 402 00:17:11,700 --> 00:17:14,560 மற்றும் நாம் விரைவில் ஒரு கடந்த கால கூறினார் விழாவில் வருமானம், மற்றும் நீங்கள் எடுக்க 403 00:17:14,560 --> 00:17:20,109 ஸ்டாக் இனிய தட்டில், அதனால் பேச, என்ன நீங்கள் எச்சங்கள் பற்றி நினைத்து கொள்ளலாம் 404 00:17:20,109 --> 00:17:21,819 அந்த நினைவு? 405 00:17:21,819 --> 00:17:25,160 நான் அப்படி கேள்வி மதிப்பெண்கள் அவற்றை redrew அவர்கள் திறம்பட ஆக காரணம் 406 00:17:25,160 --> 00:17:26,250 தெரியவில்லை மதிப்புகள். 407 00:17:26,250 --> 00:17:29,500 போது சில அவர்கள் பயன்படுத்தும் அடுத்த செயல்பாடு என்று அழைக்கப்படுகிறது. 408 00:17:29,500 --> 00:17:31,870 >> வேறுவிதமாக கூறினால், நாம் நடக்க வேண்டும் சேமிக்க வேண்டும் - 409 00:17:31,870 --> 00:17:34,350 நான் ஒரு விரைவான படம் வரைய வேண்டும் இங்கே அடுக்கை. 410 00:17:34,350 --> 00:17:38,690 நாங்கள் கீழே வரைய வேண்டும் நடக்க என்றால் என் நினைவக பிரிவு, மற்றும் நாம் சொல்ல வேண்டும் 411 00:17:38,690 --> 00:17:42,230 இந்த நினைவு இடத்தில் உள்ளது முக்கிய மற்றும் ஒருவேளை ARG கேட்ச் மற்றும் ஆக்கிரமிக்கப்பட்டு 412 00:17:42,230 --> 00:17:46,790 ARG V திட்டத்தில் வேறு எதையும், getstring அழைக்கப்படும் போது, 413 00:17:46,790 --> 00:17:51,120 முன்கூட்டிய getstring பெறுகிறார் இங்கே நினைவக ஒரு துண்டின். 414 00:17:51,120 --> 00:17:53,940 பின்னர் D-A-V-i-D எப்படியோ இந்த விழாவில் நிறைவடைகிறது. 415 00:17:53,940 --> 00:17:55,320 நான் oversimplify போகிறேன். 416 00:17:55,320 --> 00:18:00,050 ஆனால் அது கருதி நாம் அதன் D-A-V-i-D என்று பின்சாய்வுக்கோடானது பூஜ்யம். 417 00:18:00,050 --> 00:18:03,500 இந்த பல பைட்டுகள் பயன்படுத்தப்படுகின்றன getstring ஐந்து சட்டம். 418 00:18:03,500 --> 00:18:08,270 >> ஆனால் விரைவில் getstring வருமானம் என நாம் கடந்த முறை என்று இந்த நினைவகம் 419 00:18:08,270 --> 00:18:11,340 இங்கு அனைத்து ஆகிறது - woops! - 420 00:18:11,340 --> 00:18:14,270 அனைத்து திறம்பட அழித்து விடுகிறது. 421 00:18:14,270 --> 00:18:17,220 நாம் கேள்வி இப்போது இந்த யோசிக்க முடியும் மதிப்பெண்கள் தெரியும் யார் காரணம் 422 00:18:17,220 --> 00:18:18,720 என்ன என்று நினைவகம் ஆக நடக்கிறது. 423 00:18:18,720 --> 00:18:22,130 உண்மையில், நான் அடிக்கடி செயல்பாடுகளை அழைக்க getstring வேறு. 424 00:18:22,130 --> 00:18:24,750 மற்றும் விரைவில் நான் வேறு சில அழைக்க என getstring விட செயல்பாடு, ஒருவேளை இல்லை 425 00:18:24,750 --> 00:18:28,860 நாம் பார்த்து இந்த குறிப்பிட்ட திட்டம் ஆனால் வேறு சில, நிச்சயமாக வேறு சில நேரத்தில் 426 00:18:28,860 --> 00:18:34,180 விழாவில் வழங்கப்பட்ட கூடும் ஸ்டாக் இந்த அடுத்த இடத்தில். 427 00:18:34,180 --> 00:18:39,410 >> அதனால் அந்த getstring கடைகளில் இருக்க முடியாது ஸ்டாக் உள்ள D-A-V-i-D நான் ஏனெனில் 428 00:18:39,410 --> 00:18:41,040 உடனடியாக அதை அணுக இழக்க. 429 00:18:41,040 --> 00:18:43,720 ஆனால் நாம் அவர்கள் getstring தெரியும் மட்டுமே என்ன கொடுக்கிறது? 430 00:18:43,720 --> 00:18:47,220 அது திரும்பி எனக்கு ஆறு எழுத்துக்கள். 431 00:18:47,220 --> 00:18:51,090 இது உண்மையிலேயே என்ன திரும்பி வருகிறார் நாம் கடந்த முறை முடிவுக்கு? 432 00:18:51,090 --> 00:18:52,480 முதல் முகவரி. 433 00:18:52,480 --> 00:18:56,650 எனவே எப்படியாவது, நீங்கள் getstring என போது, இது நினைவகம் ஒரு துண்டின் ஒதுக்கீடு 434 00:18:56,650 --> 00:18:59,620 சரம் பயனர்கள் வகை மற்றும் அது பின்னர் திரும்பி முகவரி. 435 00:18:59,620 --> 00:19:02,930 அதை நீங்கள் எப்போது வேண்டும் என்று மாறிவிடும் இந்த நினைவகத்தை ஒதுக்க செயல்பட 436 00:19:02,930 --> 00:19:08,390 வழி மற்றும் எனப்படும் நபர் திரும்ப அந்த விழாவில், முகவரி 437 00:19:08,390 --> 00:19:11,870 நினைவகம் என்று துண்டின், நீங்கள் முற்றிலும் மணிக்கு ஸ்டேக் அதை வைக்க முடியாது 438 00:19:11,870 --> 00:19:14,750 கீழே, ஏனெனில் செயல்படவில்லை இது தான் மிக உன் ஆக போகிறது 439 00:19:14,750 --> 00:19:17,800 விரைவில், அதனால் ஒருவேளை நீங்கள் யூகிக்க முடியும் நாம் அநேகமாக அது டாஸில் போகிறோம் 440 00:19:17,800 --> 00:19:20,130 அதற்கு பதிலாக, என்று அழைக்கப்படும் குவியல். 441 00:19:20,130 --> 00:19:25,290 >> எனவே உங்கள் நினைவகத்தில் கீழே இடையே அமைப்பு மற்றும் உங்கள் நினைவகத்தில் மேல் 442 00:19:25,290 --> 00:19:26,820 அமைப்பு பிரிவுகளில் ஒரு மொத்தமாக இருக்கிறது. 443 00:19:26,820 --> 00:19:29,270 ஒரு அடுக்கு, மற்றும் உரிமை அதை மேலே குவியல் உள்ளது. 444 00:19:29,270 --> 00:19:33,680 மற்றும் குவியல் தான் ஒரு வித்தியாசமான துண்டின் உள்ளது செயல்பாடுகளை பயன்படுத்த வேண்டாம் என்று நினைவு 445 00:19:33,680 --> 00:19:34,770 அவர்கள் அழைக்கப்படும் போது. 446 00:19:34,770 --> 00:19:38,100 அது போது, நீண்ட கால நினைவாற்றல் பயன்படுத்தப்படும் நீங்கள் ஒரு செயல்பாடு சில அடைய வேண்டும் 447 00:19:38,100 --> 00:19:42,700 நினைவகம் மற்றும் அதை முடிக்க முடியும் அது கட்டுப்பாட்டை இழந்து இல்லாமல். 448 00:19:42,700 --> 00:19:45,550 >> இப்போது நீங்கள் ஒருவேளை உடனடியாக முடியவில்லை இந்த என்பதை பார்க்க 449 00:19:45,550 --> 00:19:48,060 ஒரு சரியான வடிவமைப்பு அமைய. 450 00:19:48,060 --> 00:19:51,350 உங்கள் நிகழ்ச்சியில் நினைவக ஒதுக்கீடு போன்ற ஸ்டாக், அல்லது நீங்கள் அழைக்க என மேலும் 451 00:19:51,350 --> 00:19:55,540 இன்னும் செயல்பாடுகளை, அல்லது நீங்கள் ஒதுக்க போன்ற என இனிய malloc கொண்ட குவியல் மீது நினைவகம் 452 00:19:55,540 --> 00:20:00,690 getstring செய்து, என்ன தெளிவாக தவிர்க்க முடியாத பிரச்சனை இருக்கிறது? 453 00:20:00,690 --> 00:20:00,860 >> வலது. 454 00:20:00,860 --> 00:20:03,150 உண்மையில் போல் இந்த அம்புகள் ஒருவரை ஒருவர் சுட்டிக்காட்டும் 455 00:20:03,150 --> 00:20:04,380 நன்றாக போடு இல்லை. 456 00:20:04,380 --> 00:20:08,630 உண்மையில், நாங்கள் மிகவும் விரைவாக செயலிழக்க முடியும் வழிகளில் எந்த எண்ணை ஒரு திட்டம். 457 00:20:08,630 --> 00:20:12,050 உண்மையில், நான் வேண்டும் என்று இந்த தற்செயலாக ஒரு முறை செய்து. 458 00:20:12,050 --> 00:20:14,020 அல்லது இல்லை என்றால், அதை செய்வோம் வேண்டுமென்றே இப்போது. 459 00:20:14,020 --> 00:20:21,330 எனக்கு முன்னால் சென்று விரைவில் சூப்பர் எழுத ஒரு திட்டம் dontdothis.c என்று. 460 00:20:21,330 --> 00:20:26,730 இப்போது நான் இங்கே சென்று வருகிறேன் கூர்மையான stdio.h அடங்கும். 461 00:20:26,730 --> 00:20:32,620 விழாவில் foo எடுத்து அறிவிக்க நாம் இல்லை வாதங்கள், இது 462 00:20:32,620 --> 00:20:34,040 நிரப்பப்படாத நன்கு என குறிக்கப்படுகிறது. 463 00:20:34,040 --> 00:20:37,830 >> மற்றும் foo செய்ய போகிறது மட்டும் தான் அநேகமாக இல்லை இது அழைப்பு foo, 464 00:20:37,830 --> 00:20:39,100 புத்திசாலியான யோசனை, ஆனால் அது இருக்கும். 465 00:20:39,100 --> 00:20:40,490 ENT முக்கிய வெற்றிடத்தை. 466 00:20:40,490 --> 00:20:45,270 இப்போது முக்கிய போகிறது மட்டும் தான் செய்ய அத்துடன் foo அழைக்கிறது. 467 00:20:45,270 --> 00:20:51,050 மற்றும் கிக்ஸ், நான் போக போகிறேன் முன்னால் இங்கே இருந்து ஹலோ "printf சொல்ல 468 00:20:51,050 --> 00:20:52,340 foo. " 469 00:20:52,340 --> 00:20:52,890 >> சரி. 470 00:20:52,890 --> 00:21:00,160 நான் எந்த தவறும் செய்ய வில்லை என்றால், Dontdothis டாட் சாய்வு செய்ய. 471 00:21:00,160 --> 00:21:01,960 மற்றும் நாம் ஒரு பெரிய சாளரத்தில் அதை செய்ய - 472 00:21:01,960 --> 00:21:03,210 டாட் சாய்வு, dontdothis. 473 00:21:03,210 --> 00:21:07,590 474 00:21:07,590 --> 00:21:08,840 வா. 475 00:21:08,840 --> 00:21:10,940 476 00:21:10,940 --> 00:21:11,890 அச்சச்சோ. 477 00:21:11,890 --> 00:21:13,100 வெளிப்படையாக, நீங்கள் இதை செய்ய முடியும். 478 00:21:13,100 --> 00:21:15,190 அடக்கடவுளே. 479 00:21:15,190 --> 00:21:16,190 சரி. 480 00:21:16,190 --> 00:21:16,580 காத்திருக்கவும். 481 00:21:16,580 --> 00:21:17,370 நிற்க. 482 00:21:17,370 --> 00:21:18,270 நாங்கள் செய்தது - 483 00:21:18,270 --> 00:21:20,110 நாம் செய்ய அதை பயன்படுத்த. 484 00:21:20,110 --> 00:21:22,050 >> [SIGHS] 485 00:21:22,050 --> 00:21:25,110 >> எனக்கு தெரியும், ஆனால் நான் நினைக்கிறேன் அந்த நீக்கப்பட்டது. 486 00:21:25,110 --> 00:21:28,410 ஓ, அப்படியா. 487 00:21:28,410 --> 00:21:30,660 அடக்கடவுளே. 488 00:21:30,660 --> 00:21:32,640 இந்த ராப் தீர்க்க. 489 00:21:32,640 --> 00:21:34,678 என்ன? 490 00:21:34,678 --> 00:21:35,928 அது மிகவும் எளிது. 491 00:21:35,928 --> 00:21:43,820 492 00:21:43,820 --> 00:21:47,360 ஆமாம், நாங்கள் தேர்வுமுறை அணைக்கப்பட்டது. 493 00:21:47,360 --> 00:21:48,970 சரி, பாய் நிற்க. 494 00:21:48,970 --> 00:21:49,950 இப்போது நான் நன்றாக உணர்கிறேன். 495 00:21:49,950 --> 00:21:51,390 சரி. 496 00:21:51,390 --> 00:21:51,780 சரி. 497 00:21:51,780 --> 00:21:53,430 >> எனவே இந்த மீள்தொகுப்பானது நாம் - 498 00:21:53,430 --> 00:21:55,880 நீங்கள் dontdothis செய்ய. 499 00:21:55,880 --> 00:22:00,090 நீங்கள் இந்த மறுபெயர் வேண்டும் ஒரு நொடியில் dothis.c. 500 00:22:00,090 --> 00:22:00,710 அங்கு நாம். 501 00:22:00,710 --> 00:22:01,240 நன்றி. 502 00:22:01,240 --> 00:22:02,050 சரி. 503 00:22:02,050 --> 00:22:05,480 அதனால் நான் அச்சிடும் என்று உண்மையில் ஏதாவது ஒரு உண்மையில் இருந்தது 504 00:22:05,480 --> 00:22:08,150 செயல்முறை குறைந்து, இதன் மூலம் நாம் அந்த போயிருப்பேன். 505 00:22:08,150 --> 00:22:08,510 சரி. 506 00:22:08,510 --> 00:22:08,870 ப்பூ! 507 00:22:08,870 --> 00:22:11,180 >> என்ன உண்மையில் நடக்கிறது? 508 00:22:11,180 --> 00:22:14,440 ஒரு ஒதுக்கி அங்கு காரணம்,, என்பது உள்ளீடு வகையில் எதையும் செய்து 509 00:22:14,440 --> 00:22:17,270 வெளியீடு மெதுவாக இருக்கும், ஏனெனில் நீங்கள் பாத்திரங்களை எழுத வேண்டும் 510 00:22:17,270 --> 00:22:18,600 திரையில், இது உருட்டும் வேண்டும். 511 00:22:18,600 --> 00:22:21,720 எனவே நீண்ட கதை குறுகிய, நான் உண்மையில் இருந்தது மிகவும் பொறுமையிழந்து நடந்தது, நாம் வேண்டும் 512 00:22:21,720 --> 00:22:23,260 அத்துடன் இந்த முடிவு காணப்படும். 513 00:22:23,260 --> 00:22:26,220 நான் அச்சு அப்களை ஒரு சவாரி கிடைத்தது, இப்போது அந்த நாம் இப்போதே அதை பார்க்க. 514 00:22:26,220 --> 00:22:28,410 ஏன் இப்படி நடக்கிறது. 515 00:22:28,410 --> 00:22:31,300 சரி, நிச்சயமாக எளிமையான விளக்கம்,, என்று foo தராது வேண்டும் 516 00:22:31,300 --> 00:22:32,500 தன்னை அழைத்து வேண்டும். 517 00:22:32,500 --> 00:22:34,470 >> இப்போது பொதுவான வார்த்தைகள், இந்த மறுநிகழ்வு உள்ளது. 518 00:22:34,470 --> 00:22:36,970 நாம் ஒரு ஜோடி வாரங்கள் நினைத்தேன் முன்பு குவிப்பு நல்லது. 519 00:22:36,970 --> 00:22:40,330 மறுநிகழ்வு இந்த மந்திர வழி கினார் சூப்பர் உங்களை வெளிப்படுத்தும். 520 00:22:40,330 --> 00:22:41,400 இது இயங்குகிறது. 521 00:22:41,400 --> 00:22:45,060 ஆனால் அனைத்து முக்கிய அம்சம் இருக்கிறது நாம் பேசிவிட்டீர்கள் சுழல் திட்டங்கள் 522 00:22:45,060 --> 00:22:48,260 பற்றி பார்த்து இதுவரை, எந்த அவர்கள் என்ன நேர்ந்தது? 523 00:22:48,260 --> 00:22:52,610 சில வன் குறியீட்டு இது ஒரு அடிப்படை விஷயத்தில், சில சூழ்நிலைகளில் என்று வழக்கு 524 00:22:52,610 --> 00:22:56,210 தெளிவாக இது foo, அழைக்க வேண்டாம் இங்கு வழக்கு. 525 00:22:56,210 --> 00:22:58,920 >> என்ன உண்மையில் நடக்கிறது இந்த படத்தை பொறுத்தவரை? 526 00:22:58,920 --> 00:23:01,790 நன்றாக, போது முக்கிய foo, அது அழைப்பு நினைவகம் ஒரு துண்டு பெறுகிறது. 527 00:23:01,790 --> 00:23:04,150 Foo foo அழைத்தால், அதை பெறுகிறார் நினைவகம் ஒரு துண்டு. 528 00:23:04,150 --> 00:23:06,430 Foo foo அழைத்தால், அது ஒரு துண்டு பெறுகிறது. 529 00:23:06,430 --> 00:23:07,080 அது ஒரு துண்டு பெறுகிறது. 530 00:23:07,080 --> 00:23:08,120 அது ஒரு துண்டு பெறுகிறது. 531 00:23:08,120 --> 00:23:09,460 Foo திரும்பி ஏனெனில். 532 00:23:09,460 --> 00:23:12,160 நாங்கள் அந்த ஒரு அழித்தலை ஸ்டாக் இருந்து பிரேம்கள். 533 00:23:12,160 --> 00:23:15,930 எனவே, குவியல் மூலம் ஊதுகிறாய் யார் என்ன வேறு தெரியும், மற்றும் குறிப்பிட 534 00:23:15,930 --> 00:23:19,600 நாம் ஒரு எல்லைக்கு overstepping நினைவக பகுதி என்று அழைக்கப்படும். 535 00:23:19,600 --> 00:23:21,790 பிரிவு தவறான சென்று பிழை. 536 00:23:21,790 --> 00:23:24,110 >> அதனால் தான் தீர்வு தெளிவாக இதை செய்யாதே. 537 00:23:24,110 --> 00:23:28,830 ஆனால் பெரிய சம்மந்த என்று, ஆம், இல்லை முற்றிலும் சில எல்லை இல்லை 538 00:23:28,830 --> 00:23:32,470 இது எப்படி, வரையறுக்கப்பட்ட கூட நீங்கள் ஒரு அழைக்க முடியும் பல செயல்பாடுகளை 539 00:23:32,470 --> 00:23:34,970 திட்டம், எத்தனை முறை ஒரு செயல்பாடு தன்னை அழைக்க முடியும். 540 00:23:34,970 --> 00:23:38,430 நாம் மறுநிகழ்வு போதிக்க செய்தது கூட இந்த முக்கியமான மந்திர விஷயம் ஒரு 541 00:23:38,430 --> 00:23:41,870 சிக்மா ஐந்து முன்பு வாரங்கள் ஜோடி செயல்பாடு, மற்றும் போது நாங்கள் தரவு கிடைக்கும் 542 00:23:41,870 --> 00:23:45,270 கட்டமைப்புகள் மற்றும் CS50, நீங்கள் மற்ற பார்க்கிறேன் இது விண்ணப்பங்கள், அது இல்லை 543 00:23:45,270 --> 00:23:46,500 அவசியம் சிறந்த விஷயம். 544 00:23:46,500 --> 00:23:50,070 ஒரு விழாவில் தன்னை அழைக்கும், ஏனென்றால், ஒரு அடிப்படை இருக்கிறது என்றால், தன்னை அழைப்பு 545 00:23:50,070 --> 00:23:54,860 வழக்கு, நீங்கள் அடிப்படை வழக்கு ஹிட் என்றால் 1,000 அழைப்புகள் அல்லது 10,000 அழைப்புகள், மூலம் 546 00:23:54,860 --> 00:23:58,800 நீங்கள் அறையில் ரன் அவுட் என்று நேரம் உங்கள் அழைக்கப்படும் ஸ்டேக் மற்றும் வெற்றி பற்றி 547 00:23:58,800 --> 00:24:00,400 நினைவகம் வேறு சில பிரிவுகளை. 548 00:24:00,400 --> 00:24:03,950 அது ஒரு வடிவமைப்பு வர்த்தக பரிமாற்றம் ஆகும் நேர்த்தியுடன் இடையே இடையே 549 00:24:03,950 --> 00:24:06,920 உங்கள் குறிப்பிட்ட உறுதித்தன்மை செயல்படுத்தல். 550 00:24:06,920 --> 00:24:10,780 >> எனவே மற்றொரு தீங்கு அல்லது இல்லை நமக்கு என்ன மற்றொரு gotcha 551 00:24:10,780 --> 00:24:11,720 இதுவரை செய்து. 552 00:24:11,720 --> 00:24:12,980 நான் getstring அழைத்த போது - 553 00:24:12,980 --> 00:24:15,120 எனக்கு ஹலோ-2 மீண்டும் செல்லலாம். 554 00:24:15,120 --> 00:24:18,170 , நான் getstring போன் செய்கிறேன் என்று பாருங்கள் இது ஒரு முகவரி திரும்பி வருகிறார். 555 00:24:18,170 --> 00:24:20,730 மற்றும் இன்று நாம் கூறும் அந்த முகவரி குவியல் இருந்து வருகிறது. 556 00:24:20,730 --> 00:24:24,480 இப்போது நான் வெளியே அச்சிடும் அந்த முகவரியில் சரம். 557 00:24:24,480 --> 00:24:27,000 ஆனால் நாம் என்று getstring எதிர். 558 00:24:27,000 --> 00:24:30,850 நாம் ஒரு செயல்பாடு calll வேண்டும் அங்கு நீங்கள் கையை திரும்ப ungetstring, 559 00:24:30,850 --> 00:24:31,610 என்று நினைவு. 560 00:24:31,610 --> 00:24:33,250 ஆனால் வெளிப்படையாக நாம் அநேகமாக இருந்திருக்க வேண்டும். 561 00:24:33,250 --> 00:24:37,390 ஏனெனில் நாம் கணினி கேட்டு கொள்கிறோம் என்றால் இப்படி ஒருவர் நினைவகத்தை, மூலம் வழி 562 00:24:37,390 --> 00:24:40,830 getstring ஆனால் நிச்சயமாக, அது திரும்ப கொடுக்க முடியாது அதுவும் வழிவகுக்கும் கட்டப்படுகிறது 563 00:24:40,830 --> 00:24:42,970 நாம் நினைவகம் ரன் அவுட் அதனால் பிரச்சினைகள். 564 00:24:42,970 --> 00:24:46,140 >> உண்மையில், இந்த ஐந்து பார்க்க முடியும் அதன் பயன்பாடு புதிய கருவி பிரச்சினைகள் 565 00:24:46,140 --> 00:24:47,640 தட்டச்சு செய்ய ஒரு சிறிய ரகசிய உள்ளது. 566 00:24:47,640 --> 00:24:50,960 ஆனால் எனக்கு முன்சென்று வரை ஸ்பிளாஸ் நாம் ஒரு நொடியில் திரையில். 567 00:24:50,960 --> 00:24:56,940 நான் போய் Valgrind இயக்க போகிறேன் அதன் முதல் கட்டளை அளவுருவான 568 00:24:56,940 --> 00:25:00,260 வரி வாதம் பெயர் அந்த திட்டம் ஹலோ-2. 569 00:25:00,260 --> 00:25:02,650 மற்றும் துரதிருஷ்டவசமாக அது வெளியீடு atrociously உள்ளது 570 00:25:02,650 --> 00:25:04,290 எந்த நல்ல காரணத்திற்காக சிக்கலான. 571 00:25:04,290 --> 00:25:06,280 அதனால் நாம் அனைவரும் அந்த குழப்பம் பார்க்க. 572 00:25:06,280 --> 00:25:07,530 டேவிட் என் பெயர் குறிப்பிட உள்ளது. 573 00:25:07,530 --> 00:25:09,760 அதனால் நிரல் உண்மையில் இயங்கும். 574 00:25:09,760 --> 00:25:11,180 இப்போது நாம் இந்த வெளியீடு கிடைக்கும். 575 00:25:11,180 --> 00:25:13,400 >> எனவே Valgrind ஒத்த GDB செய்ய ஆவி. 576 00:25:13,400 --> 00:25:14,950 இது தன்னிச்சையாக ஒரு பிழை இல்லை. 577 00:25:14,950 --> 00:25:16,270 ஆனால் அது ஒரு நினைவக சரிபார்ப்பு தான். 578 00:25:16,270 --> 00:25:20,140 இது உங்கள் ரன் என்று ஒரு திட்டம் இருக்கிறது நிரல் நீங்கள் கேட்டு நீங்கள் சொல்ல 579 00:25:20,140 --> 00:25:23,860 நினைவக கணினி மற்றும் ஒருபோதும் அதை ஒப்படைத்தார் மீண்டும், இதனால் நீங்கள் அந்த பொருள் 580 00:25:23,860 --> 00:25:24,570 ஒரு நினைவக கசிவு. 581 00:25:24,570 --> 00:25:26,240 மற்றும் நினைவு கசிவுகள் மோசமான இருக்க முனைகின்றன. 582 00:25:26,240 --> 00:25:29,120 நீங்கள் கணினி பயனர்கள் உள்ளது ஒருவேளை நீங்கள் என்பதை உணர்ந்தேன் 583 00:25:29,120 --> 00:25:30,300 Mac அல்லது ஒரு PC. 584 00:25:30,300 --> 00:25:33,730 நீங்கள் எப்போதும் உங்கள் கணினியில் பயன்படுத்தப்படும் மற்றும் பல துவக்கப்பட்டால் போது 585 00:25:33,730 --> 00:25:36,820 நாட்கள், அல்லது நீங்கள் நிறைய கிடைத்துவிட்டது இயங்கும் திட்டங்கள், மற்றும் மட்டமான விஷயம் 586 00:25:36,820 --> 00:25:42,360 ஒரு அரைக்கும் நிறுத்த தாமதப்படுத்தி, அல்லது குறைந்தது ஏனெனில் அது, பயன்படுத்த சூப்பர் எரிச்சலூட்டும் தான் 587 00:25:42,360 --> 00:25:44,350 எல்லாம் சூப்பர் மெதுவாக வந்தது. 588 00:25:44,350 --> 00:25:46,260 >> இப்போது அந்த காரணங்கள் பல இருக்க முடியும். 589 00:25:46,260 --> 00:25:49,600 இது ஒரு முடிவிலா சுழற்சியில், ஒரு பிழை இருக்க முடியும் ஒருவரின் குறியீடு, அல்லது, இன்னும் எளிமையாக, அதை 590 00:25:49,600 --> 00:25:53,250 நீங்கள் இன்னும் பயன்படுத்தி என்று நிரூபனமானால் உங்கள் விட நினைவகம், அல்லது முயற்சி, 591 00:25:53,250 --> 00:25:54,920 கணினி உண்மையில் உள்ளது. 592 00:25:54,920 --> 00:25:57,770 ஒருவேளை சில திட்டத்தில் ஒரு பிழை இருக்கிறது நினைவக கேட்டு வைக்க என்று. 593 00:25:57,770 --> 00:26:02,480 ஆண்டுகள் உலாவிகளில் பேர்போன இருந்தன இந்த, இன்னும் நினைவக கேட்டு 594 00:26:02,480 --> 00:26:03,870 ஆனால் அதை திரும்ப ஒப்படைத்தார். 595 00:26:03,870 --> 00:26:07,220 நிச்சயமாக, நீங்கள் ஒரு வரையறுக்கப்பட்ட இருந்தால் நினைவக அளவு, நீங்கள் கேட்க முடியாது 596 00:26:07,220 --> 00:26:09,990 இன்னும் எண்ணற்ற பல முறை அந்த நினைவு சில. 597 00:26:09,990 --> 00:26:13,070 >> அதனால் நீங்கள் கூட, இங்கே பார்க்க என்ன மீண்டும் Valgrind ஒரு வெளிப்பாடு ஆகும் 598 00:26:13,070 --> 00:26:17,490 ஏறெடுத்தும் பார்க்க வேண்டும் அனாவசியமாக சிக்கலான முதல், இந்த சுவாரஸ்யமான பகுதி. 599 00:26:17,490 --> 00:26:18,890 குவியல் - 600 00:26:18,890 --> 00:26:20,060 வெளியேறவும் பயன்பாட்டில். 601 00:26:20,060 --> 00:26:22,810 இங்கு எவ்வளவு நினைவகம் கேட்டேன் மணிக்கு குவியல் பயன்படுத்தப்பட்டது 602 00:26:22,810 --> 00:26:24,300 என் திட்டம் வெளியேறிவிட்டது - 603 00:26:24,300 --> 00:26:27,280 ஒரு தொகுதி ல் வெளிப்படையாக ஆறு பைட்டுகள். 604 00:26:27,280 --> 00:26:28,710 அதனால் நான் என் கைகளை அசைப்பது போகிறேன் என்ன ஒரு தொகுதி உள்ளது. 605 00:26:28,710 --> 00:26:31,270 மேலும், இது ஒரு துண்டின் இருக்கிறது என்று துண்டின் தொழில்நுட்ப சொல். 606 00:26:31,270 --> 00:26:33,140 ஆறு பைட்டுகள் ஆனால் - 607 00:26:33,140 --> 00:26:36,870 ஆறு பைட்டுகள் என்ன இன்றும் பயன்பாட்டில் இருந்தன? 608 00:26:36,870 --> 00:26:37,390 >> சரியாக. 609 00:26:37,390 --> 00:26:41,520 D-A-V-i-D பின்சாய்வுக்கோடானது பூஜ்ஜியம், ஐந்து கடிதம் பெயர் பிளஸ் உள்ள டெர்மினேட்டர். 610 00:26:41,520 --> 00:26:46,350 எனவே இந்த திட்டத்தை கவனித்தனர் Valgrind என்று நான் மூலம், வெளிப்படையாக, ஆறு பைட்டுகள் கேட்டார் 611 00:26:46,350 --> 00:26:48,950 getstring வழியில், ஆனால் ஒருபோதும் அவற்றை திரும்ப கொடுத்தது. 612 00:26:48,950 --> 00:26:52,030 உண்மையில், இது இருக்கலாம் என் திட்டம் மூன்று அல்ல வெளிப்படையாக என்றால் 613 00:26:52,030 --> 00:26:53,590 கோடுகள், ஆனால் இது 300 வரிகளை தான். 614 00:26:53,590 --> 00:26:56,920 நாம் உண்மையில் மற்றொரு கட்டளையை கொடுக்க முடியும் வரி வாதத்தை Valgrind செய்ய 615 00:26:56,920 --> 00:26:58,290 இது மிகவும் நீளமான செய்ய. 616 00:26:58,290 --> 00:26:59,760 அதை நினைவில் கொள்ள ஒரு சிறிய எரிச்சலூட்டும் இருக்கிறது. 617 00:26:59,760 --> 00:27:01,580 ஆனால் நான் செய்தால் - 618 00:27:01,580 --> 00:27:01,930 நாம் பார்ப்போம். 619 00:27:01,930 --> 00:27:03,540 கசிய - 620 00:27:03,540 --> 00:27:05,030 அதை கசிய - 621 00:27:05,030 --> 00:27:07,580 கூட எனக்கு ஞாபகம் இல்லை அது கையை என்ன. 622 00:27:07,580 --> 00:27:08,550 >> - கசிவு-காசோலை முழு சமம். 623 00:27:08,550 --> 00:27:10,180 இங்கும், நன்றி. 624 00:27:10,180 --> 00:27:12,520 - கசிவு-காசோலை முழு சமம். 625 00:27:12,520 --> 00:27:13,800 உள்ளிடவும். 626 00:27:13,800 --> 00:27:14,940 அதே இயங்குவதாக. 627 00:27:14,940 --> 00:27:16,180 மீண்டும் டேவிட் தட்டச்சு. 628 00:27:16,180 --> 00:27:17,660 இப்போது நான் இன்னும் கொஞ்சம் விரிவாக பார்க்க. 629 00:27:17,660 --> 00:27:20,890 ஆனால் குவியல் சுருக்கத்தை கீழே, இது நான்கு ஒத்ததாக உள்ளது - ஆ, 630 00:27:20,890 --> 00:27:22,120 இந்த நல்ல வகையான உள்ளது. 631 00:27:22,120 --> 00:27:25,460 இப்போது Valgrind உண்மையில் பார்க்க என் குறியீடு உள்ள கடினமான ஒரு சிறிய. 632 00:27:25,460 --> 00:27:29,580 இது, வெளிப்படையாக, என்று கூறுகிறார் வரியில் malloc - 633 00:27:29,580 --> 00:27:30,580 நாங்கள் வெளியே பெரிதாக்கவும். 634 00:27:30,580 --> 00:27:31,980 இந்த வரி - 635 00:27:31,980 --> 00:27:32,930 நாம் என்ன வரி பார்க்க வேண்டாம். 636 00:27:32,930 --> 00:27:35,110 ஆனால் malloc முதல் குற்றவாளி. 637 00:27:35,110 --> 00:27:38,630 Malloc ஒரு வலைப்பதிவு உள்ளது. 638 00:27:38,630 --> 00:27:39,810 >> சரி? 639 00:27:39,810 --> 00:27:40,450 சரி, இல்லை. 640 00:27:40,450 --> 00:27:40,940 வலது? 641 00:27:40,940 --> 00:27:42,520 நான் getstring என்று. 642 00:27:42,520 --> 00:27:44,460 getstring வெளிப்படையாக malloc அழைப்பு விடுக்கின்றது. 643 00:27:44,460 --> 00:27:47,800 அதனால் என்ன குறியீடு வரிசையில் வெளிப்படையாக உள்ளது கொண்ட தவறு 644 00:27:47,800 --> 00:27:49,050 இந்த நினைவக ஒதுக்கீடு? 645 00:27:49,050 --> 00:27:51,560 646 00:27:51,560 --> 00:27:55,540 நாம் யார் malloc எழுதியது என்று நினைத்து நீண்ட போதும், அது தான் சுற்றி வருகிறது 647 00:27:55,540 --> 00:27:56,390 அவர்களது தவறு. 648 00:27:56,390 --> 00:27:57,520 அது அநேகமாக என்னுடையது. 649 00:27:57,520 --> 00:28:02,000 cs50.c உள்ள getstring - ஒரு அதனால் கணினியில் எங்காவது தாக்கல் - 650 00:28:02,000 --> 00:28:05,210 வரிசையில் 286 குற்றவாளி என தெரிகிறது. 651 00:28:05,210 --> 00:28:08,140 இப்போது cs50 வருகிறது என்று கருதி நாம் எனவே நேரம் கண்ணியமான அளவு, சுற்றி 652 00:28:08,140 --> 00:28:09,720 நாம் தப்பில் விழாத உள்ளன. 653 00:28:09,720 --> 00:28:14,080 அதனால் அதை getstring உள்ள அநேகமாக இல்லை பிழை உள்ளது, ஆனால் மாறாக அந்த 654 00:28:14,080 --> 00:28:17,810 ஹலோ-2.c வரி 18. 655 00:28:17,810 --> 00:28:20,670 >> எனவே ஒரு பார்க்கலாம் அந்த வரிசையில் 18 என்ன. 656 00:28:20,670 --> 00:28:21,130 ஓ. 657 00:28:21,130 --> 00:28:27,130 எப்படியாவது இந்த வரி அவசியம் இல்லை தரமற்ற, இயல்பில், ஆனால் அதை காரணம் 658 00:28:27,130 --> 00:28:28,630 அந்த நினைவக கசிவு பின்னால். 659 00:28:28,630 --> 00:28:32,140 அதனால் சூப்பர் வெறுமனே, என்ன உள்ளுணர்வுரீதியில் என்று இங்கு தீர்வு? 660 00:28:32,140 --> 00:28:34,710 நாம் நினைவு கேட்கிறாய் என்றால், அவர்கள் அதை திரும்ப கொடுத்து, அந்த ஒரு தெரிகிறது 661 00:28:34,710 --> 00:28:37,940 பிரச்சனை காரணமாக நேரம் என் கணினி மீது நினைவகம் ரன் அவுட் என்று, மெதுவாக இருக்கும் 662 00:28:37,940 --> 00:28:42,110 கீழே, கெட்ட விஷயங்களை, நன்றாக, நடக்க கூடும் எளிய உள்ளுணர்வு தீர்வு என்ன? 663 00:28:42,110 --> 00:28:43,140 அதை திரும்ப கொடுக்க. 664 00:28:43,140 --> 00:28:44,770 >> எப்படி என்று நினைவு மிச்சப்படுத்த? 665 00:28:44,770 --> 00:28:49,970 நன்றாக, அதிர்ஷ்டவசமாக அது மிகவும் எளிது வெறும் இலவச பெயர் சொல்ல. 666 00:28:49,970 --> 00:28:51,260 நாம் முன்பு இதை. 667 00:28:51,260 --> 00:28:55,890 ஆனால் நீங்கள் அடிப்படையில் யோசிக்க முடியும் malloc எதிர் போன்ற இலவச. 668 00:28:55,890 --> 00:28:58,030 இலவச எதிரானது நினைவக ஒதுக்கீடு. 669 00:28:58,030 --> 00:28:59,540 எனவே இப்போது எனக்கு இந்த மீள்தொகுப்பானது நாம். 670 00:28:59,540 --> 00:29:02,050 ஹலோ-2 செய்ய. 671 00:29:02,050 --> 00:29:04,620 என்னை மீண்டும் இயக்க வேண்டும். ஹலோ-2 டேவிட். 672 00:29:04,620 --> 00:29:07,290 அது வேலை செய்ய தெரிகிறது அதே வழியில். 673 00:29:07,290 --> 00:29:11,180 ஆனால் நான் Valgrind திரும்பி சென்று மீண்டும் இயக்க வேண்டும் என் புதிதாக மீது அதே கட்டளை 674 00:29:11,180 --> 00:29:14,720 தொகுக்கப்பட்ட திட்டம், தட்டச்சு முன்பு என் பெயர் - 675 00:29:14,720 --> 00:29:15,370 நல்லவங்க. 676 00:29:15,370 --> 00:29:16,760 குவியல் சுருக்கம் - 677 00:29:16,760 --> 00:29:17,740 - வெளியேறவும் பயன்பாட்டில் 678 00:29:17,740 --> 00:29:19,370 பூஜ்யம் தொகுதிகள் பூஜ்யம் பைட்டுகள். 679 00:29:19,370 --> 00:29:21,840 இந்த சூப்பர் நல்ல, அனைத்து உள்ளது குவியல் தொகுதிகள் விடுதலை. 680 00:29:21,840 --> 00:29:23,480 எந்த கசிவை சாத்தியம். 681 00:29:23,480 --> 00:29:27,200 >> எனவே, பிரச்சனை இல்லை அமை 4, வரும் ஆனால் பிரச்சனை அமை 5, ஆய்வுத்துறை கொண்டு 682 00:29:27,200 --> 00:29:30,740 மற்றும் முன்னோக்கிய, இந்த ஒரு மாறும் உங்கள் சரியான அளவீடு 683 00:29:30,740 --> 00:29:33,630 நீங்கள் இல்லையா திட்டம், அல்லது நினைவு கசிவுகள் இல்லை. 684 00:29:33,630 --> 00:29:36,900 ஆனால் அதிர்ஷ்டவசமாக, நீங்கள் காரணம் இல்லை அவர்கள் உள்ளுணர்வுடன், இதன் மூலம் 685 00:29:36,900 --> 00:29:40,430 சிறிய திட்டங்கள் எளிதாக, விவாதிக்கக்கூடிய, ஆகிறது ஆனால் பெரிய திட்டங்கள் கடினமாக, 686 00:29:40,430 --> 00:29:43,860 , அந்த பெரிய திட்டங்கள், Valgrind நீங்கள் அடையாளம் உதவ முடியும் 687 00:29:43,860 --> 00:29:45,360 குறிப்பிட்ட பிரச்சனை. 688 00:29:45,360 --> 00:29:47,500 >> ஆனால் மற்றொரு பிரச்சனை என்று எழும் என்று. 689 00:29:47,500 --> 00:29:51,245 , இது, என்னை இங்கே இந்த கோப்பு திறந்து விட மீண்டும், ஒரு சற்றே எளிய உதாரணம். 690 00:29:51,245 --> 00:29:53,760 ஆனால் நாம் என்ன கவனம் இந்த திட்டம் இல்லை. 691 00:29:53,760 --> 00:29:55,190 இந்த memory.c அழைக்கப்படுகிறது. 692 00:29:55,190 --> 00:29:58,380 நாம் இந்த பிறகு இன்று பதிவு செய்கிறேன் இன்றைய மூல குறியீடு ZIP. 693 00:29:58,380 --> 00:30:01,610 நான் ஒரு விழாவில் என்று கவனிக்க வாதங்கள் மற்றும் எடுக்கும் என்று F 694 00:30:01,610 --> 00:30:02,800 எதுவும் கொடுக்கிறது. 695 00:30:02,800 --> 00:30:07,240 வரி 20 ல், நான் வெளிப்படையாக ஒரு பிரகடனம் ஒரு முழு எண்ணாக அது x அழைப்பு சுட்டிக்காட்டி. 696 00:30:07,240 --> 00:30:09,570 நான் ஒதுக்க நான் திரும்பி உள்ளது malloc மதிப்பு. 697 00:30:09,570 --> 00:30:14,590 மற்றும் நான் எவ்வளவு பைட்டுகள், தெளிவாக இருக்க வேண்டும் நான் அநேகமாக malloc இருந்து திரும்ப பெற 698 00:30:14,590 --> 00:30:17,080 இந்த சூழ்நிலையில்? 699 00:30:17,080 --> 00:30:18,040 >> அநேகமாக 40. 700 00:30:18,040 --> 00:30:18,840 நீ எங்கே இருந்து கிடைத்தது? 701 00:30:18,840 --> 00:30:22,410 சரி, நீங்கள் ஒரு முழு எண்ணாக பெரும்பாலும் என்று நினைவு என்றால் 4 சி, குறைந்தபட்சம் அது உள்ளது 702 00:30:22,410 --> 00:30:25,110 சாதனம், முறை 4 10 வெளிப்படையாக 40 ஆகிறது. 703 00:30:25,110 --> 00:30:28,920 எனவே malloc ஒரு முகவரி திரும்பி வருகிறார் ஒரு நினைவகம் துண்டின் மற்றும் சேமித்து என்று 704 00:30:28,920 --> 00:30:30,800 x ல் இறுதியாக உரையாற்ற. 705 00:30:30,800 --> 00:30:32,570 எனவே, தெளிவாக இருக்க என்ன பிறகு நடக்கிறது? 706 00:30:32,570 --> 00:30:34,990 சரி, என்னை மீண்டும் மாற அனுமதிக்க இங்கே எங்கள் படத்திற்கு. 707 00:30:34,990 --> 00:30:38,150 எனக்கு என் கீழே வரைய வேண்டாம் கணினியின் நினைவகம், எனக்கு முன்னே செல்லலாம் மற்றும் 708 00:30:38,150 --> 00:30:42,990 முழு செவ்வக வரைய என்று என் ரேம் அனைத்து பிரதிபலிக்கிறது. 709 00:30:42,990 --> 00:30:44,790 >> நாம் சொல்ல வேண்டும் என்று ஸ்டேக் கீழே உள்ளது. 710 00:30:44,790 --> 00:30:47,010 மற்றும் ஒரு உரை பிரிவில் இருக்கிறது uninitialized தரவு. 711 00:30:47,010 --> 00:30:49,880 ஆனால் நான் சுருக்கம் அந்த போகிறேன் விட்டு டாட், டாட் டாட் மற்ற விஷயங்கள். 712 00:30:49,880 --> 00:30:53,470 நான் இந்த பார்க்கவும் போகிறேன் மேல் குவியல் என. 713 00:30:53,470 --> 00:30:57,070 பின்னர் இந்த படத்தை கீழே, முக்கிய பிரதிநிதியாக, நான் போகிறேன் 714 00:30:57,070 --> 00:30:59,880 இது ஒரு துண்டுகள் நினைவக கொடுக்க ஸ்டாக் இல்லை. 715 00:30:59,880 --> 00:31:03,150 F, நான் அதை ஒரு துண்டு கொடுக்க போகிறேன் ஸ்டாக் நினைவகத்தை. 716 00:31:03,150 --> 00:31:05,140 இப்போது, நான் என் ஆலோசிக்க வேண்டும் மீண்டும் மூல குறியீடு. 717 00:31:05,140 --> 00:31:07,170 முக்கிய உள்ளூர் மாறிகள் என்ன? 718 00:31:07,170 --> 00:31:10,710 வெளிப்படையாக எதுவும், அந்த துண்டு உள்ளது திறம்பட காலியாக அல்லது கூட பெரிய 719 00:31:10,710 --> 00:31:11,600 நான் அதை வரையப்பட்ட போல. 720 00:31:11,600 --> 00:31:15,730 ஆனால் F ல், நான், ஒரு உள்ளூர் மாறி உள்ளது இது X என்றழைக்கப்படுகிறது. 721 00:31:15,730 --> 00:31:20,410 நான் போய் F கொடுக்க போகிறேன் அது x அழைப்பு நினைவக ஒரு துண்டின். 722 00:31:20,410 --> 00:31:24,680 >> , 10 முறை 4 இப்போது malloc என்று அங்கு malloc 40, மிகவும் 723 00:31:24,680 --> 00:31:25,430 நினைவு வரும்? 724 00:31:25,430 --> 00:31:27,530 நாம் ஒரு படம் வரையப்பட்ட இப்படி. 725 00:31:27,530 --> 00:31:31,140 ஆனால் அதை திறம்பட என்று நினைக்கிறேன் நாம் எனவே, ஒரு, இங்கு வரும், 726 00:31:31,140 --> 00:31:33,170 இரண்டு, மூன்று, நான்கு, ஐந்து. 727 00:31:33,170 --> 00:31:34,680 இப்போது நான் இந்த 40 வேண்டும். 728 00:31:34,680 --> 00:31:37,540 அதனால் நான் பரிந்துரைக்கும் டாட், டாட், டாட் செய்கிறேன் இன்னும் நினைவு இருக்கிறது என்று 729 00:31:37,540 --> 00:31:39,350 குவியல் இருந்து திரும்பி வரும். 730 00:31:39,350 --> 00:31:40,710 இப்போது முகவரி என்ன? 731 00:31:40,710 --> 00:31:42,620 நாம் எமது தன்னிச்சையான தேர்வு என எப்போதும் முகவரி - 732 00:31:42,620 --> 00:31:46,310 இது அநேகமாக நடக்கிறது கூட Ox123, முற்றிலும் வேறுபட்ட ஒன்று இருக்க வேண்டும். 733 00:31:46,310 --> 00:31:50,420 என்று முதல் பைட் என்ற முகவரி நான் malloc கேட்டுக்கொண்டிருக்கிறேன் நினைவக என்று. 734 00:31:50,420 --> 00:31:53,630 >> எனவே குறுகிய, ஒருமுறை வரிசையில் 20, முடிக்கிறது உண்மையில் என்ன 735 00:31:53,630 --> 00:31:57,170 இங்கே x உள்ளே சேமிக்கப்படும்? 736 00:31:57,170 --> 00:31:58,730 Ox123. 737 00:31:58,730 --> 00:32:00,370 Ox123. 738 00:32:00,370 --> 00:32:01,550 மற்றும் எருது சுவையற்ற. 739 00:32:01,550 --> 00:32:03,200 அதை தான் இங்கே பொருள் ஒரு ஹெக்சாடெசிமல் எண். 740 00:32:03,200 --> 00:32:06,490 ஆனால் என்ன சாவி நான் கடையில் நான் என்ன என்று x ல், ஒரு உள்ளூர் மாறி உள்ளது. 741 00:32:06,490 --> 00:32:10,260 ஆனால் அதன் தரவு வகை, மீண்டும், ஒரு முழு எண்ணாக ஒரு முகவரி. 742 00:32:10,260 --> 00:32:12,710 சரி, நான் Ox123 சேமிக்க போகிறேன். 743 00:32:12,710 --> 00:32:16,610 ஆனால் மீண்டும், சற்று என்று இருந்தால், நான் உருட்டும் போது, தேவையில்லாமல் சிக்கலான 744 00:32:16,610 --> 00:32:21,490 மீண்டும், இந்த விட்டு சுருக்கம் முடியும் மிகவும் நியாயமான மற்றும் என்று x ஒரு 745 00:32:21,490 --> 00:32:23,910 நினைவகம் என்று துண்டின் என்று சுட்டிக்காட்டி. 746 00:32:23,910 --> 00:32:24,070 >> சரி. 747 00:32:24,070 --> 00:32:26,230 இப்போது கையில் கேள்வி பின்வரும் உள்ளது - 748 00:32:26,230 --> 00:32:29,910 வரி 21, அவ்வாறு மாறினால், தரமற்ற உள்ளது. 749 00:32:29,910 --> 00:32:31,160 ஏன்? 750 00:32:31,160 --> 00:32:34,890 751 00:32:34,890 --> 00:32:36,930 >> மன்னிக்கவும்? 752 00:32:36,930 --> 00:32:38,640 அதை இல்லை - 753 00:32:38,640 --> 00:32:40,390 ஒருமுறை என்று. 754 00:32:40,390 --> 00:32:41,240 சரி, அதை இலவசமாக இல்லை. 755 00:32:41,240 --> 00:32:42,350 அதனால் இரண்டாவது ஆனால். 756 00:32:42,350 --> 00:32:45,000 அதனால் மற்ற ஆனால் குறிப்பாக ஒரு இருக்கிறது வரி 21 மணிக்கு. 757 00:32:45,000 --> 00:32:49,480 758 00:32:49,480 --> 00:32:50,040 >> சரியாக. 759 00:32:50,040 --> 00:32:54,980 குறியீடு இந்த எளிய வரி ஒரு உள்ளது தாங்கல் வழிதல், ஒரு இடை மிஞ்சு. 760 00:32:54,980 --> 00:32:57,050 ஒரு இடை நினைவகத்தில் வெறுமனே ஒரு துண்டின் அர்த்தம். 761 00:32:57,050 --> 00:33:01,520 ஆனால் நினைவகம் என்று துண்டின் அளவு உள்ளது 10, 10 முழு எண்கள், எந்த பொருள் என்றால் நாம் 762 00:33:01,520 --> 00:33:05,350 தொடரியல் சர்க்கரை பயன்படுத்தி அதை குறியீட்டு வரிசை குறிமுறையின், சதுர 763 00:33:05,350 --> 00:33:09,220 அடைப்புக்குறிக்குள், நீங்கள் அணுக x அடைப்புக்குறி 0 x அடைப்புக்குறி 1 x, 764 00:33:09,220 --> 00:33:10,390 அடைப்புக்குறி டாட், டாட், டாட். 765 00:33:10,390 --> 00:33:13,270 x அடைப்புக்குறி 9 மிகப்பெரிய ஒன்றாகும். 766 00:33:13,270 --> 00:33:17,680 நான் x அடைப்புக்குறி 10, அதனால் நீங்கள் எங்கே நான் உண்மையில் நினைவகத்தில் போகிறேன்? 767 00:33:17,680 --> 00:33:19,120 >> சரி, நான் 10 எண்ணாக இருந்தால் - 768 00:33:19,120 --> 00:33:21,070 நாம் உண்மையில் அனைத்து வரைய இங்கே இந்த வெளியே. 769 00:33:21,070 --> 00:33:22,700 அதனால் முதல் ஐந்து இருந்தது. 770 00:33:22,700 --> 00:33:24,660 இங்கு மற்ற ஐந்து ints தான். 771 00:33:24,660 --> 00:33:29,580 எனவே x அடைப்புக்குறி 0 இங்கே. x அடைப்புக்குறி 1 இங்கே. x அடைப்புக்குறி 9 இங்கே. x அடைப்புக்குறி 772 00:33:29,580 --> 00:33:37,960 10 இங்கே, இது, நான் சொல்கிறேன், பொருள் வரி 21 ல், கணினி வைக்க 773 00:33:37,960 --> 00:33:39,400 பல இடங்களில்? 774 00:33:39,400 --> 00:33:42,010 எண் 0 எங்கே? 775 00:33:42,010 --> 00:33:43,380 நல்லது, அது, ஆமாம் 0 இருக்கிறது. 776 00:33:43,380 --> 00:33:45,460 ஆனால் உண்மையில் அதன் 0 ஒரு தற்செயல் வகையான உள்ளது. 777 00:33:45,460 --> 00:33:47,140 இது பல இருக்க முடியும் 50, நாம் கவலை எல்லாம். 778 00:33:47,140 --> 00:33:50,480 ஆனால் நாங்கள் x அடைப்புக்குறி அதை வைத்து முயற்சி இந்த இது 10, 779 00:33:50,480 --> 00:33:53,700 கேள்வி குறி, வரையப்பட்ட இது ஒரு நல்ல விஷயம் அல்ல. 780 00:33:53,700 --> 00:33:57,070 இந்த திட்டம் நன்றாக வல்லமை விளைவாக செயலிழக்க. 781 00:33:57,070 --> 00:33:59,400 >> இப்போது, அது முன்னோக்கி சென்று பார்ப்போம் இந்த என்றால் உண்மையில், என்ன நடக்கும். 782 00:33:59,400 --> 00:34:02,600 நினைவக செய்ய, பின்னர் கோப்பு memory.c அழைக்கப்படுகிறது. 783 00:34:02,600 --> 00:34:05,950 நாம் முன்னோக்கி சென்று ரன் நிரல் நினைவகம். 784 00:34:05,950 --> 00:34:08,239 நாம் அதிர்ஷ்டம் கிடைத்தது, உண்மையில், அது தெரிகிறது. 785 00:34:08,239 --> 00:34:09,340 நாம் அதிர்ஷ்டம் கிடைத்தது. 786 00:34:09,340 --> 00:34:11,060 ஆனால் நாம் இப்போது Valgrind ரன் என்றால் நாம் பார்ப்போம். 787 00:34:11,060 --> 00:34:14,170 முதல் பார்வையில், என் திட்டத்தை வல்லமை செய்தபின் சரியான தெரிகிறது. 788 00:34:14,170 --> 00:34:18,010 ஆனால் உடன் Valgrind என்னை இயக்க அனுமதிக்க - கசிவு-காசோலை நினைவக முழு சமம். 789 00:34:18,010 --> 00:34:20,110 >> இப்போது நான் இந்த ரன் போது - 790 00:34:20,110 --> 00:34:21,030 சுவாரஸ்யமான. 791 00:34:21,030 --> 00:34:26,800 தவறான நேரத்தில் அளவு 4 எழுத memory.c வரிசையில் 21. 792 00:34:26,800 --> 00:34:29,284 Memory.c வரிசையில் 21 எந்த ஒரு? 793 00:34:29,284 --> 00:34:30,340 ஓ, சுவாரஸ்யமான. 794 00:34:30,340 --> 00:34:31,080 ஆனால் காத்திருக்க. 795 00:34:31,080 --> 00:34:32,389 அளவு 4, குறிப்பிடும் அந்த என்ன? 796 00:34:32,389 --> 00:34:34,969 நான் ஒரே ஒரு, எழுத ஆனால் அதை அளவு 4 தான். 797 00:34:34,969 --> 00:34:36,889 ஏன் 4? 798 00:34:36,889 --> 00:34:39,280 அது ஒரு முழு எண்ணாக, ஏனெனில் அது மீண்டும், நான்கு சி, உள்ளது. 799 00:34:39,280 --> 00:34:42,510 எனவே Valgrind ஒரு பிழை இல்லை என்று நான், என் குறியீடு மணிக்கு விரைவான பலத்த அடிகளுக்கு, இல்லை. 800 00:34:42,510 --> 00:34:45,040 ஒருவேளை உங்கள் TF என்று அல்லது இல்லை என்று. 801 00:34:45,040 --> 00:34:48,469 ஆனால் உறுதியாக இல்லை என்று Valgrind என்ன நாம் கூட, அங்கு ஒரு தவறு செய்துவிட்டேன் 802 00:34:48,469 --> 00:34:52,719 நாம் அதிர்ஷ்டம் கிடைத்தது, எனினும் கணினி முடிவு, ம்ம், நான் செயலிழக்க செய்ய போவதில்லை 803 00:34:52,719 --> 00:34:57,470 நீங்கள் ஒரு பைட், ஒரு தொட்டது தான் நீங்கள் இல்லை என்று நினைவகம் int மதிப்பு 804 00:34:57,470 --> 00:34:58,550 உண்மையில் சொந்த. 805 00:34:58,550 --> 00:35:00,380 >> நன்றாக, இங்கே தரமற்ற வேறு என்ன. 806 00:35:00,380 --> 00:35:01,180 முகவரி - 807 00:35:01,180 --> 00:35:03,190 இந்த ஒரு பைத்தியம் தேடும் முகவரி ஹெக்சாடெசிமல் ல். 808 00:35:03,190 --> 00:35:06,890 நான் எங்காவது குவியல் இருக்கிறது என்று தானே அர்த்தம் அளவு 40 ஒரு தொகுதி பின்னர் பூஜ்ய பைட்டுகள் 809 00:35:06,890 --> 00:35:07,620 ஒதுக்கப்பட்ட. 810 00:35:07,620 --> 00:35:10,610 என்னை இங்கே பெரிதாக்கவும் பார்க்கிறேன் என்றால் இந்த ஒரு சிறிய இன்னும் பயனுள்ளதாக இருக்கும். 811 00:35:10,610 --> 00:35:11,410 சுவாரஸ்யமான. 812 00:35:11,410 --> 00:35:15,600 40 பைட்டுகள் நிச்சயமாக இழந்தது 1 இழப்பு சாதனை 1. 813 00:35:15,600 --> 00:35:17,840 மீண்டும், மேல் வார்த்தைகள் இங்கே பயனுள்ளதாக இருக்கும். 814 00:35:17,840 --> 00:35:21,350 ஆனால், உயர்த்தி கோடுகள் அடிப்படையில் அங்கு நான் அநேகமாக கவனம் செலுத்த வேண்டும் என் 815 00:35:21,350 --> 00:35:24,070 மற்றொரு பிழை கவனத்தை? 816 00:35:24,070 --> 00:35:26,570 Memory.c ஒரு வரி 20 தெரிகிறது. 817 00:35:26,570 --> 00:35:30,990 >> நாம் வரி 20 திரும்பி போக அப்படி இருந்தால், அந்த நீங்கள் முந்தைய அடையாளம் என்று ஒரு. 818 00:35:30,990 --> 00:35:33,030 இது தரமற்ற அவசியமில்லை. 819 00:35:33,030 --> 00:35:35,160 ஆனால் நாம் இந்த அதன் விளைவுகள் எதிர்மறையாக. 820 00:35:35,160 --> 00:35:38,790 அதனால் நான் எப்படி குறைந்தது சரி அந்த தவறுகளில் ஒன்று? 821 00:35:38,790 --> 00:35:42,240 நான் வரி 21 க்கு பிறகு என்ன செய்ய முடியும்? 822 00:35:42,240 --> 00:35:47,110 நான், x இன் இலவச செய்ய என்று நினைவு திரும்ப கொடுக்க. 823 00:35:47,110 --> 00:35:49,230 நான் இந்த பிழை எப்படி சரி செய்வது? 824 00:35:49,230 --> 00:35:52,120 நான் கண்டிப்பாக செல்ல வேண்டும் எந்த தூரம் 0 விட. 825 00:35:52,120 --> 00:35:53,670 என்னை முயற்சி இந்த மீண்டும் இயக்க அனுமதிக்க. 826 00:35:53,670 --> 00:35:56,080 மன்னிக்கவும், கண்டிப்பாக செல்ல எந்த தூரம் 9 விட. 827 00:35:56,080 --> 00:35:57,510 நினைவு கொள்ளுங்கள். 828 00:35:57,510 --> 00:36:00,650 Valgrind என்னை மீண்டும் இயக்கவும் அனுமதிக்கவும் ஒரு பெரிய சாளரத்தில். 829 00:36:00,650 --> 00:36:01,580 இப்போது பாருங்கள். 830 00:36:01,580 --> 00:36:02,250 நல்லவங்க. 831 00:36:02,250 --> 00:36:03,270 அனைத்து குவியல் தொகுதிகள் விடுதலை. 832 00:36:03,270 --> 00:36:04,270 எந்த கசிவை சாத்தியம். 833 00:36:04,270 --> 00:36:07,520 மற்றும் இங்கு மேலே, எந்த குறிப்பும் இல்லை தவறான உரிமை எந்த. 834 00:36:07,520 --> 00:36:09,820 >> வெறும் பேராசை, மற்றும் நாம் செய்ய பார்த்தால் மற்றொரு ஆர்ப்பாட்டம் 835 00:36:09,820 --> 00:36:11,050 நோக்கம் போகக்கூடாது - 836 00:36:11,050 --> 00:36:12,560 நான் ஒரு கணம் முன்பு அதிர்ஷ்டம் கிடைத்தது. 837 00:36:12,560 --> 00:36:15,530 இந்த 0 என்ற உண்மையை ஒருவேளை உள்ளது தேவையில்லாமல் தவறான. 838 00:36:15,530 --> 00:36:20,650 வெறும் 50, சற்றே தன்னிச்சையான செய்வோம் எண், நினைவக டாட் சாய்வு நினைவக செய்ய - 839 00:36:20,650 --> 00:36:21,410 இன்னும் அதிர்ஷ்டம் கிடைக்கும். 840 00:36:21,410 --> 00:36:22,510 எதுவும் நொறுங்கியதில். 841 00:36:22,510 --> 00:36:26,150 நான் ஏதாவது செய்ய வேண்டும் முட்டாள், நான் 100 செய்ய. 842 00:36:26,150 --> 00:36:30,360 , எனக்கு நினைவு ரீ நாம் டாட் சாய்வு நினைவக - 843 00:36:30,360 --> 00:36:31,075 மீண்டும் அதிர்ஷ்டம் கிடைத்தது. 844 00:36:31,075 --> 00:36:32,800 எப்படி சுமார் 1,000? 845 00:36:32,800 --> 00:36:35,370 அப்பால் ints, தோராயமாக, அங்கு நான் இருக்க வேண்டும்? 846 00:36:35,370 --> 00:36:37,410 நினைவக செய்ய - 847 00:36:37,410 --> 00:36:38,570 அடக்கடவுளே. 848 00:36:38,570 --> 00:36:39,920 >> [சிரிப்பு] 849 00:36:39,920 --> 00:36:41,270 >> சரி. 850 00:36:41,270 --> 00:36:43,920 அது இனி சுற்றி போடுகிறாய் வேண்டாம். 851 00:36:43,920 --> 00:36:45,120 நினைவக மீண்டும் இயக்கவும். 852 00:36:45,120 --> 00:36:45,840 அங்கு நாம். 853 00:36:45,840 --> 00:36:46,410 சரி. 854 00:36:46,410 --> 00:36:52,500 எனவே வெளிப்படையாக நீங்கள் குறியீட்டு 100,000 ints நீங்கள் இருந்திருக்க வேண்டும், அங்கு அப்பால் 855 00:36:52,500 --> 00:36:54,410 நினைவகம், கெட்ட விஷயங்கள் நடக்கின்றன. 856 00:36:54,410 --> 00:36:56,430 இந்த வெளிப்படையாக அல்ல ஒரு வன், வேகமாக ஆட்சி. 857 00:36:56,430 --> 00:36:58,190 நான் விசாரணை பயன்படுத்தி இருந்தது மற்றும் பிழை பெற. 858 00:36:58,190 --> 00:37:02,230 ஆனால் இந்த, ஏனெனில், நீண்ட கதை குறுகிய உள்ளது உங்கள் கணினியின் நினைவகம் பிரிக்கப்பட்டுள்ளது 859 00:37:02,230 --> 00:37:03,580 இந்த விஷயங்களை பிரிவுகளை என்று. 860 00:37:03,580 --> 00:37:07,260 சில நேரங்களில், கணினி உண்மையில் நீ இன்னும் சிறிது நினைவக கொடுத்துள்ளது 861 00:37:07,260 --> 00:37:08,400 நீங்கள் கேட்பதை தவிர. 862 00:37:08,400 --> 00:37:12,170 ஆனால் திறன், அது வெறும் எளிதாக மேலும் நினைவக கிடைக்கும் ஆனால் நீங்கள் சொல்ல 863 00:37:12,170 --> 00:37:13,780 நீங்கள் அதை ஒரு பகுதியை போகிறது என்று. 864 00:37:13,780 --> 00:37:16,370 >> நீங்கள் சில நேரங்களில் அதிர்ஷ்டம் கிடைத்தால், எனவே, நீங்கள் தொட முடியும் 865 00:37:16,370 --> 00:37:17,795 அந்த நினைவு உனக்கு சொந்தம் இல்லை. 866 00:37:17,795 --> 00:37:21,860 நீங்கள் எந்த உத்தரவாதமும் இல்லை என்று என்ன மதிப்பு நீங்கள், அங்கு தங்குவேன் வைத்து, ஏனெனில் 867 00:37:21,860 --> 00:37:25,080 கணினி இன்னமும் இல்லை நினைக்கிறார்கள் உன், ஆனால் அது அவசியமில்லை போகவில்லை 868 00:37:25,080 --> 00:37:29,910 நினைவகத்தின் மற்றொரு பிரிவில் அடிக்க கணினி மற்றும் ஒரு தவறு போன்ற தூண்ட 869 00:37:29,910 --> 00:37:31,710 இங்கே ஒரு. 870 00:37:31,710 --> 00:37:32,060 சரி. 871 00:37:32,060 --> 00:37:37,240 பின்னர் எந்த கேள்விகளுக்கும் நினைவகம்? 872 00:37:37,240 --> 00:37:37,590 >> சரி. 873 00:37:37,590 --> 00:37:40,610 மணிக்கு, பின்னர், தான் இங்கே பார்க்கலாம் நாங்கள் எடுத்து வருகிறோம் ஒன்று 874 00:37:40,610 --> 00:37:48,361 சில நேரம் வழங்கப்பட்டது, இது cs50.h. என இந்த கோப்பில் உள்ளது 875 00:37:48,361 --> 00:37:49,420 எனவே இந்த கோப்பு உள்ளது. 876 00:37:49,420 --> 00:37:51,130 இந்த ஒரு மொத்தமாக உள்ளன மேலே உள்ள கருத்துக்கள். 877 00:37:51,130 --> 00:37:53,900 நீங்கள் இந்த என்றால் பார்த்து நீங்கள் உபயோகப்பொருள் மீது சுற்றி கதையை. 878 00:37:53,900 --> 00:37:57,000 ஆனால் அது, அந்த நேரத்தில் மாறிவிடும் நாம் ஒரு சரம் பயன்படுத்த பயன்படுத்தும் போது 879 00:37:57,000 --> 00:38:01,130 பொருள், நாம் அறிவித்தார் ஒரு வழிமுறையாகும் என்று பொருளாகும் இந்த இருந்தது 880 00:38:01,130 --> 00:38:03,990 வகை வரையறை typedef முக்கிய,. 881 00:38:03,990 --> 00:38:07,500 நாம் அடிப்படையில் சொல்கிறீர்கள், செய்ய எரிப்பதை நட்சத்திர ஒத்த சரம். 882 00:38:07,500 --> 00:38:11,190 அதாவது மூலம் அடுக்கு என்று அழைக்கப்படும் இந்த பயிற்சி சக்கரங்கள் உருவாக்கப்பட்டது 883 00:38:11,190 --> 00:38:12,040 சரம். 884 00:38:12,040 --> 00:38:14,830 >> இப்போது இங்கே ஒரு முன்மாதிரி இருக்கிறது getchar ஐந்து. 885 00:38:14,830 --> 00:38:17,350 நாம் முன்னர் பார்த்த, ஆனால் அந்த உண்மையில் என்ன அது. getchar 886 00:38:17,350 --> 00:38:19,070 , வாதங்கள் இல்லை எடுக்கும் ஒரு எரிப்பதை கொடுக்கிறது. 887 00:38:19,070 --> 00:38:21,340 getdouble, வாதங்கள் இல்லை எடுக்கிறது இரட்டை கொடுக்கிறது. 888 00:38:21,340 --> 00:38:24,440 getfloat வாதங்கள் இல்லை, மீண்டும் எடுக்கிறது ஒரு மிதவை, மற்றும் முன்னும் பின்னுமாக. 889 00:38:24,440 --> 00:38:27,270 getint இங்கே உள்ளது. getlonglong இங்கே உள்ளது. 890 00:38:27,270 --> 00:38:28,820 மற்றும் getstring இங்கே உள்ளது. 891 00:38:28,820 --> 00:38:29,420 அவ்வளவு தான். 892 00:38:29,420 --> 00:38:33,080 இந்த ஊதா வரி மற்றொரு Preprocessor உள்ளது ஏனெனில் உத்தரவு 893 00:38:33,080 --> 00:38:35,550 இது ஆரம்பத்தில் ஹேஸ்டேகை. 894 00:38:35,550 --> 00:38:35,870 >> சரி. 895 00:38:35,870 --> 00:38:38,380 எனவே இப்போது எனக்கு cs50.c. கொண்டு செல்லலாம் 896 00:38:38,380 --> 00:38:40,400 நாம் இந்த நீண்ட பேச மாட்டேன். 897 00:38:40,400 --> 00:38:43,280 ஆனால் நீங்கள் என்ன ஒரு பார்வை கொடுக்க இந்த நடக்கிறது 898 00:38:43,280 --> 00:38:46,434 நேரம், எனக்கு செல்லலாம் - 899 00:38:46,434 --> 00:38:48,250 நாம் getchar செய்கிறது. 900 00:38:48,250 --> 00:38:51,050 எனவே getchar பெரும்பாலும் கருத்துக்கள் உள்ளது. 901 00:38:51,050 --> 00:38:52,060 ஆனால் இது போல். 902 00:38:52,060 --> 00:38:54,800 இந்த உண்மையான செயல்பாடு உள்ளது நாங்கள் தான் என்று getchar 903 00:38:54,800 --> 00:38:56,055 வழங்கப்பட்டது எடுத்து உள்ளது. 904 00:38:56,055 --> 00:38:59,370 நாம் இந்த ஒரு பயன்படுத்த கூட பெரும்பாலும், நீங்கள் எப்போதும், அதை குறைந்த பட்சம் தான் 905 00:38:59,370 --> 00:39:00,470 ஒப்பீட்டளவில் எளிமையான. 906 00:39:00,470 --> 00:39:02,580 எனவே இது ஒரு எடுத்து தகுந்தது இங்கே உள்ள விரைவு. 907 00:39:02,580 --> 00:39:06,540 >> எனவே getchar, ஒரு முடிவிலா சுழற்சியில் உள்ளது வேண்டுமென்றே மிகவும் வெளிப்படையாக. 908 00:39:06,540 --> 00:39:10,050 அது அழைப்பு - இந்த ஒரு வகையான உள்ளது குறியீடு நன்றாக மறுபயன்பாடு நாம் எழுதினார். 909 00:39:10,050 --> 00:39:11,220 இது getstring அழைப்பு விடுக்கின்றது. 910 00:39:11,220 --> 00:39:12,460 அது என்ன காரணம் ஒரு எரிப்பதை பெற என்ன? 911 00:39:12,460 --> 00:39:14,730 சரி, நீங்கள் ஒரு பெற முயற்சிக்கலாம் முழு பயனர் இருந்து உரை வரி மற்றும் 912 00:39:14,730 --> 00:39:16,940 பின்னர் ஒரு பார் அந்த கதாபாத்திரங்கள். 913 00:39:16,940 --> 00:39:19,170 வரி 60 ல், இங்கு ஒரு சிறிய விஷயம் ஒரு நல்லறிவு காசோலை பிட். 914 00:39:19,170 --> 00:39:21,610 Getstring உள்ள திரும்பினார் என்றால் இது தொடர வேண்டாம். 915 00:39:21,610 --> 00:39:22,820 ஏதோ தவறு நடந்துவிட்டது. 916 00:39:22,820 --> 00:39:28,120 >> இப்போது இந்த ஓரளவு எரிச்சலூட்டும் ஆனால் ஒருவேளை சி எரிப்பதை அதிகபட்சம் மரபு 917 00:39:28,120 --> 00:39:29,960 பிரதிநிதித்துவப்படுத்துகிறது என்ன தான் அதன் பெயர் அடிப்படையில்? 918 00:39:29,960 --> 00:39:31,670 இது ஒரு நிலையான இருக்கிறது. 919 00:39:31,670 --> 00:39:36,040 அது எண் மதிப்பை போல் நீங்கள் பிரதிநிதித்துவம் முடியும் எரிப்பதை மிகப்பெரிய 920 00:39:36,040 --> 00:39:40,370 ஒருவேளை எண் இது ஒரு கடி, மிக பெரிய எண்ணை நீங்கள் இது 255, 921 00:39:40,370 --> 00:39:42,720 எட்டு பிட்கள் பிரதிநிதித்துவம் பூஜ்ஜியத்தில் இருந்து தொடங்கி. 922 00:39:42,720 --> 00:39:47,460 அதனால் நான் போது, இந்த விழாவில், இந்த பயன்படுத்த ஏனெனில், இந்த குறியீடு எழுதி 923 00:39:47,460 --> 00:39:51,753 ஏதாவது getchar தவறு செல்கிறது ஆனால் என்றால் வாழ்க்கையில் அதன் நோக்கம் ஒரு திரும்ப உள்ளது 924 00:39:51,753 --> 00:39:54,830 கரி, நீ எப்படியாவது நீங்கள் இருக்க வேண்டும் அந்த பயனர் அடையாளங்களில் 925 00:39:54,830 --> 00:39:55,840 ஏதோ தவறு நடந்துவிட்டது. 926 00:39:55,840 --> 00:39:56,970 நாம் வெற்று திரும்ப முடியாது. 927 00:39:56,970 --> 00:39:58,480 அது வெற்று ஒரு சுட்டிக்காட்டி என்று மாறிவிடும். 928 00:39:58,480 --> 00:40:01,030 மீண்டும், getchar உள்ளது ஒரு எரிப்பதை திரும்ப. 929 00:40:01,030 --> 00:40:04,760 >> அதனால் மாநாட்டில், ஏதோ போனால் தவறு, நீங்கள் ப்ரோக்ராமர், அல்லது, தான் 930 00:40:04,760 --> 00:40:08,160 இந்த விஷயத்தில், எனக்கு நூலகம் கொண்டு, நான் ஒரு வெறும், நீங்கள் தன்னிச்சையாக முடிவு 931 00:40:08,160 --> 00:40:12,230 ஏதாவது தவறு நடந்தால், நான் போகிறேன் உண்மையிலேயே இது எண் 255, திரும்ப 932 00:40:12,230 --> 00:40:17,240 நாங்கள், பயனர் தட்டச்சு முடியாது முடியாது மூலம் குறிப்பிடப்படுகின்றன பாத்திரம் 933 00:40:17,240 --> 00:40:21,410 நாம் ஏனெனில் எண் 255 ஒரு அதை திருட ஒரு என்று அழைக்கப்படும் காவலாளி மதிப்பு 934 00:40:21,410 --> 00:40:23,410 ஒரு பிரச்சினை பிரதிநிதித்துவம். 935 00:40:23,410 --> 00:40:27,010 இப்போது அது மாறிவிடும் என்று பாத்திரம் 255 நீங்கள் தட்டச்சு செய்து ஏதாவது அல்ல 936 00:40:27,010 --> 00:40:28,380 உங்கள் விசைப்பலகை, அது பெரிய விஷயமல்ல. 937 00:40:28,380 --> 00:40:30,910 பயனர் அறிவிப்பு இல்லை என்று நான் இந்த பாத்திரம் திருடப்பட்டது. 938 00:40:30,910 --> 00:40:34,620 ஆனால் நீங்கள் எப்போதாவது ஒரு இல் பக்கங்களை பார்க்க வேண்டும் ஒரு கணினி அமைப்பு சில குறிப்பு 939 00:40:34,620 --> 00:40:38,560 , என்று தொடர்ந்து இது போன்ற அனைத்து தொப்பிகளை பிழை இந்த நிலையான வலிமையை சந்தர்ப்பங்களில் 940 00:40:38,560 --> 00:40:42,720 திரும்பி இருக்கிறது, இதை செய்தேன் என்று அனைத்து சில மனித ஆண்டுகளுக்கு முன்பு தன்னிச்சையாக முடிவு 941 00:40:42,720 --> 00:40:45,680 இந்த சிறப்பு மதிப்பு மற்றும் திரும்ப இது விஷயத்தில் ஒரு நிலையான அழைப்பு 942 00:40:45,680 --> 00:40:46,840 ஏதாவது தவறு நடந்தால். 943 00:40:46,840 --> 00:40:48,580 >> இப்போது மாய இங்கு நடக்கிறது. 944 00:40:48,580 --> 00:40:52,600 முதல், நான் வரி 67 ல் பிரகடனம் இரண்டு எழுத்துக்கள், C1 மற்றும் C2. 945 00:40:52,600 --> 00:40:57,080 பின்னர் வரி 68 ல், உண்மையில் அங்கு நினைவூட்டுவதாக என்று குறியீடு ஒரு வரி 946 00:40:57,080 --> 00:41:01,140 எங்கள் நண்பர் printf, கொடுக்கப்பட்ட அது மேற்கோளில் சதவீதம் Cs இருக்கிறது. 947 00:41:01,140 --> 00:41:06,490 ஆனால் என்ன நடக்கிறது இங்கே கவனிக்க. sscanf சரம் ஸ்கேன் என்றால் - 948 00:41:06,490 --> 00:41:11,690 ஒரு வடிவமைக்கப்பட்ட ஸ்கேன் பொருள் சரம், ஆகவே sscanf. 949 00:41:11,690 --> 00:41:12,590 இதற்கு என்ன அர்த்தம்? 950 00:41:12,590 --> 00:41:16,310 அதை நீங்கள் ஒரு சரம் sscanf கொடுக்க வேண்டும் என்பதாகும். 951 00:41:16,310 --> 00:41:18,420 மற்றும் வரி என்ன இருக்கிறது உள்ளே பயனர் வகையான 952 00:41:18,420 --> 00:41:23,520 நீங்கள் ஒரு வடிவம் சரம் போன்ற sscanf கொடுக்க வேண்டும் என்ன scanf சொல்கிறது இந்த 953 00:41:23,520 --> 00:41:25,870 நீங்கள் பயனர் உள்ளே தட்டச்சு செய்து நம்பிக்கையுடன் 954 00:41:25,870 --> 00:41:29,730 நீங்கள் கடந்து இரண்டு முகவரிகள் இந்த வழக்கில் நினைவகம் துகள்களாக,, 955 00:41:29,730 --> 00:41:31,150 நான் இரண்டு பெட்டிகள் ஏனெனில். 956 00:41:31,150 --> 00:41:34,610 எனவே நான் அதை முகவரி கொடுக்க போகிறேன் C1 மற்றும் C2 என்ற முகவரி. 957 00:41:34,610 --> 00:41:37,700 >> நீங்கள் ஒரு செயல்பாடு என்று நினைவு சில மாறி முகவரி, என்ன 958 00:41:37,700 --> 00:41:38,950 சம்மந்த? 959 00:41:38,950 --> 00:41:41,400 960 00:41:41,400 --> 00:41:45,050 அந்த செயல்பாடு விளைவாக என்ன செய்ய முடியும் இது ஒரு முகவரி கொடுக்கும் 961 00:41:45,050 --> 00:41:48,170 மாறி, என எதிர்ப்பு மாறி தன்னை? 962 00:41:48,170 --> 00:41:49,450 அது சரி, அதை மாற்ற முடியாது? 963 00:41:49,450 --> 00:41:53,250 நீங்கள் யாராவது ஒரு உடல் ஒரு வரைபடம் இருந்தால் முகவரி, அவர்கள் அங்கு சென்று செய்ய முடியும் 964 00:41:53,250 --> 00:41:54,750 அவர்கள் அந்த முகவரியில் என்ன. 965 00:41:54,750 --> 00:41:55,800 இங்கே ஒரே யோசனை. 966 00:41:55,800 --> 00:41:59,950 நாம் sscanf, இரண்டு முகவரிக்கு அனுப்ப வேண்டும் கூட நினைவகம் துகள்களாக, இந்த சிறிய 967 00:41:59,950 --> 00:42:03,585 நினைவகம், C1 மற்றும் C2 சிறிய துகள்களாக, ஆனால் நாம், அதை அவர்கள் முகவரியை சொல்ல 968 00:42:03,585 --> 00:42:05,170 sscanf அதை மாற்ற முடியும். 969 00:42:05,170 --> 00:42:08,530 >> வாழ்க்கையில் sscanf நோக்கம் எனவே, நாங்கள் படிக்க வேண்டும் மனிதன் பக்கம், படிக்க என்ன 970 00:42:08,530 --> 00:42:13,420 பயனர் தட்டச்சு, கொண்ட பயனர் நம்புகிறேன் ஒரு எழுத்தை தட்டச்சு மற்றும் ஒருவேளை 971 00:42:13,420 --> 00:42:16,470 மற்றொரு பாத்திரம், மற்றும் என்ன பயனர் தட்டச்சு, முதல் எழுத்து செல்கிறது 972 00:42:16,470 --> 00:42:19,310 இங்கு, இரண்டாவது பாத்திரம் இங்கு செல்கிறது. 973 00:42:19,310 --> 00:42:22,470 இப்போது, ஒரு ஒதுக்கி, இந்த, நீங்கள் என்று மட்டுமே, ஆவணங்களை இந்த தெரியும் 974 00:42:22,470 --> 00:42:25,570 நான் அங்கு ஒரு காலி இடத்தில் வைத்து என்பதை நான் கவலைப்பட மாட்டேன் என்று அர்த்தம் என்றால் 975 00:42:25,570 --> 00:42:28,440 பயனர் விண்வெளி பட்டியில் ஒரு சில பலி அவன் அல்லது அவள் ஒரு எடுக்கும் முறை முன் 976 00:42:28,440 --> 00:42:30,400 பாத்திரம், நான் புறக்கணிக்க போகிறேன் எந்த வெள்ளை விண்வெளி. 977 00:42:30,400 --> 00:42:32,510 அதனால், நான் தெரியும் ஆவணங்கள். 978 00:42:32,510 --> 00:42:36,570 >> இரண்டாவது% கேட்ச் இல்லை என்று வெள்ளை இடத்தை தொடர்ந்து உண்மையில் 979 00:42:36,570 --> 00:42:37,410 வேண்டுமென்றே. 980 00:42:37,410 --> 00:42:41,190 நான் கண்டறிய முடியும் விரும்பினால் பயனர் வரை திருகப்படுகிறது அல்லது ஒத்துழைக்க வில்லை. 981 00:42:41,190 --> 00:42:45,630 நான் பயனர் மட்டுமே தட்டச்சு என்று நம்பிக்கையுடன் ஒரு எழுத்தை, எனவே நான் நம்பிக்கையுடன் 982 00:42:45,630 --> 00:42:50,640 என்று sscanf மட்டுமே திரும்ப போகிறது மதிப்பு 1 நான் படித்து விட்டால், மீண்டும், ஏனெனில் 983 00:42:50,640 --> 00:42:55,400 ஆவணங்கள், sscanf நோக்கம் ல் வாழ்க்கை எண்ணிக்கை திரும்ப உள்ளது 984 00:42:55,400 --> 00:42:59,170 பூர்த்தி செய்யப்பட்ட மாறிகள் பயனர் உள்ளீடு. 985 00:42:59,170 --> 00:43:02,270 >> நான் இரண்டு மாறிகள் நிறைவேற்றப்பட்டது முகவரிகள், C1 மற்றும் C2. 986 00:43:02,270 --> 00:43:06,420 நான், எனினும், நம்பிக்கை ஒன்று மட்டுமே அவர்களை கொலை ஏனெனில் என்றால் sscanf 987 00:43:06,420 --> 00:43:11,130 வருமானத்தை 2, மறைமுகமாக என்ன தர்க்கரீதியாக சம்மந்த? 988 00:43:11,130 --> 00:43:14,600 பயனர் ஒருமுறை கொடுக்க வில்லை என்று பாத்திரம் போல நான் சொன்னேன் அல்லது அவள். 989 00:43:14,600 --> 00:43:17,860 அவர்கள் ஒருவேளை மணிக்கு தட்டச்சு குறைந்தது இரண்டு எழுத்துக்கள். 990 00:43:17,860 --> 00:43:22,430 நான் அதற்கு பதிலாக இரண்டாவது இல்லை என்றால் % கேட்ச், நான், ஒரு கொண்டிருந்த 991 00:43:22,430 --> 00:43:25,370 வெளிப்படையாக இன்னும் உள்ளுணர்வு என்று அணுகுமுறை, நான் ஒரு முதல் பார்வையில் என்று, 992 00:43:25,370 --> 00:43:30,220 நீங்கள் கண்டறிய முடியும் போவதில்லை பயனர் நீங்கள் இன்னும் கொடுத்து இருந்தால், 993 00:43:30,220 --> 00:43:31,780 நீங்கள் உண்மையில் வேண்டும் விட உள்ளீடு. 994 00:43:31,780 --> 00:43:34,100 எனவே இது ஒரு மறைமுகமான வடிவம் பிழை சோதனை என்ற. 995 00:43:34,100 --> 00:43:35,640 >> ஆனால் நான் இங்கே என்ன கவனிக்க. 996 00:43:35,640 --> 00:43:39,970 ஒருமுறை நான் எனக்கு ஒரு கொடுத்தார் என்று தெரியும் பாத்திரம், நான் செய்து, வரி விடுவித்து 997 00:43:39,970 --> 00:43:44,450 getstring எதிர், இது இதையொட்டி நான் திரும்பி பின்னர் malloc பயன்படுத்துகிறது, மற்றும் 998 00:43:44,450 --> 00:43:51,030 சி 1, நான் நம்பிக்கை என்ற கதாபாத்திரம் பயனர் வழங்கப்படுகிறது மட்டுமே வழங்கப்படும். 999 00:43:51,030 --> 00:43:54,680 எனவே, ஒரு விரைவான மட்டுமே glimpsed, ஆனால் getchar எந்த கேள்விகள்? 1000 00:43:54,680 --> 00:43:57,450 1001 00:43:57,450 --> 00:43:59,590 நாம் மற்றவர்களுக்கு சில வருகிறேன். 1002 00:43:59,590 --> 00:44:03,770 >> சரி, எனக்கு முன்னால் சென்று இதை செய்ய நாம் - வெறும் ஊக்குவிக்க, இப்போது நினைக்கிறேன் எங்கள் 1003 00:44:03,770 --> 00:44:08,910 ஒரு வாரம் பிளஸ் நேரம் விவாதம், இந்த structs.h என்று ஒரு கோப்பு உள்ளது. 1004 00:44:08,910 --> 00:44:11,440 மீண்டும், இது ஒரு சுவை உள்ளது மேலே உள்ளது என்று ஏதாவது. 1005 00:44:11,440 --> 00:44:13,090 ஆனால் அறிவிப்பு என்று நிறைய இந்த கருத்துக்கள் உள்ளது. 1006 00:44:13,090 --> 00:44:17,440 என்னை முன்னிலைப்படுத்த நாம் மட்டும் இப்போது சுவாரசியமான பகுதி. 1007 00:44:17,440 --> 00:44:18,020 typedef - 1008 00:44:18,020 --> 00:44:19,700 அதே சொல் மீண்டும் அங்கே. 1009 00:44:19,700 --> 00:44:23,100 typedef நாம் சரம் அறிவிக்க பயன்படுத்த சிறப்பு தரவு வகை. 1010 00:44:23,100 --> 00:44:27,490 நீங்கள் புதிய உருவாக்க typedef பயன்படுத்தலாம் போது இல்லை என்று தரவு வகைகள் 1011 00:44:27,490 --> 00:44:28,570 சி கண்டுபிடிக்கப்பட்டது. 1012 00:44:28,570 --> 00:44:32,520 உதாரணமாக, int சி எரிப்பதை வருகிறது சி இரட்டை சி வருகிறது வருகிறது ஆனால் 1013 00:44:32,520 --> 00:44:34,000 ஒரு மாணவர் இல்லை கருத்து இல்லை. 1014 00:44:34,000 --> 00:44:37,230 மற்றும் இன்னும் அது இருக்கும் அழகான பயனுள்ளதாக இருக்கும் சேமித்து ஒரு நிரல் எழுத முடியும் 1015 00:44:37,230 --> 00:44:40,440 ஒரு மாறி, ஒரு மாணவர் அடையாள அட்டை இலக்கம், அவர்களது பெயர், அவர்களது வீட்டில். 1016 00:44:40,440 --> 00:44:42,890 வேறு வார்த்தைகளில் சொன்னால், மூன்று துண்டுகளாக தரவு, ஒரு முழு எண்ணாக ஒரு மாதிரி 1017 00:44:42,890 --> 00:44:44,420 சரம் மற்றும் மற்றொரு சரம். 1018 00:44:44,420 --> 00:44:48,220 >> Typedef கொண்டு, என்ன அழகான சக்திவாய்ந்த இருக்கிறது இந்த மற்றும் முக்கிய sturct பற்றி 1019 00:44:48,220 --> 00:44:53,660 கட்டமைப்பு, நீங்கள், 2013 ப்ரோக்ராமர், உண்மையில் உங்கள் சொந்த வரையறுக்க முடியாது 1020 00:44:53,660 --> 00:44:57,530 ஆண்டுகள் இல்லை என்று தரவு வகைகள் முன்பு ஆனால் உங்கள் நோக்கங்களுக்காக பொருத்தமாக. 1021 00:44:57,530 --> 00:45:01,910 அதனால் இங்கு, 19 மூலம் வரிகளை 13 ல், நாங்கள் போல், ஒரு புதிய தரவு வகை பிரகடனம் 1022 00:45:01,910 --> 00:45:04,320 ஒரு முழு எண்ணாக, ஆனால் அதை மாணவர் அழைப்பு. 1023 00:45:04,320 --> 00:45:09,310 உள்ளே இந்த மாறுபாட்டின் போகிறது ஒரு முழு எண்ணாக, ஒரு சரம், - மூன்று விஷயங்கள் இருக்கும் 1024 00:45:09,310 --> 00:45:09,930 ஒரு சரம். 1025 00:45:09,930 --> 00:45:13,040 எனவே நீங்கள் உண்மையில் என்ன நினைக்க முடிகிறது இது கூட, இங்கு நடந்தது ஒரு 1026 00:45:13,040 --> 00:45:17,160 இன்று ஒரு தெளிவுபடுத்தல் ஒரு பிட், ஒரு மாணவர் அடிப்படையில் நடக்கிறது 1027 00:45:17,160 --> 00:45:19,450 இப்படி இருக்க வேண்டும். 1028 00:45:19,450 --> 00:45:22,580 அதன் ஒரு துண்டின் இருக்க போகிறது ஒரு ஐடி கொண்டு நினைவகம், ஒரு பெயர் 1029 00:45:22,580 --> 00:45:25,580 துறையில், மற்றும் ஒரு வீட்டில் துறையில். 1030 00:45:25,580 --> 00:45:30,670 நாம் அந்த துகள்களாக பயன்படுத்த முடியும் நினைவகம் மற்றும் அவற்றை அணுக பின்வருமாறு. 1031 00:45:30,670 --> 00:45:38,870 >> நான் struct0.c சென்றால், இங்கே ஒரு உள்ளது ஒப்பீட்டளவில் நீண்ட, ஆனால் தொடர்ந்து 1032 00:45:38,870 --> 00:45:42,630 குறியீடு முறை, என்று இந்த புதிய தந்திரம் பயன்படுத்துகிறது. 1033 00:45:42,630 --> 00:45:45,790 எனவே முதல், எனக்கு உங்கள் கவனம் இருக்கட்டும் மேலே உள்ள சுவாரஸ்யமான பகுதிகள். 1034 00:45:45,790 --> 00:45:49,670 கூர்மையான மாணவர்கள் 3 வரையறுக்கிறது, அறிவிக்கிறது ஒரு நிலையான என்று மாணவர்கள் மற்றும் ஒதுக்குகிறது 1035 00:45:49,670 --> 00:45:53,450 அது தன்னிச்சையாக எண் 3, அதனால் நான் பயன்படுத்தி மூன்று மாணவர்கள் வேண்டும் 1036 00:45:53,450 --> 00:45:54,830 இப்போது இந்த திட்டம். 1037 00:45:54,830 --> 00:45:55,960 இங்கு முதன்மை வருகிறது. 1038 00:45:55,960 --> 00:45:58,860 மற்றும் அறிவிப்பு, எப்படி நான் அறிவிக்கிறேன் மாணவர்கள் ஒரு வரிசை? 1039 00:45:58,860 --> 00:46:00,480 சரி, நான் அதே இலக்கணத்தை பயன்படுத்தும். 1040 00:46:00,480 --> 00:46:02,110 வார்த்தை மாணவர் வெளிப்படையாக புதிய ஆகும். 1041 00:46:02,110 --> 00:46:04,790 ஆனால் மாணவர், வர்க்கம், அடைப்புக்குறி மாணவர்கள். 1042 00:46:04,790 --> 00:46:06,720 >> எனவே துரதிருஷ்டவசமாக நிறைய இருக்கிறது இங்கு விதிமுறைகளை மறுபயன்பாடு என்ற. 1043 00:46:06,720 --> 00:46:07,660 இந்த ஒரு எண். 1044 00:46:07,660 --> 00:46:09,040 இந்த மூன்று சொல்லி இருக்கிறது. 1045 00:46:09,040 --> 00:46:11,430 வர்க்கம் நான் விரும்புகிறேன் என்ன மாறி அழைக்க. 1046 00:46:11,430 --> 00:46:12,840 நான் அதை மாணவர்கள் அழைக்க முடியும். 1047 00:46:12,840 --> 00:46:15,880 ஆனால் வர்க்கம், இது ஒரு வர்க்கம் அல்ல பொருள் சார்ந்த ஜாவா வகையான வழி. 1048 00:46:15,880 --> 00:46:17,220 அது மாணவர்கள் ஒரு வர்க்கம் தான். 1049 00:46:17,220 --> 00:46:20,590 ஒவ்வொரு உறுப்பு தரவு வகை அந்த வரிசையில் மாணவர் உள்ளது. 1050 00:46:20,590 --> 00:46:23,040 இந்த ஒரு சிறிய வித்தியாசமாக ஏதாவது சொல்லி இருந்து 1051 00:46:23,040 --> 00:46:25,250 இது போன்ற, இது தான் - 1052 00:46:25,250 --> 00:46:29,500 எனக்கு மூன்று மாணவர்கள் கொடுக்க சொல்கிறேன் அந்த வரிசையில் வர்க்கம் அழைக்க. 1053 00:46:29,500 --> 00:46:29,800 >> சரி. 1054 00:46:29,800 --> 00:46:30,680 இப்போது இங்கே ஒரு நான்கு சுழற்சி இருக்கிறது. 1055 00:46:30,680 --> 00:46:33,480 இந்த பையனின் பழக்கமான - செயல்படுத்துதல் அப் பூஜ்ஜியத்தில் இருந்து மூன்று. 1056 00:46:33,480 --> 00:46:35,160 இங்கு தொடரியல் புதிய துண்டு தான். 1057 00:46:35,160 --> 00:46:37,710 திட்டம், என்னை நிரல் நடக்கிறது இது ஒரு மாணவர் கொடுக்க மனித, 1058 00:46:37,710 --> 00:46:39,200 ஒரு முழு எண்ணாக இது ஐடி. 1059 00:46:39,200 --> 00:46:44,650 இங்கு நீங்கள் எந்த தொடரியல் தான் மணிக்கு ஐடி துறையில் ஏதாவது சேமிக்க 1060 00:46:44,650 --> 00:46:48,630 இடம் வர்க்கம் அடைப்புக்குறி முதலாம் எனவே இந்த தொடரியல் புதிய அல்ல. 1061 00:46:48,630 --> 00:46:51,450 இது எனக்கு எட்டாவது கொடுக்க வேண்டும் வகுப்பில் மாணவர். 1062 00:46:51,450 --> 00:46:52,940 ஆனால் இந்த சின்னம், புதிய ஆகும். 1063 00:46:52,940 --> 00:46:56,320 இப்பொழுது வரை, நாம், டாட் பயன்படுத்தப்படும் இந்த குறைந்தபட்சம் உள்ள குறியீடு. 1064 00:46:56,320 --> 00:47:01,490 இதன் பொருள் என அழைக்கப்படும் struct செல்ல ஒரு மாணவர் அங்கு ஏதாவது வைத்து. 1065 00:47:01,490 --> 00:47:05,670 இதேபோல், இந்த அடுத்த வரியில், 31, செல்ல முன்னோக்கி வைக்க என்ன பயனர் வகையான 1066 00:47:05,670 --> 00:47:10,530 இங்கே ஒரு பெயர் மற்றும் அவர்கள் ஒரு செய்ய வீடு, அதே விஷயம், முன்சென்று 1067 00:47:10,530 --> 00:47:13,230 . வீட்டில் வைத்து. 1068 00:47:13,230 --> 00:47:15,955 >> எனவே இந்த திட்டம் என்ன செய்கிறது இறுதியில் செய்ய? 1069 00:47:15,955 --> 00:47:17,220 நீங்கள் அங்கு ஒரு சிறிய டீஸர் பார்க்க முடியும். 1070 00:47:17,220 --> 00:47:24,780 எனக்கு முன்னால் சென்று structs 0 செய்ய நாம் டாட் சாய்வு struct 0, மாணவர் அடையாள 1, 1071 00:47:24,780 --> 00:47:28,250 டேவிட் மாதர், மாணவர் அடையாள 2 என்று. 1072 00:47:28,250 --> 00:47:32,070 ராப் கிர்க்லாண்ட், மாணவர் அடையாள 3. 1073 00:47:32,070 --> 00:47:35,010 லாரன் Leverit - 1074 00:47:35,010 --> 00:47:38,380 இந்த திட்டத்தை நான் மட்டும் தான், இது, வெறும் முற்றிலும் தன்னிச்சையான உள்ளது 1075 00:47:38,380 --> 00:47:40,980 நான், இந்த தரவு ஏதாவது செய்ய வேண்டும் நான் எப்படி எங்களிடம் இப்போது 1076 00:47:40,980 --> 00:47:43,450 structs பயன்படுத்த, நான் தான் இருக்கிறது இங்கு இந்த கூடுதல் லூப். 1077 00:47:43,450 --> 00:47:45,260 நான் மாணவர்கள் அணி மீது செயல்படுத்துதல். 1078 00:47:45,260 --> 00:47:49,170 நான் எங்கள், ஒருவேளை இப்போது நன்கு நண்பர், பயன்படுத்தப்படும் சரத்திற்கு, stircomp ஒப்பிட்டு 1079 00:47:49,170 --> 00:47:53,780 காசோலை 8 மாணவர் வீடு மாதர் சமமாக? 1080 00:47:53,780 --> 00:47:56,760 அதனால் என்றால், நான் ஏதாவது அச்சிட தன்னிச்சையாக விரும்புகிறேன், ஆம், அது. 1081 00:47:56,760 --> 00:47:59,430 ஆனால் மீண்டும், எனக்கு வாய்ப்புகள் கொடுக்கும் மற்றும் பயன்படுத்த மீண்டும் பயன்படுத்துவதற்கு 1082 00:47:59,430 --> 00:48:02,270 இந்த புதிய டாட் மீண்டும். 1083 00:48:02,270 --> 00:48:03,250 >> எனவே யார் சரி, யார் கண்டது? 1084 00:48:03,250 --> 00:48:06,270 ஒரு மாணவர் திட்டத்தை கொண்டு வருகிறது ஓரளவு தன்னிச்சையாக, ஆனால் அது மாறிவிடும் 1085 00:48:06,270 --> 00:48:09,800 நாம் பயனுள்ள விஷயங்களை செய்ய முடியும் என்று இந்த உதாரணமாக பின்வருமாறு. 1086 00:48:09,800 --> 00:48:14,600 இது மிகவும் சிக்கலான struct உள்ளது சி ல் இது, ஒரு டஜன் அல்லது அதற்கு மேற்பட்ட துறைகள் இருக்கிறது 1087 00:48:14,600 --> 00:48:15,880 சற்றே மிகுந்த அளவில் மாறுபாடாக பெயரிடப்பட்டது. 1088 00:48:15,880 --> 00:48:20,110 ஆனால் நீங்கள் எப்போதாவது ஒரு கிராபிக்ஸ் கேள்விப்பட்டேன் என்றால் படங்கள் என கோப்பு வடிவம், BMP, அதை 1089 00:48:20,110 --> 00:48:22,830 மாறிவிடும் என்று பிட்மா கோப்பு வடிவம் அழகான இந்த என்று தெரிகிறது. 1090 00:48:22,830 --> 00:48:24,200 இது ஒரு முட்டாள்தனமான சிறிய ஸ்மைலி முகத்தை தான். 1091 00:48:24,200 --> 00:48:27,840 அதை நான் காண்பிக்க என்று ஒரு சிறிய படம் தான் அழகான பெரிய நான் ஒவ்வொரு பார்க்க முடியும் 1092 00:48:27,840 --> 00:48:30,410 தனிப்பட்ட புள்ளிகள் அல்லது பிக்சல்கள். 1093 00:48:30,410 --> 00:48:33,800 நாம் ஒரு பிரதிநிதித்துவம் முடியும் அவுட் இப்போது, வீச்சு எண் 0, சொல்ல, கறுப்பு புள்ளி. 1094 00:48:33,800 --> 00:48:35,520 எண் 1 மற்றும் ஒரு வெள்ளை புள்ளி. 1095 00:48:35,520 --> 00:48:39,140 >> எனவே வேறு வார்த்தைகளில் கூறுவதானால், நீங்கள் விரும்பினால் ஒரு வரைய முகம் மற்றும் அந்த படத்தை சேமிக்க 1096 00:48:39,140 --> 00:48:42,680 கணினி, அதை பூஜ்ஜியங்களைக் சேமிக்க மற்றும் போதுமான அளவில் இப்படி இருக்க வேண்டும் என்று தான், அங்கு, 1097 00:48:42,680 --> 00:48:45,250 மீண்டும், தான் வெள்ளை மற்றும் பூஜ்ஜியங்களைக் கருப்பு உள்ளன. 1098 00:48:45,250 --> 00:48:48,290 மற்றும் ஒன்றாக, நீங்கள் திறம்பட இருந்தால் தான் மற்றும் பூஜ்ஜியங்களைக் என்ற சுற்றிக்கட்டு ஒரு, நீங்கள் ஒரு வேண்டும் 1099 00:48:48,290 --> 00:48:51,030 பிக்சல்கள் கட்டம், மற்றும் நீங்கள் அமைக்க வேண்டும் அவர்களை வெளியே, நீங்கள் ஒரு அழகான வேண்டும் 1100 00:48:51,030 --> 00:48:52,560 சிறிய ஸ்மைலி முகம். 1101 00:48:52,560 --> 00:48:58,150 இப்போது, படங்கள் கோப்பு வடிவமைப்பு, BMP உள்ளது திறம்பட அந்த தொப்பி கீழே, 1102 00:48:58,150 --> 00:49:00,970 ஆனால் இன்னும் பிக்சல்கள் குடிகாரன் என்று நீங்கள் உண்மையில் நிறங்கள் பிரதிநிதித்துவம் முடியும். 1103 00:49:00,970 --> 00:49:05,170 >> ஆனால் நீங்கள் இன்னும் அதிநவீன போது BMP மற்றும் JPEG மற்றும் GIF போன்ற கோப்பு வடிவங்கள் 1104 00:49:05,170 --> 00:49:09,360 இது நீங்கள், அந்த நன்கு இருக்கும் வட்டில் கோப்புகளை பொதுவாக மட்டும் 1105 00:49:09,360 --> 00:49:13,760 பூஜ்ஜியங்களைக் மற்றும் பிக்செல்களுக்கும் தான், ஆனால் அவர்கள் அதே சில மெட்டாடேட்டா வேண்டும் - 1106 00:49:13,760 --> 00:49:16,960 உண்மையில் இல்லை என்ற அர்த்தத்தில் மெட்டா தரவு ஆனால் அது பயனுள்ளதாக இருக்கிறது. 1107 00:49:16,960 --> 00:49:21,370 எனவே இங்கே இந்த துறைகள் குறிப்பாய், மற்றும் நாங்கள் பி தொகுப்பில் இன்னும் விரிவாக இந்த பார்க்கிறேன் 1108 00:49:21,370 --> 00:49:25,810 5, அந்த பூஜ்ஜியங்களைக் மற்றும் தான் என்று முன் ஒரு படத்தில் பிக்சல்கள் பிரதிநிதித்துவம் 1109 00:49:25,810 --> 00:49:29,110 மெட்டா ஒரு கொத்து போல் இருக்கிறது பட அளவு மற்றும் 1110 00:49:29,110 --> 00:49:30,250 பட அகலம். 1111 00:49:30,250 --> 00:49:32,910 நான் சில பறிக்கிறோம் நான் கவனிக்க இங்கு தன்னிச்சையான விஷயங்கள் - 1112 00:49:32,910 --> 00:49:34,260 அகலம் மற்றும் உயரம். 1113 00:49:34,260 --> 00:49:36,160 பிட் எண்ணிக்கை மற்றும் வேறு சில விஷயங்கள். 1114 00:49:36,160 --> 00:49:37,840 எனவே, ஒரு கோப்பில் சில மெட்டாடேட்டா இருக்கிறது. 1115 00:49:37,840 --> 00:49:41,470 >> ஆனால் கோப்புகளை தீட்டப்பட்டது எப்படி புரிந்து மூலம் இந்த வழியாக வெளியே, நீங்கள் உண்மையில் முடியும் 1116 00:49:41,470 --> 00:49:45,890 பின்னர் படங்களை கையாள, படங்களை மீட்க வட்டு இருந்து, படங்களை மறுஅளவிடுகிறது. 1117 00:49:45,890 --> 00:49:47,560 ஆனால் நீங்கள் அவசியம் முடியாது அவற்றை மேம்படுத்தும். 1118 00:49:47,560 --> 00:49:48,480 நான் ஒரு புகைப்படம் தேவை. 1119 00:49:48,480 --> 00:49:52,840 அதனால் நான் பார்த்த, இங்கே ஆர்.ஜே. திரும்பி சென்றார் சில நேரம் முன்பு திரையில். 1120 00:49:52,840 --> 00:49:57,160 நான் இங்கு சிறப்புக்குறிப்பு திறந்து என்றால், இந்த நீங்கள் என்ன பெரிதாக்க முயற்சி என்றால் நடக்கிறது மற்றும் 1121 00:49:57,160 --> 00:49:59,380 ஆர்ஜே அதிகரிக்க. 1122 00:49:59,380 --> 00:50:01,480 அவர் உண்மையில் எந்த நல்ல கிடைக்கவில்லை. 1123 00:50:01,480 --> 00:50:06,240 இப்போது சிறப்புக்குறிப்பு இது ஒரு மங்கலான வகையான உள்ளது சிறிது, வெறும் விரிவுரை செய்ய 1124 00:50:06,240 --> 00:50:11,040 ஆர்ஜே குறிப்பாக இல்லை என்பது உண்மை நீங்கள் பெரிதாக்கவும் போது மேம்பட்ட 1125 00:50:11,040 --> 00:50:13,310 அது இந்த வழியில் செய்தால், சதுரங்கள் பார்க்க? 1126 00:50:13,310 --> 00:50:15,490 ஆமாம், நிச்சயமாக நீங்கள் பார்க்க முடியும் ஒரு ப்ரொஜெக்டர் இல் சதுரங்கள். 1127 00:50:15,490 --> 00:50:17,690 >> என்று நீங்கள் மேம்படுத்தும் போது நீங்கள் என்ன. 1128 00:50:17,690 --> 00:50:22,570 ஆனால் புரிதலில் எப்படி நம் ஆர்.ஜே. அல்லது ஸ்மைலி முகத்தை செயல்படுத்தப்படுகிறது நம்மை நாம் 1129 00:50:22,570 --> 00:50:24,950 உண்மையில் கையாளும் குறியீடு எழுத இந்த விஷயங்கள். 1130 00:50:24,950 --> 00:50:29,970 மற்றும் நான், நான் இந்த குறிப்பு முடிவுக்கு நினைத்தேன் ஒரு 55 வினாடிகள், அந்த அதிகரிக்க 1131 00:50:29,970 --> 00:50:31,230 நான் மாறாக தவறான சொல்ல, தைரியம். 1132 00:50:31,230 --> 00:50:32,990 >> [மறுஒளிபரப்பு வீடியோ] 1133 00:50:32,990 --> 00:50:34,790 >> -அவன் பொய் சொல்கிறான். 1134 00:50:34,790 --> 00:50:38,310 என்ன பற்றி, எனக்கு தெரியாது. 1135 00:50:38,310 --> 00:50:41,200 >> -நாம் என்ன தெரியுமா? 1136 00:50:41,200 --> 00:50:45,280 >> அதாவது 9:15 ரே Santoya மணிக்கு ஏடிஎம் இருந்தது. 1137 00:50:45,280 --> 00:50:47,830 >> -ஆக கேள்வி என்ன அவர் 9:16 மணிக்கு செய்து கொண்டிருந்தார்? 1138 00:50:47,830 --> 00:50:50,750 >> -படப்பிடிப்பு ஒன்பது மில்லிமீட்டர் ஏதாவது மணிக்கு. 1139 00:50:50,750 --> 00:50:52,615 ஒருவேளை அவர் துப்பாக்கி சுடும் பார்த்தேன். 1140 00:50:52,615 --> 00:50:54,760 >> அல்லது அவருடன் வேலை. 1141 00:50:54,760 --> 00:50:56,120 >> -காத்திருங்கள். 1142 00:50:56,120 --> 00:50:57,450 ஒரு போக. 1143 00:50:57,450 --> 00:50:58,700 >> -நீங்கள் என்ன பார்க்க வேண்டும்? 1144 00:50:58,700 --> 00:51:05,530 1145 00:51:05,530 --> 00:51:09,490 >> , முழு திரையில் தனது முகத்தை-கொண்டுவா. 1146 00:51:09,490 --> 00:51:09,790 >> அவரது கண்ணாடிகள். 1147 00:51:09,790 --> 00:51:11,040 >> -இருக்கின்றன ஒரு பிரதிபலிப்பு தான். 1148 00:51:11,040 --> 00:51:21,790 1149 00:51:21,790 --> 00:51:23,520 >> அதாவது Neuvitas பேஸ்பால் அணியின். 1150 00:51:23,520 --> 00:51:24,530 அவர்களின் சின்னம் தான். 1151 00:51:24,530 --> 00:51:27,040 >> -அவர் தான் யார் பேசுவது அந்த ஜாக்கெட் அணிந்து. 1152 00:51:27,040 --> 00:51:27,530 >> [END மறுஒளிபரப்பு வீடியோ] 1153 00:51:27,530 --> 00:51:29,180 >> டேவிட் ஜே MALAN: இந்த சாப்பிடுவேன் சிக்கல் அமை 5 இருக்கும். 1154 00:51:29,180 --> 00:51:30,720 நாங்கள் அடுத்த வாரம் நீங்கள் பார்ப்போம். 1155 00:51:30,720 --> 00:51:32,330 >> ஆண் உரையாளர்: அடுத்த CS50 நேரத்தில். 1156 00:51:32,330 --> 00:51:39,240 >> [கிரிக்கெட் பாடும்] 1157 00:51:39,240 --> 00:51:41,270 >> [இசை]