[இசை]
>> டேவிட் ஜே MALAN: சரி.
இந்த CS50 உள்ளது.
இந்த வாரம் 5 தொடக்கத்தில் உள்ளது.
மற்றும் நீங்கள் கவனித்தீர்களா என, பொருள் சில
இன்னும் கொஞ்சம் வருகிறது சிக்கலான, சிறிய அடர்த்தியான.
>> அது குறிப்பாக, மிகவும் எளிது நீங்கள், சில நேரம் தைரியம்
மிகவும் கீழே கிறுக்கு முயற்சி செய்ய வேண்டும் நாம் எதையும், நாம் வர்க்கம் என்று.
ஆனால் அந்த ஒருவேளை, உணர சிறந்த வழிகாட்டி அணுகுமுறை
பொருள் இந்த வகையான கற்றல், மற்றும் பொருள் பொதுவாக.
எனவே நாம் மகிழ்ச்சியடைகிறோம் என்று CS50 சொந்த Gheng அறிவிக்க
காங் தயார் தொடங்கியுள்ளது ஒரு குறிப்புகளை நியமன தொகுப்பு
நிச்சயமாக, நம்பிக்கை இந்த, என்று ஒன்று உள்ளது
மட்டும் ஒரு பணியாற்ற குறிப்பு மற்றும் ஒரு ஆதார
பொருள் ஆய்வு மற்றும் போகிறாய் மீண்டும் பொருள் மூலம் வேண்டும் என்று
சுற்றி முதல் முறையாக தப்பி ஆனால் மேலும், அதனால் உங்கள் தலைகள் இருக்க முடியும் மேலும்
கீழே போது அது வரை விட சொற்பொழிவு நேரம் வரும்,
நீங்கள் ஈடுபட வேண்டும் என்று மேலும் சிந்தனையுடன், என
மேலும் ஸ்கிரிப்லி எதிர்த்தார்.
>> என்று கொண்டு, நீங்கள் காணலாம் என்ன இணையதளத்தில் இந்த போன்ற ஆவணங்களை ஆகிறது.
அறிவிப்பு, மேல் இடது, அங்கு மட்டும் பொருளடக்கத்தை,
ஆனால் நேரம் குறியீடுகள் என்று உடனடியாக நீங்கள் குதிக்கும்
அதற்கான பகுதியாக வீடியோ ஆன்லைன்.
மற்றும் இங்கே என்ன சாங் செய்துள்ளார் அடிப்படையில், ஆவணப்படுத்தப்பட்டுள்ளது
என்ன இந்த நடந்தது குறிப்பிட்ட விரிவுரை.
மற்றும் விரிவுரைகள் பல உள்ளன ஏற்கனவே ஆன்லைன் இப்போது இந்த URL உடன்.
நாம் எஞ்சிய பதிவு தொடர வேண்டும் இந்த வாரம் இறுதியில் அந்த,
அதனால் அந்த வள பயன்படுத்தி கொள்ள வேண்டாம்.
>> எனவே மேலும் சந்தடி இல்லாமல், நாங்கள் மீண்டும் தலாம் தொடங்கியது
வருகிறது என்று அடுக்கு சில நேரம் சரம்.
நாம் ஒரு சரம் என்ன சொல்ல உண்மையில் கடந்த வாரம் ஆகும்?
எனவே எரிப்பதை நட்சத்திரம்.
மற்றும் கரி நட்சத்திர, நன்கு, என்ன உண்மையில் அதன் அர்த்தம் என்ன?
சரி, இந்த நேரத்தில், நாம் கிடைத்தால் ஒரு செயல்பாடு அழைப்பு,
GetString, மற்றும் சேமிக்கும் போன்ற என்று அழைக்கப்படும் திரும்பி
ஓர் GetString மதிப்பு மாறி என்று
நாம் எழுதும் வருகிறோம் சரம் கள் வகை அங்கு மேலே குறியீடு வரி.
நான் பார்க்கும் போது அது தான் என் கையெழுத்து இங்கே பெரிதாக
நான் இந்த எவ்வளவு கொடிய உணர செய்கிறது.
>> எனினும், நாம் கருதி கொள்வோம், வலது புறத்தில்
ஆயினும், ஒரு நியாயமான ஆகிறது என்ன சித்தரிப்பு
இந்த நடக்கிறது getString நேரம்.
GetString, நிச்சயமாக, ஒரு சரம் பெறுகிறார்.
ஆனால் உண்மையில் என்ன அர்த்தம்?
அது ஒரு துண்டின் பெறும் இயங்கு இருந்து நினைவகம்
ஒரு செயல்பாடு அழைப்பு, malloc என்று.
ஆனால் இன்னும் அந்த பின்னர்.
பின்னர் அது விரிவாக்கிறது நினைவகம் என்று துண்டின்
கடிதங்கள் பயனர் , தட்டச்சு தொடர்ந்து, நிச்சயமாக,
ஒரு வெற்று தன்மை, அல்லது பயன் மிகவும் இறுதியில் பூஜ்ஜியம்.
>> இதற்கிடையில், இடது புறத்தில் இந்த கதை, இந்த நேரத்தில்,
நாம் கள் போல, ஒரு மாறி அறிவித்தார்.
என்று மாறி இப்போது என்ன ஆகிறது ஒரு சுட்டிக்காட்டி அழைப்பு தொடங்க.
இது உள்ளே ஒரு பெட்டியில் தான் நாம் சரம் வைத்து, Daven, உள்ளபடியே,
மாறாக நாம் அந்த சதுர வைத்து இடது சரியாக என்ன பெட்டி?
சரி?
>> பார்வையாளர்கள்: முகவரி அதை நினைவு அமைந்துள்ளது.
>> டேவிட் ஜே MALAN: நிச்சயமாக.
Daven அங்கு முகவரி நினைவகம் அமைந்துள்ளது.
மேலும் Daven அனைத்து அமைந்துள்ள எங்கே உள்ளபடியே, ஆனால் குறிப்பாக முகவரி
என்ன?
சரி?
>> பார்வையாளர்கள்: முதல் எழுத்து.
>> டேவிட் ஜே MALAN: முதல் எழுத்து இந்த வழக்கில் Daven, இதில்,
நான் தன்னிச்சையாக இருந்தது மற்றும் யதார்த்தமற்ற 1, Ox1,
இது தான் அர்த்தம் 1 எண்ம.
ஆனால் அது அநேகமாக நடக்கிறது ஒரு மிக பெரிய எண் இருக்கும்
நாங்கள் வரைய வேண்டும் என்று ஒரு முன்னொட்டு ஒரு 0x உடன்,
ஒரு அறுபதின்ம தன்மையை குறிக்கும்.
நாம் எங்கே தெரிய வேண்டும், ஏனெனில் Daven எழுத்துக்கள் மற்ற
ஏனெனில், என்ன எளிய வடிவமைப்பு முடிவு பல ஆண்டுகளுக்கு முன்பு செய்யப்பட்டது என்று?
சரி?
>> பார்வையாளர்கள்: பின்கோடு 0.
டேவிட் ஜே MALAN: சரி, சரியாக.
பின்சாய்வுக்கோடானது 0 என்றாலும், நீங்கள் அனுமதிக்கிறது நேரியல் நேரம், சரம் பிரயாணம்,
இடது இருந்து வலது நடக்க, ஒரு வட்டத்திற்கு, அல்லது ஒரு போது
கண்ணி, அல்லது வேறு ஏதாவதா என்று, மற்றும் இங்கே, ஓ, தீர்மானிக்க
இந்த குறிப்பிட்ட சரம் இறுதியில் உள்ளது.
வெறும் முகவரி எனவே ஒரு சரம் தொடக்கத்தில்,
நாங்கள் முழுமையாக அணுக முடியும் அது அனைத்து இந்த நேரத்தில், ஏனெனில்,
ஒரு சரம் ஒரு கரி நட்சத்திர வருகிறது.
>> எனவே அதை பயன்படுத்தி தொடர நிச்சயமாக நன்றாக இருக்கிறது CS50 நூலகம் மற்றும் இந்த சுருக்க,
அதனால் பேச, ஆனால் நாம் செய்வேன் சரியாக பார்க்க தொடங்க
என்ன நடக்கிறது இந்த முழு நேரம் அடியில்.
எனவே நீங்கள் இந்த உதாரணம் நினைவு இருக்கலாம், கூட, கடந்த காலத்தில் இருந்து, 0 ஒப்பிட்டு,
இது உண்மையில் ஒப்பிட்டு இல்லை.
ஆனால் நாம் இந்த தீர்க்க தொடங்கியது.
>> ஆனால் ஒருவேளை ஒரு வலுவூட்டுவது, நான் யாரோ ஆர்வமூட்டும்
ஒரு பிங்க் யானை இன்று, மேலும், சாங் மூலம்?
எப்படி முன் நீங்கள்? [செவிக்கு புலப்படாமல்].
வா.
>> மற்றும் இதற்கிடையில், நீங்கள் வந்து என, நாம்
ஒரு கணம் கருத்தில் என்ன இந்த குறியீடு உண்மையில் என்ன நடந்தது.
இது இரண்டு மாறிகள் வரை அறிவித்தார் மேல், கள் மற்றும் t, மற்றும் GetString அழைப்பு.
இது ஒரு மிகவும் பயனர் நட்பு திட்டம் அல்ல அதை நீங்கள் சொல்ல முடியாது, ஏனெனில் என்ன செய்ய.
ஆனால் நாங்கள் இருக்கிறோம் கருதி நாம் ஓரு பகுதியாக மையமாக.
கள் சமம் என்றால் பின்னர் நாங்கள் செய்கிறோம் , அது printf சொல்ல வேண்டும் T சமம்,
நீங்கள் அதே விஷயத்தை தட்டச்சு.
வணக்கம்.
உங்கள் பெயர் என்ன?
>> அமுதா கிருஷ்ணா: அமுதா கிருஷ்ணா.
டேவிட் ஜே MALAN: அமுதா கிருஷ்ணா, உங்களை சந்திப்பதில் மகிழ்ச்சி.
உங்கள் சவால் எனவே யானை கையில்
முதலில் எங்களுக்கு என்ன ஒரு படம் வரைய ஆகிறது அந்த முதல் இரண்டு பிரதிநிதித்துவம்
கோடுகள்.
எனவே கள் மற்றும் t இருக்கலாம் எப்படி திரையில் பிரதிநிதித்துவம்?
நீங்கள் தான் அதை வரைய முடியும் இந்த பெரிய திரையில் உங்கள் விரல்.
>> எனவே இரண்டு பகுதிகளாக இருக்கிறது சமன்பாடு ஒவ்வொரு பக்கத்தில்.
எனவே அங்கு இடது கள், மற்றும் பின்னர் வலது GetString.
பின்னர் டி, இடது இருக்கிறது பின்னர் வலது GetString.
எனவே நாம் எப்படி ஆரம்பிப்பது ஒரு படம் வரைந்து என்று
என்ன நடக்கிறது பிரதிபலிக்கிறது இங்கே நினைவகத்தில், நீங்கள் சொல்ல முடியும்?
என்னை நீங்கள் விளக்க அனுமதிக்க நீங்கள் போய் நீங்கள் என்ன செய்கிறீர்கள்.
>> அமுதா கிருஷ்ணா: சரி.
சரி, முதல், அதை கேட்டு நீங்கள் உள்ளீடு சரம் பெற.
அது மன்னிக்கவும், ஓ store-- வேண்டும்.
டேவிட் ஜே MALAN: சரி.
நல்ல.
இது என்ன என்று அழைக்கப்படுகிறது?
சரி, ஓ.
போகும்.
நான் குறுக்கிட சொல்லவில்லை.
அமுதா கிருஷ்ணா: மன்னிக்கவும்.
எனவே அது உள்ளீடு அதை விரும்பவில்லை முகவரி நிச்சயமாக இல்லை of--.
நான் சரியாக எண்ணை நினைவில் முடியாது, ஆனால் நான் அதை 0 தொடங்கி என்று நம்புகிறேன்.
>> டேவிட் ஜே MALAN: அது சரி நான் எண்கள் ஏனெனில்,
எனவே சரியான பதில் இல்லை.
>> அமுதா கிருஷ்ணா: 0 ஆர்க் தொடங்கி.
>> டேவிட் ஜே MALAN: சரி, உறுப்பு 0.
நிச்சயமாக.
>> அமுதா கிருஷ்ணா: பின்னர் இருந்தது வெறும் இரண்டு கடிதம் போன்ற
>> டேவிட் ஜே MALAN: சரி, நீங்கள் திரும்ப.
>> அமுதா கிருஷ்ணா: எனவே உறுப்பு 0, பின்னர் உறுப்பு 1 அல்லது உறுப்பு 2.
இது துண்டு மற்றும் டேவிட் ஜே MALAN: படத்தை நீங்கள் இப்போது வரைந்து?
getString அழைப்பு?
அல்லது கள் அறிவிப்பு?
>> அமுதா கிருஷ்ணா: அறிவிப்பு கள், நான் நம்புகிறேன்.
ஓ, GetString, அதை காரணம் ஒவ்வொரு [ஒரு உள்ளிட்ட வேண்டும்? பகுதி. ?]
>> டேவிட் ஜே MALAN: நல்ல.
சரியாக.
இந்த திறம்பட போதும் ஒரு வரிசை, திரும்ப திரும்ப,
நாம் ஒரு சரம் திரும்ப கிடைக்கும் போது, நாம் 01 மற்றும் 2 பயன்படுத்தி சரம் குறியீட்டு.
தொழில்நுட்ப ரீதியாக, இந்த அநேகமாக உள்ளன தனிப்பட்ட முகவரிகளை பிரதிநிதித்துவம்,
ஆனால் அது நல்லது.
>> எனவே, நினைக்கிறேன் என்றால் நான் வேகமாக நாம் விட்ட இடத்தில் முன்னோக்கி
கடந்த முறை, ஏதேனும் ஒன்று சரங்களை, ஒரு பி ஈ கிராம் இருந்தது
பின்சாய்வுக்கோடானது 0, அதன் மூலம் குறிக்கும் காபே தான் உள்ளீடு, எப்படி நாம் கள் இப்போது பிரதிநிதித்துவம்?
இது தான் என்று நினைவு என்றால் GetString மூலம் திரும்பிய?
>> அமுதா கிருஷ்ணா: இது இருக்க வேண்டும் ஒரு வில் பிரதிநிதித்துவம்?
>> டேவிட் ஜே MALAN: ஒரு வில் மூலம்?
சரி, இல்லை.
, தான் pictorially, சொல்கிறேன் என்னை போய்
இந்த கள் என்றால், இந்த என்று முன்மொழிய GetString திரும்ப மதிப்பு இருக்கிறது.
நீங்கள் 0, 1, 2, இந்த வரையப்பட்ட இது , செய்தபின் நியாயமான உள்ளது நாம் ஏனெனில்
போன்ற சரம் குறியீட்டு முடியும்.
ஆனால் இசைவானதாக இருக்க வேண்டும் கடந்த முறை, எனக்கு முன்னே போகட்டும்
தன்னிச்சையாக இந்த என்று முன்மொழிய முகவரி 1, இந்த முகவரியை 2,
இந்த முன்னும் பின்னுமாக முகவரி 3, மற்றும் ஆகிறது.
எனவே, தான் சூப்பர் இருக்க வேண்டும் தெளிவான, என்ன நடக்கிறது
என்று விளைவாக கள் செல்ல குறியீடு முதல் வரி, நீங்கள் சொல்ல முடியும்?
>> அமுதா கிருஷ்ணா: முகவரி 1?
>> டேவிட் ஜே MALAN: நிச்சயமாக.
எனவே 0x1 உரையாற்ற.
இதற்கிடையில், எனக்கு முன்னே போகட்டும் மற்றும் நீங்கள் என்ன செய்தேன் மிகவும் நகல்
இங்கே என் சொந்த t சேர்க்க.
நான் காபே தட்டச்சு செய்தால் மீண்டும் இரண்டாவது முறையாக,
GetString மூலம் கேட்கப்பட்ட போது, அங்கு, நிச்சயமாக, காபே செல்ல போகிறது?
சரி, presumably--
>> அமுதா கிருஷ்ணா: இங்கே இப்படி?
டேவிட் ஜே MALAN: ஆமாம்.
அமுதா கிருஷ்ணா: அல்லது அதே பெட்டிகளில் தான்?
டேவிட் ஜே MALAN: எனக்கு, ஆமாம் முன்மொழிய விரும்புகிறேன் சரியாக, இந்த கூடுதல் பெட்டிகள் மிகவும்.
ஆனால் இப்போது முக்கிய விஷயம் கூட, என்று நான் இந்த அழகான நெருங்கிய வரையப்பட்ட போதும்
ஒன்றாக 0x1, இந்த உண்மையில் 0x2-- உள்ளது,
இந்த இப்போது, முகவரி 0x10 இருக்கலாம் உதாரணமாக, மற்றும் 0x11, மற்றும் 0x12,
மற்றும் முன்னும் பின்னுமாக.
எனவே, அந்த வழக்கு என்றால், டி என்ன இங்கே முடிவடையும் நடக்கிறது?
>> அமுதா கிருஷ்ணா: 0x10?
டேவிட் ஜே MALAN: நிச்சயமாக.
எனவே 0x10.
அதனால் இப்போது, கடைசி கேள்வி.
நீங்கள், இதுவரை, பணியாற்றினேன் இதுவரை ஒரு யானை கடினமான.
இப்போது, நான் குறியீடு மேலே மீண்டும், நான் செய்யும் போது, வரி மூன்று,
கள் சமம் T சமம் என்றால், நான் உண்மையில் என்ன ஆகிறேன் நாங்கள் இங்கே வரையப்பட்ட என்று?
>> அமுதா கிருஷ்ணா: இரண்டு முகவரிகள்?
டேவிட் ஜே MALAN: நிச்சயமாக.
எனவே நான் டி சம சம சொல்கிறேன்?
வேறு வார்த்தைகளில் கூறுவதானால், 10 சம சம 1?
நிச்சயமாக, தெளிவான பதில் இப்போது இல்லை, இல்லை.
எனவே இந்த திட்டம் இறுதியில் ஆகிறது நீங்கள் என்ன சொல்ல, அச்சிட போகிறது?
>> அமுதா கிருஷ்ணா: இது இருக்க வேண்டும் நீங்கள் அதே விஷயத்தை தட்டச்சு?
>> டேவிட் ஜே MALAN: எனவே கள் 1 மற்றும் டி 10 ஆகும்?
>> அமுதா கிருஷ்ணா: நீங்கள் வேறு விஷயங்களை தட்டச்சு.
>> டேவிட் ஜே MALAN: நிச்சயமாக.
நீங்கள் வேறு விஷயங்களை தட்டச்சு.
சரி.
எனவே கரவொலி ஒரு சுற்று, இங்கே, நாம் முடிந்தால்.
[கரவொலி]
என்று வலி இருந்தது.
எனக்கு தெரியும்.
நேர்த்தியாக செய்து.
எனவே இப்போது நாம் பார்ப்போம் என்றால் நம்மால் முடியாது பிழைத்திருத்தம் இருந்தது என்ன தவிர கிண்டல்.
நிச்சயமாக, நாம் இந்த நிலையான போது இது நான் இப்போது green-- பிரதிநிதித்துவம் வேண்டும்
நாம் இங்கே மாற்றங்கள் ஒரு ஜோடி இல்லை.
முதல், ஒரு நல்லறிவு என நான் நான் முதலில் சோதனை, பார்க்கலாம்
கள் பூஜ்ய சமம் மற்றும் t பூஜ்ய சமம் என்றால்.
மற்றும் தெளிவாக இருக்க வேண்டும், போது வலிமை கள் அல்லது t இந்த குறியீடு பூஜ்ய இருக்கும்?
போது கள் அல்லது t பூஜ்ய இருக்கலாம்.
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: நிச்சயமாக.
சரம் பயனர் என்றால் தட்டச்சு வழி மிகவும் நீளமாக உள்ளது
நினைவகத்தில் பொருந்துவதில்லை, அல்லது சில என்று போன்ற வித்தியாசமான மூலையில் வழக்கில்,
நாம் பார்க்க வேண்டும் போல் எளிமையாக, GetString, இன்று, அதன் ஆவணங்கள்,
அதை பூஜ்ய என திரும்ப ஒரு சிறப்பு காவலாளி மதிப்பு,
அல்லது அப்படி ஒரு சிறப்பு சின்னமாக என்று ஏதோ தவறு நடந்துவிட்டது என்று பொருள்.
எனவே நாங்கள் சரிபார்க்க வேண்டும் அது மாறிவிடும் என்பதால், அந்த
என்று பூஜ்ய மிகவும் ஆபத்தான மதிப்பு உள்ளது.
>> பெரும்பாலும், நீங்கள் ஏதாவது செய்ய முயற்சி செய்தால் பூஜ்ய அதை கடந்து ஒரு செயல்பாடு சம்பந்தப்பட்ட
உள்ளீடு, அந்த செயல்பாடு instance-- க்கான மிகவும் அது, செயலிழக்க செய்யும் இருக்கலாம்,
உங்கள் முழு திட்டத்தை கீழே எடுத்து.
எனவே, இந்த மூன்றாவது வரி இப்போது ஒரு நல்லறிவு ஆகிறது நீங்கள் கூட, பிழை சோதனை சரிபார்க்க.
என்று இப்போது ஒரு நல்ல பழக்கம் எங்களுக்கு எந்த நேரத்தில் பெற நாங்கள்
ஒரு மதிப்பு பயன்படுத்த முயற்சி என்று , திறன், பூஜ்ய இருக்க முடியும்.
>> இப்போது, இங்கே நான்காவது வரிசையில், "என்றால் strcmp (கள், t)" நன்றாக,
என்ன சொல்கிறாய் என்று?
சரி, நாம் இந்த மிகவும் கினார் ஒரு கூறினார் சரம் ஒப்பிட்டு என்ற விழா.
வாழ்க்கையில் அதன் நோக்கம் ஒப்பிட்டு ஆகிறது இரண்டாவது எதிராக தனது முதல் வாதம்,
ஆனால் தங்கள் முகவரிகளை அடிப்படையில், நாம் ஒரு கணம் தற்செயலாக செய்தது போல்
முன்பு சிவப்பு குறியீடு, ஆனால் மாறாக அந்த இரண்டு ஒப்பிட்டு
மனித சக்திக்கு உட்பட்டு உள்ளுணர்வு சரங்களை இந்த எதிராக, இந்த ஒப்பிடுவதன் மூலம் வழி,
இந்த, இந்த எதிராக, எதிராக பின்னர் நிறுத்தும் போது ஒரு என்றால்
அல்லது என் விரல்களை இரு ஒரு பின்சாய்வுக்கோடானது 0 எம்.
எனவே யாராவது ஆண்டுகளுக்கு முன்பு செயல்படுத்திய strcmp செயல்பாடு எங்களுக்கு செயல்படுத்த
நாம் விட்டிருக்கும் என்று நம்பினார் என்று வெறும் இரண்டு எளிய மதிப்புகள் ஒப்பிட்டு.
>> இப்போது வெளிப்படையாக, நான் வரைதல் வைத்திருக்கிறேன் இந்த பல்வேறு எண்கள் அனைத்தும்.
ஆனால் உண்மையில் நான் வந்துள்ளேன், ஆகிறது முழு நேரம் வரை இந்த செய்யும்.
அதனால் என்னை போய் இந்த அவுட் கிறுக்கு
ஒரு புள்ளி வைக்க வேண்டும் என்று, இறுதியில் நாள் மற்றும் முன்னோக்கி நகரும்,
நாம் உண்மையிலேயே அக்கறை போவதில்லை என்ன விஷயங்கள் உண்மையில் முகவரிகள்
நினைவு.
அதனால் நான் இந்த வரைய போகிறேன் இவ்வளவு இனி எண்கள் வகையான,
நான் ஒரு இது ஒரு சுருக்க இருக்கிறேன் வெறும் அம்புகள் மேலும் நட்பு சிறிய.
>> வேறுவிதமாக கூறினால், கள் ஒரு சுட்டிக்காட்டி உள்ளது என்றால், நன்றாக, தான் உண்மையில், அது வரைய
ஒரு சுட்டிக்காட்டி, ஒரு அம்புக்குறி சுட்டி , வேறு ஏதாவது தன்னை
பற்றி மிக அதிகமாக கவலைப்பட இந்த முகவரிகள் minutia
இது, மீண்டும், நான் எப்படியும் செய்து.
ஆனால் நாங்கள் அந்த முகவரிகளை பார்க்க வேண்டும், சில நேரங்களில், குறியீடு பிழைத்திருத்தம்.
>> இப்போது இதற்கிடையில், இந்த திட்டம் இங்கே திருத்தங்கள், நிச்சயமாக,
ஒப்பிடுவதன் மூலம் அந்த பிரச்சனை அந்த இரண்டு சரங்களை.
ஆனால் நாம் மற்றொரு பிரச்சனை கடக்கும்.
இந்த நகல் இருந்தது கடந்த முறை நிரல்
அதன்படி, நான், மூலதனமாய் முயற்சி ஒரு சரம் இல் தான் முதல் எழுத்து.
ஆனால் அறிகுறி என்ன நாங்கள் கடந்த முறை பார்த்தேன்
ஒரு பயனர் போன்ற ஒரு மதிப்பு தட்டச்சு ஸ்மால் கேப், கள்,
பின்னர் நாம், T ஒரு கள் ஒதுக்கப்படும் அங்கு மூன்றாவது வரி என,
பின்னர் நான் முயற்சி டி அடைப்புக்குறி 0 மூலதனமாய்?
விளைவு என்னவாக இருந்தது டி அடைப்புக்குறி 0 இங்கே மாறும்?
>> பார்வையாளர்கள்: அது கள் மாற்றப்பட்டது.
>> டேவிட் ஜே MALAN: ஆமாம், நான் நன்றாக, கள் மாற்றப்பட்டது.
உண்மையில் என்ன நடக்கிறது என்று காரணம்?
சரி, நான் சுத்தம் என்றால் என்னை பார்க்க அனுமதிக்க இந்த படத்தை, பின்வருமாறு.
>> கள் இருந்தால், மீண்டும், வார்த்தை கிராம், ஏ, பி, இ, பின்சாய்வுக்கோடானது, 0, மற்றும் கள்
நாம் ஒரு பெட்டியில் வரைதல் தொடர வேண்டும் இங்கே, ஆனால் இன்னும் முகவரிகள்.
விஷயங்களை செய்து தடுத்து நிறுத்தலாம்.
தான் ஒரு படம் வரைய வேண்டும் உலக எளிமைப்படுத்த.
>> நான் சரம் t டி அறிவிக்கும் போது, என்று நினைவகம் என்று துண்டின் உருவாக்குகிறது.
சதுக்கத்தில் 32 ஆக நடக்கிறது பெரும்பாலான கணினிகள் பிட்கள்.
உண்மையில், நீங்கள் எப்போதும் ஒரு கேட்டிருக்கிறேன் கணினி, ஒரு 32 பிட் கட்டமைப்பில் கொண்ட
உண்மையில் ஆடம்பரமான பேச, அந்த அது 32 பிட் முகவரிகளை பயன்படுத்துகிறது என்று பொருள்.
மற்றும் ஒதுக்கி ஒரு தொழில்நுட்ப போல், நீங்கள் எப்போதும் வியந்து என்றால்
ஏன் பழைய கணினிகள், உண்மையில் நீங்கள் என்றால் RAM நிறைய சூப் அவர்களை முயற்சி,
மட்டுமே அதிகபட்சமாக இருக்க முடியும் ரேம் நான்கு ஜிகாபைட்,
அந்த மொழியில், ஏனென்றால், உங்கள் பழைய கணினியில் முடிந்த மட்டும்
4 போன்ற அதிக எண்ணிக்கை பில்லியன், 4 பில்லியன் பைட்டுகள்,
ஏனெனில் அது 32 பிட் பயன்படுத்தி முகவரிகள் எண்கள்.
>> ஆனால் எந்த விஷயத்தில், இந்த உதாரணமாக, கதை மிகவும் எளிமையானது.
டி மற்றொரு சுட்டிக்காட்டி இருக்கிறது, அல்லது உண்மையில் ஒரு எரிப்பதை நட்சத்திர, aka சரம்.
எப்படி நான் இந்த படத்தை மேம்படுத்த வேண்டும் செய்கிறது இப்போது, குறியீடு என்று இரண்டாவது வரிசையில்,
டாட் பின்னர், டாட், டாட்?
நான் செய்யும் போது சரம் t, கள் அரைக்காற்புள்ளி சமம் இந்த படத்தை எப்படி மாற்ற?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: ஆமாம்.
சரியாக.
நான் இருந்து ஒரு அம்புக்குறி வைத்தேன் அதே முகவரியை டி பெட்டியில்,
அதே முதல் கடிதம் கொடுத்தார்.
அல்லது தொழில்நுட்ப, இந்த பையன், 0x1 இருந்தனர்
நான் போல தான் இங்கே 0x1 இங்கே 0x1.
ஆனால் மீண்டும், யார் கவலைப்படுகிறார்கள் முகவரிகளை பற்றி?
அது இப்போது விஷயம் என்று தான் யோசனை.
எனவே இந்த என்ன நடக்கிறது இங்கே இருக்கிறது.
நிச்சயமாக, நீங்கள் செய்தால் t அடைப்புக்குறி எனவே வரிசை குறியீட்டில் இது 0,
என்ற போக்கில் மற்றும் வெளிப்படையாக, அது தெரிகிறது இங்கே ஒரு வரிசை உள்ளது போல்,
ஆனால் இப்போது இந்த வித்தியாசமான விஷயம்.
என்று நிரலாக்க மொழி தெரியும், சி, நீங்கள் இந்த வசதியை வழங்குகிறது
அதன்படி, t ஒரு கூட சுட்டிக்காட்டி, அல்லது கள் ஒரு சுட்டிக்காட்டி,
நீங்கள் இன்னும் என்று தெரிந்திருந்தால் பயன்படுத்த முடியும் வசதியாக சதுர அடைப்புக்குறி
குறிப்பு முதல் உறுப்பு செல்ல, இரண்டாவது உறுப்பு, அல்லது எந்த உறுப்பு அல்லது
என்று சுட்டிக்காட்டி சுட்டி என்று செய்ய மறைமுகமாக, ஏனெனில், அது
இந்த வழக்கில், ஆகிறது சில வரிசை சுட்டி.
>> நாம் எப்படி இந்த சரிசெய்வது?
அது ஒரு கிடைத்தது அங்கு வெளிப்படையாக, இந்த ஆகிறது முதல் பார்வையில் சிறிய பெரும்.
ஆனால் இங்கே ஒரு புதிய மற்றும் மேம்படுத்தப்பட்ட பதிப்பு.
>> எனவே, முதலில் நான் பெற்ற CS50 நூலகம் போக்க,
வெறும் உண்மையில் கள் அம்பலப்படுத்த ஒரு எரிப்பதை நட்சத்திரம், ஒரு பொருள்.
மற்றும் t ஒரு எரிப்பதை நட்சத்திர ஆகிறது.
ஆனால் என்ன நடக்கிறது அந்த வரிசையில் வலது புறத்தில்
t ஒரு மதிப்பு ஒதுக்கப்படுகின்றன எங்கே?
>> Malloc என்ன?
அது என்ன strlen?
Sizeof (கரி) என்றால் என்ன?
ஏன் கர்மம் செய்கிறது வரி தோற்றம் மிகவும் சிக்கலான?
என்ன இது ஒரு உயர்ந்த மட்டத்தில் செய்வது?
அது t என்ன சேமித்து?
சரி?
பார்வையாளர்கள்: அது ஒதுக்கீடு ஒரு நினைவகம் இடத்தை குறிப்பிட்ட அளவு.
இது, சேமிக்க தான் நான் நினைக்கிறேன், கடிதங்கள் [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: பெர்பெக்ட்.
சரியான.
அது ஒரு குறிப்பிட்ட ஒதுக்கீடு நினைவகம் இடத்தை அளவு
, மறைமுகமாக, எதிர்கால கடிதங்களை சேமிக்க.
குறிப்பாக, malloc எனவே அவர் என்ன திரும்பிய?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] மீண்டும் வருகிறீர்களா?
டேவிட் ஜே MALAN: நிச்சயமாக.
என்று நினைவகம் முகவரியை திரும்பி, இது என்று ஒரு கற்பனை வழி,
முகவரி கொடுக்கிறது என்று நினைவக முதல் பைட்.
எனக்கு நினைவில் தடுக்க ஆகிறது எவ்வளவு நினைவகம் நான் உண்மையில்
ஒதுக்கீடு அல்லது ஐந்து malloc கேட்டார்.
>> இப்போது அந்த எவ்வளவு?
நன்றாக, அங்கு கூட இங்கே அடைப்புக்குறிக்குள் நிறைய,
malloc ஒரு ஒற்றை வாதம் ஆகும்.
நான் வி strlen குறிப்பிடாமல், அதனால் கொடுக்க என்னை போன்ற பல பைட்டுகள் கள் உள்ளன என,
ஆனால் ஒரு சேர்க்க.
ஏன்?
சரி?
>> பார்வையாளர்கள்: பின்சாய்வுக்கோடானது 0.
டேவிட் ஜே MALAN: நிச்சயமாக.
நாம் ஒரு சிறிய செலவுகளுக்கான செய்ய கிடைத்துவிட்டது.
ஒரு பின்சாய்வுக்கோடானது இல்லை, ஏனெனில் 0, நாங்கள் சிறப்பாக என்பதை நினைவில் விரும்புகிறேன்.
இல்லையெனில், நாங்கள் போகிறோம் ஒரு சரம் உருவாக்க வேண்டும் என்று
சிறப்பு அழிப்பு இல்லை.
>> இதற்கிடையில், தான் சூப்பர் இருக்க வேண்டும் குத, நான் sizeof (கரி) இல்லை
வெறும் வழக்கு யாரோ என் இயங்குகிறது இல்லை CS50 பயன்பாட்டிற்கான மீது குறியீடு,
ஆனால் ஒருவேளை வேறு ஒரு கணினி முற்றிலும், அங்கு எழுத்துகள்
மாநாட்டின் மூலம், ஒரு பைட், ஆனால் இரண்டு பைட்டுகள், அல்லது அந்த விட பெரியது ஒன்று.
இது தான் சூப்பர் என்று தான், பிழைகள் சூப்பர் தயங்கினர்.
என்றாலும், உண்மையில், அது தான் பெரும்பாலும் ஒரு 1 போகிறது.
>> இப்போது, இதற்கிடையில், நான் போய் நகலெடுக்க சரம், டி அடைப்புக்குறி நான் டி அடைப்புக்குறி கள் சமம்.
நான் கடந்த வாரம் ஒத்திவைக்க வேண்டும் மூல குறியீடு என்ன நடக்கிறது பார்க்க.
முக்கிய takeaway, ஆனால் காரணம் நான், பச்சை இப்போது குறியீடு வைத்தேன்
, என்று மிகவும் கடைசி வரி ஏனெனில் டி அடைப்புக்குறி 0, toupper சமம்
விளைவு உண்டு அனுகூலமாக சரம்?
டி மற்றும் / அல்லது கள்?
குறியீடு என்று கடைசி வரி.
>> என்ன காரணம் தான், டி இந்த நேரத்தில், நடந்தது
நான் சற்று கடைசி நடவடிக்கையாக மீளமை என்றால், நான் malloc அழைக்க போது, என்ன, நடந்தது
நான் அடிப்படையில், நினைவகம் ஒரு துண்டின் பெற என்று அசல் அதே அளவு,
என்று கணித தான் நான் செய்தேன்.
நான் முகவரி t சேமித்து நினைவகம் என்று துண்டின்.
இந்த நல்ல தெரிகிறது என்று மற்றும், அழகான நல்ல மற்றும் வெற்று,
உண்மையில் நாம் என்ன வேண்டும், அங்கு இங்கே, அழைப்பு குப்பை மதிப்புகள் வைத்து.
நினைவகம் என்று துண்டின் வலிமை மிகவும் நன்கு முன் பயன்படுத்தப்பட்டு வருகின்றன,
ஒரு சில வினாடிகள் ஒரு சில நிமிடங்களுக்கு முன்பு.
எனவே முற்றிலும் எண்கள் இருக்க முடியும் வெறும் விபத்தில் அங்கு அல்லது கடிதங்கள்,.
ஆனால் அவர்கள் நான் வரை செல்லுபடியாகும் இல்லை என்னை நினைவகம் இந்த துண்டின் விரிவுப்படுத்த
உண்மையான எழுத்துகள் கொண்ட, நான் அங்கு கண்ணி என்று செய்கிறது.
சரி?
>> எனவே இப்போது, க்ளைமாக்ஸ் இந்த மூன்று உதாரணங்கள்
என்று வெளித்தோற்றத்தில், கடைசி நேரத்தில் முறியடிக்கப்பட்டது இந்த இடமாற்று உதாரணமாக, இந்த செயல்பாடு
அர்த்தத்தில் வேலை அது ஒரு மற்றும் ப மாற்றப்பட்டது என்று.
ஆனால், அது என்ன மற்ற அர்த்தத்தில் வேலை செய்யவில்லை?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: நிச்சயமாக.
நான் இந்த செயல்பாடு அழைக்க வேண்டும் என்றால் உதாரணமாக மற்றொரு இருந்து,
, அங்கு முக்கிய போன்ற ஒரு செயல்பாடு இருந்து நான், ஒரு மாறி, x மற்றும் y வேண்டும்
கடந்த வாரம், அதே குறியீடு, நான் x மற்றும் y உள்ள கடந்து
இடமாற்றம், பின்னர் Swap-- இந்த அழைக்க, நிச்சயமாக, சரியான பதிப்பு
நாம் பற்றி நீங்கள் என்ன ஆகிறது see-- அது வேலை செய்யவில்லை.
எனவே பிழைத்திருத்தம் என்ன?
>> சரி, அதனால் தான் இருக்க வேண்டும் தெளிவான, எனக்கு முன்னே போகட்டும்
ஆகியவை இரண்டாவது இங்கே எனக்கு ஒரு கொடுக்க, மற்றும் பார்க்க நான் கடந்த ஒரு, காட்ட முடியும் என்றால், இது
நான் கண்டுபிடிக்க முடியும் என்றால் நாம் பார்ப்போம் in-- இருக்கும் இந்த உண்மையான fast-- சரி, [செவிக்கு புலப்படாமல்].
சரி, அங்கு அது.
அதனால் நான் தட்டச்சு செய்கிறேன் கட்டளைகளை புறக்கணிக்க.
நான் அதை எடுக்க வேண்டும் கடைசி நிமிடத்தில் ஒரு உதாரணம்
கடந்த காலத்தில் இருந்து இது இப்போது இடமாற்று என்று அழைக்கப்படுகிறது.
>> எனவே எந்த இடமாற்றம் அங்கு ஆகிறது நாம் கடந்த காலத்தில் விட்ட
அதன்படி, நான் துவக்கப்படுத்தேன் 1 x மற்றும் 2, y.
நான் 1 மற்றும் 2 கடந்து, இடமாற்று அழைக்க.
பின்னர் இந்த செயல்பாடு சில உணர்வு வேலை,
ஆனால் அது எந்த நிரந்தர இருந்தது x மற்றும் y மீது ஏற்படுத்தும்.
எனவே கையில் கேள்வி இப்போது எப்படி உள்ளது, நாம் உண்மையில் இந்த பிரச்சினையை சரி செய்ய?
கையில் தீர்வு என்ன?
>> சரி, இன்று புதிய உள்ளது swap.c, ல், வேறுபாடுகள் ஒரு ஜோடி கவனிக்க.
x மற்றும் y அதே உள்ளன.
ஆனால் என்ன தெளிவாக இருக்கிறது வரி 25 பற்றி பல்வேறு?
நீங்கள் நினைவில் இருந்தால், என்ன, அங்கே புதிய அது ஒரு இரண்டாவது முன்பு போல என்ன?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: ஆமாம்.
எனவே ampersands ஒரு புதிய துண்டு உள்ளன இலக்கணத்தை மட்டும் இந்த திட்டத்தில்,
ஆனால் பொதுவாக CS50 உள்ள.
தேதி, நான் நினைக்கவில்லை நாம் எந்த உதாரணங்கள் பார்த்திருக்கிறேன்
அல்லது உண்மையில் எந்த அவற்றை பற்றி பேசினார் ஒருவேளை, தாமாகவே, வேறு விவரம்,
பிரிவில், இந்த மாதிரி ஒரு ampersand.
சரி, அது உம்மைக்குறி ஒன்றாகும் மாறிவிடும் புதிய இலக்கணத்தை கடந்த துண்டுகள்
நாம் கற்று கொள்ள போகிறோம்.
இதன் பொருள் ஆகும் சில மாறி முகவரி.
என்ன முகவரி இடத்தில் x வாழ?
ஆனால், y என்ன முகவரியை வாழ?
ஏனெனில் முன் அடிப்படை பிரச்சனை
என்று x மற்றும் y கடந்து நாம் உண்மையில் என்ன செய்ய வேண்டும் பிரதிகள், என
ஒரு புதையல் போன்ற ஒன்று மாற்றுதல் வழங்க அங்கு x மற்றும் உண்மையில், y வழிவகுக்கிறது என்று வரைபடத்தில்
அதனால், ரேம் உள்ளன இடமாற்று அந்த வரைபடத்தில் பின்பற்ற முடியும்
x அல்லது y இடத்தை குறிக்கிறது எங்கு செல்ல மேலும் உண்மையான மதிப்புகள் மாற்ற 1 மற்றும் 2
அங்கு.
>> எனவே, மாற்று சற்று மாற்ற வேண்டும்.
முதல் பார்வையில், இந்த வலிமையை கரி நட்சத்திரம் ஒரு சிறிய இதே போல்.
உண்மையில் அது.
ஒரு தரவு வகை என்ன ஒரு சுட்டிக்காட்டி இருக்கிறது, இந்த உயர்த்தி பகுதியை அடிப்படையாக?
அது ஒரு முழு எண்ணாக இருக்கிறது.
>> எனவே, ஒரு இனி ஒரு முழு எண்ணாக இருக்கிறது, அது ஒரு முழு எண்ணாக முகவரி.
அதே போல், ப இப்போது நடக்கிறது ஒரு முழு எண்ணாக முகவரி இருக்க வேண்டும்.
அதனால் நான் இப்போது மெயின் இருந்து இடமாற்று அழைக்க போது, நான் இடமாற்று 1 மற்றும் 2 கொடுக்க போவதில்லை.
நான் அது போன்ற கொடுக்க போகிறேன் எருது ஒன்று மாடு ஒன்று,
வழிவகுக்கும் என்று இரண்டு முகவரிகள் அவர்களின் உண்மையான இடங்களில் இடமாற்று
என் கணினியின் நினைவகம்.
>> எனவே இப்போது, என் மீதமுள்ள செயல்படுத்த ஒரு சிறுவன் மாற்ற வேண்டும்.
என்ன என்பது வேறு விஷயம் குறியீடு இந்த மூன்று கோடுகள் இருக்கும்?
இந்த மட்டமான நட்சத்திரங்கள் இருக்கிறது இடத்தில், சரியா?
இங்கே என்ன நடக்கிறது?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] வெளிப்படையாக தான்.
>> டேவிட் ஜே MALAN: நிச்சயமாக.
இந்த பின்னணியில் எனவே இந்த இல்லை சிறந்த வடிவமைப்பு முடிவு, ஒப்புக்கொண்டபடி,
ஆண்டுகளுக்கு முன்பு.
இந்த சூழலில், அங்கு நீங்கள் ஒரு நட்சத்திர இல்லை,
மற்றும் நீங்கள் ஒரு தரவு வகை இல்லை, எண்ணாக போன்ற, உடனடியாக இடது,
அதற்கு பதிலாக நீங்கள் தெளிவாக, ஒரு சம அடையாளம் இல்லை, இந்த சூழலில், நீங்கள் சொல்லும் போது ஒரு நட்சத்திரம்,
என்று சென்று பொருள் ஒரு தான் முகவரி.
அதனால் பேச, புதையல் வரைபடம்.
>> இதற்கிடையில், வரி 37 இல், அதை அதே பொருள்.
முகவரி சென்று, அங்கு என்ன வைத்து?
என்ன உள்ளது ப குறிப்பிடும் இடம்.
வேறுவிதமாக கூறினால், ப செல்கிறது.
என்று மதிப்பு கிடைக்கும்.
சம படி, ஒரு சென்று பதிவு, வேலையை ஆபரேட்டர்,
அங்கு மதிப்பு வைத்து.
>> இதேபோல், முழு எண்ணாக திறக்க ஒரு முழு எண்ணாக இருக்கிறது.
எதுவும் திறக்க பற்றி மாற்ற வேண்டும்.
இது, Annenberg இருந்து ஒரு உதிரி கண்ணாடி சில பால் அல்லது ஆரஞ்சு சாறு.
ஆனால் நான் சொல்ல ப போக வேண்டும்.
என்று இலக்கு சென்று அங்கு தற்காலிக மதிப்பு வைத்து.
எனவே என்ன நடக்கிறது?
நான் உண்மையில் என்றால், இந்த நேரத்தில் இடமாற்றம் அழைக்க போது இந்த முதல் தட்டில் இங்கே, முதன்மை பிரதிபலிக்கிறது
இந்த இரண்டாவது தட்டில் இடமாற்று பிரதிபலிக்கிறது போது நான் உம்மை x மற்றும் உம்மைக்குறி y கடக்கிறேன்
முக்கிய இடமாற்று இருந்து, தான், தெளிவாக இருக்க வேண்டும் இந்த ஸ்டேக் சட்டத்தில் பெறும் என்ன?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
டேவிட் ஜே MALAN: நிச்சயமாக.
x மற்றும் y முகவரி.
நீங்கள் இந்த யோசிக்க முடியும் அஞ்சல் முகவரிகளை போல.
33 ஆக்ஸ்போர்டு தெரு மற்றும் 35 ஆக்ஸ்போர்டு தெரு, மற்றும் நீங்கள்
இரண்டு கட்டிடங்கள் செல்ல வேண்டும் அந்த இடங்களில் இருக்கும் என்று.
>> இது ஒரு கேலிக்குரிய யோசனை தான் வகையான, ஆனால் அந்த நாம் முகவரியை அர்த்தம் தான்.
உலகில் முடியுமோ நீங்கள் அந்த இரண்டு ints கண்டுபிடிக்க?
உலகில் நீங்கள் அந்த இரண்டு கட்டிடங்கள் கண்டுபிடிக்க?
எனவே என்றால், இந்த நேரத்தில் நான் பிறகு இன்றைய மூல குறியீடு சென்று தொகுக்க
இடமாற்றம் மற்றும் ரன் ./swap, இறுதியாக, ஐந்து முதல் முறையாக நாம் உண்மையில் அந்த பார்க்கிறோம்
என் மதிப்புகள் நிச்சயமாக வெற்றிகரமாக மாற்றப்பட்டது.
இப்போது, நாம் கூட எடுக்க முடியும் இந்த, சொல்ல, GDB குறிப்பு.
>> எனவே, என்னை அதே கோப்பு கொண்டு செல்லலாம்.
என்னை போய் ./swap என்ற GDB இயக்க அனுமதிக்க.
இப்போது, இடமாற்று, நான் போக போகிறேன் மேலே மற்றும் முக்கிய ஒரு பிரேக் பாயிண்ட் அமைக்க.
இப்போது நான் போக போகிறேன் மேலே நிரலை.
இப்போது நாம் என் குறியீடு பார்க்கிறோம் அந்த வரிசையில் உள்ள இடைநிறுத்தப்பட்டுள்ளது.
>> நான் மேலே மற்றும் அச்சு சென்றால் x, நான் இங்கே என்ன பார்க்க வேண்டும்?
இது ஒரு கேள்வி.
மீண்டும் சொல்ல?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: எனவே சீரற்ற எண்கள், ஒருவேளை.
நான் அதிர்ஷ்டசாலி, மற்றும் அது தான் 0 போன்ற நல்ல மற்றும் எளிய.
ஆனால் ஒருவேளை அது சில சீரற்ற எண்.
இந்த வழக்கில், நான் அதிர்ஷ்டம் கிடைத்தது.
இது 0 ஆக நடக்கிறது.
ஆனால் அது உண்மையில் அதிர்ஷ்டம் வரை, ஏனெனில் நான்
அடுத்த தட்டச்சு பின்னர் அச்சு x என்று உள்ளது குறியீடு வரி, வரி 19, கொலை.
>> இதற்கிடையில், நான் தட்டச்சு செய்தால் அடுத்த மீண்டும், இப்போது நான் 2 பார்க்க போகிறேன், y அவுட் அச்சிட.
நான் அடுத்த தட்டச்சு செய்தால் இப்போது, அது நடக்கிறது குழப்பமான ஒரு சிறிய பெற, இப்போது, ஏனெனில்,
வைட்டமின் தோன்றும் போகிறது திரையில் அதை போல். x 1.
>> மீண்டும் இந்த செய்வோம்.
இப்போது, இங்கே எங்கே விஷயங்களை சுவாரசியமான கிடைக்கும்.
நான் இடமாற்று அல்லது படி அழைக்கிறேன் முன் அது, ஒரு சிறிய கண்ணோட்டம் எடுத்து விடுங்கள்.
x, மீண்டும், 1.
ஒய், நிச்சயமாக, விரைவான நல்லறிவு ஆகிறது எனவே கடினமாக இருக்கிறது, 2 சரிபார்க்க.
ஆனால் உம்மைக்குறி x என்ன?
பதில், அது பங்கி தேடும்.
ஆனால் அடைப்புக்குறிக்குள் எண்ணாக நட்சத்திர தான் இந்த கூறி மொத்த உள்நாட்டு உற்பத்தியில் வழி ஒரு முகவரியை ஆகிறது.
இது, அது ஒரு ஒரு சுட்டிக்காட்டி ஒரு முழு எண்ணாக தான் முழு எண்ணாக அல்லது ஒரு முகவரியை அறியப்படுகிறது.
>> இந்த பைத்தியம் தான் என்ன?
நாம் பார்த்ததில்லை மிகவும் முன் போல்.
எனவே இந்த என் கணினியின் முகவரி ஆகிறது x வாழ நடக்கும் இடத்தில் நினைவு.
இது எருது ஒன்று இருக்கிறது.
இந்த வெளிப்படையாக, ஏன், நான் அம்புகள் வரைய தொடங்கினார்,
அதற்கு பதிலாக எண்கள், யார் உண்மையில் அக்கறை ஏனெனில்
உங்கள் எண்ணாக ஒரு குறிப்பிட்ட உள்ளது என்று பெரிய என்று என்று முகவரி.
ஆனால் bffff0c4, இந்த அனைத்து உள்ளன உண்மையில் அறுபதின்ம இலக்கங்கள்,
எஃப் மூலம் 0 உள்ளன.
>> எனவே நாம் வாழ்கிறது போவதில்லை அந்த விஷயங்கள் என்ன நீண்ட.
ஆனால் நான், y அவுட் அச்சிட என்றால், நிச்சயமாக, நான் 2 பார்க்கிறது.
ஆனால் உம்மைக்குறி Y, நான் இந்த முகவரியை பார்க்கவும்.
அறிவிப்பு, ஆர்வம், தவிர x மற்றும் y எவ்வளவு தூரம் இருக்கும்?
நீங்கள் முகவரியை மிகவும் புறக்கணிக்க முடியாது.
நான்கு பைட்டுகள்.
என்று தொடர்ந்து தான் எங்கள் முந்தைய ஒரு முழு எண்ணாக எப்படி பெரிய உள்ளது என்று கூறுகின்றனர்?
நான்கு பைட்டுகள்.
அதனால் எல்லாம் நிற்பது தெரிகிறது நன்றாக, நீங்கள் நினைவக நம்புகிறேன் என.
>> எனவே இப்போது, தான் வேகமாக முன்னோக்கி செல்லலாம் இந்த கதை முடிவில்.
, தான் போய் படி தட்டச்சு செய்யலாம் இடமாற்று செயல்பாடு பற்றிய டைவ்.
இப்போது நான் ஒரு தட்டச்சு செய்தால், அது, கவனிக்கிறது x முகவரி ஒத்ததாக.
நான் கேட்ச் தட்டச்சு செய்தால், அது ஒரே மாதிரியாக தான் y முகவரி.
அதனால் நான் என்ன பார்க்க ஒரு முகவரிக்கு சென்று?
எனவே, ஒரு நட்சத்திரம் அச்சிட.
எனவே நட்சத்திர இந்த சூழலில், அங்கே போ.
உம்மைக்குறி முகவரி என்ன அர்த்தம்.
எனவே ஒரு வழிமுறையாக 1 நடித்திருந்தனர்.
மற்றும் அச்சு நட்சத்திர ப எனக்கு 2 கொடுக்கிறது.
>> என்னை கணம், கருதி, குறைந்தது குறியீடு என்று
இருக்க முடியும் இப்போது இயக்க செல்கிறது அந்த வழியில் மூலம் கூறினார்.
ஆனால் நாம் நீண்ட காலத்திற்கு முன்பே இந்த யோசனை மீண்டும் சொல்கிறேன்.
இடமாற்று எனவே இந்த பதிப்பு இப்போது சரியான மற்றும் அனுமதிக்கிறது
இந்த குறிப்பிட்ட தரவு வகை மாற்ற.
>> எனவே எந்த கேள்விகள் பின்னர் இடமாற்று மீது?
நட்சத்திரம்?
முகவரி என்ன?
மற்றும் நீங்கள், பார்க்க வேண்டும் பிரச்சனை, மாதிரியான, 4 அமைந்தது
ஆனால் பிரச்சனை 5, நிச்சயமாக, எப்படி இந்த அமைந்தது விஷயங்களை பயனுள்ளதாக இருக்கும் மற்றும் பெற அதிக
இதன் விளைவாக, இன்னும் வசதியாக.
எல்லாவற்றையும்?
சரி.
எனவே malloc, இந்த செயல்பாடு மீண்டும், என்று தான் நினைவகம், நினைவு ஒதுக்கீடு
ஒதுக்கீடு.
ஏன் இந்த பயனுள்ளதாக இருக்கும்?
சரி, இந்த நேரத்தில், நீங்கள் malloc பயன்படுத்தி.
நீங்கள் இப்போது எப்படி கருத்தில் என்றால் வேலை GetString, மறைமுகமாக, அது தான்
ஒரு துண்டின் ஒருவர் கேட்டு நினைவகம், எப்போது பயனர் வகையான ஒரு சரம்
, நிச்சயமாக நாம் ஏனெனில் என்று எனக்கு தெரியாது, CS50 ஊழியர்கள் என,
எவ்வளவு பெரிய அந்த சரங்களை என்று மனிதர்கள் இருக்கலாம் தட்டச்சு செய்ய போகிறோம்.
>> எனவே, முதல் முறையாக, ஆரம்பிப்போம் தலாம் மீண்டும் எப்படி CS50 நூலகம் படைப்புகள்,
உதாரணங்கள் ஒரு ஜோடி மூலம் என்று நம்மை இட்டு.
நான் gedit திறந்து என்றால் மற்றும், scanf 0 திறந்து
நாம் பின்வரும் குறியீடு பார்க்க போகிறோம்.
இணையதளத்தில் கிடைக்கும் scanf 0, இன்று, குறியீடு ஒப்பீட்டளவில் சில வரிகளில் இருக்கிறது
இங்கே, மூலம் 20 14.
மற்றும் நாம் என்ன செய்து பார்ப்போம்.
அது ஒரு முழு எண்ணாக, x என்று அறிவிக்கிறது.
ஏதாவது, எண் தயவு செய்து கூறுகிறார்.
இப்போது அது, scanf% நான் & x, என்கிறார்.
எனவே அங்கு புதிய பொருட்களை ஒரு கொத்து இருக்கிறது.
>> ஆனால், scanf, நீங்கள் வகையான யோசிக்க முடியும் பற்றிய printf எதிர்.
printf, நிச்சயமாக, திரையில் அச்சிட்டு.
பயனர் இருந்து ஸ்கேன், scanf வகையான விசைப்பலகை ஏதாவது அவர் தட்டச்சு.
>> % நான் தான் printf போல் உள்ளது.
இந்த எதிர்பார்க்க பொருள் பயனர் ஒரு முழு எண்ணாக தட்டச்சு செய்ய.
இப்போது, நீங்கள் ஏன் நான் நினைக்கிறேன் scanf & x கடந்து?
என்றால், scanf வாழ்க்கை நோக்கம் பயனர் ஒன்று பெற உள்ளது,
என்ன அர்த்தம் உள்ளது இப்போது, அதை கடந்து, மற்றும் x?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
டேவிட் ஜே MALAN: நிச்சயமாக.
என்ன நான், மனித, என் உள்ளீடு தட்டச்சு அந்த இடத்தில் காப்பாற்றி கொள்ள போகிறது.
இது, வெறும் நினைவு, போதுமானதாக இல்லை நாம் ஏற்கனவே பார்த்த ஏனெனில், x இல் அனுப்ப,
எந்த நேரத்தில் நீங்கள், ஒரு மூல மாறி கடந்து ஒரு முழு எண்ணாக போல, வேறு சில செயல்பாடு,
நிச்சயமாக, அது மாற்ற முடியும் மாறி, ஆனால் நிரந்தரமாக.
இது முக்கிய ஒரு விளைவை முடியாது.
அது மட்டும் அதன் சொந்த நகலை மாற்ற முடியும்.
ஆனால், அதற்கு பதிலாக, நீங்கள் செய்ய என்னை உண்மையான முழு எண்ணாக கொடுக்க,
ஆனால் நீங்கள் என்னை திசைகளில் கொடுக்க என்று எண்ணாக, நான் இப்போது, என scanf இருப்பது
நிச்சயமாக, நான் அந்த பின்பற்ற முடியும் உரையாற்ற அங்கு ஒரு எண்ணை வைத்து
அதனால் நீங்கள் அதை அணுக வேண்டும்.
>> நான் இந்த நிரலை இயக்க போது, நாம் பார்ப்போம்.
Scanf 0 டாட் சாய்வு செய்ய, 0 scanf.
நான் இப்போது ஒரு எண்ணை டைப் செய்தால், 50 போன்ற, 50 நன்றி.
நான் இப்போது போன்ற பல தட்டச்சு செய்தால் எதிர்மறை 1, 1 எதிர்மறை.
நான் இப்போது HM, 1.5 போன்ற ஒரு எண்ணை டைப்.
ஏன் என் திட்டத்தை என்னை புறக்கணிக்க?
சரி, ஏனெனில் வெறுமனே, நான் சொன்னேன் அது ஒரு முழு எண்ணாக மட்டும் எதிர்பார்க்க.
சரி.
அதனால் இந்த ஒரு பதிப்பு தான்.
ஒரு காடி வெட்டு வரை பொருட்களை எடுத்து செல்லலாம் மற்றும் இது நல்லது அல்ல என்று முன்மொழிய.
மற்றும் இங்கு ஒரு மிக எளிய உதாரணம் உள்ளது நாம் எழுதி குறியீடு தொடங்க எப்படி
மற்ற மக்கள் சுரண்ட முடியும் என்று, அல்லது கெட்ட விஷயங்களை செய்து சமரசம்.
எனவே வரி 16, மிகவும் ஒத்த ஆவி முன்,
ஆனால் நான் அதை இந்த நேரத்தில் எண்ணாக பிரகடனம்.
நான் சரம் aka, அது, கரி நட்சத்திர அறிவித்தார்.
>> ஆனால் உண்மையில் என்ன அர்த்தம்?
அதனால் நான் ஒரு முகவரியில் குறிப்பிட வேண்டாம் என்றால் நான் தன்னிச்சையாக போன் செய்கிறேன், தாங்கல்,
ஆனால் நான் simple-- இருக்க வேண்டும், அது கள் அழைக்க முடியும் பின்னர் நான் இதை செய்ய எனக்கு விளக்க,
நீங்கள் முந்தைய அடிப்படையில், முடிந்தால் தர்க்கம், scanf வரி 18 ல், என்ன செய்கிறார்
பாஸ்% s மற்றும் தாங்கல் என்றால், ஒரு முகவரியை ஆகும்?
நீங்கள் விண்ணப்பிக்க வேண்டும் scanf, என்ன பதிப்பு 0 அதே தர்க்கம்,
இங்கே செய்ய முயற்சி செய்ய போகிறீர்கள் போது, பயனர் வகைகள் ஏதாவது?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: நிச்சயமாக.
Scanf, தர்க்கம் இதற்கு, சரம் எடுக்க போகிறது
மனித தட்டச்சு , அது இப்போது ஒரு சரம் தான் in--
அதை, மறைமுகமாக, ஒரு எண் அல்ல அவன் அல்லது அவள் cooperates-- என்றால்
மற்றும் அது வைக்க முயற்சி நடக்கிறது என்ன முகவரியை நினைவகம் சரம்
தாங்கல் குறிப்பிடுகிறது.
இந்த பெரிய, தாங்கல், ஏனெனில் உண்மையில் ஒரு முகவரியை கருதப்படவில்லை.
>> ஆனால் நான் இந்த திட்டம் ஒரு ஆண்டில் தரமற்ற கூறிக்கொள்கிறேன் மிக கடுமையான முறையில், மதிப்பு என்ன காரணம்
இயல்பாக தாங்குவதற்கு?
நான் என்ன ஒரு துவக்கப்படும்?
நினைவகம் என்ன துண்டின்?
நான் இல்லை, சரியான?
>> எனவே நான் ஒதுக்கீடு செய்த கூட ஒரு இனி கள் என எரிப்பதை நட்சத்திர,
அதற்கு பதிலாக என்று, அதனால் buffer-- மாறி பெயர் வரைய
நான் இல்லை என்றால் இப்போது buffer-- இங்கு GetString அல்லது malloc என்று,
திறம்பட என்று அர்த்தம் தாங்கல் சில குப்பை மதிப்பு உள்ளது.
>> இப்போது என்ன அர்த்தம்?
அதை நான் scanf கூறினார் என்று பொருள் பயனர் ஒரு சரம் எதிர்பார்க்க.
நீங்கள் என்ன தெரியுமா?
என்ன இந்த விஷயம் சுட்டி to-- நான் கேள்வி குறி வரைந்து,
ஆனால் உண்மையில், அது இருக்க போகிறது Ox1, 2, 3, போன்ற ஏதாவது சரியான?
இது சில போலி மதிப்பு என்று தான் முன் இருந்து இருக்க நடக்கிறது.
எனவே வேறு வழி வைக்க, அது தான் இடையக என்றாலும்
நினைவகத்தில் ஏதாவது சுட்டி.
நான் என்ன யோசனை.
>> நான் இப்போது காபே தட்டச்சு என்றால், அது நடக்கிறது அங்கு கிராம் ஒரு பி / இ 0 வைக்க முயற்சி செய்ய வேண்டும்.
ஆனால் யார் என்ன தெரியும்?
கடந்த காலத்தில், எந்த நாங்கள் தொட முயற்சி செய்து நேரம்
அல்ல என்று நினைவகம் எங்களுக்கு, என்ன நடந்தது?
அல்லது கிட்டத்தட்ட ஒவ்வொரு முறையும்.
அடுக்கு தவறு, சரியான?
>> அது தான் இந்த அம்பு, எனக்கு எதுவும் தெரியாது சுட்டி காட்டியது. அதை சில சீரற்ற மதிப்பு தான்.
மற்றும், நிச்சயமாக, நீங்கள் விளக்குவது என்றால் ஒரு முகவரியை ஒரு சீரற்ற மதிப்பு,
நீங்கள் போக போகிறது சில சீரற்ற இலக்கு.
எனவே காபே விபத்தில் உண்மையில் வலிமை இங்கே இந்த வழக்கில் என் திட்டம்.
>> எனவே நாம் அந்த கிட்டத்தட்ட மோசமான என்ன செய்ய முடியும்?
இந்த மூன்றாவது கருத்தில் scanf இறுதி உதாரணம்.
இந்த பதிப்பு என்ன அர்த்தத்தில் நல்லது?
நீங்கள் வசதியாக இருந்தால் முந்தைய பிரச்சினை, இந்த நல்லது.
ஏன்?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
டேவிட் ஜே MALAN: நல்ல.
வரி 16 எனவே, இந்த விஷயத்தில் உணர்வு, நல்லது
நாங்கள் வெளிப்படையாக இருக்கிறோம் என்று சில நினைவக ஒதுக்கீடு.
நாம் malloc பயன்படுத்தி நாம் வாரம் 2 பயன்படுத்தி
ஒரு வரிசை அறிவித்தார் அணுகுமுறை.
மற்றும் நாம் ஒரு சரம் முன் கூறினார் வெறும் எழுத்துக்கள் ஒரு வரிசை உள்ளது,
எனவே இந்த முற்றிலும் நியாயமான உள்ளது.
ஆனால் அது, நிச்சயமாக, தான் நீங்கள் 16, நிலையான அளவு கவனிக்க.
>> எனவே இந்த திட்டத்தை ஆகிறது முற்றிலும் பாதுகாப்பான, நான் தட்டச்சு செய்தால்
ஒரு பாத்திரம் சரங்களை, இரண்டு பாத்திரம் சரங்களை, 15 பாத்திரம் சரங்களை.
ஆனால் விரைவில் நான் 16 தட்டச்சு தொடங்கும் என, 17, 18, 1000 தன்மையை சரங்களை,
எங்கே என்று சரம் முடிவடையும் போகிறது?
அது ஓரளவு இங்கே முடிவடையும் நடக்கிறது.
ஆனால் யார் என்ன வேறு தெரிகிறது எல்லைகளை தாண்டி இருக்கிறது
இந்த குறிப்பிட்ட வரிசை?
>> நான் என்றாலும் அது தான் இங்கே 16 பெட்டிகள் அறிவித்தார்.
எனவே அனைத்து 16 வரைந்து விட, நாம் தருகிறேன் நான் 16 வரையப்பட்ட அந்த நடிக்கிறது.
ஆனால் நான் ஒரு சரம் படிக்க முயற்சி என்றால் 50 எழுத்துக்களை போல, நீண்ட இருக்கிறது,
நான் வைத்து தொடங்க போகிறேன் A, B, C, D, x, y, z.
இந்த மறைமுகமாக ஆகிறது வேறு சில நினைவக பிரிவில்
என்று, மீண்டும், உண்டாக்கும் என் திட்டத்தை செயலிழக்க
நான் கேட்டேன், ஏனெனில் வெறும் 16 பைட்டுகள் விட எதுவும்.
>> எனவே யார் கவலைப்படுகிறார்கள்?
சரி, இங்கே CS50 நூலகம் தான்.
இந்த மிக தான் மேலே வழிமுறைகளை போல.
CS50 நூலகம், இந்த நேரத்தில், வரி 52 இந்த வரி இருந்தது.
நாம், typedef பார்த்து, அல்லது நீங்கள் typedef பார்ப்பீர்கள்
ஒரு உருவாக்குகிறது இது pset 4, பொருள் எரிப்பதை நட்சத்திர மேலும் இருக்க முடியும் அதன்படி
வெறுமனே சரம் என குறிப்பிடப்படுகிறது.
எனவே, இந்த ஒன்றாகும் சில பயிற்சி சக்கரங்கள்
பேட்டை அடியில் ரகசியமாக பயன்படுத்தப்படுகிறது.
>> இதற்கிடையில், இங்கே getchar, விழா.
இப்போது வெளிப்படையாக, அது எந்த உடல் இருக்கிறது.
உண்மையில், நான் வைத்திருக்கிறேன் என்றால் உருட்டுதல், நான் உண்மையில் செய்ய
எந்த செயலாக்கங்கள் பார்க்க இந்த செயல்பாடுகளை.
ஒரு நல்லறிவு காசோலை என, அது ஏன்?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
டேவிட் ஜே MALAN: ஆமாம்.
எனவே இந்த தலைப்பு கோப்பு உள்ளது.
மற்றும் தலைப்பு கோப்புகள் முன்மாதிரிகளை கொண்டிருக்கின்றன, பிளஸ் வேறு சில விஷயங்களை, அது தெரிகிறது
typedefs போல.
ஆனால் CS50.c, நாம் சொல்லியிருக்கிறோம் இது நேரடி நீங்கள் ஒருபோதும்,
ஆனால் CS50 சாதனம் வருகிறது அனைத்து இந்த நேரத்தில், ஆழமான அதன் கோப்புறைகளை உள்ளே,
ஒரு முழு இல்லை என்று அறிவிப்பு இங்கே உள்ள செயல்பாடுகளை மொத்தமாக.
>> உண்மையில், கீழே பார்ப்போம்.
இப்போது, அவர்கள் மிகவும் தவிர்க்க வேண்டும்.
ஆனால் GetInt கீழே மற்றும் GetInt வேலை எப்படி பார்க்க.
எனவே இங்கே GetInt ஆகிறது.
நீங்கள் எப்போதும் உண்மையில் அக்கறை இருந்தால் எப்படி எண்ணாக இங்கே, வேலை, அதன் ஆவணங்கள் ஆகும்.
மேலும் விஷயங்களை அது சொல்கிறது என்கிறார்
மதிப்புகள் எல்லைகள் அதை திரும்ப முடியும் என்ன.
இது அடிப்படையில் எதிர்மறை 2 பில்லியன் நேர்மறை 2 பில்லியன், கொடுக்க அல்லது எடுத்து.
>> அது இந்த மாறிவிடும் நேரத்தில், நாம் நான் கூட
நீங்கள் அதை சரிபார்க்க என்றும், ஏதாவது தவறு நடந்தால்,
அது அனைத்து என்று மாறிவிடும் இந்த நேரத்தில், GetInt உள்ளது
ஒரு சிறப்பு திரும்பிய பூஜ்ய, சீரானதாக இல்லை
மாறாக இது, INT_MAX ஒரு ப்ரோக்ராமர் மாநாட்டில்.
இது இங்கே பொருள் ஒரு சிறப்பு மதிப்பு உள்ளது.
தான், இந்த சரிபார்க்க உறுதி வழக்கில் ஏதாவது தவறு நடந்தால்.
ஆனால் நாம் கவலை தேதி என்று,
மீண்டும், இந்த, ஏனெனில் எளிமைப்படுத்த பொருள்.
>> ஆனால் எப்படி GetInt செயல்படுத்தப்பட்டது?
சரி, ஒரு, இது வாதங்கள் இல்லை எடுக்கும்.
நாங்கள் அறிவோம்.
அது ஒரு முழு எண்ணாக கொடுக்கிறது.
நாங்கள் அறிவோம்.
எனவே எப்படி அது தொப்பி கீழே வேலை?
>> எனவே வெளிப்படையாக ஒரு முடிவிலா இருக்கிறது லூப், ஒரு குறைந்தது தோற்றம்.
நாம் GetString பயன்படுத்தி என்பதை கவனியுங்கள்.
அதனால் சுவாரஸ்யமான விஷயம். GetInt நம் சொந்த செயல்பாடு, GetString அழைப்பு விடுத்துள்ளது.
இப்போது ஏன் இந்த வழக்கில் இருக்கும்?
நான் ஏன் தற்காப்பு இருப்பது இங்கே வரி 165 ல்?
என்ன வரி நடக்கலாம் 164, நான் தெளிவாக இருக்க வேண்டும்?
அது முன் அதே பதில் தான்.
நினைவகம் வெளியே இருக்கலாம்.
ஏதாவது, GetString தவறு நாம் கையாள முடியும் கிடைத்துவிட்டது.
காரணம் நான் பூஜ்ய திரும்ப என்று, தொழில்நுட்ப, பூஜ்ய ஒரு சுட்டிக்காட்டி இருக்கிறது.
GetInt ஒரு முழு எண்ணாக திரும்ப உள்ளது.
எனவே நான் தன்னிச்சையாக விகிறேன் அடிப்படையில், முடிவு
2 பில்லியன் என்று, போகிறது, கொடுக்க அல்லது எடுத்து ஒரு சிறப்பு மதிப்பு இருக்க வேண்டும் என்று நான் ஒருபோதும் முடியாது
உண்மையில் பயனர் இருந்து கிடைக்கும்.
அதை நான் போகிறேன் ஒரு மதிப்பு இருக்கிறது ஒரு பிழை குறியீடு பிரதிநிதித்துவம் வீணடிக்க.
>> எனவே இப்போது, விஷயங்களை ஒரு சிறிய கற்பனை செய்து.
அது மிகவும் அதே செயல்பாடு இல்லை முன்பு, ஆனால் அது போலவே தான்.
அதனால் நான் வரி, இங்கே அறிவிக்க, கவனிக்க 172, ஒரு முழு எண்ணாக n மற்றும் ஒரு கரி கேட்ச் இரண்டு.
பின்னர் நான், இந்த பங்கி வரி பயன்படுத்த அது மாறிவிடும் இது sscanf,
விசைப்பலகை இருந்து ஒரு சரம் ஸ்கேன்.
இது ஏற்கனவே சரம் உள்ளது என்று ஏற்கனவே பயனர் தட்டச்சு.
எனவே நான் ஏற்கனவே GetString, என நான் நினைவகம் ஒரு சரம் வேண்டும் என்பதாகும்.
sscanf நீங்கள் என்ன விட்டோம் ஆகிறது ஒரு பாகுபடுத்தி செயல்பாடு அழைப்பு.
இது நான் சரம் தெரிகிறது பாத்திரம், பாத்திரம் தட்டச்சு
மற்றும் பயனுள்ள ஏதாவது.
என்று சரம் வரி சேமிக்கப்படுகிறது.
நான் மட்டும் சென்று என்று சரி, ஓ, இங்கே என்று கூறி மீண்டும்,
நான் கள் இந்த நேரத்தில், ஆனால் வரி என்று.
>> இப்போது இந்த ஒரு சிறிய வித்தியாசம் உள்ளது.
ஆனால் இந்த திறம்பட காரணங்களுக்காக, பொருள் நாங்கள் ஓரளவு, இன்று நம் கைகளை அசைப்பது வேண்டும்
நாங்கள் சோதனை என்று பயனர் தட்டச்சு பார்க்க
மற்றும் எண்ணாக ஒருவேளை மற்றொரு பாத்திரம்.
பயனர் ஒரு முழு எண்ணாக தட்டச்சு செய்தால், அது நான் இருக்கிறேன், ஏனெனில் நான், n இல் சேமித்து வைக்க
முகவரி இந்த கடந்து, இன்று நாம் பார்த்த புதிய தந்திரம்.
பயனர் தட்டச்சு செய்தால் போன்ற 123x, அந்த x
ஒரு முடிவுக்கு வரும் பாத்திரம் கேட்ச் கடிதம்.
>> இப்போது அது என்று sscanf மாறிவிடும் புத்திசாலித்தனமாக, சொல்ல வேண்டும்,
எத்தனை மாறிகள் sscanf நிரப்ப வெற்றிகரமாக முடிந்தது.
இந்த தர்க்கம் மூலம், என்றால் செயல்பாடு நான், GetInt செயல்படுத்தி
ஆனால் நான் சோதனை, திறன், பயனர்
ஒரு முழு எண்ணாக தட்டச்சு செய்து வேறு ஏதாவது தொடர்ந்து,
நான் என்ன sscanf தான் வேண்டும் திரும்ப மதிப்பு உண்மையிலேயே இருக்க வேண்டும்?
நோக்கத்திற்காக பெற உள்ளது என்றால் பயனர் இருந்து ஒரு முழு எண்ணாக?
>> எனவே sscanf வருமானத்தை என்றால் 2, என்ன அர்த்தம்?
பயனர் தட்டச்சு ஏதாவது போன்ற, அதாவது,
வெறும் முட்டாள்தனம் இது 123x.
அது, ஒரு பிழை நிலை, மற்றும் நான் என சோதிக்க வேண்டும்.
>> எனவே இந்த பயனர் வகைகள் என்றால், மூலம் இந்த தர்க்கம், திரும்ப, sscanf என்ன,
நீங்கள் சொல்ல முடியும்?
அது ஏனெனில், 2 திரும்ப நடக்கிறது 123, இங்கே போக போகிறது
மற்றும் x இங்கே முடிவடையும் போகிறது.
ஆனால் நான் x பூர்த்தி செய்து கொள்ள விரும்பவில்லை.
நான் மட்டும் வெற்றி sscanf வேண்டும் அதன் மாறிகள் முதல் நிரப்பும்.
எனவே அதனால் தான் நான் sscanf 1 திரும்பி.
>> இந்த தலைக்கு மேல் ஒரு பிட் கணம், அந்த நன்றாக உள்ளது.
என்றாலும் அந்த உணர்ந்து GetInt மற்றும் GetString மதிப்புகள்
நாம் ஒரு கர்மம் செய்கிறீர்கள் என்று ஆகிறது இந்த போன்ற பிழை சோதனை நிறைய
என்று, தேதி, நீங்கள் அழகாக மிகவும் முடியுமோ உங்கள் விசைப்பலகை உள்ள எதுவும் தட்டச்சு,
அதை நாம் பிடிப்போம்.
நாம் நிச்சயமாக, ஊழியர்கள், இல்லை நிச்சயம்
ஒரு பிழை ஆதாரமாக இருக்க உங்கள் திட்டம், நாம் பாதுகாப்பான ஏனெனில்
முட்டாள் அனைத்து சோதனை ஒரு பயனர் செய்ய வேண்டும் என்று விஷயங்கள்,
, ஒரு சரம் தட்டச்சு போன்ற நீங்கள் உண்மையில் முழு எண்ணாக விரும்பினார்.
எனவே நாம் வருகிறேன் now-- க்கான இந்த திரும்பி long-- முன்
ஆனால் இந்த நேரத்தில், GetString மற்றும் GetInt வேண்டும்
இந்த பயன்படுத்தி பேட்டை அடியில் இருந்து நினைவக முகவரிகளை அடிப்படை யோசனை.
>> எனவே இப்போது, ஒரு விஷயங்கள் செய்யலாம் பயனர் நட்பு இன்னும் கொஞ்சம்.
நீங்கள் Binky, கடந்த இருந்து, நினைவு இருக்கலாம் என நேர என் சுட்டி எனவே cooperate-- என்றால்
நாம் இந்த குறியீடு, அதில் வெளிப்படையாக, மிகவும் முட்டாள்தனமானது.
இந்த குறியீடு எதுவும் அடைகிறது பயனுள்ள, ஆனால் அதை உதாரணமாக இருந்தது
என்று பேராசிரியர் Parlante பிரதிநிதித்துவம் பொருட்டு பயன்படுத்தப்படும்
என்ன ஒரு நடக்கிறது நினைவகம் சம்பந்தப்பட்ட திட்டம்.
>> எனவே இந்த retell அனுமதிக்க கதை சூப்பர் சுருக்கமாக.
இந்த முதல் இரண்டு வரிகளை ஆங்கிலம், நீங்கள் என்ன சொல்ல?
வெறும் நியாயமான மனித, ஆனால் சற்று தொழில்நுட்ப அடிப்படையில், ஒரு குத்துவதற்கு எடுத்து.
பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: சரி, நீங்கள் நிறுவுவதில் உங்கள் x மற்றும் y மாறிகளை முகவரிகள்.
இல்லை மிகவும், x மற்றும் y இல்லை, ஏனெனில் பாரம்பரிய உணர்வு மாறிகள்.
x மற்றும் y முகவரிகள் அல்லது முகவரி சேமிக்கும்.
எனவே இந்த முறை இன்னும் முயற்சி செய்வோம்.
ஒரு மோசமான தொடக்கத்தில், இருப்பினும்.
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
டேவிட் ஜே MALAN: நல்ல.
நான் ஒரு சிறிய தூய்மையான நினைக்கிறேன்.
இரண்டு சுட்டிகள், இரண்டு முழு அறிவித்தார்.
மற்றும் நாம் அவற்றை x மற்றும் y அழைப்பு.
அல்லது நாம் இருந்தால் வரைய இந்த ஒரு படம், மீண்டும்,
மிகவும் எளிமையாக அனைத்து நினைவு நாம் அந்த முதல் வரி செய்கிறீர்கள்
இந்த மாதிரி ஒரு பெட்டியில் வரைந்து, அது சில குப்பை மதிப்பு,
பின்னர் அது அழைப்பு, மற்றும் இது போன்ற மற்றொரு பெட்டியில்,
சில குப்பை மதிப்பு அது, y அழைப்பு.
நாம் இரண்டு அறிவித்தார் சுட்டிகள் இறுதியில்
ஒரு முழு எண்ணாக முகவரி சேமிக்கும்.
அதனால் அனைத்து இருக்கிறது.
>> Binky, இதை போது, களிமண் தான் இந்த போல.
நிக் வெறும் வகையான அம்புகள் வரை மூடப்பட்டிருக்கும்,
என்றாலும் அவர்கள் எங்கேயும் சுட்டி குறிப்பாக, ஏனெனில் அவர்கள் தான் இருக்கிறார்கள்
குப்பை மதிப்புகள்.
அவர்கள் வெளிப்படையாக துவக்கப்படும் எங்கும் குறிப்பாக.
>> இப்போது அடுத்த வரியில் குறியீடு, திரும்ப, இந்த இருந்தது.
நியாயமான பயனர் நட்பு எனவே ஆனால் சற்றே தொழில்நுட்ப ஆங்கிலம்,
குறியீடு செய்து இந்த வரி என்ன?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
>> டேவிட் ஜே MALAN: பெர்பெக்ட்.
அது துண்டின் ஒதுக்கீடு ஒரு முழு எண்ணாக அளவு தான் என்று நினைவு.
அந்த அரை பதில் தான்.
நீங்கள் சரியான பதில் வெளிப்பாடு பாதிக்கும்.
என்ன நடக்கிறது சம அடையாளம் இடது புறத்தில்?
சரி?
பார்வையாளர்கள்: ஒதுக்குகிறது அதை மாறி x எப்படி?
>> டேவிட் ஜே MALAN: மேலும் ஒதுக்குகிறது அது மாறி, x.
முறையை, வலது புறம் ஒதுக்கீடு எனவே போதுமான நினைவகம் ஒரு முழு எண்ணாக சேமிக்க.
ஆனால் malloc குறிப்பாக முகவரி கொடுக்கிறது
நீங்கள் தான் இது நினைவகம் என்று துண்டின், ஒரு வெறும் x சேமிக்கப்படும் முன்மொழியப்பட்டது.
>> அதனால் என்ன நிக் Binky, கடந்த காலத்தில் ஆகிறது அவர் சுட்டிக்காட்டி வெளியே இழுத்து, களிமண்,
நினைவகம் ஒரு வெள்ளை துண்டின் இப்போது சுட்டிக்காட்ட என்று ஒரு முழு எண்ணாக அளவு சமமாக இருக்கும்.
உண்மையில், அந்த பொருள் நான்கு பைட்டுகள் பிரதிநிதித்துவம்.
>> குறியீடு இப்போது, அடுத்த வரி இதை, நட்சத்திர x 42 பெறுகிறது.
எனவே 42 ம் நேர்மையானவன் வலது புறம், வாழ்க்கையின் அர்த்தம்.
இடது புறத்தில், நட்சத்திர x என்ன அர்த்தம்?
அது சரி தான் gone-- அதுவும் வேண்டும்.
சரி.
>> பார்வையாளர்கள்: அடிப்படையில், [செவிக்கு புலப்படாமல்] செல்ல
டேவிட் ஜே MALAN: நல்ல.
பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்].
டேவிட் ஜே MALAN: நிச்சயமாக.
இடது புறத்தில் x சென்று பொருள்.
x முகவரி.
இது 33 ஆக்ஸ்போர்டு தெரு, அல்லது Ox1 தான்.
மற்றும் நட்சத்திர x என்று சென்று பொருள் உரையாற்ற என்ன அங்கு வைத்து?
42.
>> எனவே உண்மையில், அந்த நிக் செய்தது சரியாக என்ன.
அவர் மூலம் தொடங்கியது அடிப்படையில், மன
ஒரு விரல் சுட்டி x, அம்பு பின்வரும்
வலது கை வெள்ளை பெட்டியில் பக்க எண்ணிக்கை அங்கு 42 போடுவதை.
ஆனால் பின்னர் விஷயங்களை கிடைத்தது கொஞ்சம் ஆபத்தானது, சரியான?
Binky, அவரது தலையை இழக்க பற்றி.
>> ஸ்டார் y என்ன அர்த்தம், 13, கெட்ட சமம்?
எனவே நட்சத்திர y வழிமுறையாக y உள்ள முகவரிக்கு சென்று.
ஆனால், y முகவரி என்ன?
சரி, அது குப்பை மதிப்பு, சரியா?
நான் ஒரு கேள்விக்குறியை போன்ற வந்தார்.
நிக் ஒரு சுருண்டுள்ளது அம்பு போல் வந்தார்.
மற்றும் விரைவில் நீங்கள் முயற்சி அங்கு சென்று கூறி, நட்சத்திர y செய்ய,
ஆனால் ஒரு நியாயமான இல்லை முகவரி, சில போலி இடம் தான்,
செயலிழக்க செய்ய திட்டம் நடக்கிறது.
மற்றும் binky தலை போகிறது அது போல், இங்கே பறக்க.
>> முடிவில், இந்த திட்டத்தை வெறும் பிளாட் அவுட் குறைபாடு இருந்தது.
இது ஒரு தரமற்ற திட்டம் இருந்தது.
அது சரி செய்ய தேவை.
ஒரே வழி, உண்மையில், அதை சரி செய்ய இருக்கும், உதாரணமாக, இந்த வரி,
நாம் கூட பெற முடியவில்லை, இது ஏனெனில், திட்டம் மிக விரைவில் முறிந்தது.
ஆனால் நாம் இதை சரிசெய்ய வேண்டும் என்றால், என்ன விளைவு, y சமமாக x இல்லை செய்து என்ன?
சரி, அது அடிப்படையில் உள்ள y புள்ளிகள் என்ன மதிப்பு x சுட்டி.
>> நிக் கதை எனவே, அல்லது Binky, கதை, இரண்டு
x மற்றும் y சுட்டி நினைவகம் வெள்ளை துண்டின்
எனவே, இறுதியாக, நீங்கள் y மீண்டும் 13 சமம் ஸ்டார்,
நீங்கள் 13 போடுவதை முடிவடையும் அதற்கான இடம்.
எனவே இந்த வரிகளை அனைத்து செய்தபின் முறையான, இந்த ஒரு தவிர,
உங்களுக்கு முன் நடந்தது போது உண்மையில், y சில மதிப்பு ஒதுக்கப்படும்.
>> இப்போது அதிர்ஷ்டவசமாக, நீங்கள் செய்ய அனைத்து வழியாக காரணம் இல்லை
உங்கள் சொந்த பிரச்சினைகள் இந்த வகையான.
என்னை போய் திறந்து விட இங்கே ஒரு முனை விண்டோவில்
மற்றும் ஒரு கணம், திறந்து, ஒரு சூப்பர் குறுகிய திட்டம் என்று
மேலும், அப்படி பிரயோஜனமும் இல்லை.
அது அசிங்கமான தான்.
அது பயனுள்ளதாக எதையும் சாதிக்க முடியாது.
ஆனால் அது பிரச்சினைகளை நிரூபிக்கிறது நினைவகம், எனவே பாருங்கள்.
>> முக்கிய, எளிய சூப்பர்.
இது வெளிப்படையாக ஒரு செயல்பாடு அழைப்பு, ஊ, பின்னர் 0 கொடுக்கிறது.
அது குழப்பம் இந்த வகையான கடினம்.
எனவே முதன்மை இதுவரை, மிகவும் நல்லது.
>> எனவே f சிக்கல் உள்ளது.
மற்றும் மிகவும் போட வில்லை அதை பெயரிடும் ஒரு முயற்சி
இங்கே, குறியீடு கவனம் வைக்க.
எஃப் இரண்டு கோடுகள் உள்ளன.
மற்றும் இப்போது என்ன நடக்கிறது என்று பார்ப்போம்.
எனவே ஒரு புறம் இங்கே என்னை செய்யலாம்
முந்தைய இந்த சீரான ஒரு புறம் எடுத்துக்காட்டாக,
இடது புறம் ஆகிறது ஆங்கிலத்தில், என்ன செய்கிறாய்?
இது ஆகிறது
பார்வையாளர்கள்: ஒரு சுட்டிக்காட்டி உருவாக்குகிறது.
டேவிட் ஜே MALAN: ஒரு சுட்டிக்காட்டி உருவாக்குதல் ஒரு முழு எண்ணாக அழைப்பு அது x.
எனவே அது அந்த பெட்டிகளை ஒரு உருவாக்குவதில் நான் தொடு திரையில் வரைந்து.
இப்போது, வலது கையில் பக்க malloc,, நிச்சயமாக,
நினைவகம் ஒரு துண்டின் ஒதுக்கீடு உள்ளது.
மற்றும் தெளிவாக இருக்க வேண்டும், எப்படி எவ்வளவு நினைவகம் வெளிப்படையாக அது ஆகிறது
ஒதுக்கீடு, நீங்கள் வெறும் வகையான இங்கே கணித செய்ய?
>> எனவே 40 பைட்டுகள் தான்.
எனக்கு தெரியும் என்று நான் ஒரு தெரிகிறேன் தான் எண்ணாக CS50 பயன்பாட்டிற்கான, குறைந்தது,
நான்கு பைட்டுகள் ஆகும்.
எனவே 10 முறை 4 40 ஆகும்.
எனவே இந்த ஒரு x சேமித்து, முகவரி 40 ints முதல் வெளியே என்று
மீண்டும் இடம் ஒதுக்கீடு செய்யப்பட்டுள்ளது, மீண்டும், மீண்டும், மீண்டும்.
>> அந்த malloc பற்றிய முக்கிய தான் என்ன.
இது ஒரு சிறிய நினைவகம் எடுத்து இங்கே, இங்கே ஒரு சிறிய, ஒரு சிறிய இங்கே.
இது, நீங்கள் நினைவகத்தை ஒரு துண்டின் கொடுக்கிறது contiguously, இயக்க இருந்து
அமைப்பு.
>> இப்போது இதை பற்றி என்ன, x அடைப்புக்குறி 10 0 சமம்?
குறியீடு தன்னிச்சையான வரி.
அது பயனுள்ளதாக எதையும் சாதிக்க முடியாது.
ஆனால் அது சிறப்பாக உள்ளது, x அடைப்புக்குறி 10-- காரணம்?
சரி?
>> பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]?
>> டேவிட் ஜே MALAN: x அடைப்புக்குறி 10 பூஜ்ய இருக்க வேண்டும்.
பூஜ்ய விவரம் மட்டும் நாடகம் வருகிறது சரங்களை, ஒரு சரம் இறுதியில்.
ஆனால் ஒரு நல்ல சிந்தனை.
>> எவ்வளவு பெரிய கூட, இந்த வரிசை நான் 40 பைட்டுகள் ஒதுக்கீடு என்று?
அது சரி, ஒன்பது மூலம் 0?
இது மொத்தம் 10 ints தான்.
40 பைட்டுகள், ஆனால் 10 ints, 0 வழியாக 0 சட்டிகளை.
>> அதனால், x அடைப்புக்குறி 10 என்ன?
அது உண்மையில் சில அறியப்படாத குப்பை மதிப்பு.
அது எனக்கு சொந்தமானது இல்லை என்று நினைவு.
நான் தொட்டு பைட் எண் 41, 42, 43, 44.
நான் மிகவும் சற்று போகிறேன்.
>> உண்மையில், நான் இயக்க என்றால், இந்த திட்டம், அது நன்றாக செயலிழக்க செய்யலாம்.
ஆனால் சில நேரங்களில், நாம் அதிர்ஷ்டம் கிடைக்கும்.
அதனால் தான் நிரூபிக்க இதை வெளிப்படையாக,
நீங்கள் முன் தெரியும் அதை இந்த இயக்க அனுமதிக்க.
இது உண்மையில் செயலிழக்க.
>> ஆனால் நான் இந்த, மாற்ற உதாரணமாக, 1000 போன்ற இருக்க வேண்டும்
உண்மையில் இந்த செய்ய வேண்டுமென்றே, நாம் பார்ப்போம்
நாம் பெற முடியும் என்றால், அது இந்த நேரத்தில் செயலிழக்க.
சரி, அதை செயலிழக்க இல்லை.
எப்படி 100,000 பற்றி?
அதை மறு நாம், இப்போது அது மீண்டும் இயக்கவும்.
சரி.
பூ.
சரி.
எனவே வெளிப்படையாக, மீண்டும், இந்த நினைவகம் பிரிவுகளில், அதனால் பேச,
அதனால் நாம், நியாயமான பெரிய மீண்டும் மீண்டும் அதிர்ஷ்டம் கிடைக்கும்.
ஆனால், இறுதியில், ஒரு முறை நீங்கள் மோசம் பெற உண்மையில், திரையில் இதுவரை வெளியே செல்ல
நீங்கள் உண்மையில் நினைவக தொட உண்மையில் நீங்கள் அல்ல.
>> ஆனால் வெளிப்படையாக, இந்த பிழைகள் வகையான போகிறோம்
கடினமாக இருக்க உங்கள் சொந்த கண்டுபிடிக்க.
ஆனால் அதிர்ஷ்டவசமாக, மென்பொருள், நாம் எங்களை இந்த செய்ய அனுமதிக்க வேண்டும் என்று கருவிகள்.
எனவே, இந்த ஒருவேளை, ஒன்று அழுக்கான திட்டங்கள்,
GDB வெளிப்பாட்டை விட அசிங்கமாக.
ஆனால் அது எப்போதும் ஒரு வரி அல்லது சூப்பர் பயனுள்ளதாக இருக்கும் என்று இரண்டு.
>> Valgrind உதவுகிறது என்று ஒரு திட்டம் உள்ளது நீங்கள் ஒரு திட்டத்தை debug, உள்ளபடியே,
ஆனால் நினைவக தொடர்பான கண்டுபிடிக்க பிரச்சினைகள், குறிப்பாக.
அது தானாக உங்கள் குறியீடு இயங்கும் நீங்கள் குறைந்தது இரண்டு விஷயங்களை பார்க்க.
ஒன்று, நீங்கள் ஏதாவது செய்ய தொடர்பு நினைவகம் போன்ற தற்செயலான
என்று நீங்கள் சேர்ந்தவை?
நீங்கள் அந்த வழக்குகள் கண்டறிய உதவும்.
>> இரண்டு, அதை உதவி என்று ஏதாவது கண்டுபிடிக்க
நினைவு கசிவுகள், நாம் இது முற்றிலும் புறக்கணித்து, கபடமற்ற,
சில நேரம் மற்றும் ஆனந்தமாகவும்.
ஆனால் அது அனைத்து மாறிவிடும் இந்த நேரத்தில், எப்போது
நீங்கள் GetString என்று அழைக்கப்படும் நமது திட்டங்கள் பல,
நீங்கள் இயக்க கேட்கிறாய் நினைவக அமைப்பு,
ஆனால் நீங்கள் எந்த கூறு எப்போதும் அதை கொடுத்து
மீண்டும், செய்து unalloc, அல்லது இலவச, இது என.
இல்லை, ஏனெனில் நாங்கள் தான் அவ்வாறு செய்ய கேட்டார்.
>> ஆனால் இந்த நேரத்தில், திட்டங்கள் நீங்கள் சி எழுதி
நினைவக கசிவு, இயக்க கேட்டு
மேலும் அமைப்பு சரங்களை மற்றும் whatnot நினைவகம்,
ஆனால் அது திரும்ப ஒப்படைத்தார்.
இப்போது இந்த ஒரு பிட் உள்ளது ஒரு மிகையாக எளிமைப்படுத்தப்பட்ட,
ஆனால் நீங்கள் எப்போதாவது கிடைத்தால் உங்கள் மேக் இயக்க அல்லது சில நேரம், தொடக்க உங்கள் பிசி
திட்டங்கள் நிறைய, ஒருவேளை, திட்டங்கள் நிறைவு
மற்றும் கூட உங்கள் கணினி முறிந்தது,
அது, மிகவும் மெதுவாக போகிறது அது உண்மையில் போல்
நினைவு நிறைய பயன்படுத்தி அல்லது வளங்கள், கூட,
நீங்கள் இல்லை என்றால் கூட விசைப்பலகை தொடுதல்,
என்று be-- ஆனால் always-- முடியவில்லை திட்டங்கள் நீங்கள் இயங்கும் என்று
தங்களை நினைவக கசிவை வேண்டும்.
மற்றும் அவர்கள் மேலும் ஒரு OS கேட்டு வைக்க மேலும் நினைவகம், ஆனால் அதை பற்றி மறந்து,
உண்மையில், அதை பயன்படுத்தி ஆனால் எனவே விட்டு நினைவகம் எடுத்து
அதை விரும்பவில்லை என்று மற்ற திட்டங்கள் இருந்து.
எனவே ஒரு பொதுவான விளக்கம் தான்.
இப்போது இங்கே எங்கே Valgrind தான் இருக்கிறது வெளியீடு முற்றிலும் ஆகிறது
அந்த குறைவாக கொடிய மற்றும் ஒரே வசதியாக.
ஆனால் சுவாரஸ்யமான பொருட்களை வலது வரை ஆகிறது.
அது எனக்கு ஒரு தவறான எழுதும் சொல்லி அளவு நான்கு, இந்த திட்டத்தில் நடக்கிறது
குறிப்பாக, memory.c வரிசையில் 21 இல்.
>> நான் HM, அங்கு உண்மையில், வரி 21 சென்றால் அளவு நான்கு ஒரு தவறான எழுதும் உள்ளது.
ஏன் அளவு நான்கு?
சரி, இந்த எண்ணிக்கை மற்றும் அது எதையும் இருக்க முடியும் ஒரு முழு எண்ணாக இருக்கிறது.
எனவே அது நான்கு பைட்டுகள் தான்.
எனவே நான் நான்கு பைட்டுகள் வைத்து அங்கு அவர்கள் சேர்ந்தவர்கள் இல்லை.
என்ன Valgrind தான் உண்மையில் என்னிடம் உள்ளது.
மேலும், இது சாப்பிடுவேன் நாம் பார்க்க வேண்டும் என, என்னை சொல்ல,
நீங்கள் இந்த ஒரு எதிர்கால pset உள்ள ரன் என்றால், மற்றும் நீங்கள் உண்மையிலேயே நினைவகம், கசிந்த போது
நான் அழைத்தேன், ஏனெனில் நான், இல்லை malloc, ஆனால் நான் உண்மையில் வேண்டும்
இலவச, இந்த வழக்கில், என்று, இது நாம் இறுதியில் பார்க்கலாம்
, malloc எதிரானது.
>> அதனால் இப்போது, நான், ஒரு இறுதி எடுத்துக்காட்டாக நினைக்கிறேன்.
எனவே இந்த ஒரு சிறிய மேலும் விளங்காத, ஆனால் அது ஒருவேளை தான்
பெரிய காரணம் , நினைவக கவனமாக இருக்க
காரணம் பல திட்டங்கள் மற்றும் கூட இந்த நாள் / அல்லது இணைய சேவையகங்களில்,
எங்காவது கெட்ட பசங்களா எடுத்து இணையத்தில் எப்படியோ யார்
உங்கள் சர்வர் போலி பொட்டலங்களை அனுப்பும் உங்கள் கணக்குகளை சமரசம் முயற்சி,
அல்லது உங்கள் தரவு எடுத்து, அல்லது பொதுவாக ஒரு கணினியில் எடுத்து.
இடையக வழிதல், என பெயர், வழிமுறையாக அறிவுறுத்துகிறது
ஒரு முழு எண்ணாக, ஆனால் ஒரு தடுப்பு நிரம்பி வழிகிறது.
மற்றும் ஒரு இடையக ஒரு கற்பனை வழி என்று அது நினைவகம் ஒரு கூட்டத்தை தான்.
>> உண்மையில், நான் ஒரு சரம் என்று அதற்கு பதிலாக கள் தாங்கல், முன்.
அது ஒரு தாங்கல் என்றால், ஏனெனில், YouTube உணர்வு போன்ற,
அல்லது நீங்கள் ஒரு வீடியோ பார்த்து வருகிறோம் எந்த நேரத்தில், சொல் தாங்கல் பார்த்திருக்கிறேன்,
டாட், டாட் டாட்.
இது நம்பமுடியாத எரிச்சலூட்டும் தான்.
என்று தான் பொருள் உங்கள் வீடியோ பிளேயர் என்று
நிறைய பதிவிறக்க முயற்சி பைட்டுகள் பைட்டுகள், நிறைய
இணையத்தில் இருந்து ஒரு வீடியோ.
ஆனால் அது மெதுவாக தான், அது முயற்சி அவற்றை ஒரு கொத்து பதிவிறக்க
என்று ஒரு தாங்கல், ஒரு கொள்கலன் நிரப்ப நீங்கள் அதை பிறகு போதுமான பைட்டுகள்
நீங்கள் வீடியோ காட்ட தொடர்ந்து pausing இல்லாமல்.
ஆனால் அதை உங்களால் மாறிவிடும் இந்த பெரிய ஒரு தாங்கல் வேண்டும்.
ஆனால் இந்த அதிக தரவு வைக்க முயற்சி அது மிகவும் கெட்ட விஷயங்கள் நடக்க முடியும்.
எனவே உதாரணமாக, பார்த்து விட்டு ஒரு உதாரணம் இந்த இறுதி டீஸர்.
இது மற்றொரு திட்டம் என்று, முதல் பார்வையில்,
பயனுள்ள சூப்பர் எதையும் செய்ய முடியாது.
இது ஒரு முக்கிய செயல்பாடு கிடைத்தது , f, அந்த செயல்பாடு அழைக்கிறது.
அந்த செயல்பாடு, ஊ, இங்கே, கொண்டிருக்கிறது ஒரு கரி வரிசை அளவு 12, கேட்ச் என்று.
பின்னர் அது இந்த பயன்படுத்தி புதிய செயல்பாடு strncpy என்று.
>> இது, இந்த எளிய, என்று மாறிவிடும் குறியீடு எளிய வரி, இரண்டு கோடுகள்,
நாங்கள், என் முழு திட்டத்தை செய்து எனவே, என் முழு கணினி,
என் பயனர் கணக்கு, மற்றும் என் கடின யாருக்கும் திறன் பாதிக்கப்படும் ஓட்ட
யாருக்கு தெரியும் இயக்க போதுமானது ஒரு குறிப்பிட்ட கட்டளை வரி மூலம் இந்த திட்டம்
வாதம்.
வேறுவிதமாக கூறினால், இந்த மோசமான பையன் தட்டச்சு argvargv [1] உள்ளே வைக்கிறது
விசைப்பலகை மிகவும் சிறப்பாக வடிவமைக்கப்பட்டு உள்ள சரம், ABC, 123, ஆனால் அடிப்படையில்,
இயங்கக்கூடிய பிரதிநிதித்துவம் என்று பைனரி சின்னங்கள் குறியீடு, அவன் அல்லது அவள் எழுதியது என்று ஒரு திட்டம்,
இது இந்த எளிய திட்டம், உடன் திட்டங்கள் ஆயிரக்கணக்கான பிரதிநிதி
என்று துணிந்து கூறு மொத்தத்தில், இதேபோல் பாதிக்கப்படும் அவர் இறுதியில் அனைத்து நீக்க முடியும்
என் நிலைவட்டில் கோப்புகளை, ஒரு பெற அவர் முடியுமோ அந்த வரியில் ஒளிரும்
தங்கள் சொந்த கட்டளைகளை தட்டச்சு, நானே அனைத்து கோப்புகளை மின்னஞ்சல்.
நான் என்ன செய்ய முடியும் என்று எதையும் அவர் அல்லது அவள் இந்த குறியீடு செய்ய முடியும்.
>> நாம் மிகவும் இன்னும் இந்த தீர்க்க முடியாது.
உண்மையில், இது நடக்கிறது ஒரு சிறிய படம் உள்ளடக்கியது
இந்த மாதிரி, நாம் விரைவில் வருவேன் அனைத்து நன்றாக புரிந்து கொள்ள.
ஆனால் இன்று, தான் முடிக்கிறேன் சற்று வட்டம், என்ன
புரிந்து க்ஸ்க்ச்து நகைச்சுவை, நாங்கள் அடுத்த முறை மீண்டும் வரை.
சரி.
புதன்கிழமை நீங்கள் பார்ப்போம்.
>> [இசை]
>> காண்க: இப்போது, ஆழமான Daven ஃபர்ண்ஹாம் மூலம் எண்ணங்கள்,.
மெமரி ஒரு குவியல் குதித்து போல ஒரு ஞாயிறு பிற்பகல் தங்க இலைகள்.
காற்று வீசுகிறது, பூவா தலையா உங்கள் ஓ hair--, நான் நாட்கள் when-- இழக்கிறேன்
>> [சிரிப்பு]