[Powered by Google Translate] [பகுதி 6] [மேலும் வசதியான]
[ராப் Bowden] [ஹார்வர்ட் பல்கலைக்கழகம்]
[இந்த CS50 உள்ளது.] [CS50.TV]
>> நாங்கள் கேள்விகள் நம் பிரிவுக்கு தலைமை முடியும்.
நான் முன்பு விண்வெளி URL ஐ அனுப்பினார்.
கேள்விகள் பிரிவு தொடக்கத்தில் சொல்ல-
வெளிப்படையாக நான் ஒரு மிக எளிய கேள்வி unsick ஆகும் முற்றிலும் இல்லை
Valgrind என்பது தான் என்ன?
Valgrind என்ன செய்ய?
யாராவது Valgrind என்ன கூற விரும்புகிறீர்கள்?
[மாணவர்] காசோலைகள் நினைவு கசிவுகள்.
சரி, Valgrind ஒரு பொது நினைவக சரிபார்ப்பு ஆகும்.
நீங்கள் எந்த நினைவக கசிவை இருந்தால் அது, இறுதியில், நீங்கள் சொல்கிறது
நீங்கள் விரும்பினால் நாம் ஏனெனில் அதை பயன்படுத்தி நீங்கள் என்ன பெரும்பாலும்
பிரச்சனை தொகுப்பில் அல்லது நீங்கள் விரும்பினால் நன்றாக
பெரிய பலகையில் செய்து, நீங்கள், எந்த நினைவக கசிவை வேண்டும்
மேலும் இந்த வழக்கில், நீங்கள், நீங்கள் கண்டுபிடிக்க முடியவில்லை என்று ஒரு நினைவக கசிவு இல்லை
நீங்கள் ஒரு கோப்பை திறக்க போதெல்லாம் அந்த நினைவில்
நீங்கள் அதை மூட என்றால், ஒரு நினைவக கசிவு தான்.
>> நிறைய பேர் அவர்கள் பெறலாம் இல்லை என்று சில முனை தேடும்
போது உண்மையில், அவர்கள் மிகவும் முதல் படியில் அகராதி மூட முடியவில்லை.
இது, நீங்கள் எந்த தவறான இருந்தால் படிக்கும் நீங்கள் சொல்கிறது அல்லது எழுதுகிறார்
நீங்கள் முயற்சி மற்றும் ஒரு மதிப்பு அமைக்க இருந்தால் பொருள்
அந்த குவியல் இறுதியில் அப்பால் மற்றும் அதை நொடி தவறு நடக்க கூடாது
ஆனால் Valgrind, நீங்கள் உண்மையில் அங்கு எழுத கூடாது, அது பிடிக்கும்
அதனால் நீங்கள் கண்டிப்பாக அந்த அல்லது எந்த கூடாது.
நீங்கள் எப்படி பயன்படுத்துவது?
>> இது ஒரு பொதுவான கேள்வி
என்ன அது ரன் மற்றும் வெளியீடு பாருங்கள்.
வெளியீடு முறை நிறைய பெரும்.
நீங்கள் சில மோசமாக தவறு இருந்தால் அங்கு வேடிக்கை பிழைகளை கூட இல்லை
ஒரு வட்டத்திற்கு நடந்து, அது இறுதியில் ", வே பல பிழைகள் என்று.
நான் இப்போது எண்ணி நிறுத்த போகிறேன். "
இது அடிப்படையில் நீங்கள் இட வேண்டும் என்று உரை வெளியீடு தான்.
இறுதியில், இது, உங்களுக்கு என்று எந்த நினைவக கசிவை சொல்லும்
பயனுள்ள எத்தனை தொகுதிகள், முடியும் என்பதால்
அது ஒரு தொகுதி unfreed என்றால், அது கண்டுபிடிக்க வழக்கமாக எளிதாகவும்
1,000 தொகுதிகள் unfreed விட.
Unfreed 1,000 தொகுதிகள் ஒருவேளை நீங்கள் பெறலாம் இல்லை என்றால்
சரியான அல்லது ஏதாவது உங்கள் இணைக்கப்பட்ட பட்டியல்கள்.
அந்த Valgrind.
>> இப்போது நாம், கேள்விகள் நம் பிரிவில் வேண்டும்
இதில் நீங்கள் பதிவிறக்க வேண்டிய அவசியம் இல்லை.
நீங்கள் என் பெயரை கிளிக் மற்றும் விண்வெளி அவர்களை கவனித்து கொள்ள முடியும்.
இப்போது என்னை கிளிக்.
திருத்த 1 முதல் செய்கிறாய் ஸ்டாக், இருக்கும்.
திருத்த 2 வரிசை இருக்கும், மற்றும் திருத்த 3 தனித்தனி இணைக்கப்பட்ட பட்டியலில் இருக்கும்.
எங்கள் அடுக்கு கொண்ட துவங்கும்.
அதை இங்கே சொல்வது போல், ஒரு அடுக்கு, மிக அடிப்படையான ஒன்றாகும்
கணினி அறிவியல் அடிப்படை தரவு கட்டமைப்புகள்.
மிகவும் வகைமாதிரியான உதாரணமாக இருக்கிறது
சாப்பாட்டு அறையில் தட்டுக்களும் பற்றிய ஸ்டேக்.
நீங்கள் ஒரு அடுக்கு அறிமுகப்படுத்தப்பட்டது வருகின்றன போதெல்லாம் அது, அடிப்படையில் தான்
யாரோ, சொல்ல போகிறார் "தட்டுக்களில் ஒரு அடுக்கு போன்ற, ஓ."
நீங்கள் தட்டுக்களும் வரை குவியலாக.
பிறகு நீங்கள் ஒரு தட்டில் இழுக்க சென்று,
இழுத்து போகிறாள் என்று முதல் தட்டில் ஸ்டாக் வைக்கப்பட்டது கடந்த ஒன்றாகும்.
இது போன்ற அடுக்கு இங்கே என்கிறார்
நாம் ஸ்டேக் என்று நினைவகம் பிரிவில் வேண்டும்.
ஏன் அதை ஸ்டேக் அழைக்கப்படுகிறது?
>> ஏனெனில் ஒரு அடுக்கு தரவு கட்டமைப்பு போன்ற,
இது, ஸ்டேக்கில் ஸ்டேக் பிரேம்கள் தள்ளுகிறது மற்றும் மேல்தோன்றும்
ஸ்டாக் பிரேம்கள் ஒரு செயல்பாடு ஒரு குறிப்பிட்ட அழைப்பு போன்ற எங்கே.
மற்றும் ஒரு அடுக்கு போன்ற, நீங்கள் எப்போதும் திரும்ப வேண்டும்
ஒரு சார்பு அழைப்பு நீங்கள் மீண்டும் குறைந்த ஸ்டேக் பிரேம்கள் இறங்கி பெற முடியும் முன்.
நீங்கள் முக்கிய அழைப்பு foo அழைப்பு பட்டியில் மற்றும் முக்கிய நேரடியாக பார் திரும்ப முடியாது.
அது எப்போதும் அழுத்தம் மற்றும் உறுத்தும் சரியான ஸ்டேக் பின்பற்ற வேண்டும்.
இரண்டு செயல்பாடுகளை, நான் சொன்னது போல், புஷ் மற்றும் பாப் இருக்கும்.
அந்த உலகளாவிய விதிமுறைகள் உள்ளன.
நீங்கள் அடுக்குகள் இல்லை என்ன விஷயம் வகையில் புஷ் மற்றும் பாப் தெரிந்திருக்க வேண்டும்.
நாம் வரிசைகளில் வெவ்வேறு வகையான உள்ளன பார்க்கிறேன்.
அது உண்மையில் ஒரு உலகளாவிய கால இல்லை, ஆனால் புஷ் மற்றும் பாப் அடுக்குகள் பொதுவான உள்ளது.
புஷ் தான் ஸ்டேக் போடுவார்கள்.
பாப் ஸ்டேக் எடுத்து வருகிறது.
நாம், நம் typedef struct ஸ்டாக் இல்லை இங்கே பார்க்க
நாம் எரிப்பதை ** சரங்களை வேண்டும்.
எந்த ** மூலம் பயப்படாதே.
இந்த நூல் ஒரு வரிசை என்ற முடிவுக்கு வருகிறது
எழுத்துக்கள் சுட்டிகளையும் அல்லது ஒரு வரிசை, அங்கு
எழுத்துக்கள் சுட்டிகளையும் சரங்களை இருக்கும்.
அது சரங்களை இருக்க வேண்டும் இல்லை, ஆனால் இங்கே, அவர்கள் சரங்களை போகிறாய்.
>> நாம் சரங்களின் வரிசை உள்ளது.
நாம் ஸ்டேக்கில் தற்போது எத்தனை சக்திகள் பிரதிநிதித்துவப்படுத்தும் ஒரு அளவு,, இல்லை
மற்றும் நாம் ஸ்டேக்கில் எத்தனை சக்திகள் இருக்க முடியும் என்பது திறன், இல்லை.
திறன், 1 விட ஒன்று என துவங்க வேண்டும்
ஆனால் அளவு 0 என துவங்க போகிறது.
இப்போது, நீங்கள் ஒரு ஸ்டேக் என்று மூன்று வெவ்வேறு வழிகளில் அடிப்படையில் உள்ளன.
நன்றாக, அங்கு அநேகமாக இன்னும், ஆனால் இரண்டு முக்கிய வழிகள் உள்ளன
நீங்கள் பயன்படுத்தி அதை செயல்படுத்த முடியும், அல்லது நீங்கள் ஒரு இணைக்கப்பட்ட பட்டியலில் பயன்படுத்தி அதை செயல்படுத்த முடியாது.
இணைக்கப்பட்ட பட்டியல்கள் வகையான இருந்து அடுக்குகள் செய்ய சாதாரணமான இருக்கும்.
இது, தொடர்புடைய பட்டியல்கள் பயன்படுத்தி ஒரு ஸ்டாக் செய்ய மிகவும் எளிது
இங்கு, நாம், அணிகளை பயன்படுத்தி ஒரு அடுக்கு போகிறாய்
பின்னர் அணிகளை பயன்படுத்தி, நீங்கள் அதை பற்றி யோசிக்க முடியும் இரண்டு வழிகளும் இல்லை.
முன், நான் சொல்லும் போது நாம், ஸ்டாக் ஒரு திறன் வேண்டும்
நாம் ஸ்டேக் ஒரு உறுப்பு பொருத்த முடியும்.
>> அது நடக்கலாம் ஒரு வழியாக விரைவில் 10 உறுப்புகள் பாதிக்கும் என, நீங்கள் முடித்துவிட்டீர்கள் உள்ளது.
நீங்கள் உலகின் 10 விஷயங்கள் கட்டப்படுகிறது ஒரு மேல் இருக்கும் என்று தெரியும்
நீங்கள், உங்கள் ஸ்டேக் மேல் 10 விஷயங்கள் உள்ளன மாட்டேன்
இதில் நீங்கள் உங்கள் ஸ்டேக் அளவை கட்டுப்படுத்துகிறது ஒரு மேல் முடியும்.
அல்லது நீங்கள், உங்கள் ஸ்டேக் வரம்பற்றது வேண்டும் முடியும்
நீங்கள் ஒரு வரிசை செய்கிறீர்கள் என்றால், ஆனால், அந்த, ஒவ்வொரு முறை நீங்கள் 10 உறுப்புகள் வெற்றி என்று அர்த்தம்
நீங்கள் 20 உறுப்புகள் பாதிக்கப்பட்ட போது நீங்கள், 20 உறுப்புகளை வளர வேண்டும், மற்றும்
நீங்கள் 30 உறுப்புகள் அல்லது 40 உறுப்புகள் உங்கள் வரிசை வளர போகிறது.
நீங்கள் இங்கு செய்ய போகிறோம் என்ன இது திறன், அதிகரிக்க வேண்டும் போகிறோம்.
நாம், நம் ஸ்டேக் அதிகபட்ச அளவை எட்டும் ஒவ்வொரு முறை
நாம் வேறு ஏதாவது தள்ளும் போது, நாம் திறனை அதிகரிக்க வேண்டும் போகிறோம்.
இங்கே, நாங்கள் மிகுதி bool புஷ் (எரிப்பதை * str) என அறிவித்தார்.
கரி * str, நாம் ஸ்டேக் மீது அழுத்தம் என்று சரம்
மற்றும் bool தான் நாம் வெற்றி அல்லது தோல்வி என்பதை கூறுகிறார்.
>> எப்படி நாம் தோல்வியடையும்?
நீங்கள் யோசிக்க முடியும் என்று மட்டுமே சூழ்நிலையில் என்ன
நாம் தவறான திரும்ப வேண்டும், அங்கு?
Yeah.
[மாணவர்] இது முழு மற்றும் நாம் ஒரு வரம்புற்றது செயல்படுத்த பயன்படுத்தினால்.
சரி, அதனால் நாம் எப்படி வரையறுப்பது அவர் பதில்
இது முழு மற்றும் நாம் ஒரு கட்டுப்படுத்தப்பட்ட செயலாக்கம் பயன்படுத்தி நீங்கள்.
நாம் நிச்சயமாக தவறான வருவோம்.
விரைவில் நாம் வரிசையில் 10 விஷயங்கள் ஹிட் என, நாங்கள் 11 பொருந்தும் முடியாது, நாம் தவறான திரும்பி எனவே.
இது வரம்பற்றது என்றால் என்ன? Yeah.
நீங்கள் சில காரணங்களால் வரிசை விரிவாக்க முடியாது.
சரி, இவ்வளவு நினைவகம், ஒரு குறைவான ஆதாரம்
இறுதியில், நாங்கள் மீண்டும் மேல் அடுக்கு மீது அழுத்தம் விஷயங்களை வைத்து இருந்தால்,
நாம் பொருந்தும் ஒரு பெரிய வரிசை முயற்சி ஒதுக்க போகிறோம்
நாங்கள் பயன்படுத்தும் பெரிய திறன், மற்றும் malloc அல்லது அதை தவறான திரும்ப போகிறது.
நன்றாக, malloc பூஜ்ய வரும்.
>> நினைவில் வைத்து கொள்ளுங்கள், நீங்கள் எப்போதும் malloc என்று ஒவ்வொரு முறையும், நீங்கள் காண சோதனை அது
பூஜ்ய கொடுக்கிறது அல்லது வேறு ஒரு சரியான துப்பறியும் உள்ளது.
நாம் ஒரு எல்லையற்ற ஸ்டேக் வேண்டும் என்பதால்,
நாம் முயற்சி செய்தால் நாம் தவறான திரும்பி போகிறாய் மட்டுமே வழக்கு
திறன் மற்றும் malloc அதிகரிக்க அல்லது தவறான கொடுக்கிறது என்ன.
பின்னர் பாப், வாதங்கள் இல்லை எடுக்கும்
அது ஸ்டேக் மேல் என்று சரம் கொடுக்கிறது.
அதை சமீபத்தில் ஸ்டேக்கில் தள்ளப்பட்டது, திரும்பி என்ன பாப் உள்ளது
மேலும் ஸ்டேக் இருந்து நீக்குகிறது.
மற்றும் ஸ்டேக்கில் இல்லை என்றால் அது வெற்று கொடுக்கிறது என்று கவனிக்க.
இது ஸ்டேக் காலியாக உள்ளது என்று எப்போதும் சாத்தியமாகும்.
ஜாவாவில், நீங்கள், அல்லது பிற மொழிகளில் பயன்படுத்தப்படுகிறது என்றால்,
ஒரு வெற்று அடுக்கு இருந்து எடுக்க முயற்சி ஒரு விதிவிலக்கு அல்லது ஏதாவது உண்டாக்கும்.
>> ஆனால் சி, பூஜ்ய நாம் இந்த பிரச்சனையை கையாள எப்படி வழக்குகள் நிறைய வகையாக.
பூஜ்ய திரும்பி நாம் ஸ்டேக் காலியாக என்று குறிப்பிட்ட போகிறோம் எப்படி இருக்கும்.
நாங்கள், உங்கள் ஸ்டேக் செயல்பாட்டை சோதிக்க என்று குறியீடு வழங்கியுள்ளோம்
அழுத்தம் மற்றும் பாப் செயல்படுத்த.
இந்த குறியீடு நிறைய முடியாது.
நான், உண்மையில், நாங்கள் அதை செய்ய முன், குறிப்பை, குறிப்பை-
நீங்கள் அதை பார்க்கவில்லை என்றால், malloc மட்டுமே செயல்பாடு உள்ளது
என்று நீங்கள் குவியல் நினைவகத்தை ஒதுக்கீடு.
Alloc செயல்பாடுகளை ஒரு குடும்பம் இருக்கிறது.
முதல் நீங்கள் பயன்படுத்த நீங்கள் எந்த malloc, இல்லை.
பின்னர் malloc அதே காரியத்தை செய்யும் calloc, அங்கு
ஆனால் அதை நீங்கள் எல்லாம் வெளியே பூஜ்ஜியத்திற்கு.
நீங்கள் ஏதாவது mallocing பிறகு பூஜ்ய எல்லாவற்றையும் அமைக்க வேண்டும் என்றால்
நீங்கள் பதிலாக எழுதும் முதல் இடத்தில் calloc பயன்படுத்தப்படும்
நினைவக முழு தொகுதி அவுட் பூஜ்ஜியத்திற்கு லூப் ஒரு.
>> Realloc, malloc போல், சிறப்பு வழக்குகள் நிறைய உண்டு
ஆனால் அடிப்படையில் realloc என்ன ஆகும்
ஏற்கனவே ஒதுக்கப்பட்ட என்று ஒரு சுட்டிக்காட்டி ஆகும்.
Realloc நீங்கள் இங்கே கவனம் செலுத்த வேண்டும் செயல்பாடு ஆகும்.
ஏற்கனவே malloc திரும்பி என்று ஒரு சுட்டிக்காட்டி ஆகும்.
நாம் உங்களுக்கு malloc இருந்து 10 பைட்டுகள் ஒரு சுட்டிக்காட்டி வேண்டும் என்று.
பின்னர் நீங்கள், நீங்கள் 20 பைட்டுகள் தேவை உணர்ந்து
எனவே, 20 பைட்டுகள் என்று சுட்டிக்காட்டி மீது realloc அழைப்பு
மற்றும் realloc தானாகவே எல்லாம் மேலாக நகலெடுக்க.
நீங்கள் தான் நான் 10 பைட்டுகள் ஒரு தொகுதி உள்ளது போல், மீண்டும் malloc என்று. என்றால்
இப்போது நான் 20 பைட்டுகள் ஒரு தொகுதி, வேண்டும்
அதனால் நான் malloc 20 பைட்டுகள் என்றால், நான் கைமுறையாக முதல் விஷயம் இருந்து 10 பைட்டுகள் மீது நகலெடுக்க வேண்டும்
முதல் விஷயம் இரண்டாவது விஷயம் குறித்து பின்னர் இலவச.
Realloc நீங்கள் அந்த கையாளும்.
>> கையொப்பம், வெற்றிடத்தை * போகிறது அறிவிப்பு
இது தான், நினைவகம் தொகுதி ஒரு சுட்டிக்காட்டி திரும்பிய
பின்னர் வெற்றிடத்தை * PTR.
நீங்கள் ஒரு பொதுவான சுட்டிக்காட்டி என வெற்றிடத்தை * என்று முடியும்.
பொதுவாக, நீங்கள், வெற்றிடத்தை * சமாளிக்க
ஆனால் malloc ஒரு வெற்றிடத்தை * திரும்பி, பின்னர் அது போல பயன்படுத்தப்படும்
இந்த உண்மையில் ஒரு எரிப்பதை * போகிறது.
malloc வந்தார் என்று முந்தைய வெற்றிடத்தை *
இப்போது அளவு பின் realloc அனுப்ப வேண்டும் என்று, மற்றும்
நீங்கள் ஒதுக்க வேண்டும் பைட்டுகள் புதிய எண், உங்கள் புதிய திறன் உள்ளது.
நான் இரண்டு மூன்று நிமிடங்கள் கொடுக்க, நம் இடத்தில் அதை செய்கிறேன்.
திருத்த 1 தொடங்கும்.
நான், மிகுதி செயல்படுத்த போதுமான நேரம் பற்றி பின்னர் வட்டம் நீங்கள் நிறுத்த வேண்டும்
பின்னர் நான் பாப் செய்ய மற்றொரு இடைவெளி கொடுக்க வேண்டும்.
ஆனால், அது உண்மையில் அனைத்து அந்த அளவுக்கு குறியீடு அல்ல.
மிகவும் குறியீடு திறன் விரிவடைந்து, ஒருவேளை விரிவடைந்து பொருள்.
சரி, முற்றிலும் செய்யப்படும் எந்த அழுத்தம்,
ஆனால் நீண்ட நீங்கள் சரியான பாதையில் தான் உங்களை போல, நல்லது.
>> யார் அவர்கள் என்னை இழுத்து கொண்டு கருதினால் எந்த குறியீடு உள்ளதா?
சரி, நான், ஆனால் யாரும் நான் இழுக்க முடியும் எந்த குறியீடு இருக்கிறது?
சரி, நீங்கள் எதுவாக இருந்தாலும், அதை சேமிக்க, ஆரம்பிக்கலாமா?
நான் எப்போதும் படி மறந்து.
சரி, புஷ் பார்த்து,
உங்கள் குறியீடு விளக்க வேண்டுமா?
[மாணவர்] முதலில், நான் அளவு அதிகரித்துள்ளது.
நான் ஒருவேளை நான் அந்த-எப்படியும் வேண்டும் நினைக்கிறேன், நான், அளவு அதிகரித்துள்ளது
இது திறன் குறைவாக இருந்தால் நான் பார்க்கிறேன்.
அது திறன் குறைவாக இருந்தால், நான் ஏற்கனவே அந்த வரிசையில் சேர்க்க.
அது இல்லை என்றால், நான், 2 திறன் பெருக்கி
நான் இப்போது ஒரு பெரிய திறன் அளவு ஏதோ சரங்களை வரிசை மறு.
அந்த தவறினால் பின்னர், நான் பயனர் சொல்ல மற்றும், தவறான திரும்ப
அது நல்லது என்றால், நான் புதிய இடத்தில் சரம் போட்டு.
>> [ராப் பி] நாம் இங்கே ஒரு நல்ல பிட்வைஸ் ஆபரேட்டர் பயன்படுத்தப்படும் என்று மேலும் அறிவிப்பு
2 பெருக்கவும் வேண்டும்.
நினைவில் வைத்து கொள்ளுங்கள், இடது மாற்றத்தை எப்போதும் 2 பெருக்கி போகிறது.
அதன் அர்த்தம் என்பதை நினைவில் சரியான மாற்றத்தை வரை 2 வகுக்கப்படுகிறது
2 வகுக்க ஒரு முழு எண் போன்ற 2 பிரிக்க.
அதை இங்கே அல்லது அங்கு ஒரு 1 வெட்டு இருக்கும்.
ஆனால் 1 விட்டு மாற்றத்தை எப்போதும், 2 பெருக்கி போகிறது
நீங்கள் வழிதல் முழு எல்லைகளுக்கு வரை, மற்றும் அது முடியாது.
ஒரு பக்க கருத்து.
நான், நீ, இந்த கூறியோ, எந்த வழியில் குறியீட்டு மாற்ற போவதில்லை விரும்புகிறேன்
ஆனால் நான் இந்த மாதிரி ஏதாவது செய்ய வேண்டும்.
உண்மையில் இது சற்று நீண்ட செய்ய போகிறது.
ஒருவேளை இந்த, இந்த காட்ட சரியான வழக்கு இல்லை
ஆனால் நான், இந்த தொகுதிகள் என்ற பிரிவில் இது போன்ற
இந்த நடந்தால் பரவாயில்லை, நான், ஏதாவது செய்ய போகிறேன்
பின்னர் செயல்பாடு செய்யப்படுகிறது.
நான் இந்த விழாவிற்கு கீழே என் கண்கள் வழி உருட்டும் தேவையில்லை
வேறு பிறகு என்ன நடக்கிறது என்பதை பார்க்க.
இந்த நடந்தால் அது தான், பின் நான் திரும்பி.
இது இந்த அப்பால் எல்லாம் நல்ல சேர்க்கப்பட்ட நன்மை உண்டு
இப்போது ஒருமுறை விட்டு.
நான் இனி, முதல் நீங்கள் எப்போதும் அபத்தமான நீண்ட வரிசைகளில் அருகில் வேண்டும்
, பின்னர் அந்த 4 பைட்டுகள் உதவ முடியும், மேலும் மேலும் இடது ஒன்று
குறைந்த போல, சரி, நான் நினைவில் கொள்ள வேண்டும் என்றால் நீங்கள் எனக்கு அதிகமாக
நான் வளைய ஒரு ஒரு வேறு உள்ளே உள்ளே ஒரு வட்டத்திற்கு தற்போது தான்.
எங்கேயும் நான் வகையான போல், உடனடியாக இந்த திரும்ப செய்ய முடியும்.
இது முற்றிலும் விருப்ப மற்றும் எந்த வழியில் எதிர்பார்க்க முடியாது.
>> [மாணவர்] அங்கு ஒரு அளவு இருக்க வேண்டும் - ஃபெயில் நிலையில்?
இங்கே ஃபெயில் நிலையில் நாம் ஆம், realloc தோல்வியடைந்தது.
, மறைமுகமாக, ஃபெயில் நிலையில் எப்படி கவனிக்க
நாங்கள் இலவச பொருட்களை பின்னர் வரை, நாம் எப்போதும் தோத்துடுவாங்க
நாம் ஏதாவது தள்ள முயற்சி எத்தனை முறை இல்லை.
நாம் தள்ளி வைத்து இருந்தால், நாம், உயர்த்துவதன் அளவு வைத்து
நாம் ஸ்டேக் மீது எதுவும் போடவில்லை கூட.
பொதுவாக நாம் வரை அளவு அதிகரிக்கவில்லை
நாம் வெற்றிகரமாக ஸ்டேக் அது போகிறோம் பிறகு.
நாம் ஒன்று இங்கே மற்றும் இங்கே, நான், அதை செய்ய வேண்டும்.
அதற்கு பதிலாக ≤ திறன் s.size சொல்லி பின்னர், அது, திறன் குறைவாக உள்ளது
எல்லாம் அங்கு நாம் சென்று தான்.
>> மற்றும் நினைவு கொள், நாம் ஒருவேளை தவறான மட்டுமே இடத்தில் திரும்ப முடியும்
realloc பூஜ்ய திரும்பி, அங்கு, இங்கு
நீங்கள் நிலையான பிழை நினைவில் நேர்ந்தால்,
நீங்கள் ஒரு நிலையான பிழை அச்சிட வேண்டும் எங்கே ஒருவேளை நீங்கள், இந்த ஒரு விஷயத்தில் கருத்தில் கொள்ளலாம்
பதிலாக தரமான அவுட் நேரடியாக அச்சிடும் மிகவும் fprintf stderr.
மீண்டும், ஒரு எதிர்பார்ப்பு அல்ல, ஆனால் அது பிழை இருந்தால்
printf தட்டச்சு, அதை பதிலாக தரமான அவுட் நிலையான பிழை அச்சிட செய்ய வேண்டும்.
>> யாரும் கவனிக்க வேறு எதுவும்? ஆம்.
[மாணவர்] நீங்கள் [செவிக்கு புலப்படாமல்] மேல் போக முடியுமா?
[ராப் பி] ஆமாம், உண்மையான இது binariness அல்லது என்ன இது?
[மாணவர்] எனவே நீங்கள் 2 அதை பெருக்கி?
[ராப் பி] சரி, அடிப்படையில்.
பைனரி நிலத்தில், நாம் எப்போதும் இலக்கங்கள் எங்கள் அமைப்பு.
வலது பக்க இங்கே அடிப்படையில் செருகி அது 1 இந்த இடது மாற்றுவதால்.
இந்த வகையில் தான் பைனரி என்று எல்லாம் நினைவுக்கு
, 2 ஒரு சக்தி, இந்த 0 2 பிரதிபலிக்கிறது
1 இந்த 2, இந்த 2 2.
இப்போது வலது பக்க ஒரு 0 சேர்த்துக்கொள்வதன் மூலம், நாம் எல்லாம் இடம் பெயர.
என்ன 0 2 பயன்படுத்தப்படும் 2, இப்போது 2 1 2 உள்ளது.
நாம் சேர்க்கப்பட்டது என்று வலது பக்க
அவசியம் 0 போகிறது,
எந்த அர்த்தமும்.
நீங்கள் இதுவரை 2 ஒரு எண்ணை பெருக்கி என்றால், அது, ஒற்றைப்படை முடிவுக்கு போவதில்லை
அதனால் 0 இடத்திற்கு 2, 0 இருக்க வேண்டும்
நீங்கள் மாற்ற நடக்கும் என்றால் இந்த நான் பாதி முன் எச்சரிக்கை என்ன?
ஒரு முழு எண் உள்ள பல பிட்டுகள் அப்பால்,
இந்த 1 போகவில்லை முடிவுக்கு வருகிறது.
நீங்கள் உண்மையிலேயே பெரிய கொள்ளளவில் கையாள்வதில் வேண்டும் நேர்ந்தால் அந்த கவலையெல்லாம் இல்லை.
ஆனால் அந்த நேரத்தில், நீங்கள், விஷயங்களை பில்லியன் வரிசை கையாள்வதில்
எப்படியும் நினைவகத்தில் பொருந்துவதில்லை கூடிய.
>> இப்போது நாம் கூட எளிதாக இது பாப், பெற முடியும்.
நீங்கள் ஒரு மொத்தமாக எடுக்க நேர்ந்தால் நீங்கள், அது போன்ற
இப்போது நீங்கள் மீண்டும் அரை திறன் இருக்கிறாய்.
நீங்கள், நீங்கள் இல்லை நினைவக அளவு சுருக்க realloc முடியும்
ஆனால் நீங்கள் அதை பற்றி கவலைப்பட வேண்டிய அவசியம் இல்லை, அதனால் தான் realloc வழக்கு போகிறாள்
, நினைவக குறைந்து இல்லை, நினைவாற்றல் பெருகும்
இது பாப் சூப்பர் எளிதாக நடக்கிறது.
அடுக்குகள் போன்ற போகிறீர்கள் இது இப்போது வரிசைகளில்,,
ஆனால் நீங்கள் பொருட்களை எடுத்து அந்த வரிசையில் மாறிவிட்டது.
ஒரு வரிசையின் வகைமாதிரியான உதாரணமாக, ஒரு வரி
அதனால் நான் உங்களுக்கு ஆங்கிலம் என்றால் நினைக்கிறேன், நான்
வரிசையில் ஒரு வகைமாதிரியான உதாரணமாக ஒரு வரிசை ஆகும்.
ஒரு வரி போன்ற, நீங்கள் வரிசையில் முதல் நபர் என்றால்,
நீங்கள் வரி வெளியே முதல் நபர் இருக்கும் என எதிர்பார்க்கலாம்.
நீங்கள் வரிசையில் கடைசி நபர் என்றால், நீங்கள் சர்வீஸ் கடைசி நபர் இருக்கும்.
ஸ்டாக் LIFO மாதிரி இருந்தது, ஆனால் நாம், அந்த FIFO முறை அழைப்பு.
அந்த வார்த்தைகளை அழகாக உலகளாவிய இருக்கும்.
>> அடுக்குகள் போன்ற மற்றும் அணிகளை போல, வரிசைகளில் பொதுவாக மத்தியில் கூறுகள் அணுகலை அனுமதிக்க வேண்டாம்.
இங்கே, ஒரு அடுக்கு, நாம் புஷ் மற்றும் பாப் வேண்டும்.
இங்கே, நாங்கள் அவர்களை என்கியூ மற்றும் dequeue என்று அழைக்கப்படும் நடக்கும்.
நான் இன்னும் மாற்றம் மற்றும் unshift என்று கேள்விப்பட்டேன்.
நான் மக்கள் புஷ் மற்றும் பாப் வரிசைகளில் கூட பொருந்தும் சொல்ல கேட்டிருக்கிறேன்.
நான், நீக்க, செருக கேள்விப்பட்டேன்
எனவே தள்ளும் நீங்கள் அடுக்குகள் பற்றி பேசுகிறாய் என்றால், நீங்கள் அழுத்தம் மற்றும் உறுத்தும் இருக்கும், பா.
நீங்கள் வரிசைகளை பற்றி பேசுகிறோம் என்றால், நீங்கள் பயன்படுத்த விரும்பும் வார்த்தைகளை தேர்ந்தெடுக்க முடியும்
செருகும் மற்றும் நீக்க, இது என்று வேண்டும் என்ன என்பதில் கருத்தொற்றுமை இல்லை.
ஆனால் இங்கே, நாம் என்கியூ மற்றும் dequeue வேண்டும்.
இப்போது, struct ஸ்டேக் struct கிட்டத்தட்ட ஒரே மாதிரியாக இருக்கும்.
ஆனால் நாம் தலை கண்காணிக்க வேண்டும்.
நான் அதை இங்கே சொல்வது நினைக்கிறேன், ஆனால் நாம் ஏன் தலையை வேண்டும்?
முன்மாதிரிகள் அழுத்தம் மற்றும் எடுக்க அடிப்படையில் ஒரே மாதிரியானவை.
நீங்கள் புஷ் மற்றும் பாப் என நினைக்க முடியாது.
ஒரே வித்தியாசம் என்னவென்றால், பாப் என்று திரும்பி, அதற்கு பதிலாக கடந்த, இது முதல் திரும்பி வருகிறது.
2, 1, 3, 4, அல்லது ஏதாவது.
இங்கு தொடக்கத்தில் தான்.
எங்கள் வரிசை முழுமையாக முழு, எனவே அது நான்கு உறுப்புகள் உள்ளன.
எங்கள் வரிசை முடிவில், தற்போது 2
இப்போது நாம் வேறு ஏதாவது சேர்க்க வேண்டும்.
>> நாம் ஸ்டேக் பதிப்பு நாம் என்ன வேறு ஏதோ, நுழைக்க வேண்டும் போது
நாம் நினைவகம் எங்கள் தொகுதி விரிவாக்கப்பட்டது.
இந்த பிரச்சனை என்ன?
[மாணவர்] நீங்கள் 2 நகர்த்த.
நான் வரிசை இறுதியில் பற்றி முன்பு கூறினார், என்ன
இந்த, 1 மணிக்கு நாம் தொடங்கலாம் என்று புரியவில்லையா
நாம் பின்னர் dequeue 3, dequeue 4, dequeue 1 வேண்டும்
பின்னர் dequeue 2, இந்த ஒரு dequeue.
நாம், இப்போது realloc பயன்படுத்த முடியாது
அல்லது குறைந்த பட்சம், நீங்கள் வேறு வழியில் realloc பயன்படுத்த வேண்டும்.
ஆனால் ஒருவேளை நீங்கள் தான் realloc பயன்படுத்த கூடாது.
நீங்கள் கைமுறையாக உங்கள் நினைவகம் நகலெடுக்க வேண்டும்.
>> நினைவகம் நகலெடுக்க இரண்டு செயல்பாடுகளை உள்ளன.
Memcopy மற்றும் memmove உள்ளது.
நான் தற்போது நீங்கள் பயன்படுத்த விரும்பும் போகிறாய் ஒரு பார்க்க man பக்கங்களை படித்து வருகிறேன்.
சரி, memcopy, வித்தியாசம்
memcopy மற்றும் memmove, ஒரு சரியாக வழக்கு கையாளுகிறது என்று
நீங்கள் பிராந்தியத்தில் சார்ந்தோ நடக்கும் என்று ஒரு பகுதிக்கு நகல் அங்கு
நீங்கள் நகல்.
Memcopy அதை கையாள முடியாது. Memmove இல்லை.
நீங்கள் பிரச்சனை என்று முடியும்
நாம், நான் இந்த பையன் நகலெடுக்க வேண்டும் என்று
இந்த நபர் இந்த நான்கு.
இறுதியில், வரிசை போன்ற என்ன இருக்க வேண்டும்
நகல் பின்னர் 2, 1, 2, 1, 3, 4, மற்றும் இறுதியில் சில விஷயங்களை பிறகு.
ஆனால் இந்த நாம் உண்மையில் நகலெடுக்க எந்த வரிசையில் நம்பியிருக்கும்
நாங்கள் பகுதியில் நாம் ஒரு நகல் என்று உண்மையை கருத்தில் என்றால் இருந்து
மேலெழுகிறது நாம் இருந்து நகல் நீங்கள் ஒரு,
நாம், இங்கே தொடக்க போல் நாம் போக விரும்பவில்லை இடத்தில் 2 நகலெடுக்க வேண்டும்
பின்னர் முன் நம் சுட்டிகள் நகர்த்த.
>> இப்போது நாம் இங்கே மற்றும் இங்கே இருக்க போகிறோம், இப்போது நாம் நகலெடுக்க வேண்டும்
இந்த நபர் மீது கை மற்றும் முன்னோக்கி எங்கள் சுட்டிகள் நகர்த்த.
நாம் என்ன செய்து முடிவுக்கு போகிறோம், 1, 2, 1, 2, 1 2
அதற்கு பதிலாக பொருத்தமான 2, 1, 2, 1, 3, 4, ஏனெனில்
2, 1 முதல் 3, 4 overrode.
Memmove சரியாக என்று கையாளுகிறது.
இந்த வழக்கில், அடிப்படையில் தான் எப்போதும் memmove பயன்படுத்த
அதை சரியாக கையாளுகிறது ஏனெனில்.
பொதுவாக எந்த மோசமான செய்யவும் இல்லை.
யோசனை பதிலாக தொடக்கத்தில் இருந்து தொடங்கி இந்த நகல் உள்ளது
நாம் இங்கே போல, அது, இறுதியில் இருந்து தொடங்குகிறது மற்றும் நகலெடுக்கிறது
அந்த வழக்கில், நீங்கள் ஒரு பிரச்சனை முடியாது.
எந்த அங்கு தொலைந்து.
எப்போதும் memmove பயன்படுத்த. Memcopy பற்றி கவலை இல்லை.
நீங்கள் தனியாக memmove வேண்டும் போகிறோம் எங்கே என்று
உங்கள் வரிசையின் மூடப்பட்டிருக்கும்-சுற்றி பகுதி.
எந்த கவலையும் முழுமையாக செய்ய வேண்டும்.
இந்த அடுக்கு, மிகுதி, மற்றும் பாப் விட மிகவும் கடினமாக இருக்கிறது.
>> யாரையும் நாங்கள் வேலை செய்ய எந்த குறியீடு வேண்டும்?
கூட முழுமையாக முழுமையடையாது என்றால்?
[மாணவர்] சரி, அது போதும், முழுமையாக முடிவடையாமல் உள்ளது.
நாம் முடியும் திருத்தம் சேமிக்க முற்றிலும் பாதியில் வரை நன்றாக?
நான் அந்த ஒவ்வொரு முறையும் மறந்து.
நாம் விஷயங்களை அளவை வேண்டும் போது சரி, என்ன புறக்கணித்து நடக்கிறது.
முற்றிலும் மறுஅளவீடு புறக்கணிக்க.
இந்த குறியீடு விளக்க.
அளவு அனைத்து முதல் பிரதியை விட குறைவாக இருந்தால் நான் முதலில் சோதனை
அதன் பின்னர், நான் நுழைக்க நான் தலை + அளவு, எடுத்து
மற்றும் நான், அது அணியின் திறன் சுற்றி மறைப்புகள் உறுதி
நான் அந்த இடத்தில் புதிய சரம் செருக.
நான் அளவு அதிகரிக்கும் மற்றும் உண்மையான திருப்பி.
>> [ராப் பி] இது நிச்சயமாக நீங்கள் மோட் பயன்படுத்த வேண்டும் போகிறாய் அந்த நிகழ்வுகளில் ஒன்றாகும்.
நீங்கள் சுற்றி போர்த்தப்படுகின்றது நினைத்தால் நீங்கள், சுற்றி போர்த்தப்படுகின்றது அங்கு வழக்கு எந்த விதமான
உடனடியாக சிந்தனை மோட் இருக்க வேண்டும்.
ஒரு விரைவான ஒருங்கிணைத்தல் /, உங்கள் குறியீடு ஒரு வரி குறுகிய செய்ய
நீங்கள் வரி உடனடியாக இந்த தொடர்ந்து அந்த அறிவிப்பு
ஒரு அளவு + + நீ ஒன்றாக்க இந்த நிலைப்பாட்டின், அளவு +.
கீழே இங்கே இப்போது, நாங்கள் வழக்கு வேண்டும்
அங்கு நாங்கள், போதுமான நினைவகம் இல்லை
எனவே 2 எங்கள் திறனை அதிகரித்து வருகின்றன.
, நான் நீங்கள் இங்கே அதே பிரச்சினை என்று நினைக்கிறேன், ஆனால் நாம் இப்போது அதை தவிர்க்க முடியாது
உங்கள் திறனை அதிகரிக்க செயலிழக்கும் போது,
பிறகு மீண்டும் 2 உங்கள் திறனை குறைக்க வேண்டும் போகிறோம்.
மற்றொரு குறுகிய குறிப்பு நீங்கள் என்ன செய்ய முடியும் போல் இருக்கிறது + =,
நீங்கள் << = செய்ய முடியும்.
சமமாக முன் கிட்டத்தட்ட எதையும் போகலாம் + =, | =, & =, << =.
கரி * புதிய நினைவகம் நமது புதிய தொகுதி ஆகும்.
ஓ, இங்கு.
>> மக்கள் நினைவகம் நமது புதிய தொகுதி வகை பற்றி என்ன நினைக்கிறீர்கள்?
[மாணவர்] இது எரிப்பதை ** இருக்க வேண்டும்.
இங்கு எங்கள் struct மீண்டும் நினைத்து,
சரங்களை நாம் மறு ஒதுக்கீடு செய்வதையும் என்ன ஆகும்.
நாம் வரிசையில் உறுப்புகள் ஒரு முழு புதிய டைனமிக் சேமிப்பு செய்கிறீர்கள்.
என்ன உங்கள் சரங்களை செய்ய ஒதுக்க வேண்டும் போகிறோம், நாம் இப்போது mallocing என்ன ஆகும்
அதனால் புதிய ஒரு எரிப்பதை ** போகிறது.
அது சரங்களை ஒரு வரிசை இருக்கும் நடக்கிறது.
நாம் தவறான திரும்ப போகிறோம் கீழ் வழக்கு என்ன ஆகும்?
[மாணவர்] நாம் எரிப்பதை * செய்து?
[ராப் பி] ஆமாம், நல்ல அழைப்பு.
[மாணவர்] அது என்ன?
[ராப் பி] நாங்கள் இல்லை, ஏனெனில் எரிப்பதை * அளவை செய்ய நீண்ட
sizeof (கரி) 1 ஏனெனில் இந்த உண்மையில் ஒரு மிக பெரிய பிரச்சினை என்று.
Sizeof எரிப்பதை *, 4 போகிறது
எனவே நீங்கள் ints கையாளும் போது பல முறை,
நீங்கள் அதனை பெற ஏனெனில் எண்ணாக * ஒரு எண்ணாக மற்றும் அளவு அளவு
ஒரு 32 பிட் கணினியில் தான் இருக்க போகிறோம்.
ஆனால் இங்கே, sizeof (கரி) மற்றும் sizeof (எரிப்பதை *) இப்போது தான் இருக்க போகிறோம்.
>> நாம் தவறான திரும்பி அங்கு சூழ்நிலை என்ன?
[மாணவர்] புதிய பூஜ்ய உள்ளது.
புதிய பூஜ்ய இருந்தால் சரி, நாம், தவறான திரும்ப
நான் கீழே தூக்கி போகிறேன் இங்கே-
[மாணவர்] [செவிக்கு புலப்படாமல்]
[ராப் பி] சரி, இந்த நன்றாக.
நீங்கள் 2 முறை திறன் அல்லது திறன் மாற்றத்தை 1 பின்னர் தான் இங்கே அல்லது அதை கீழே அமைக்க முடியும்.
நாம் அது நாம் அதை செய்கிறேன்.
திறன் >> = 1.
நீங்கள் 1 இடத்தை இழப்பது பற்றி கவலைப்பட வேண்டும்
நீங்கள் 1 மாற்றப்படும் விட்டு ஏனெனில், அவ்வாறு 1 இடத்தில், அவசியம் 0
எனவே சரியான 1 மாற்றுவதால், நீங்கள் இன்னும் நன்றாக இருக்க போகிறோம்.
[மாணவர்] நீங்கள் திரும்ப முன் அதை செய்ய வேண்டுமா?
[ராப் பி] ஆமாம், இந்த எந்தவிதமான அர்த்தமும்.
>> நாம் இறுதியில் உண்மையான திரும்பி முடிவுக்கு போகிறாய் இப்போது அனுமானிக்கலாம்.
நாம் இந்த memmoves செய்ய போகிறோம் வழி,
நாம் அவர்களிடமிருந்து எப்படி கவனமாக இருக்க வேண்டும்.
யாரையும் நாம் செய்ய எப்படி எந்த பரிந்துரைகள் உள்ளதா?
இங்கே நம் தொடக்கத்தில் தான்.
தவிர்க்க முடியாமல், நாம் மீண்டும் ஆரம்பத்தில் தொடங்க வேண்டும்
அங்கு இருந்து மற்றும் நகல் விஷயங்கள், 1, 3, 4, 2.
நீங்கள் எப்படி என்று தெரியுமா?
முதல், நான் மீண்டும் memmove man பக்கத்தை பார்க்க வேண்டும்.
Memmove, வாதங்கள் வரிசை எப்போதும் முக்கியமானது.
நாம் மூல இரண்டாவது, அளவு மூன்றாவது, முதல் எங்கள் இலக்கு வேண்டும்.
மூல மற்றும் இலக்கு தலைகீழாக எந்த செயல்பாடுகளை நிறைய உள்ளன.
இலக்கு, மூல சற்றே நிலையான இருக்கிறது.
இந்த நடவடிக்கை, அது என்ன திரும்பி வருகிறார்?
அதை நீங்கள் விரும்பலாம் எந்த காரணத்திற்காகவும், இலக்கு ஒரு சுட்டிக்காட்டி கொடுக்கிறது.
நான் அதை படிக்க முடியும் படம், ஆனால் நாம் நம் இலக்கை நோக்கி நகர்த்த வேண்டும்.
>> நம் இலக்கு என்ன செய்ய போகிறார்கள்?
[மாணவர்] புதிய.
[ராப் பி] ஆமாம், எங்கே நாம் இருந்து நகல் எடுக்க?
நாம் நகலெடுக்க முதல் விஷயம் இந்த 1, 3, 4.
, 4 3 இந்த 1 என்ன.
இந்த 1 முகவரி என்ன?
அந்த 1 முகவரி என்ன?
[மாணவர்] [செவிக்கு புலப்படாமல்]
[ராப் பி] தலைமை + முதல் உறுப்பு முகவரி.
எப்படி நாம் வரிசையில் முதல் உறுப்பு கிடைக்கும்?
[மாணவர்] வரிசையில்.
[ராப் பி] ஆமாம், q.strings.
நினைவில் வைத்து கொள்ளுங்கள், இங்கே, நம் தலையில் 1.
அது தை. நான் அதை தான் மாயமாக-
இங்கே, நம் தலையில் 1. நான் என் நிறம் மாற்ற போகிறேன்.
இங்கு சரங்களை உள்ளது.
நாம் இங்கு செய்தது போல், இந்த, நாம் அதை எழுத முடியும்
உடன் தலையை + q.strings.
நிறைய பேர் அதை எழுத & q.strings [தலைவர்].
இந்த உண்மையில் எந்த குறைவான திறன் அல்ல.
நீங்கள் அதை dereferencing பின்னர் முகவரி கிடைக்கும் என நீங்கள், அது நினைக்கலாம்
ஆனால் தொகுப்பி q.strings + தலை, எப்படியும் நாம் என்ன அதை மொழிபெயர்க்க வேண்டும்.
நீங்கள் அதை நினைக்க வேண்டும் அல்லது வழி.
>> மற்றும் எத்தனை பைட்டுகள் நாம் நகலெடுக்க வேண்டுமா?
[மாணவர்] கொள்ளளவு - தலைவர்.
திறன் - தலைவர்.
பின்னர் நீங்கள் எப்போதும் ஒரு எடுத்துக்காட்டாக அவுட் எழுத முடியும்
அது சரி என்றால், கண்டுபிடிக்க.
[மாணவர்] பின்னர் 2 வகுக்க வேண்டும்.
சரி, நான் நாம் அளவு பயன்படுத்த முடியும் என நினைக்கிறேன்.
நாம் இன்னும் அளவு இல்லை என்ற-
அளவு பயன்படுத்தி, நாம் 4 சமமாக அளவு உள்ளது.
எங்கள் அளவு 4. எங்கள் தலைவர் 1.
நாம் இந்த 3 கூறுகளை நகலெடுக்க வேண்டும்.
அந்த நல்லறிவு அந்த அளவு சோதனை தான் - தலை சரியாக 3.
நாம் முன்பே சொன்னது போல, மேலும், இங்கே வந்து
நாம் கொள்ளளவு பயன்படுத்தப்படும் என்றால், நாம் 2 பிரிக்க வேண்டும் என்று
நாம் ஏற்கனவே நம் திறன் வளர்ந்துவிட்டாய் ஏனெனில், அதனால், அதற்கு பதிலாக, நாம் அளவு பயன்படுத்த போகிறோம்.
அந்த பிரதிகள் பகுதி.
இப்போது, நாம் மற்ற பகுதி, தொடக்கத்தில் இடது என்று பகுதியை நகலெடுத்து வேண்டும்.
>> என்ன நிலைக்கு memmove போகிறது?
[மாணவர்] பிளஸ் அளவு - தலைவர்.
ஆம், நாங்கள் ஏற்கனவே அளவு நகலெடுக்கப்பட்ட - தலைவர் பைட்டுகள்,
அதனால் நாம் மீதமுள்ள பைட்டுகள் நகலெடுக்க வேண்டும், அங்கு புதிய
பின்னர் அளவு குறைய, நன்றாக, பைட்டுகள் எண்ணிக்கையை நாங்கள் ஏற்கனவே உள்ளே நகலெடுக்க
பின்னர் அங்கு நாம் இருந்து நகல் எடுக்க?
[மாணவர்] Q.strings [0].
[ராப் பி] ஆமாம், q.strings.
நாம் ஒன்று செய்ய & q.strings [0]. முடியும்
இந்த விட குறைவாகவே உள்ளது.
இது 0 ஆக போகிறது என்றால், நீங்கள் q.strings பார்க்க வீழுவேன்.
நாம் இருந்து நகல் நீங்கள் எங்கே என்று.
நாம் நகலெடுக்க எவ்வளவு பைட்டுகள் விட்டு? >> [மாணவர்] 10.
சரி.
[மாணவர்] நாங்கள் 5 பெருக்கி வேண்டும் - 10 மடங்கு பைட்டுகள் அல்லது ஏதாவது அளவு?
சரி, இந்த இடத்தில் என்ன சரியாக நாம் நகல் எடுக்க உள்ளது?
[மாணவர்] [செவிக்கு புலப்படாமல்]
நாம் நகல் நீங்கள் தான் வகை என்ன?
[மாணவர்] [செவிக்கு புலப்படாமல்]
இருந்து வருகிறார்கள் yeah, கரி * கள் நாம் நகல் என்று மிக, எங்களுக்கு தெரியாது.
சரி, அவர்கள் சுட்டி நீங்கள் எங்கே, சரங்களை போல, நாம் வரிசை மீது அது தள்ளும் முடிவுக்கு
அல்லது வரிசை மீது enqueuing.
இருந்து வருகிறார்கள், நாம் ஒன்றும் தெரியவில்லை.
நாங்கள் எரிப்பதை * கள் தங்களை கண்காணிக்க வேண்டும்.
தலைவர் பைட்டுகள் - நாம் அளவு நகலெடுக்க வேண்டாம்.
தலைவர் எரிப்பதை * கள், - நாம் அளவு நகலெடுக்க வேண்டும்
நாம் sizeof (எரிப்பதை *) இந்த பெருக்கி கொள்ள போகிறோம்.
அதே கீழே இங்கே, தலைவர் * sizeof (எரிப்பதை *).
>> [மாணவர்] என்ன [செவிக்கு புலப்படாமல்]?
இங்கே இது சரியான?
[மாணவர்] இல்லை, என்று கீழே, அளவு - தலைவர்.
[ராப் பி] இங்கே இந்த உரிமை?
சுட்டிக்காட்டி கணித.
சுட்டிக்காட்டி கணித வேலை நடக்கிறது எப்படி
அது தானாகவே நாம் கையாளும் என்று வகை அளவு மூலம் பன்மடங்காக்குகின்றது.
இப்போது, இங்கு போன்ற புதிய + (அளவு - தலைவர்)
& புதிய [- தலை அளவு] சரியாக சமமானதாகும்
நாம் அது, சரியாக வேலை எதிர்பார்க்க வரை
நாம் ஒரு முழு எண்ணாக வரிசை கையாள்வதில் என்றால் முதல், நாம் மூலம் எண்ணாக-குறியீட்டு இல்லை
இந்த அல்லது 5 அளவு மற்றும் நீ 4 வது உறுப்பு விரும்பினால், நாம் குறியீட்டு
int வரிசை [4].
நீங்கள் don't-[4] எண்ணாக கொண்ட * அளவு.
இந்த வழக்கை தானாக கையாளுகிறது, மற்றும்
உண்மையில் ஆகும், அதனால் பிராக்கெட் வாக்கிய அமைப்பு
நான் விரைவில் நீங்கள் தொகுக்க இந்த மாற்றப்படுகிறது போகிறது.
என்று நீங்கள் கவனமாக இருக்க வேண்டும் விஷயம்
நீங்கள் அளவு சேர்த்து போது - தலைவர்
நீங்கள் ஒரு பைட் இல்லை சேர்க்கும்.
நீங்கள் ஒரு பைட்டுகள் அல்லது என்ன இருக்க முடியும், ஒரு எரிப்பதை * சேர்க்கும்.
>> மற்ற கேள்விகள்?
சரி, dequeue எளிதாக இருக்கும்.
நான் செயல்படுத்த ஒரு நிமிடம் கொடுப்பேன்.
ஓ, நான் இதே நிலைமை தான் நினைக்கிறேன் உள்ளூரில்
என்ன என்கியூ வழக்கு, நாம் பூஜ்ஜிய enqueuing என்றால்,
ஒருவேளை நாம் கையாள வேண்டும், நாம் என்ன செய்ய.
நாம் இங்கே மீண்டும் அதை செய்ய, ஆனால் நமது ஸ்டேக் வழக்கு அதே மாட்டேன்.
நாம் பூஜ்ய என்கியூ என்றால், நாம் அதை புறக்கணிக்க வேண்டும்.
யாரையும் நான் மேலே சில குறியீடு வேண்டும்?
[மாணவர்] நான் dequeue வேண்டும்.
பதிப்பு 2 என, பரவாயில்லை.
நீங்கள் விளக்க வேண்டும்?
[மாணவர்] முதலில், நீங்கள் வரிசையில் ஏதோ உறுதி
மற்றும் அளவு 1 கீழே என்று.
நீங்கள் அதை செய்ய வேண்டும், பிறகு தலையை திருப்பி
பின்னர் 1 வரை தலையை நகர்த்த.
சரி, நாம் கருத்தில் கொள்ள வேண்டும் ஒரு மூலையில் வழக்கு உள்ளது. Yeah.
[மாணவர்], உங்கள் தலைவர் கடந்த உறுப்பு உள்ளது என்றால்,
நீங்கள் தலையில் வரிசைக்கு வெளியே சுட்டிக்காட்ட விரும்பவில்லை.
>> சரி, இவ்வளவு விரைவில் தலைவராக, எங்கள் அணி இறுதியில் பலி
நாம் dequeue போது, எங்கள் தலையில் 0 திரும்பி modded.
துரதிருஷ்டவசமாக, நாம் ஒரு படி அதை செய்ய முடியாது.
நான் அநேகமாக அது சரி என்று வழி நினைக்கிறேன்
இந்த, நாம் திரும்பி என்ன, ஒரு எரிப்பதை * போகிறது
உங்கள் மாறி பெயர் இருக்க விரும்புகிறது என்ன.
நாம் நமது திறன் தலையில் mod வேண்டும்
பின்னர் Ret திருப்பி.
இங்கே நிறைய பேர் அவர்கள்-கூடும்
இந்த you'll விஷயத்தில் தான் மக்கள் அதை பார்க்க தலையை
திறன் அதிகமாக இருக்கும், தலை செய்ய - திறன்.
என்று தான் மோட் என்ன சுற்றி வேலை.
தலைவர் மோட் = திறன் மிகவும் தூய்மையான உள்ளது
திறன் -. சுற்றி திறன் தலையை விட தலை சிறந்த என்றால் விட மடிப்பை பற்றி
>> கேள்விகள்?
சரி, நாம் விட்டு சென்ற விஷயம் நம் இணைக்கப்பட்ட பட்டியலில் உள்ளது.
நீங்கள் செய்தால் நீங்கள் இணைக்கப்பட்ட பட்டியலில் நடத்தை சில பயன்படுத்தப்படுகிறது
நீங்கள் ஒரு ஹாஷ் அட்டவணை செய்தால், உங்கள் ஹெஷ் அட்டவணைகளில் பட்டியல்கள் இணைக்கப்பட்ட.
நான் பலமாக ஒரு ஹாஷ் அட்டவணை செய்து பரிந்துரைக்கிறோம்.
நீங்கள் ஏற்கனவே, ஒரு trie செய்ய
ஆனால் முயற்சிகளின் மிகவும் கடினமாக இருக்கிறது.
கோட்பாடு, அவர்கள் தொலைத்தொடுகோட்டு நன்றாக இருக்கும்.
ஆனால், பெரிய போர்டு இருக்கும்
சிறந்த ஒருபோதும் செய்ய முயற்சித்தால், அவர்கள் இன்னும் நினைவகம் எடுத்து.
எல்லாவற்றையும் பற்றி மேலும் வேலை மோசமாக இருப்பது முடிவடைகிறது முயற்சிக்கிறது.
அதை டேவிட் Malan தீர்வு எப்போதும் என்ன ஆகும்
அவர் எப்போதும் பதவிகளை தனது trie தீர்வு, மற்றும் அவர் தற்போது எங்கே நாம் பார்ப்போம்.
அவர் டேவிட் ஜே, கீழ் என்ன?
அவர் # 18 தான்,, என்று மோசமாக மோசமாக இல்லை என்று
மற்றும் சிறந்த ஒன்றாக இருக்க போகிறது என்று நீங்கள் நினைக்கலாம் முயற்சி
அல்லது சிறந்த ஒரு trie ஒரு முயற்சி.
அது அவரது உண்மையான தீர்வு கூட இல்லை?
Trie தீர்வுகளை ரேம் பயன்பாடு இந்த வரம்பில் இன்னும் இருக்கும் போல் நான் உணர்கிறேன்.
>> மிகவும் மேலே கீழே போக, மற்றும் ரேம் பயன்பாடு ஒற்றை இலக்கங்கள் உள்ளது.
கீழே நோக்கி கீழே சென்று, பிறகு நீங்கள் முயற்சி தொடங்களாம்
நீங்கள் முற்றிலும் மகத்தான ரேம் பயன்பாடு இங்கு,
மற்றும் முயற்சிகளின் மிகவும் கடினமாக இருக்கிறது.
முழுமையாக அதை ஆனால் ஒரு கல்வி அனுபவம் மதிப்புள்ள ஒரு செய்தால்.
கடந்த விஷயம், நம் தொடர்புடைய பட்டியல்
இந்த மூன்று விஷயங்களை, அடுக்குகள், வரிசைகளில், மற்றும் தொடர்புடைய பட்டியல்கள்,
நீங்கள் எப்போதும் கணினி அறிவியல் செய்ய எந்த எதிர்கால விஷயம்
இந்த விஷயங்களை அறிந்திருத்தல் வேண்டும் ஏற்றுக்கொள்ளும்.
அவர்கள் எல்லாம் வெறும் மிகவும் அடிப்படை ஆகும்.
>> பட்டியல்கள் இணைக்கப்பட்ட, மற்றும் இங்கே நாம் ஒரு தனித்தனி இணைக்கப்பட்ட பட்டியலில் எங்கள் செயல்படுத்த போகிறது வேண்டும்.
தனித்தனி என்ன தொடர்பு இல்லை என இரட்டை இணைக்கப்பட்ட எதிராக என்ன? ஆம்.
[மாணவர்] இது மட்டுமே, அடுத்த சுட்டிக்காட்டி விட சுட்டிகள் சுட்டி
அது அது பின்னர் ஒரு முந்திய ஒரு மாதிரி.
சரி, அப்படி படம் வடிவமைப்பில், நான் என்ன செய்ய?
நான் இரண்டு விஷயங்களை கொண்டுள்ளன. நான் படம் மற்றும் படம்.
படம் வடிவமைப்பில், நமது தனித்தனி இணைக்கப்பட்ட பட்டியல்கள்,
தவிர்க்க முடியாமல், நாம், நமது பட்டியலில் தலையில் சுட்டிக்காட்டி சில விதமான
பின்னர் எங்கள் பட்டியலில் உள்ள, நாம் தான், சுட்டிகள் வேண்டும்
ஒருவேளை இந்த புள்ளிகள் பூஜ்ய வேண்டும்.
அது ஒரு தனித்தனி இணைக்கப்பட்ட பட்டியலில் உங்கள் பொதுவான சித்திரம் இருக்க போகிறது.
ஒரு இரட்டை இணைக்கப்பட்ட பட்டியலில், நீங்கள் பின்னோக்கி செல்ல முடியும்.
நான் உன்னை பட்டியலில் எந்த முனை கொடுக்க வேண்டும் என்றால், நீங்கள் அவசியம் பெற முடியும்
மற்ற முனை பட்டியலில் அது ஒரு இரட்டை இணைக்கப்பட்ட பட்டியலில் இருந்தால்.
ஆனால் நான் உங்களுக்கு பட்டியலில் மூன்றாவது முனை, மற்றும் அது ஒரு தனித்தனி இணைக்கப்பட்ட பட்டியலில் இருந்தால்,
நீ முதல் மற்றும் இரண்டாவது முனைகளில் பெற போகிறோம். இல்லை
மற்றும் பயன்கள் மற்றும் detriments, மற்றும் ஒரு தெளிவான ஒரு உள்ளது
நீங்கள் இன்னும் அளவு எடுத்து, மற்றும் இந்த விஷயங்கள் இப்போது சுட்டி எங்கே கண்காணிப்பதற்கான வேண்டும்.
ஆனால் நாம் மட்டும் தனித்தனி இணைக்கப்பட்ட கவலை.
>> நாம் நடைமுறைப்படுத்த வேண்டும் என்று ஒரு சில விஷயங்கள்.
உங்கள் typedef struct முனை, int நான்: struct முனை * அடுத்த; முனை.
அந்த typedef உங்கள் மனதில் கொண்டு எரித்து.
வினாடி வினா 1, ஒரு இணைக்கப்பட்ட பட்டியலில் முனை ஒரு typedef கொடுக்க விரும்புகிறேன்
நீங்கள் உடனடியாக அந்த கீழே எழுதுவதால் இப்பெயர் முடியும்
அதை பற்றி சிந்திக்காமல்.
நான் ஒரு ஜோடி கேள்விகள் நினைக்கிறேன், நாம் ஏன் இங்கு struct வேண்டும்?
நாம் ஏன் முனை * சொல்ல முடியாது?
[மாணவர்] [செவிக்கு புலப்படாமல்]
Yeah.
ஒரு விஷயத்தை ஒரு முனை வரையறுக்கிறது என்று மட்டும் தான்
தன்னை typedef உள்ளது.
ஆனால் இந்த புள்ளி, நாம் இந்த struct முனை வரையறை மூலம் அலசல் வகையான போது,
நாம், typedef முடிக்கவில்லை எனவே இருந்து, இன்னும் நம் typedef முடிக்கவில்லை
கணு இல்லை.
ஆனால் struct முனை இல்லை, இந்த இங்கே உள்ள,
இந்த வேறு எதையும் என்று.
இந்த n என்று.
அது இணைக்கப்பட்ட பட்டியலில் முனை என அழைக்கப்படும்.
இது ஒன்றும் என்று.
ஆனால் இந்த struct முனையும் இந்த struct முனையும் அதே விஷயம் வேண்டும்.
இந்த இங்கே இருக்க வேண்டும் என்று என்ன,
அதனால் அந்த கேள்வி இரண்டாவது கட்டத்தில் பதில்
ஏன், ஒரு நீங்கள் structs மற்றும் structs என்ற typedefs பார்க்கும் போது முறை நிறைய, அது
நீங்கள் typedef struct பார்க்கலாம், எங்கு, அநாமதேய structs பார்க்கலாம்
struct, அகராதி, அல்லது அதை செயல்படுத்த.
>> ஏன் இங்கே நாம் முனை சொல்ல வேண்டும்?
ஏன் அது ஒரு அநாமதேய struct இருக்க முடியாது?
இது கிட்டத்தட்ட அதே பதில் தான்.
[மாணவர்] நீங்கள் struct இதை குறிக்க வேண்டும்.
சரி, struct உள்ள, நீங்கள் struct தன்னை பார்க்கவும் வேண்டும்.
நீங்கள் struct ஒரு பெயரை என்றால் அது ஒரு அநாமதேய struct என்றால், நீங்கள் அதை பார்க்கவும் முடியாது.
கடந்த ஆனால் குறைந்த இந்த அனைத்து வேண்டும் சற்றே நேரடியான இல்லை,
இந்த எழுதிக்கொடுத்து என்றால் அவர்கள் நீங்கள் உணர உதவ வேண்டும்
விஷயங்கள் இந்த வகையான போடுவது என்றால் நீங்கள் தவறு செய்கிறீர்கள் என்று.
குறைந்தது கடந்த ஆனால், ஏன் இந்த struct முனை * இருக்க வேண்டும்?
ஏன் அது அடுத்த முனையில் struct முடியாது?
அடுத்த struct வேண்டும் [மாணவர்] சுட்டி.
என்று நாம் என்ன தேவை தவிர்க்க முடியாமல் உள்ளது.
ஏன் அடுத்த struct முனை இருக்க முடியாது?
ஏன் அதை * அடுத்த struct முனை இருக்க வேண்டும்? Yeah.
[மாணவர்] இது ஒரு முடிவிலா சுழற்சியில் போல.
Yeah.
[மாணவர்] இது ஒரு இருக்கும்.
சரி, இப்போது நாம் அளவு அல்லது ஏதாவது எப்படி என்று.
ஒரு struct அளவு அடிப்படையில் + அல்லது - இங்கு அல்லது அங்கு சில முறை.
இது அடிப்படையில் struct விஷயங்களை அளவுகள் தொகை இருக்க போகிறது.
இங்கே இந்த உரிமை, எதையும் மாற்றாமல், அளவு எளிதாக இருக்கும்.
Struct முனை அளவு அடுத்த நான் + அளவு அளவு இருக்கும்.
நான் அளவு 4 போகிறது. அடுத்த அளவு 4 போகிறது.
Struct முனை அளவு 8 போகிறது.
நாம் * இல்லை என்றால், sizeof நினைத்து
பின்னர் sizeof (நான்) 4 போகிறது.
Struct முனை அளவு அடுத்த அடுத்த struct முனையத்தின் + அளவு நான் அளவு இருக்கும்
அடுத்த struct முனையத்தின் நான் + அளவு + அளவு.
இது முனைகளில் முடிவிலா மறுநிகழ்வு வேண்டும்.
இந்த விஷயங்கள் இருக்க வேண்டும் என்பதை ஏன் இந்த.
>> மீண்டும், நிச்சயமாக, அது நினைவில்
அல்லது குறைந்த பட்சம் நீங்கள் முடியும் என்று போதும் அதை புரிந்து கொள்ள
அது இருக்க வேண்டும் என்ன வழியாக காரணம்.
நாம் செயல்படுத்த வேண்டும் போகிறோம் விஷயங்கள்.
என்றால் நீளம் பட்டியல்-
நீங்கள் ஏமாற்றி ஒரு சுற்றி வைத்து முடியும்
உலக நீளம் அல்லது ஏதோ, ஆனால் நாம் அதை செய்ய போவதில்லை.
நாம் பட்டியல் நீளம் எண்ண போகிறோம்.
நாம் கொண்டிருக்கும் வேண்டும், அந்த அடிப்படையில் ஒரு தேடல் தான் மிகவும்
எனவே இந்த முழு இணைக்கப்பட்ட பட்டியலில் இருந்தால் பார்க்க முழுஎண்களின் ஒரு இணைக்கப்பட்ட பட்டியலில் இல்லை.
முன்னொட்டைச் 'சேர்த்து கொள்கின்றன பட்டியலில் ஆரம்பத்தில் நுழைக்க வேண்டும்.
Append இறுதியில் சேர்க்க வேண்டும்.
Insert_sorted பட்டியலில் வரிசைப்படுத்தப்பட்ட நிலை செருக போகிறது.
இந்த Insert_sorted வகையான நீங்கள் முன்னொட்டைச் 'சேர்த்து கொள்கின்றன பயன்படுத்தப்படும் அல்லது கெட்ட வழிகளில் சேர்க்க முடியாது என்று கருதுகிறது.
>> நீங்கள் செயல்படுத்தும் போது insert_sorted-Insert_sorted
நாம் நமது இணைக்கப்பட்ட பட்டியலில் இல்லை என்று.
இது தற்போது 5, 4, 2, போல் உள்ளது.
நான், மிக நீண்ட பட்டியல் தன்னை ஏற்கனவே வரிசையாக்கம் என, 3 சேர்க்க வேண்டும்
இது 3 எங்கிருந்து கண்டுபிடிக்க எளிதானது.
நான் 2 மணிக்கு தொடங்கும்.
சரி, 3 2 விட, அதனால் நான் செல்ல வேண்டும்.
ஓ,, 4 மிகவும் பெரியதாக உள்ளது, அதனால் நான் 3 2 மற்றும் 4 இடையில் போக போகிறது என்று
நான் குறிப்புகள் மற்றும் அதையெல்லாம் சரி செய்ய வேண்டும்.
ஆனால் நாம் கண்டிப்பாக, insert_sorted பயன்படுத்த முடியவில்லை என்றால்,
இப்படி நாம் தான், நான் 6 முன்னொட்டைச் 'சேர்த்து கொள்கின்றன என்று
பிறகு என் இணைக்கப்பட்ட பட்டியலில் இந்த போகிறாள்.
அது இப்போது insert_sorted செய்ய, நீங்கள் நினைத்து கொள்ளலாம் எனவே, எந்த அர்த்தமும்
செயல்பாடுகள் உள்ளன கூட பட்டியலில், வரிசைப்படுத்தப்பட்ட என்று
இது வருவீங்கன்னு இல்லை ஏற்படுத்தும், அவ்வளவு தான்.
அந்த நீங்கள் செயல்படுத்த வேண்டும் போகிறோம் முக்கிய விஷயங்களை ஒரு பயனுள்ளதாக நுழைவு-ஆக உள்ளது.
>> இப்போது, நீளம் செய்ய ஒரு நிமிடம் எடுத்து கொண்டுள்ளது
அந்த ஒப்பீட்டளவில் விரைவான இருக்க வேண்டும்.
இறுதி நேரம் நெருங்குகிறது, அதனால் யாருக்கும் நீளம் எதுவும் இல்லை அல்லது கொண்டுள்ளது?
அவர்கள் கிட்டத்தட்ட ஒரே மாதிரியாக இருக்க போகிறோம்.
[மாணவர்] நீளம்.
, தான் பார்க்க திருத்தம் செய்யலாம்.
சரி.
நீங்கள் விளக்க வேண்டும்?
[மாணவர்] நான் ஒரு சுட்டிக்காட்டி முனை உருவாக்க மற்றும் நம் உலக மாறி இது முதல், இதை துவக்க,
பின்னர் நான் ஒரு நொடி தவறு செய்து அந்த வழக்கு என்றால் 0 திரும்பி வருவதில்லை அது வெற்று என்று பார்க்கவும்.
இல்லையெனில், நான் மூலம் மடக்கி, முழு உள்ள கண்காணிப்பதற்கான
நான் பட்டியல் அடுத்த உறுப்பு அணுக எத்தனை முறை
அதே அதிகரிப்பு நடவடிக்கை மேலும், அந்த உண்மையான உறுப்பு அணுக
பின்னர் நான் தொடர்ந்து, அது வெற்று இருந்தால் காசோலை பார்க்க வேண்டும்
அது வெற்று இருந்தால் மற்றும், அது aborts மற்றும் நான் அணுக நான் கூறுகள் எண்ணிக்கை கொடுக்கிறது.
>> [ராப் பி] யாரும் எதையும் எந்த கருத்து உள்ளதா?
இந்த அபராதம் சரியான பாண்டித்தியம் தெரிகிறது.
[மாணவர்] நான் முனை == பூஜ்ய வேண்டும் என்று நான் நினைக்கவில்லை.
சரி, அதனால் முனை என்றால் == பூஜ்ய திரும்ப 0.
ஆனால் முனை == பூஜ்ய இந்த-ஓ, ஒரு சரியான பிரச்சினை இருந்தால்.
அது நீங்கள் எனக்கு திருப்பி கொடுக்கிறோம், ஆனால் அது இப்போது நோக்கம் அல்ல.
நீங்கள் முழு எண்ணாக நான் வேண்டும், அதனால் நான் = 0.
கணு பூஜ்ய என்று ஆனால், பிறகு நான் இன்னும், 0 போகிறது
நாம் 0 திரும்ப போகிறோம், இந்த வழக்கில் ஒரே இருக்கும்.
மற்றொரு பொதுவான விஷயம் அறிவிப்பு வைத்திருக்க வேண்டும்
லூப் ஒரு முனை உள்ளே இருந்து.
நீங்கள் என்ன சொன்னாலும், ஓ என்று இல்லை.
இது போன்ற வைப்போம்.
நான் ஒருவேளை, int நான் = 0 இங்கே வைக்க வேண்டும்
பின்னர் முனை * கணு = இங்கே முதல்.
இந்த இப்போது இந்த போக்க-பெற்று எப்படி பொருள்.
இந்த நான் எழுதிய என்று எப்படி பொருள்.
இந்த மாதிரி அது மேலும்-looking.
சரி இங்கே வளைய அமைப்பு இந்த
int நான் = 0 போன்ற நீங்கள் கிட்டத்தட்ட போன்ற இயற்கை இருக்க வேண்டும்
நான் வரிசை நீளம் குறைவாக நான் +.
என்று ஒரு அணி மீது மீண்டும் கூறு எப்படி என்றால், இந்த ஒரு இணைக்கப்பட்ட பட்டியலில் மீது மீண்டும் கூறு உள்ளது.
>> இந்த கட்டத்தில் இரண்டாவது இயல்பு இருக்க வேண்டும்.
மனதில் கொண்டு, இந்த கிட்டத்தட்ட அதே விஷயம் நடக்கும்.
நீங்கள் ஒரு இணைக்கப்பட்ட பட்டியலில் மீது மீண்டும் கூறு வேண்டும் போகிறோம்.
என்றால் முனை நான் மதிப்பு எனப்படும் தெரியாது.
கணு நான்.
அந்த முனை உள்ள மதிப்பு = நான் உண்மையாக திரும்பி, மற்றும் அது இருந்தால்.
கவனிக்க என்று நாம் எப்போதும் தவறான திரும்ப ஒரே வழி
நாம் முழு இணைக்கப்பட்ட பட்டியலில் மீது மீண்டும் கூறு மற்றும் உண்மையான திரும்பாது என்றால் இல்லை,
அதனால் இந்த என்ன.
ஒரு பக்க குறிப்பு: நாம் அநேகமாக சேர்க்க அல்லது முன்னொட்டைச் 'சேர்த்து கொள்கின்றன செய்ய முடியாது.
>> விரைவு கடந்த குறிப்பு.
நீங்கள் நிலையான முக்கிய பார்த்தால், அதனால், தான் நிலையான எண்ணாக எண்ணிக்கை = 0 சொல்கிறேன்
நாம் எண்ணிக்கை செய்ய + + நீங்கள் அடிப்படையில் ஒரு பூகோள மாறி அதை பற்றி யோசிக்க முடியும்,
நான் இந்த நாம் நீளம் செயல்படுத்த போகிறோம் எப்படி இல்லை என்று கூட.
நான் இங்கே இதை, பின்னர் + எண்ணிக்கை.
நாங்கள் எங்கள் எண்ணிக்கையை அதிகரிக்க எங்கள் இணைக்கப்பட்ட பட்டியலில் ஒரு முனை உள்ளிட எந்த வழி.
இந்த நிலையில் நிலையான முக்கிய பொருள் என்ன.
நான் எண்ணாக எண்ணிக்கை இருந்தால் = வழக்கமான பழைய உலக மாறி இருக்கும் என்று 0.
என்ன நிலையான எண்ணாக எண்ணிக்கை என்பது இந்த கோப்பு ஒரு உலகளாவிய மாறி உள்ளது.
இது, வேறு சில கோப்பு முடியாது
நீங்கள் ஆரம்பித்து விட்டீர்கள் என்றால், pset 5 என்று விரும்புகிறேன்.
, நீங்கள் இருவரும் speller.c வேண்டும், மற்றும் நீங்கள் dictionary.c வேண்டும்
மற்றும் நீ speller.c பின்னர், எதுவும் உலகளாவிய ஒரு விஷயத்தை அறிவிக்க வேண்டும்
dictionary.c மற்றும் மறுதலையாகவும் அணுக முடியும்.
உலக மாறிகள், எந்த. கேட்ச் கோப்பு மூலம் அணுக
ஆனால் நிலையான மாறிகளை, கோப்பு உள்ளேயே இருந்து மட்டுமே அணுக முடியும்
எனவே உள்ளே dictionary.c மற்றும் பிழைத்திருத்த அல்லது உள்ளே இருந்து,
இந்த நான் என் வரிசை அளவு என் மாறி அறிவிக்க எப்படி வகையாக
அல்லது அகராதியில் வார்த்தைகள் என் எண் அளவு.
நான் யாரையும் அணுக ஒரு உலகளாவிய மாறி அறிவிக்க விரும்பவில்லை என்பதால்,
நான் மட்டும் என் சொந்த காரணங்களுக்காக அதை பற்றி கவலைப்படவில்லை.
>> இந்த பற்றி நல்ல விஷயம் கூட முழு பெயர் மோதல் பொருள்.
வேறு சில கோப்பு எண்ணிக்கை என்று ஒரு உலக மாறி பயன்படுத்த முயன்றால், விஷயங்களை மிக மிக தவறு,
எனவே, இந்த நன்றாக பொருட்களை பாதுகாப்பாக வைத்திருக்கும், மற்றும் நீங்கள் அதை அணுக முடியும்
வேறு யாரும் செய்ய முடியும், மற்றும் வேறு எண்ணிக்கை என்று ஒரு உலக மாறி அறிவிக்கிறது என்றால்,
அது எண்ணிக்கை என்று உங்கள் நிலையான மாறி தலையிட மாட்டேன்.
அந்த நிலையானது என்ன. அது ஒரு கோப்பை உலக மாறி உள்ளது.
>> ஏதாவது கேள்விகள்?
அனைத்து தொகுப்பு. வருகிறேன்.
[CS50.TV]