[Powered by Google Translate] [வாரம் 6] [டேவிட் ஜே Malan] [ஹார்வர்ட் பல்கலைக்கழகம்] [இந்த CS50 உள்ளது.] [CS50.TV] இந்த CS50 தான், இந்த வாரம் 6 தொடக்கத்தில் இல்லை எனவே புதிய கருவிகள் ஒரு ஜோடி, இப்போது நீங்கள் பயன்படுத்தி கொள்ள கிடைக்கிறது இதில் முதல் CS50 உடை என்று அழைக்கப்படுகிறது. நீங்கள் என்னை அல்லது கற்பித்தல் கூட்டாளிகள் எந்த போன்ற என்றால் முரண்பாடுகள் உள்ளன ஒருவேளை நீங்கள் யாருடைய பாணி இது போன்ற ஒரு சிறிய ஒன்று தெரிகிறது ஒரு திட்டத்தை நான் பார்த்திருக்கிறேன். , ஒருவேளை நீங்கள் இரவில் சில மூலைகளிலும் வெட்டுதல் தொடங்க, அல்லது நீங்கள் பிறகு பேசுகிறேன் பின்னர் ஒரு TF அல்லது CA அலுவலக நேரங்களில் வருகிறார். எங்களை படிக்க வேண்டும் அது கடினமாக உள்ளது. சரி, இந்த குறியீடு எனும் சொல் சரியானதா, அதை தொகுக்க வேண்டும், அது உண்மையில் இயங்கும். ஆனால் அது நிச்சயமாக பாணியில் ஒரு 5 அல்ல. ஆனால் இப்போது, நாம் இந்த அடைவில் சென்றால் இங்கே- மற்றும் நான் என conditions2.c அறிவிப்பு மற்றும் நான், உள்ளிடவும், இந்த கோப்பு conditions2.c இந்த புதிய கட்டளை, style50, இயக்க அது பகட்டான உள்ளது என்று எனக்கு தகவல் என்று கவனிக்க. Gedit, கோப்பு வட்டில் மாற்றப்பட்டது கவனித்தனர் நான் மீண்டும் கிளிக் செய்தால், மற்றும் அனைத்து உங்கள் பிரச்சினைகளை இப்போது தானியக்கமாக. [கரவொலி] என்று நாம் இந்த வார விஷயங்களை ஒன்று தான். சில குறியீடு இருப்பதால் அது சரியானதாக இல்லை என்று இது வெறுமனே செய்தபின் stylize முடியும், என்று ஆனால் உணர இந்த இப்போது நீங்கள் பயன்படுத்தி கொள்ள முடியும் கருவி மட்டுமே இன்னும் errantly வைக்கப்பட்டு சுருள் ப்ரேஸ்களை வரை நேர்த்தியாகவும் சில மற்றும் பிடிக்கும். ஆனால் இன்னும் கட்டாயமான இப்போது CS50 சோதனை ஆகும். CS50 சோதனை மூலம், நீங்கள் உண்மையில் அதே சரியான சோதனைகள் செய்யலாம் ஆசிரியர் கூட்டாளிகள் முடியும் என்று உங்கள் சொந்த குறியீடு மீது. இந்த பயன்பாட்டிற்கான இப்போது வரும் என்று ஒரு கட்டளை வரி பயன்பாட்டு உள்ளது விரைவில் நீங்கள் படி ஒரு update50 போல pset 4 குறிப்புகள், மற்றும் நீங்கள் இந்த அடிப்படையில் அதை பயன்படுத்த. நீங்கள் கட்டளை check50 ரன். நீங்கள் ஒரு கட்டளை வரி வாதத்தின் கடந்து, அல்லது பொதுவாக ஒரு மாற்றம் அல்லது ஒரு கொடி என அழைக்கப்படுகிறது. பொதுவாக, இணைப்புக்குறிகள் என்று விஷயங்களை ஒரு சுவிட்சை அழைக்கப்படுகின்றன ஒரு கட்டளை வரி திட்டம், மிகவும் கேட்ச் குறிப்பிடுகிறது நீங்கள் இயக்க வேண்டும் என்று காசோலைகளை. நீங்கள் இயக்க வேண்டும் என்று சோதனைகள், தனிப்பட்ட இந்த சரம் அடையாளம் 2012/pset4/resize. வேறுவிதமாக கூறினால், அது ஒரு தன்னிச்சையான ஆனால் தனிப்பட்ட சரம் தான் நாங்கள் தனிப்பட்ட pset 4 சரியான சோதனைகள் அடையாளம் பயன்படுத்தும். பின்னர் நீங்கள் பதிவேற்ற விரும்பும் கோப்புகளை ஒரு இடம் பிரிக்கப்பட்ட பட்டியலில் குறிப்பிட ஆய்வில் CS50 சோதனை செய்ய. உதாரணமாக, நான் இங்கு என் தீர்வு நோக்கி சென்றால் resize.c- எனக்கு ஒரு பெரிய முனைய சாளரத்தில்-திறந்து விட நான் மேலே சென்று நாம் இயக்க check50-கேட்ச் 2012/pset4/resize, என்று பின்னர் நான், மேலே போய் கோப்புகளை பெயர்களை குறிப்பிட resize.c, பின்னர், அதை அழுத்தும், Enter விசையை இது பதிவேற்றங்கள், அதை சரிபார்த்து, மற்றும் நான் சோதனைகள் ஒரு மொத்தமாக தோல்வியடைந்தது. மேல் இடது மூலையில் சிவப்பு ஒரு resize.c மற்றும் BMP உள்ளன என்று. என்று சோதனை இருந்தது. என்று நாம் கேட்டு கேள்வி இருந்தது. பதில் தவறான ஏனெனில் அது துக்கமாக தான். அதை கீழே வெள்ளை உரை இருப்பதாக bmp.h எதிர்பார்க்கப்படுகிறது சொல்வது, மியூச்சுவல் என்று வெறுமனே என் தவறு தான். , நான் அதை ஏற்ற மறந்துவிட்டேன், அதனால் நான் இரண்டு கோப்புகளை பதிவேற்ற வேண்டும் resize.c மற்றும் bmp.h. அவர்கள் அவுட் இல்லை, ஏனெனில் ஆனால் இப்போது மற்ற சோதனைகள் அனைத்து மஞ்சள் உள்ளன கவனிக்க, அவர் எந்த மகிழ்ச்சியாக இல்லை வருத்தமாக உள்ளது, ஏனெனில் அதனால் ஸ்மைலி முகம், செங்குத்து உள்ளது ஆனால் நாம் அந்த மற்ற காசோலைகளை இயக்க முன் சிவப்பு என்று பிரச்சினையை தீர்ப்பதற்கான வேண்டும். இதை சரிசெய்ய வேண்டும். மேலும் bmp.h கொண்டு, என்னை வெளியே பெரிதாக்கவும் மற்றும் இந்த இயக்கப்படுகின்றன இந்த காலம் எல்லாம் நன்றாக நடந்தால் வரியில், இப்போது உள்ளிடவும், மற்றும் இது உங்கள் வைத்திருக்கும் விளைவாக சரிபார்த்து பின்னர் திரும்ப நடக்கிறது சுவாசம்- நான் இதுவரை pset 4 நன்றாக செய்கிறேன் அதாவது அனைத்து பச்சை,. நீங்கள் இங்கே பார்க்க மற்றும் விளக்க உரை தெரிகிறது அதை நாங்கள் சோதனை சரியாக என்ன. நாம் முதல் கோப்புகள் உள்ளன சோதனை? நாம் resize.c தொகுத்தல் இல்லை சோதனை? நாம் n, மறுஅளவீடு காரணி, 1 போது அது ஒரு 1x1-பிக்சல் BMP அளவை இல்லை சோதனை. நீங்கள் n என்ன யோசனை இருந்தால் இப்போது, ஒருமுறை நீ, pset 4 டைவ் ஆனால் அந்த வெறுமனே நீங்கள் பெரிதாக்க இல்லை என்பதை உறுதி செய்ய ஒரு நல்லறிவு நிலை சரி இல்லை மறுஅளவீடு காரணி 1 இருந்தால் அனைத்து ஒரு படம். மாறாக, அது சரியாக 2x2 ஒரு 1x1 பிக்சல் BMP ஒரு 1x1 பிக்சல் resizes என்றால் n 2 போது, பின் இதேபோல், என்னுடைய அதன்படி உள்ளது. சுருக்கமாக, இந்த ஒரு, பொருள், கடந்து விரல்களை எடுத்து சரி நீ முன் சமன்பாடு வெளியே உங்கள் pset சமர்ப்பிக்க. உங்கள் TF விரைவில் தெரியவரும் சரியாக என்ன தெரியும் இந்த பிரச்சனை செட் சில சமர்ப்பிக்கும் பற்றி செல்லும் போது, மேலும் வழிகாட்டி நோக்கம் வைக்க உண்மையில் நீங்கள் முன்னரே தெரியும் போது அந்த நீ முன் வாய்ப்பு உங்கள் குறியீடு பிழைகளை மற்றும் கடந்து அல்ல என்று சோதனைகள், அங்கு அந்த பிரச்சினைகளை தீர்ப்பதற்கு முன் வரை மிகவும் பயனுள்ளதாக நேரத்தில் முடியும் புள்ளிகள் இழந்து விட, உங்கள் TF இருந்து கருத்துக்களை பெற பின்னர் நான் அந்த வந்தார் வேண்டும் போன்ற ", ஆ", போக. இப்போது குறைந்தது என்று கண்டறிய உதவும் ஒரு கருவி உள்ளது. அது பிழை எங்கே சுட்டிக்காட்ட போவதில்லை, ஆனால் அதை நீங்கள் சொல்ல வேண்டும் அதை அடையாளம் என்ன. இப்போது சோதனைகள் அவசியம் முழுமையான இல்லை உணர. நீங்கள் பச்சை ஸ்மைலி முகங்கள் முழு திரை கிடைக்கும் தான் உங்கள் குறியீடு இருக்கும் என்று அர்த்தமில்லை, ஆனால் அது அர்த்தம் அது குறிப்பிட்ட பரிந்துரைக்கப்படும் சில சோதனைகள் கடந்துவிட்டது என்று. சில நேரங்களில் நாம் காசோலைகளை வெளியிட மாட்டேன். உதாரணமாக, ஹூட்யூனிட், pset 4 அம்சங்களில் ஒன்றாக, நாங்கள் உங்களுக்கு ஏமாற்றத்தை வகையான கொடு! அது என்ன, மற்றும் வெளிப்படுத்த பல வழிகள் உள்ளன என்று பதில் அந்த சிவப்பு சத்தத்தில் யார். ஸ்பெக் எப்போதும் pset 5 முதல் வருங்காலத்தில் குறிப்பிட வேண்டும் நீங்கள் உள்ளன சரிபார்க்கிறது என்ன. நீங்கள் கீழே உள்ள இந்த வெள்ளை URL அங்கு கவனிக்க வேண்டும். இப்போது, இந்த பரிசோதனை வெளிப்பாடு ஆகும். நீங்கள் அந்த URL ஐ கிளிக் செய்தால், உனக்கு என்ன பைத்தியமா, ரகசிய செய்திகளை மொத்தமாக கிடைக்கும் நீங்கள் மூலம் பார்க்க வரவேற்கிறேன், ஆனால் அதை ஊழியர்கள் பெரும்பாலும் என்று நாம் கண்டறிய மற்றும் check50 தன்னை பிழைகள் debug என்று. சந்தடி இல்லாமல், நாம் விட்ட இடத்தில் செல்ல வேண்டும். சில வாரங்களுக்கு வழங்கப்படும் நாம் எடுத்து CS50 நூலகம், ஆனால் பின்னர் கடந்த வாரம், நாம் அதை அடுக்குகளின் ஒரு திரும்பி உரித்தல் தொடங்கியது. நாம் அதற்கு பதிலாக என்ன ஆதரவாக சரம் ஒதுக்கி வைத்து தொடங்கியது? [மாணவர்கள்] சார். இந்த நேரத்தில் ஒரு எரிப்பதை * வருகிறது எந்த எரிப்பதை *,, ஆனால் இப்போது நாம் அது ஒரு உண்மையான தரவு வகை சரம் என்று பாசாங்கு செய்ய வேண்டாம். மாறாக, அது, கரி * வகையான ஒரு பொருள் இருந்தது மற்றும் ஒரு சரம், கதாபாத்திரங்கள் ஒரு வரிசை ஆகும் ஏன் அதை எரிப்பதை * கள் என சரங்களை பிரதிநிதித்துவப்படுத்துவதாக உணர்வு ஏற்படுத்தும்? ஒரு எரிப்பதை * ஒரு சரம் இந்த கருத்து பின்னணியில் என்ன பிரதிநிதித்துவம்? Yeah. >> [மாணவர்] முதல் எழுத்து. நல்ல, முதல் எழுத்து, ஆனால் மிகவும் முதல் கதாபாத்திரம். அது [மாணவர்கள்] முகவரி தான். நல்ல, முதல் எழுத்து முகவரி. ஒரு கணினியின் நினைவகம் ஒரு சரம் பிரதிநிதித்துவம் வேண்டும் என்று அனைத்து அதன் முதல் பைட் தனிப்பட்ட முகவரி. நீங்கள் கூட அது எவ்வளவு என்று இல்லை எப்படி மாறும் என்று கண்டுபிடிக்க முடியாது, ஏனெனில்? [மாணவர்] சரம் நீளம். நீங்கள் சரம் நீளம், சிறந்த, ஆனால் எப்படி சரம் நீளம் வேலை செய்கிறது அழைக்க முடியும்? அது என்ன? Yeah. [மாணவர்] நீங்கள் வெற்று தன்மையை பெறும் வரை கற்கவும். சரி, சரியாக, அது, அதே நேரத்தில் வளைய, வளைய ஒரு கூடிய செயல்களை * இருந்து முடிவுக்கு என்ன, மற்றும் இறுதியில் குறிப்பிடப்படுகின்றன \ 0 மூலம், பெயரளவிலான nul தன்மை, nul, ஒரு சுட்டிக்காட்டி இது பூஜ்ஜிய, குழப்பி கொள்ள வேண்டாம் இது இன்று மீண்டும் உரையாடலில் வரை வரும். , நாம் மீண்டும் GetInt ஒரு அடுக்கு உரிக்கப்பட்டு, மற்றும் நாம் GetString பார்த்துக்கொண்டோம் மேலும், அந்த செயல்பாடுகளை இரண்டு, அல்லது உண்மையிலேயே நினைவு GetString, ஒரு குறிப்பிட்ட செயல்பாட்டை பயன்படுத்தி இருந்தார் உண்மையில் அலச,,, பயனர் உள்ளீடு படிக்க ஆய்வு என்று. மற்றும் புதிய செயல்பாடு என்ன? Scanf அல்லது sscanf. அது உண்மையில் ஒரு சில பல்வேறு வகைகளில் வருகிறது. Scanf இல்லை, sscanf இல்லை, fscanf உள்ளது. இப்போது, என்றாலும், அது ஒரு மிக எளிதாக விளக்குகிறது கவனம் செலுத்த வேண்டும் என்னை போய் பயன்பாட்டிற்கான உள்ள திறந்து விட இந்த மாதிரி ஒரு கோப்பு, scanf1.c. இந்த, ஒரு சூப்பர் எளிய நிரல் ஆனால், நாம் செய்ய நினைக்கவில்லை என்று ஏதாவது CS50 நூலகம் உதவியின்றி. இந்த பயனர் ஒரு எண்ணாக பெறுகிறார். இது எப்படி வேலை செய்கிறது? நன்றாக, வரி அங்கு 16 இல், நாம் ஒரு முழு எண்ணாக என்று x அறிவிக்க வேண்டும் என்று கவனிக்க, கதை இந்த கட்டத்தில், x மதிப்பு என்ன? [செவிக்கு புலப்படாமல் மாணவர் பதில்] [டேவிட் எம்] ரைட், யாருக்கு தெரியும், சில குப்பை மதிப்பு திறன், அதனால் 17, நாம் தான் பயனர் சொல்ல தயவு செய்து, எனக்கு ஒரு எண் கொடுக்க, அது சுவாரஸ்யமான பெறுவார் படி 18 ஆகும். Scanf அதை மேற்கோள் இந்த வடிவம் குறியீடுகள் பயன்படுத்துகிறது என்று printf ஒரு யோசனை கடன் தெரிகிறது. % D நிச்சயமாக ஒரு தசம எண் ஆகும். ஆனால் நான் ஏன் & x பதிலாக வெறும் x கடந்து செல்லும்? முன்னாள் சரியாக. Yeah. [செவிக்கு புலப்படாமல் மாணவர் பதில்] சரியாக, இந்த திட்டத்தின் நோக்கம், செயல்பாடு GetInt தன்னை போல், பயனர் இருந்து ஒரு முழு எண்ணாக பெற நான் செயல்பாடுகளை கடக்க அனைத்து மாறிகள் நான் விரும்பவில்லை, ஆனால் நான் மேற்கோள் அவற்றை கடந்து என்றால் அல்லது சுட்டிக்காட்டி முகவரி அல்லது மூலம், இன்றைய தேவைக்காக அனைத்து பொருள், பின்னர் அந்த செயல்பாடு என்று மாறி உள்ளடக்கங்களை மாற்ற திறன். இந்த ஸ்வாப் அளவு தரமற்ற பதிப்பு போன்ற ஒரு நகல் உள்ள கடக்க வேண்டும் நாம் இப்போது ஒரு சில முறை பற்றி பேசினார் என்று. ஆனால், அதற்கு பதிலாக, செய்து & x மூலம், நான் உண்மையில் என்ன கடந்து செல்லும்? [மாணவர்] முகவரி. X முகவரி >>. இது, scanf என்று செயல்பாடு ஒரு வரைபடத்தை வரைய மற்றும் இங்கே சொல்லி போல் இந்த கணினி நினைவகத்தின் ஒரு துண்டின் திசைகளை இருக்கும் நீங்கள் சில முழு சேமிக்க முடியும் என்று வரிசையில் sscanf இப்போது அதை செய்ய என்ன ஆபரேட்டர், தொடரியல் என்ன துண்டு அதை பயன்படுத்த வேண்டும் வேறு யாராவது இந்த செயல்பாடு எழுதினார் ஏனெனில் நாம் பார்க்க முடியாது என்றாலும்? வேறுவிதமாக கூறினால் - அந்த என்ன? [மாணவர்] எக்ஸ் வாசிக்க. அங்கு சில வாசிப்பு இருக்கும், ஆனால் தான் இங்கே x குறித்து. Scanf x முகவரி கடந்து வருகிறது என்றால், எனும் சொல், என்ன ஆபரேட்டர் எங்கோ இருக்கும் கட்டப்படுகிறது உள்ளே scanf செயல்பட வேண்டும் என்று மிகவும் scanf உண்மையில் அந்த முகவரிக்கு ஒரு எண் 2 எழுத முடியும்? சரி, அப்படி *. * அடிப்படையில் அங்கு சென்று அதாவது நம் dereference ஆபரேட்டர், என்று நினைவு. வழக்கு இங்கு இருக்கும் நீங்கள், ஒரு முகவரி ஒப்படைத்தார் scanf நாம் உண்மையில் அதன் மூலம் சுற்றி பார்த்து ஒருவேளை-என்றால் குறியீடு- * x அல்லது உண்மையில் அந்த முகவரிக்கு சென்று அங்கு சில மதிப்பு வைத்து சமமான செய்து. இப்போது, என scanf விசைப்பலகை உள்ளீடு பெறுகிறார் எப்படி, நாங்கள் இன்று எங்கள் கைகளில் அவுட் அசைப்பது வேண்டும். ஒரு இயங்கு பேச sscanf அனுமதிக்கிறது என பயனர் விசைப்பலகை, ஆனால் இப்போது வரியை 19 இந்த கட்டத்தில், நாம் வெறுமனே x அவுட் அச்சிட போது, அது வழக்கு தெரிகிறது அந்த scanf x ஒரு எண்ணாக வேண்டும். என்று சரியாக scanf வேலை செய்யும், மற்றும் கடந்த வாரம் நினைவுகூர என்று சரியாக எப்படி GetString மற்றும் GetInt மற்றும் செயல்பாடுகளை அதன் மற்ற குடும்ப இறுதியில், sscanf போன்ற லேசான மாறுபாடு என்றாலும், வேலை இது பதிலாக விசைப்பலகை ஒரு சரம் ஸ்கேன் பொருள். ஆனால் இந்த ஒரு சிறிய மாற்றத்துடன் பாருங்கள் நாம். Scanf2 உள்ள, நான் உண்மையில் ஸ்க்ரீவ்டு. என்ன தவறு மற்றும் நான் விளக்குகிறது என்று மிகவும் கருத்து மறைக்க வேண்டும் பதிப்பு 2, இந்த திட்டம் என்ன தவறு? இந்த நேரத்தில் கூடுமானவரை தொழில்நுட்ப இருக்கும். அது மிகவும் நன்றாக இருக்கிறது. அது நன்றாக உள்தள்ளப்பட்டது, ஆனால், சரி, எப்படி குறைந்த கேள்விகளுக்கு அதை கிளை நறுக்கி திருத்தம் செய் நாம்? வரி 16. துல்லியமான ஆனால் தொழில்நுட்ப ஆங்கில செய்து வரி 16 என்ன? ஒரு மாதிரி பெறுவது. ஆமாம், மைக்கேல். [மாணவர்] இது ஒரு சரம் முதல் கடிதத்தில் சுட்டி காட்டும். சரி, நெருக்கமான. எனக்கு ஒரு சிறிது மாற்றங்களை நாம். ஒரு சரம் முதல் கடிதத்தில் சுட்டிக்காட்டி, நீங்கள் ஒரு மாறி என்று இடையக பிரகடனம் என்று, ஒரு சரம் முதல் முகவரி சுட்டி அல்லது மாறாக, இன்னும் குறிப்பாக ஒரு எரிப்பதை மாம். மதிப்பளித்தலில்லை ஆபரேட்டர் இல்லை, ஏனெனில் அது உண்மையில் எங்கேயும் சுட்டி இல்லை கவனிக்க. இல்லை சமமாக அடையாளம் இல்லை, நாங்கள் செய்கிறோம் அனைத்து மாறி என்று இடையக ஒதுக்கீடு உள்ளது. அது ஒரு சுட்டிக்காட்டி, ஏனெனில் இது, 32 பிட்கள் இருக்கும் நடக்கிறது மற்றும் தாங்கல் உள்ளடக்கங்களை மறைமுகமாக இறுதியில் ஒரு கரி ஒரு முகவரியை கொண்டிருக்கும், ஆனால் இப்போது, தாங்கல் இருப்பது என்ன? சில போலி, யார் என்று தெரியும், சில குப்பை மதிப்பு, நாங்கள் வெளிப்படையாக அதை துவக்கப்படும் இல்லை, ஏனெனில், நாம் எதையும் கருதி கூடாது. சரி, அதனால் இப்போது வரி 17-என்ன வரி 17 செய்வான்? ஒருவேளை இந்த ஓட வேண்டும். அது சரி, ஒரு சரம் அச்சிடுகிறது? இது சரம் தயவு செய்து அச்சிடுகிறது. வரி 18 நாங்கள் இந்த ஒரு மாறுபாடு பார்த்தேன் என்று இப்போது நன்கு வகையாக ஆனால் வேறு வடிவம் குறியீடு, அதனால் வரி 18 இல், நாம் இங்கே scanf சொல்கிறாய் நினைவகம் ஒரு துண்டின் முகவரி ஆகும். நான், நீங்கள்% கள் மூலம் மறைமுகமாக, ஒரு சரம் இல் அடிக்க வேண்டும் ஆனால் பிரச்சனை நாம் இங்கே விஷயங்களை ஒரு ஜோடி செய்யவில்லை என்று. ஒன்று என்ன? [மாணவர்] இது dereference ஒரு பூஜ்ய சுட்டிக்காட்டி முயற்சிக்கிறான். நல்ல, பூஜ்ய அல்லது வேறுவகையில் தெரியவில்லை சுட்டிகள். நீங்கள் scanf ஒரு முகவரி தந்து, ஆனால் நீங்கள் ஒரு நிமிடம் முன்பு கூறினார் நாம் உண்மையில், எதையும் ஒதுக்க முடியவில்லை, ஏனெனில் அந்த முகவரியை சில குப்பை மதிப்பு என்று அதனால் நீங்கள், scanf திறம்பட இங்கே ஒரு சரம் போட்டு போக சொல்கிறாயா இங்கே இன்னும் எங்கே ஆனால் நாம், தெரியாது நாம் உண்மையில் இடையக நினைவகம் ஒதுக்கீடு இல்லை. மேலும், நீங்கள் கூட scanf சொல்லாமல் கூட என்ன? இந்த நினைவகம் ஒரு துண்டின் இருந்தது, அது, ஒரு குப்பை மதிப்பு இல்லை என்றால் ஆனால் நீங்கள் இன்னும் scanf முக்கியமான ஒன்று சொல்கிறேன். [மாணவர்] இது உண்மையில் எங்கே, ampersand. Ampersand, இந்த வழக்கில், அது பரவாயில்லை. தாங்கல் ஏற்கனவே சுட்டிக்காட்டி என அறிவித்தார் ஏனெனில் வாக்கிய * துண்டு கொண்டு, நாம் ampersand பயன்படுத்த தேவையில்லை ஏனெனில் அது ஏற்கனவே ஒரு முகவரி, ஆனால் நான் இங்கே கேட்டேன் என்று. [மாணவர்] அது எப்படி பெரிய? நல்ல, நாம், இந்த இடைப்பட்ட எவ்வளவு பெரிய scanf சொல்லாமல் இதில், தாங்கல் ஒரு சுட்டிக்காட்டி இருந்தாலும் பொருள் நாம், scanf என்று இங்கே ஒரு சரம் போட்டு ஆனால் இங்கே 2 பைட்டுகள் இருக்க முடியும், அது 10 பைட்டுகள் இருக்க முடியும், அது ஒரு மெகாபைட் இருக்க முடியும். Scanf யோசனை உள்ளது, மற்றும் இந்த நினைவகம் ஒரு துண்டின் காரணம் மறைமுகமாக, அது இன்னும் ஒரு சரம் அல்ல. நீங்கள் பாத்திரங்கள் மற்றும் நினைவகம் என்று துண்டின் ஒரு \ 0 எழுத முறை மட்டுமே ஒரு சரம் தான். இப்போது அது நினைவக சில துண்டின் தான். Scanf அந்த முகவரிக்கு எழுதி நிறுத்த போது தெரியாது. நான் தோராயமாக விசைப்பலகையில் அங்கு கடந்த சில உதாரணங்கள் நினைவுகூர வேண்டும் வழிதல் இடையக முயற்சி, நாம் சரியாக பற்றி வெள்ளிக்கிழமை பேசினார். ஒரு எதிரி எப்படியோ உங்கள் நிரலை ஒரு மிக பெரிய வார்த்தை செலுத்தியுள்ளார் என்றால் அல்லது தண்டனை அல்லது சொற்றொடரை நீங்கள் கைப்பற்றப்பட்ட முடியும் எதிர்பார்ப்பதாக மோசமான விளைவுகளை ஏற்படுத்தும், இது நினைவக ஒரு துண்டின்,, முழு நிரலில் எடுப்பதை போல். நாம் எப்படியாவது இதை சரிசெய்ய வேண்டும். என்னை அவுட் பெரிதாக்கவும் மற்றும் இந்த திட்டத்தின் பதிப்பு 3 கொண்டு செல்லலாம். என்று கொஞ்சம் நல்லது. இந்த பதிப்பில், வேறுபாட்டை கவனிக்க. வரி 16 ல், நான் மீண்டும், ஒரு மாறி என்று இடையக பிரகடனம் ஆனால் இப்போது என்ன ஆகும்? இது 16 எழுத்துகள் ஒரு வரிசை தான். நான் இப்போது scanf சொல்ல முடியும் இதன் காரணமாக இந்த நல்ல இங்கே நினைவகம் ஒரு உண்மையான துண்டின் உள்ளது. நீங்கள் கிட்டத்தட்ட, இப்போது சுட்டிகள் என வரிசைகள் நினைக்க முடிகிறது அவர்கள் உண்மையில் சமமான இல்லை என்றாலும். அவர்கள் வெவ்வேறு சூழ்நிலைகளில் வெவ்வேறு நடந்து வருகிறது. ஆனால் அது நிச்சயமாக இடையக தொடர்பு என்று வழக்கு 16 தொடர்ச்சியான எழுத்துகள் அது என்ன ஒரு வரிசைக்கு காரணம் இப்போது சில வாரங்களுக்கு வருகிறது. இங்கே, நான் இங்கே scanf சொல்கிறேன் நினைவகம் ஒரு துண்டின் தான். இந்த நேரத்தில், இது, உண்மையில் நினைவகம் ஒரு துண்டின் தான் ஆனால் ஏன் இந்த திட்டம் இன்னும் பயன்படுத்தும் இருக்கிறது? இன்னும் என்ன தவறு? நான் 16 பைட்டுகள் ஆனால்-கொடுக்க சொன்னேன் [மாணவர்] என்ன அவர்கள் மேல் 16 தட்டச்சு செய்வது? சரியாக, என்ன 17 எழுத்துக்கள் அல்லது 1700 எழுத்துக்களுக்கு பயனர் வகைகள் என்றால்? உண்மையில், இப்போது நாம் இந்த தவறை மேல் பயணம் செய்ய முடியாது என்று நாம் பார்ப்போம். இது நல்ல ஆனால் சரியான இல்லை. என்னை போய் இந்த திட்டம் தொகுக்க scanf3 செய்ய ஓடிப்போகட்டும். ஹலோ, நாம் நன்றாக இருக்கும் போல்: சரம், என்னை scanf3 இயக்க தயவு செய்து விடு. என்னை ஹலோ அங்கு, சற்றே நீளமான ஒரு முயற்சி செய்யலாம். சரி, உள்ளிடவும், இன்று நீங்கள் எப்படி உள்ளன ஹலோ செய்வோம். இங்கே அதிர்ஷ்டம் வகையான பெற்று, நாம் எப்படி உள்ளன ஹலோ சொல்லுங்கள். டாமிட். சரி, நாம் அதிர்ஷ்டம் கிடைத்தது. நாம் இதை சரிசெய்ய முடியாது என்று பார்க்கலாம். இல்லை, அது எனக்கு நகலெடுக்க விட போவதில்லை. மீண்டும் இந்த முயற்சி செய்யலாம். எல்லாம் சரி, நிற்க. நான் இன்னும் இதை செய்யும் போது கவனம் நடிக்க எப்படி நீண்ட பார்க்கிறேன். டாமிட். உண்மையில், மாறாக சரியான நேரம். அங்கு நாம். ஒரு விடயத்தை. இந்த இது என்றாலும் வெட்கப்பட, இது பெரும் குழப்பம் ஆதாரங்கள் ஒன்றாகும் அவர்கள் தங்களை வெளிப்படுத்துகின்றன ஏனெனில் பிழைகள் என்று நிரல்கள் எழுதும் போது ஒரே சில நேரங்களில் ஒரு நேரத்தில். உண்மையில், உங்கள் குறியீடு முற்றிலும் உடைந்து இருந்தால் தான் அது முற்றிலும் ஒரு முறை உடைக்கப்பட்டு சில நேரங்களில், அடிப்படையில் என்ன நடக்கிறது இயங்கு தொண்டு ஏனெனில் நீங்கள் சற்று அதிகமாகவே நினைவக உண்மையில், எந்த காரணத்திற்காகவும் வேண்டும் அதனால் வேறு யாருக்கும், வலது 16 எழுத்துக்கள் உங்கள் துண்டின் பிறகு நினைவு பயன்படுத்தி நீங்கள் 17, 18, 19, என்ன, அது போன்ற ஒரு பெரிய விசயமில்லை சென்று நீங்கள். இப்போது, கணினி, அது அந்த நேரத்தில் செயலிழக்க இல்லை என்றால், இறுதியில் வேறு ஏதாவது பைட் எண்ணிக்கை 17 அல்லது 18 அல்லது 19 ஐ பயன்படுத்த வேண்டும், இதில், அதிகமாக நீண்ட என்றாலும், நீங்கள் அங்கு வைத்து உங்கள் தரவு சுட்டி வேறு சில செயல்பாடு மூலம் திறன் மறைந்து போகிறது. இது அவசியம், அப்படியே இருக்க போவதில்லை ஆனால் அது அவசியம் ஒரு நொடி தவறு ஏற்படுத்தாது. ஆனால் இந்த வழக்கில், நான் இறுதியாக போதுமான பாத்திரங்கள் வழங்கப்படும் நான் அடிப்படையில், நினைவகம் என் பிரிவில் தாண்டியது, மற்றும் பாம் என்று இயங்கு "மன்னிக்கவும், எந்த நல்ல, அடுக்கு தவறு தான்.", என்றார் என்ன என் இங்கு உள்ளது என்றால் இப்போது பார்க்கலாம் அடைவு- நான், இங்கே முக்கிய இந்த கோப்பு இல்லை என்று அறிவிப்பு. இந்த மீண்டும் ஒரு முக்கிய திணிப்பு என்று அறிகிறோம். இது அடிப்படையில் உங்கள் நிரல் நினைவகம் உள்ளடக்கத்தை கொண்ட ஒரு கோப்பு அது முறிந்தது எந்த புள்ளியில், மற்றும் இங்கே ஒரு சிறிய உதாரணம் முயற்சி என்னை இங்கே உள்ள செல்லலாம் மேலும், முக்கிய எனப்படும் மூன்றாவது வாதம் குறிப்பிட பின்னர் scanf3 மீது gdb ஐ இயக்கி இங்கு கவனிக்க வேண்டும் என்று நான் குறியீடு பட்டியலிட என்றால், நாம், இந்த திட்டத்தின் மூலம் நடைபயிற்சி தொடங்க gdb ஐ கொண்டு வழக்கம் போல் முடியும் மற்றும் நான் என வெற்றி என்ற படி கட்டளையை விரைவில் அதனை இயக்க முடியும் gdb ஐ- நான் ஒரு பெரிய சரம் தட்டச்சு பிறகு வரக்கூடிய தரமற்ற வரி வெற்றி, விரைவில் நான் உண்மையில் இங்கே அதை கண்டறிய முடியும். மேலும் இந்த, எனினும், கோர் டம்ப் அடிப்படையில் பகுதியில் நீங்கள் உண்மையில் கோர் டம்ப் உள்ளே சுற்றி குத்தியிருக்கும் முடியும் என்று விரும்புகிறேன் மற்றும் திட்டம் நீங்கள் தோல்வி என்ன வரியில் பார்க்க. சுட்டிகள் மற்றும் முகவரிகளை எந்த கேள்விகள்? இன்று ஏனெனில், நாம் இந்த விஷயங்கள் உள்ளன என்று வழங்கப்படும் எடுத்து தொடங்க போகிறீர்கள் நாம் அவர்கள் சரியாக தெரியும். ஆம். [மாணவர்] எப்படி அடுத்த ஒரு ampersand வைக்க இல்லை வர பகுதி கேள்வி நல்ல. எப்படி நான் முன்பு செய்தது போல் தன்மை வரிசைக்கு அடுத்த ஒரு ampersand வைக்க இல்லை வர எங்கள் உதாரணங்கள் பெரும்பாலான? குறுகிய பதில் அணிகளை கொஞ்சம் சிறப்பு உள்ளது. நீங்கள் கிட்டத்தட்ட, உண்மையில் ஒரு முகவரி என்ற ஒரு இடையக யோசிக்க முடியும் அது தான் வழக்கு இருக்கிறது நடக்கும் என்று சதுர அடைப்புக்குறி குறிப்பு நாம் அடைப்புக்குறி 0, அடைப்புக்குறி 1, போக முடியாது என்று ஒரு வசதிக்காக உள்ளது * குறியீடு பயன்படுத்த இல்லாமல் அடைப்புக்குறி 2,. ஒரு வெள்ளை பொய் ஒரு பிட் ஏனெனில் வரிசைகள் மற்றும் குறிப்புகள் உண்மையில், கொஞ்சம் வித்தியாசமான, ஆனால் அவர்கள் பெரும்பாலும் ஆனால் எப்போதும் மாறி மாறி பயன்படுத்த முடியும். சுருக்கமாக, ஒரு செயல்பாடு நினைவக ஒரு துண்டின் ஒரு சுட்டிக்காட்டி தாயாகும் போது, நீங்கள், அதை malloc வந்தார் என்று ஒரு முகவரி கடத்தலாம் நாம் நீண்ட முன் மீண்டும் malloc பார்க்கலாம், அல்லது நீங்கள் ஒரு வரிசைக்கு பெயர் கடக்க முடியும். அவர்கள் ஏற்கனவே ஏனெனில் நீங்கள் வரிசைகள் கொண்ட ampersand செய்ய வேண்டாம் அடிப்படையில் முகவரிகள் போன்ற. ஒரு விதிவிலக்கு என்று. சதுர அடைப்புக்குறிக்குள் அவர்கள் சிறப்பு செய்ய. நீங்கள் இடையக அடுத்த ஒரு ampersand வைத்து முடியும்? இந்த வழக்கில். இந்த மூலையில் வழக்கு, ஏனெனில், மீண்டும் வேலை இல்லை அங்கு வரிசைகள் மிகவும் உண்மையில் முகவரிகள் அல்ல. ஆனால் நாம் ஒருவேளை மற்ற உதாரணங்கள் என்று முன் நீண்ட திரும்பி விடுவேன். அது இங்கே ஒரு பிரச்சினையை தீர்க்க முயற்சி செய்வோம். நாம் ஒரு வரிசை என்று சில நேரம் பயன்படுத்தி வருகிறேன் என்று ஒரு தரவு கட்டமைப்பு உள்ளது. புள்ளியில் வழக்கு, என்று நாம் மட்டும் தான் என்ன. ஆனால் வரிசைகள் சில upsides மற்றும் downsides வேண்டும். வரிசைகள் நல்ல ஏன்? நீங்கள் விரும்பினால், அந்த ஒன்று நீங்கள் அணிகளை வரிசைகள்-பற்றி எந்த அளவிற்கு என்ன? அதை பற்றி என்ன வசதியான தான்? கட்டாய என்ன? நாம் ஏன் முதலில் அவர்களை அறிமுகப்படுத்த? Yeah. [மாணவர்] அவர்கள் தரவு நிறைய சேமிக்க முடியும், மற்றும் நீங்கள் ஒரு முழு விஷயம் பயன்படுத்த வேண்டாம். நீங்கள் ஒரு பிரிவை பயன்படுத்த முடியும். நல்ல, நீங்கள் தரவு நிறைய சேமிக்க முடியும் வரிசை மூலம், மேலும், நீங்கள் அவசியம் அதை பயன்படுத்த வேண்டிய அவசியம் இல்லை, அதனால் நீங்கள் overallocate முடியும் எப்படி எதிர்பார்க்க ஏதாவது பல நீங்கள் முன்கூட்டியே தெரியாது என்றால் வசதியான இருக்கலாம் இது. GetString ஒரு சரியான உதாரணம். எங்களுக்கு எழுதிய GetString,,, என எத்தனை எழுத்துகள் தெரியாது எனவே தொடர்ச்சியான நினைவக துண்டுகளாக்கி ஒதுக்க முடியும் என்று உண்மையில் நல்லது. அணிகளை மேலும் நாம் இப்போது ஒரு ஜோடி வாரங்கள் முன்பு பார்த்த ஒரு பிரச்சினை உங்கள் குறியீடு மிகவும் மோசமாக வடிவமைக்கப்பட்ட ஒன்று சென்று பொறுப்பேற்று கொள்ள துவங்குகிறது. , நான் டேவிட் என்ற மாணவர் அமைப்பு உருவாக்கப்பட்டது என்று நினைவு பின்னர் அந்த, எனினும், உண்மையில் ஒரு மாற்று இருந்தது ஒரு மாறி என்று பெயர் மற்றும், நான் நினைக்கிறேன், வீடு என்று மற்றொரு மாறி பெறுவதோடு, அந்த கதையில் நான் வேறு ஏதாவது அறிமுகப்படுத்த விரும்பினார், ஏனெனில் அடையாள என்று மற்றொரு மாறி நிரலை ராப் போல, அதனால் நான், ஒரு நிமிடம் காத்திருக்க முடிவு நான் இந்த மாறிகள் மறுபெயரிட வேண்டும். நாம் என்னுடைய NAME1, ID1, house1 அழைப்பு. நாம் ராப் தான் NAME2, house2, ID2 அழைப்பு. ஆனால் பின்னர் என்ன டாமி பற்றி ஒரு நிமிடம், காத்திருக்க? நாம் இன்னும் மூன்று மாறிகள் இருந்தது. நாம் வேறு யாராவது, மாறிகளின் நான்கு பெட்டிகள் அறிமுகப்படுத்தப்பட்டுள்ளன. உலக, மிக விரைவில் குளறுபடியாக பெற தொடங்கியது நாம் structs அறிமுகப்படுத்தப்பட்டது, என்ன ஒரு struct பற்றி நேர்மையான? ஒரு சி struct நீங்கள் என்ன செய்யலாம்? இது இன்று மிகவும் மோசமான நேரம். என்ன? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] சரி, குறிப்பாக, typedef நீங்கள், ஒரு புதிய தரவு வகை உருவாக்க அனுமதிக்கிறது மற்றும் struct, struct சொல், நீ கூட்டடைவு அனுமதிக்கிறது ஒன்றாக தரவு கருத்து தொடர்பான துண்டுகள் அதன் பிறகு அவர்கள் ஒரு மாணவர் போல அழைப்பு. இப்போது நாம் மாதிரியாக ஏனெனில் அது நன்றாக இருந்தது ஒரு மாறி ஒரு மாணவர் மிகவும் விதமான கருத்து உறுதியான கருத்து மாறாக தன்னிச்சையாக மிகவும் முன்னும் பின்னும் ஒரு சரம் ஒன்று, ஒரு ஐடி ஒரு பங்கையும், மற்றும். அவர்கள் எங்கள் குறியீடு சுத்தம் செய்ய அனுமதிக்க ஏனெனில் வரிசைகள் நன்றாக இருக்கும். ஆனால் என்ன ஒரு வரிசைக்கு இப்போது ஒரு தீங்கு உள்ளது? நீங்கள் என்ன செய்ய முடியும்? Yeah. [மாணவர்] அது எவ்வளவு பெரிய தெரிய வேண்டும். நீங்கள் அதை எப்படி பெரிய தெரிய வேண்டும், அது ஒரு வலி வகையான ஆகவே. நீங்கள் அந்த முன் நிரலாக்க அனுபவம் என்று மொழிகளில் நிறைய, ஜாவா போன்ற, நீங்கள் நினைவகத்தை ஒரு துண்டின், குறிப்பாக ஒரு வரிசை, கேட்கலாம் எப்படி பெரிய நீ பேச ஒரு நீளம், சொத்து, உடன், மற்றும் மிகவும் வசதியான தான். சி, நீங்கள் கூட ஒரு பொதுவான வரிசையில் strlen அழைக்க முடியாது வார்த்தை குறிக்கிறது என strlen ஏனெனில்,,, ஒரே சரங்களை உள்ளது நீங்கள் இந்த மனித மாநாட்டின் ஒரு சரம் நீளம் கண்டுபிடிக்க முடியாது ஒரு \ 0, ஆனால் ஒரு வரிசை என்ற, மேலும் பொதுவாக, ஒரு நினைவகம் ஒரு துண்டின் உள்ளது. இது ints ஒரு வரிசை இருந்தால், சில சிறப்பு தன்மை இருக்க போகிறது இல்லை இறுதியில் உனக்காக காத்திருக்கிறேன். நீங்கள் ஒரு வரிசை நீளம் நினைவில் கொள்ள வேண்டும். ஒரு வரிசைக்கு மற்றொரு எதிர்மறையாக தன்னை GetString அதன் தலைவர் வளர்க்கலாம். ஒரு வரிசைக்கு மற்றொரு எதிர்மறையாக என்ன? ஐயா, நீங்கள் என்னை இன்று. [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> அது என்ன? இது ஸ்டேக் அறிவித்தார். சரி, ஸ்டாக் அறிவித்தார். ஏன் என்று எனக்கு பிடிக்காது? [மாணவர்] அது மீண்டும் பயன்படுத்த முடியாது. அதை பயன்படுத்தும். சரி, நீங்கள் நினைவகத்தை ஒதுக்க வரிசை பயன்படுத்தினால், இது ஸ்டேக்கில் ஏனெனில் நீங்கள், உதாரணமாக, அதை திருப்பி தர முடியாது. சரி, ஒரு குறைபாடு தான். எப்படி ஒரு அணி மற்ற பற்றி? நீங்கள் அதை ஒதுக்க முறை, நீங்கள் அதிக இடம் வேண்டும் என்றால் வகையான ஸ்க்ரீவ்டு தான் அந்த வரிசையில் விட. நாம், நம்மை மாறும் நினைவகத்தை ஒதுக்க திறன் கொடுத்த திரும்ப, malloc, அறிமுகப்படுத்தப்பட்டது. ஆனால் நாம் முற்றிலும் மாறுபட்ட உலகம் என்ன முயற்சி என்றால்? நாம் அந்த பிரச்சினைகளை ஒரு ஜோடி தீர்க்க என்ன என்றால் எனவே அதற்கு பதிலாக, என் பேனா இங்கே-தூங்கினாள் என்ன பதில் அடிப்படையில் இந்த இனி தான் ஒரு உலக உருவாக்க விரும்பினால்? இந்த வரிசை, மற்றும், நிச்சயமாக, இது, ஒரு முறை நாங்கள் அணி இறுதி வெற்றி மோசமடைகிறது நான் இப்போது இனி மற்றொரு முழு எண்ணாக அல்லது மற்றொரு பாத்திரம் இடைவெளி உள்ளது. நாம் அப்படி பிறருக்கு வாய்ப்பளிக்கும் முன்னரே நன்கு சொன்னால், நாம் ஏன் அமைதியாக இரு என்ன நினைவகம் இந்த துண்டுகளாக்கி, மீண்டும் மீண்டும் தொடர்ச்சியான இருக்கும் என்று இந்த தேவை ஏன் நான் ஒரு முழு எண்ணாக அல்லது ஒரு எரிப்பதை வேண்டும் போது, வேண்டாம், அவர்களை ஒன்று என்னை இடத்தை கொடுக்க? நான் மற்றொரு வேண்டும் போது, எனக்கு வேறு இடம் கொடுக்க நான் மற்றொரு வேண்டும் போது, என்னை மற்றொரு இடத்தை கொடுக்க. இது பயன்படுத்தி இப்போது அது வேறு இல்லை இங்கு நினைவு, பெரிய விஷயமல்ல எடுக்கும். நான் இங்கே பிறகு இந்த ஒரு நினைவகம் இந்த கூடுதல் துண்டின் எடுக்க வேண்டும். இப்போது, இங்கே மட்டும் கேட்ச் நான் இந்த கிட்டத்தட்ட நினைக்கிறார் என்று வெவ்வேறு மாறிகள் ஒரு மொத்தமாக. இந்த முக்கியமான ஐந்து வெவ்வேறு மாறிகள் போல் உணர்கிறேன். ஆனால் நாம் சரங்களை ஒரு யோசனை என்ன திருட வேண்டும் நான் இந்த செய்தால் அதனால் நாம் எப்படியாவது கருத்துருவில் ஒன்றாக இந்த விஷயங்களை இணைக்க, என்ன? இந்த என் மிக மோசமாக வரையப்பட்ட அம்பு உள்ளது. ஆனால் ஒரு வேளை நினைவகம் இந்த துண்டுகளாக்கி ஒவ்வொரு மற்ற சுட்டிக்காட்டினார், இந்த பையன், அவரது வலது இல்லை சகோதரர் உண்டு, இது போன்ற செய்திகள் கிடையாது. இந்த ஒரு இணைக்கப்பட்ட பட்டியலில் என்று என்ன உண்மையில் இது. இந்த, எங்களுக்கு நினைவகம் ஒரு துண்டின் ஒதுக்க அனுமதிக்கிறது என்று ஒரு புதிய தரவு கட்டமைப்பு பின்னர் மற்றொரு, பின்னர் மற்றொரு, பின்னர் மற்றொரு, எந்த நேரத்தில் நமக்கு தேவை ஒரு நிகழ்ச்சியின் போது, நாம் அவர்கள் எப்படியோ தொடர்பான என்பதை நினைவில் உண்மையில் சங்கிலியாக்கல் சேர்ந்து அவர்கள், நாங்கள் pictorially இங்கே ஒரு அம்புக்குறி என்று சொன்னேன். ஆனால் குறியீடு உள்ள, என்ன, நீங்கள் எப்படியோ இணைக்க முடியும் வழியாக இயக்க வேண்டும் கிட்டத்தட்ட கீறல் போன்ற, மற்றொரு துண்டின் ஒரு துண்டின்? நாம், ஒரு சுட்டிக்காட்டி சரி பயன்படுத்த முடியும்? ஏனெனில் மேல் இடது சதுர இருந்து நடக்கிறது என்று உண்மையில் அம்பு, இந்த இங்கே இந்த பையன், இந்த சதுர உள்ளே இருக்க முடியும் இல்லை சில ints, சில எரிப்பதை இல்லை, ஆனால் நான் உண்மையில் ஒதுக்கீடு என்றால் என்ன அதனால் இப்போது ஒரு சிறிய கூடுதல் இடத்தை, இந்த என்னை செலவாகும் போகிறது கூட நினைவகம் என் துண்டுகளாக்கி ஒவ்வொரு,, இப்போது இன்னும் கொஞ்சம் செவ்வக தெரிகிறது அங்கு நினைவகம் துண்டுகளாக்கி ஒரு ஒரு எண்ணை பயன்படுத்தப்படுகிறது, எண் 1 போல், பின்னர் இந்த பையன், எண் 2 சேமித்து என்றால் நினைவகம் இந்த மற்ற துண்டின், ஒரு அம்புக்குறி பயன்படுத்தப்படுகிறது அல்லது இன்னும் உறுதியாக, ஒரு சுட்டிக்காட்டி. மேலும், நான் இந்த அந்த பையன் உள்ள சுட்டி பயன்படுத்தும் போது நான் இங்கு எண் 3 சேமிக்க வேண்டும் இப்போது இந்த நபர், தான் நான் மட்டும் நினைவகம் மூன்று போன்ற துண்டுகளாக்கி வேண்டும் வேண்டும் என்று. நான் வெற்று குறிக்கும், அந்த வழியாக ஒரு வரி வரைய வேண்டும். கூடுதல் தன்மை உள்ளது. உண்மையில், இந்த நாங்கள் செயல்படுத்தி பற்றி செல்ல எப்படி இருக்கும் ஒரு இணைக்கப்பட்ட பட்டியலில் என்று அந்த ஒன்று. ஒரு இணைக்கப்பட்ட பட்டியலில் ஒரு புதிய தரவு கட்டமைப்பு, மற்றும் அதை நோக்கி ஒரு மைல்கல்லாக தான் பிரச்சினைகளை தீர்க்க தொடங்கும் என்று மிகவும் ஆர்வமான தரவு கட்டமைப்புகள் பேஸ்புக் வகை பிரச்சினைகள் கோடுகள் மற்றும் கூகிள் வகை பிரச்சினைகள் சேர்த்து நீ பெரிய தரவு தொகுதிகள் வேண்டும், அதை வெட்டி இனி எங்கே contiguously எல்லாம் சேமிக்க மற்றும் நேரியல் தேடல் போல பயன்படுத்த இரும தேடல் போன்ற அல்லது ஏதாவது. நீங்கள் கூட நன்றாக இயங்கும் முறை வேண்டும். உண்மையில், பரிசுத்த Grails ஒன்று நாம் பின்னர் இந்த வாரம் அல்லது அடுத்த பற்றி பேசுகிறேன் அதன் இயங்கும் நேரம் இடைவிடாமல் ஒரு வழிமுறையாகும். வேறுவிதமாக கூறினால், அது எப்போதும் நேரம் அதே அளவு இல்லை எடுக்கும் உள்ளீடு மற்றும் உண்மையில், கட்டாய என்று எப்படி பெரிய இன்னும் நிறைய மடக்கை ஏதோ விட. இங்கே இந்த திரையில் என்ன? செவ்வக ஒவ்வொரு நான் கையால் வரைந்த சரியாக இருக்கும். ஆனால் இடது அனைத்து வழி தான் ஒரு சிறப்பு மாறி உள்ளது. ஏனெனில் ஒரு gotcha இது ஒரு ஒற்றை சுட்டிக்காட்டி இருக்கும் நடக்கிறது ஒரு இணைக்கப்பட்ட பட்டியல், இந்த விஷயங்களை அழைக்கப்படுகின்றன என, நீங்கள் இணைக்கப்பட்ட பட்டியலில் ஒரு முடிவுக்கு மீது தடை வேண்டும் என்று. ஒரு வாசகத்தில் போல், நீங்கள் முதல் எரிப்பதை முகவரி தெரியும் வேண்டும். தொடர்புடைய பட்டியல்கள் அதே ஒப்பந்தம். நீங்கள் நினைவகத்தை முதல் துண்டின் முகவரி தெரியும் வேண்டும் அங்கு இருந்து ஏனெனில், நீங்கள் ஒவ்வொரு மற்ற ஒரு அடைய முடியும். எதிர்மறையாக. நாம் ஒரு மாறும் என்ற இந்த பல்துறை என்ன படுகிறது மிகுதியான தரவு அமைப்பு என்று நாம் இன்னும் நினைவகம் வேண்டும் என்றால், நல்லது, இன்னொரு துண்டின் ஒதுக்க மற்றும் ஒரு சுட்டிக்காட்டி இருந்து வரைய பட்டியலில் புதிய வால் பழைய? Yeah. [மாணவர்] இது பற்றி இருமடங்கு அதிக இடத்தை பிடிக்கும். இது நிச்சயம் ஒரு தீங்கு அதனால், இருமடங்கு அதிக இடத்தை பிடிக்கும், நாம் இந்த பார்த்திருக்கிறேன் நேரம் மற்றும் விண்வெளி மற்றும் நெகிழ்வு இடையே முன் பரிமாற்றம் இப்போது, இந்த எண்ணிக்கை ஒவ்வொரு 32 பிட்கள் தேவைப்படும். நாம் உண்மையில் சுட்டிக்காட்டி 64, எண் 32 மற்றும் 32 வேண்டும். ஆனால், நான் ரேம் 2 ஜிகாபைட் வேண்டும். இங்கே மற்றும் இங்கே மற்றொரு 32 பிட்கள் சேர்த்து ஒரு ஒப்பந்தம் என்று பெரிய தெரியவில்லை. ஆனால் பெரிய தரவு அமைப்புகளுக்கு, அது நிச்சயமாக மொழியில் இருமடங்கு அதிகமாக வரை சேர்க்கிறது. என்ன இப்போது மற்றொரு எதிர்மறையாக தான், அல்லது நாம், என்ன அம்சம் கொடுக்க வேண்டாம் நாம் ஒரு இணைக்கப்பட்ட பட்டியலில் இல்லை வரிசை பொருட்கள் பட்டியலை குறிக்கிறது? என்றால் [மாணவர்] நீங்கள் பின்னோக்கி பயணிக்கும் முடியாது. நீங்கள் பின்னோக்கி பயணிக்கும் முடியாது, நீங்கள் நடைபயிற்சி என்றால் நீங்கள் வகையான ஸ்க்ரீவ்டு நீங்கள் மிகவும் இடது இருந்து வலது வளைய அல்லது ஒரு வட்டத்திற்கு ஒரு பயன்படுத்தி பிறகு "ஓ, நான் பட்டியலில் ஆரம்பத்தில் செல்ல வேண்டும்.", உணர அம்புகள் என்பதை நீங்கள் இந்த சுட்டிகள் மட்டுமே இடது இருந்து வலது செல்ல முடியாது, ஏனெனில். இப்போது, நீங்கள், மற்றொரு மாறி பட்டியலில் ஆரம்பத்தில் நினைவில் முடியும் ஆனால் அந்த மனதில் வைத்து ஒரு சிக்கலான இருக்கிறது. ஒரு வரிசை, நீங்கள் போக எவ்வளவு தூரம் இல்லை, நீங்கள் எப்போதும், கழித்தல் கழித்தல், கழித்தல் செய்ய, கழித்தல் முடியும் நீங்கள் வந்து எங்கிருந்து இருந்து திரும்பி செல்ல. மற்றொரு எதிர்மறையாக இங்கே என்ன? Yeah. [செவிக்கு புலப்படாமல் மாணவர் கேள்வி] நீங்கள், நீங்கள் உண்மையில் நான், ஒரு இரட்டை இணைக்கப்பட்ட பட்டியலில் என்று ஒரு தரவு கட்டமைப்பை முன்மொழியப்பட்ட உண்மையில், இந்த செவ்வக ஒவ்வொரு மற்றொரு சுட்டிக்காட்டி சேர்க்க வேண்டும் மற்ற திசையில் சென்று, தலைகீழாக இதில் நீங்கள், முன்னும் பின்னுமாக பயணிக்கும் இப்போது நாம் பயன்படுத்தும் எந்த எதிர்மறையாக இப்போது நீங்கள் அதிக நினைவாற்றல் மூன்று முறை பயன்படுத்தி மேலும் நீங்கள் அதை பெற எழுத வேண்டும் குறியீடு அடிப்படையில் சிக்கலான சேர்க்கும். தலைகீழ் முக்கியம் என்றால் ஆனால் இந்த அனைத்து ஒருவேளை மிகவும் நியாயமான வாங்கல்கள் உள்ளன. Yeah. [மாணவர்] நீங்கள் ஒரு 2D இணைக்கப்பட்ட பட்டியலில் முடியாது. நல்ல, நீங்கள் உண்மையில் ஒரு 2D இணைக்கப்பட்ட பட்டியலில் முடியாது. நீங்கள் முடியும். அது ஒரு வரிசை கிட்டத்தட்ட என எளிதல்ல. ஒரு வரிசை போல், நீங்கள் திறந்த அடைப்புக்குறி, மூடிய அடைப்புக்குறி, திறந்த அடைப்புக்குறி, அடைப்புக்குறி மூடப்பட்டு, செய்ய நீங்கள் சில 2 பரிமாண கட்டமைப்பை கிடைக்கும். நீங்கள் ஒரு 2-பரிமாண இணைக்கப்பட்ட பட்டியலில் செயல்படுத்த முடியவில்லை நீங்கள் சேர்க்கும் நீங்கள் இந்த விஷயங்கள் ஒவ்வொரு மூன்றாவது சுட்டிக்காட்டி ஒரு திட்டத்தை, செய்தால் நீங்கள் மற்றொரு பட்டியல் பற்றி நினைத்தால் உங்களை 3D பாணி வரும் திரையில் இருந்து நாம் அனைவரும், இது சில வகையான மற்றொரு செயின். நாங்கள் அதை செய்ய முடியும், ஆனால் இது திறந்த அடைப்புக்குறி, சதுர அடைப்புக்குறி தட்டச்சு போன்றவையாக இல்லை. Yeah. [செவிக்கு புலப்படாமல் மாணவர் கேள்வி] நல்ல, இந்த ஒரு உண்மையான கிக்கர் உள்ளது. நாம் பைனரி தேடல், ஓ போன்ற, மேல் நலிவுற்று நான் இந்த நெறிமுறைகள், நீங்கள் பலகையில் எண்கள் ஒரு வரிசையில் தேடலாம் அல்லது ஒரு தொலைபேசி புத்தகம் மிக விரைவில் நீங்கள் பயன்படுத்தினால் பிரித்து வெற்றி மற்றும் ஒரு பைனரி தேடல் வழிமுறை, ஆனால் இரும தேடல் இரண்டு கருதுகோள்கள் வேண்டும். தரவு வரிசையாக்கம் என்று ஒரு. இப்போது, நாம் மறைமுகமாக, இந்த வரிசையில் வைக்க முடியும் அதனால் ஒரு கவலை இல்லை, ஆனால் இரும தேடல் கூட கருதப்படுகிறது நீங்கள், எண்கள் பட்டியலில் சீரற்ற அணுகல் என்று மற்றும் ஒரு வரிசை, நீங்கள் சீரற்ற அணுகல் அனுமதிக்கிறது, மற்றும் சீரற்ற அணுகல் மூலம் நான் உங்களுக்கு ஒரு வரிசை கொடுக்கப்பட்ட என்றால், அதை நீங்கள் எவ்வளவு நேரம் கிடையாது அடைப்புக்குறி 0 பெற? ஒரு அறுவை சிகிச்சை, நீங்கள் [0] பயன்படுத்த நீங்கள் சரியான அங்கே இருக்கிறோம். இடம் 10 பெற எத்தனை நடவடிக்கைகளை அது எடுக்கும்? ஒரு படி, நீங்கள், நீங்கள் இல்லை என்றால் [10] சென்று. இதற்கு மாறாக, எப்படி ஒரு இணைக்கப்பட்ட பட்டியலில் 10 வது முழு முடியும்? நீ மட்டும் நினைவில் இருக்கும் என்பதால், ஆரம்பத்தில் தொடங்க வேண்டும் ஒரு சரம் போன்ற ஒரு இணைக்கப்பட்ட பட்டியலில் ஆரம்பத்தில், நினைவில் அதன் முதல் char முகவரி மூலம், அந்த 10 எண்ணாக கண்டுபிடிக்க அல்லது ஒரு சரம் அந்த 10 எழுத்து, நீங்கள் முழு ரொம்பவும் தான் தேட வேண்டும். மீண்டும், நாம் நம்முடைய எல்லா பிரச்சனையும் தீர்க்கும். நாம் புதிய அறிமுகம், ஆனால் அது உண்மையில் நீங்கள் வடிவமைக்க முயற்சிக்கும் என்ன சார்ந்திருக்கிறது. இந்த செயல்படுத்தும் வகையில், நாம் அந்த மாணவர் அமைப்பு ஒரு கருத்து கடன் பெறலாம். தொடரியல் இப்போது தவிர, மிகவும் ஒத்த, யோசனை கொஞ்சம் சுருக்க உள்ளது தவிர வீடு மற்றும் பெயர் மற்றும் அடையாள. ஆனால் நான் சி ஒரு தரவு கட்டமைப்பு வேண்டும் என்று கோரிக்கை கணு அழைக்கப்படுகிறது என்று,, ஸ்லைடு கடைசி வார்த்தை குறிப்பிடுவதுபோல் ஒரு முனை உள்ளே, ஒரு முனை ஒரு கணினி அறிவியல் ஒரு பொதுவான கொள்கலன். இது பொதுவாக ஒரு வட்டம் அல்லது நாம் செய்தது போல ஒரு சதுர அல்லது செவ்வகம் வரைய வேண்டும். இந்த தரவு அமைப்பில், நாம் ஒரு முழு எண்ணாக, n, வேண்டும் அதனால் நான் சேமிக்க வேண்டும் எண். ஆனால் இந்த இரண்டாவது வரி, struct முனை * அடுத்த என்ன? ஏன் இந்த சரியானது, அல்லது பங்கு இந்த விஷயம் நாடகம் என்ன அது முதல் பார்வையில் ஒரு சிறிய ரகசிய இருந்தாலும்? Yeah. [செவிக்கு புலப்படாமல் மாணவர் பதில்] சரியாக, அது ஒருவித ஒரு சுட்டிக்காட்டி கெடுத்துவிடும் என்று * மாதிரி என்று. இந்த சுட்டியை பெயர், தன்னிச்சையாக அடுத்து ஆனால் நாம் அதை நாம் விரும்பும் எதையும் என்று, ஆனால் இந்த சுட்டிக்காட்டி புள்ளி என்ன செய்கிறது? [மாணவர்] மற்றொரு முனை. >> சரியாக, அது மற்றொரு பெரிய முனை சுட்டி காட்டும். இப்போது, இந்த சி ஒரு ஆர்வத்தை வகை , சி வலது, கீழே ஒரு மொழி மேல் படிக்க என்று நினைவு -இந்த என்றால் நாம் மாணவர் என்ன செய்தாள் இருந்து ஒரு சிறிய வேறு எந்த பொருள். நாம் ஒரு மாணவர் வரையறுக்கப்பட்ட போது, நாம் உண்மையில் அங்கு ஒரு வார்த்தை வைக்கவில்லை. அது typedef கூறினார். நாம் எண்ணாக ஐடி, சரம் பெயர், சரம் வீடு, என்று பின்னர் struct கீழே மாணவர். இந்த அறிவிப்பு ஒரு சிறிய வெவ்வேறு ஏனெனில், மீண்டும், C மொழி ஒரு சிறிய ஊமை. அது, மேலிருந்து கீழாக வாசிக்க நடக்கிறது அதை இங்கே 2 வது வரி அடையும் நீங்கள் அடுத்த அறிவித்தார் மற்றும் அதை பார்க்கும் அமைந்துள்ள, ஓ, இங்கே அடுத்த எனப்படும் ஒரு மாறுபடும் தான். அது ஒரு struct முனை ஒரு சுட்டிக்காட்டி இருக்கிறது. தொகுப்பி struct முனை என்ன உணர போகிறார்கள்? நான், இந்த விஷயம் கேள்விப்பட்ட வார்த்தை முனை இல்லையெனில் தோன்றும் இல்லை ஏனென்றால் கீழே வரை, இந்த பணிநீக்க உள்ளது. நீங்கள் பிறகு பின்னர் சுருக்கவும் முடியும், இங்கே struct முனை சொல்ல வேண்டும் கீழே இங்கே typedef நன்றி, ஆனால் இந்த காரணம் நாங்கள் உள்ளே அமைப்பு கட்டமைப்பு தன்னை குறிக்கும். என்று அங்கு ஒரு gotcha தான். சில சிக்கல்கள் எழ போகிறது. நாம் எண்கள் பட்டியல் கிடைத்தது. நாம் அது எப்படி செருகுவது? எப்படி நாம் அதை தேட வேண்டும்? நாம் அது இருந்து எப்படி நீக்குவது? குறிப்பாக, இப்போது நாம் இந்த சுட்டிகள் அனைத்து நிர்வகிக்க வேண்டும் என்று. நீங்கள் சுட்டிகள் மனச்சிதைவு வகையான என்று நினைத்தோம் நீங்கள் போது அவற்றில் ஒன்று தான் இது ஒரு முழு எண்ணாக வாசிக்க முயற்சி. இப்போது நாம் ஒரு முழு பட்டியல் மதிப்புள்ள கையாள வேண்டும். நாம் ஏன் இங்கு எங்கள் 5 நிமிட இடைவெளி எடுத்து கொள்ள கூடாது, மற்றும் நாம் எடுத்து வருகிறேன் மேடையில் சில எல்லோரும் சரியாக செய்ய. சி அதை நடித்துள்ளார் இருந்தால் இன்னும் நன்றாக இருக்கும். யார் மொழியில் முதல் விரும்புகிறீர்கள்? சரி, வா. நீங்கள் முதலில் இருக்கும். யார் 9 இருக்க விரும்புகிறீர்கள்? சரி, 9. எப்படி 9 பற்றி? 17? இங்கே ஒரு சிறிய க்ளிக். முன் வரிசையில் 22 மற்றும் 26. பின்னர் ஒருவரை பற்றி அங்கு எப்படி சுட்டிக்காட்டினார். நீங்கள் 34 ஆகும். சரி, அப் 34, வா. முதல் அங்கு உள்ளது. சரி, நீங்கள் அனைத்து நான்கு. நாம் 9 யார் சொன்னார்கள்? நம் 9 யார்? யார் உண்மையில் 9 இருக்க வேண்டும்? எல்லாம் சரி, 9 இருக்கும், வா. இங்கே நாம். 34, நாம் அங்கே சந்திக்கிறேன். முதல் பகுதி உங்களை இப்படி செய்ய உள்ளது. 26, 22, 17, நல்ல. நாங்கள் இப்பொழுது நீங்கள் malloc போகிறீர்கள் ஏனெனில் நீங்கள், ஒரு பகுதியில் நிற்க முடியும். நல்ல, நல்ல. சரி, சிறந்த, எனவே இங்கே கேள்விகள் ஒரு ஜோடி கேட்போம். உண்மையில், உங்கள் பெயர் என்ன? >> அனிதா. அனிதா, சரி, இங்கு வந்து. அனிதா, எங்களை மாதிரி முதல் ஒரு மிகவும் எளிமையான கேள்வி தீர்க்க உதவ போகிறது இது எப்படி ஒரு மதிப்பு பட்டியலில் இல்லையா என்பதை கண்டறிய வேண்டும் என்று? இப்போது, முதல், இங்கே லூகாஸ் குறிப்பிடப்படுகின்றன என்று அறிவிப்பு ஒரு சிறிய வித்தியாசம் உள்ளது, மற்றும் காகித அவரது துண்டு வேண்டுமென்றே பக்கவாட்டாக உள்ளது இது, மிக உயரமாக மற்றும் பல பிட்கள் என எடுத்து ஏனெனில் கூட தொழில்நுட்ப அவர் மட்டும் சுழற்சி காகித அதே அளவு உள்ளது. ஆனால் அவர் ஒரு சுட்டிக்காட்டி மட்டும் 32 பிட்கள், என்று ஒரு சிறிய வேறு இந்த பாடல் எல்லா ஒரு சுட்டிக்காட்டி இருக்கிறது அரை இதில் எண்ணிக்கை அரை இதில் 64 பிட்கள்,, இருக்கும். ஆனால் சுட்டிக்காட்டி அதனால், சித்தரிக்கப்பட்டது அல்ல நீங்கள் தான் சற்று அசிங்கமாக இருந்தது நீங்கள் அடுத்த நபரை சுட்டி உங்கள் இடது கை பயன்படுத்த. நீங்கள் பல 34 தான். உங்கள் பெயர் என்ன? அரி. அரி, அதனால் உண்மையில், வலது கையில் காகித நடத்த, மற்றும் இடது கை நேராக கீழே செல்லும். நீங்கள் இடது வெற்று பிரதிநிதித்துவம். இப்போது நம் மனித படத்தை மிகவும் ஒத்திருக்கிறது. இந்த சுட்டிகள் வேலை எப்படி உண்மையாக. மற்றும் உங்கள் வழியில் நான் இல்லை, எனவே நீங்கள் கொஞ்சம் இந்த வழி மெல்லு என்றால். இங்கே அனிதா, என்னை எண் 22 கண்டறிய ஆனால் மனிதர்கள் காகித துண்டுகளை வைத்து அல்ல ஒரு கட்டுப்பாட்டு கருதி, ஆனால் இந்த பட்டியல், நீங்கள் மட்டும் லூகாஸ் ஆரம்பிக்க வேண்டும் அவரால் முதல் சுட்டிக்காட்டி உள்ளது. நீங்கள் ஒரு சுட்டிக்காட்டி இருக்கிறது, அதனால் நீங்கள் ஏதாவது நேரத்தில் சுட்டி திறன் என்று நினைக்கிறேன். ஏன் லூகாஸ் சுட்டிக்குறிப்பை என்பதை துல்லியமாக என்ன சுட்டிக்காட்டி தொடங்க கூடாது? நல்ல, என்னை இங்கு இந்த நடத்த அனுமதிக்க. வெறும் விவாதம் பொருட்டு, எனக்கு இங்கே ஒரு வெற்று பக்கம் மேலே நாம். எப்படி நீங்கள் உங்கள் பெயரை உச்சரிக்க? >> அனிதா. சரி, அனிதா. நாம் முனை * அனிதா = லூகாஸ் என்று. சரி, நீங்கள் லூகாஸ் அழைக்க கூடாது. நாம் முதலில் அழைக்க வேண்டும். ஏன் இந்த இங்கே உண்மையில் இசைவானதாக உண்மையில் என்ன? ஒரு, முதல் ஏற்கனவே உள்ளது. முதல் எங்கோ இங்கே மறைமுகமாக ஒதுக்கீடு செய்யப்பட்டுள்ளது. கணு * முதல், அதை எப்படியாவது ஒரு பட்டியல் ஒதுக்கீடு. நான் அந்த நடந்தது என்று எனக்கு தெரியாது. வர்க்கம் தொடங்கியது முன் நடந்தது. மனிதர்கள் இந்த இணைக்கப்பட்ட பட்டியலில் உருவாக்கப்பட்டது. இப்போது கதை, இந்த அனைத்து வெளிப்படையாக பேஸ்புக் நடக்கிறது இந்த கட்டத்தில் பின்னர், கதை இந்த கட்டத்தில், அனிதா, முதல் சமமாக இருக்க வேண்டும் துவக்கப்படும் இது லூகாஸ் மணிக்கு அனிதா புள்ளிகள் என்று அர்த்தம் இல்லை. மாறாக, அவர் ஒரு சுட்டிக்காட்டினால் என்ன இடங்களும் ஏனெனில் லூகாஸ் 32 பிட்கள் உள்ளே அதே முகவரியை - 1, 2, 3 - 1, 2, 3 - இப்போது கூட உள்ளே அனிதா 32 பிட்கள் உள்ளது. இப்போது 22 கண்டறிய. எப்படி இதை பற்றி போக முடியும்? என்ன என்று? >> புள்ளி என்ன. அதை சுட்டி, எனவே நீங்கள் இங்கு இருக்க முடியும் சிறந்த அது செயல்பட. , நல்ல நல்ல, இப்போது நீங்கள் சுட்டி நீங்கள் இல், என்ன உங்கள் பெயரை 22 தான்? ரமோன். >> ரமோன், ரமோன் 22 வரை பிடித்து, அதனால். நீங்கள் இப்போது ஒரு சோதனை செய்யவில்லை. நீங்கள் ரமோன் == 22, மற்றும், உதாரணமாக, நாம் உண்மையான திரும்ப முடியும். எனக்கு-போது நாம் இந்த தோழர்களே அசிங்கமாக-ஓரளவு இங்கே நிற்க கண்டு என்னை bool போல் விரைவில் ஏதாவது செய்யட்டும். நான் (கணு * பட்டியலில், int n) போய் சொல்ல போகிறேன். நான் உங்களுக்கு கொண்டு வருகிறேன். நான் சில குறியீடு எழுத வேண்டும். இப்போது நான் போய் இந்த, கணு * அனிதா = பட்டியல் செய்ய போகிறேன். நான் போய் சொல்ல போகிறேன் போது (அனிதா! = NULL). இங்கே உருவகம் கொஞ்சம் நீட்டி வருகிறது, ஆனால் (அனிதா! = NULL), நான் என்ன செய்ய வேண்டும் என்று விரும்புகிறீர்கள் போது? நான் குறிப்பிடும் சில வழி வேண்டும் அனிதா சுட்டிக்குறிப்பை என்று முழு. கடந்த காலத்தில், நாம் ஒரு முனை இது, கட்டமைப்புகள் போது, நாம் டாட் குறியீடு பயன்படுத்தப்படுகிறது, மற்றும் நாம் எதோ சொல்வார்கள் இங்கே anita.n, ஆனால் பிரச்சனை அனிதா ஒரு struct உள்ளபடியே அல்ல. அவள் என்ன? இந்த புள்ளி பயன்படுத்த விரும்பினால் அவர், எனவே உண்மையில், ஒரு சுட்டிக்காட்டி தான் குறியீடு- இந்த வேண்டுமென்றே ஒரு சிறிய பார்க்க போகிறது ரகசிய- நாம் என்ன அனிதா இடது கை சென்று போன்ற ஏதாவது செய்ய வேண்டும் என்று சுட்டி பின்னர் n என்று துறையில் கிடைக்கும். அனிதா ஒரு சுட்டிக்காட்டி, ஆனால் * அனிதா என்ன? நீங்கள் அனிதா சுட்டிக்குறிப்பை என்ன செய்ய செல்லும் போது நீங்கள் என்ன இருக்கிறது? ஒரு struct, ஒரு முனை, மற்றும் ஒரு முனை, திரும்ப, n என்று ஒரு துறையில் உள்ளது இது, நினைவு ஏனெனில், இந்த 2 துறைகளில், அடுத்த மற்றும் n, நாம் இங்கே ஒரு கணம் முன்பு பார்த்தேன் என்று. உண்மையில், குறியீடு இந்த ஒருபோதும் நாம் செய்ய என்ன என்று ((* அனிதா). n == n), நான் தேடிக்கொண்டிருக்கிறேன் என்று n. விழாவில் நான் கவலைப்படவில்லை பல நிறைவேற்றப்பட்டது என்பதை கவனியுங்கள். நான் உண்மையான பதிலாக போல போய் என்ன செய்ய முடியும். அந்த வழக்கில் இல்லை என்றால் வேறு, நான் என்ன செய்ய வேண்டும் என்று விரும்புகிறீர்கள்? எப்படி நான் அனிதா பட்டியல் மூலம் நடைபயிற்சி மூலம் உள்ளுணர்வாக என்ன குறியீட்டை மொழிபெயர்க்க? நான் அனிதா இடது, இடது என படி அந்த அடியை எடுத்து உருவகப்படுத்த இங்கே என்ன செய்ய வேண்டும்? [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> என்று என்ன? [செவிக்கு புலப்படாமல் மாணவர் பதில்] , ஒரு கெட்ட எண்ணம், ஆனால் கடந்த காலத்தில், நாம் செய்த போது, நாம் நல்ல செய்துவிட்டேன் அனிதா + + என்று அனிதா எண்ணை 1 சேர்க்க ஏனெனில், இது பொதுவாக, ரமோன் போல், அடுத்த நபரை தெளிவாகிறது அல்லது அவருக்கு அடுத்த நபர், அல்லது ஒரு நபர் கீழே வரி அவருக்கு அடுத்த. என்ன இந்த விஷயத்தை நினைவில் இருக்க ஏனெனில் ஆனால் அது இங்கே நன்றாக இல்லை? இல்லை என்று. நாம் அது முடக்க வேண்டும். அதை நான் 1 மற்றும் 2 மற்றும் 3 நெருக்கமான ஒன்று, வரையப்பட்ட நான் கூட நினைவாக இந்த மாதிரி, மற்றும் நாம் உண்மையில் உருவகப்படுத்த என்றால் இன்னும் அதே மக்கள் சுட்டிக்காட்டி போது, அவள் இந்த முடியும் நீங்கள் சில ஒரு சீரற்ற நிலை திரும்பி, முன் நீங்கள் சில ஒரு சீரற்ற நடவடிக்கை எடுக்க முடியும்? இந்த குழப்பம், இன்னும் ஒரு இணைக்கப்பட்ட பட்டியலில் உள்ளது ஆனால் இந்த பாடல், எங்கேயும் நினைவாக இருக்க முடியும் எனவே அனிதா + ஏன் வேலைக்கு போகவில்லை? இடம் அனிதா நேரத்தில் என்ன +? யாருக்கு தெரியும். இது மிகவும் இடைச்செருகிய வேண்டும் நடக்கும் என்று சில பிற மதிப்பு வாய்ப்பு இந்த முனைகளில் அனைத்து மத்தியில் நாம் பயன்படுத்தி வருகிறோம். நாம் தனித்தனியாக இந்த முனைகளில் ஒவ்வொரு ஒதுக்கீடு. சரி, நீங்கள் உங்களை விட்டு மீண்டும் சுத்தம் செய்ய முடியாது. எனக்கு பதிலாக அனிதா + + நாம் பதிலாக செய்ய அனிதா என்று கோரிக்கை விட வேண்டும், நன்றாக, நாம் பின்னர் அனிதா உள்ள சுட்டி உள்ளது அதை போய் ஏன். அடுத்த? வேறுவிதமாக கூறினால், நாம் எண் 22 வைத்திருக்கும் யார் ரமோன், சென்று அனிதா தனது இடது கை சுட்டிக்காட்டி நகல் வேண்டும் என்று, பின். அடுத்த ஆகும். நாங்கள் 22 காணப்படவில்லை என்பதால் ஆனால் அவர் ரமோன் விட தூரம் போக வேண்டும். ஆனால் அந்த யோசனை அமையும். இப்போது, இந்த கடவுளுக்கு மோசமான குழப்பம். நேர்மையாக, யாரும், அதனால் அதிர்ஷ்டவசமாக இந்த இலக்கணத்தை நினைவில், மற்றும் அது உண்மையில் ஒரு சிறிய வேண்டுமென்றே-ஓ, நீங்கள் உண்மையில் நான் எழுதியது என்ன பார்க்க வில்லை என்று. உங்களால் முடிந்தால் இந்த கட்டாய வேண்டும். Voila! திரைக்கு பின்னால், எனக்கு பிரச்சனை இந்த வழியில் தீர்க்கும். அனிதா, இடது என்று எடுத்து, முதல், நாம் அனிதா சுட்டிக்குறிப்பை என்று முகவரிக்கு போகிறோம் மற்றும் அங்கு அவர் நாம் மட்டும் தான் ஒப்பிட்டு மீது ஆணையாக உட்புகுதல் n, பார்ப்பாள் ஆனால் நீங்கள் அடுத்த பார்ப்பீர்கள் - இந்த வழக்கில், ரமோன் இடது கை பட்டியலில் அடுத்த முனை சுட்டி காட்டியது. ஆனால் இந்த, இது நான் முன்னர் குறிப்பிட்டது வேண்டும் கடவுள் பரிதாபம் குழப்பம் சி இந்த எளிமைப்படுத்த உதவும் அவுட் ஆனால் அது மாறிவிடும். அதற்கு பதிலாக எழுத்து (* அனிதா), நாம் பதிலாக, அனிதா-> n எழுதலாம் மேலும், அது செயல்படவில்லை சரியான ஒன்று தான், ஆனால் அது மிகவும் உள்ளுணர்வு தான் அதை நாம் வரைய வருகிறோம் என்று படம் மிகவும் உறுதியான தான் இந்த நேரம் அம்புகள் பயன்படுத்தி. இறுதியாக, நாம் இந்த திட்டத்தை இறுதியில் என்ன தேவை? மீதமுள்ள குறியீடு ஒரு வரி இருக்கிறது. என்ன திருப்பி? தவறான, ஏனெனில் நாங்கள் முழு மூலம் கிடைத்தால் போது சுழற்சி மற்றும் அனிதா உண்மையில், பூஜ்ய, என்று அவர் பட்டியலில் இறுதியில் அனைத்து வழியில் சென்று பொருள் ஆகும் அவர் சுட்டி அங்கு உள்ள என்ன உங்கள் பெயர் மீண்டும்? பூஜ்ய இது ஆரி. >> அரி இடது கை,. அனிதா இப்போது பூஜ்ய, மற்றும் நான் உன்னை மட்டும் புறக்கணிக்கப்பட்டது அசிங்கமாக இங்கே நின்று நீங்கள் உணர நான் இங்கே ஒரு மோனோலாக்கை அன்று செல்கிறேன் ஏனெனில், ஆனால் நாம் ஒரு நொடியில் மீண்டும் நீங்கள் தொடர்பு கொள்கிறேன். அனிதா கதை என்று கட்டத்தில் பூஜ்ய உள்ளது, அதே நேரத்தில் வளைய நிறுத்திவிட்டால் எனவே நாம் தவறான திரும்ப வேண்டும், ஏனெனில் அவர் அரி இன் பூஜ்ஜிய சுட்டிக்காட்டி அனைத்து வழி கிடைத்தது என்றால் பின்னர் அவர் பட்டியலில் முற்பட்டது என்று பல இருந்தது. நாம் இந்த சுத்தம் செய்ய முடியும், ஆனால் இந்த ஒரு நல்ல அமலாக்கத்தை ஒரு பயணித்தல் செயல்பாடு, ஒரு இணைக்கப்பட்ட பட்டியலில் செயல்பாட்டை கண்டறிய. அது இன்னும் ஒருபடி தேடல், ஆனால் அது + ஒரு சுட்டிக்காட்டி போன்றவையாக இல்லை அல்லது + ஒரு நான் மாறி இப்போது நாம் யோசிக்க முடியாது, ஏனெனில் இந்த முனைகள் ஒவ்வொரு நினைவகத்தில் எங்கே. நாங்கள், மேலும் குறிப்பாக, உண்மையில் பிரட்தூள்களில் நனைக்கப்பட்டு விசா த்து பின்பற்ற வேண்டும் அல்லது ஒரு முனை இருந்து மற்றொரு பெற சுட்டிகள்,. இப்போது மற்றொரு முயற்சி செய்வோம். அனிதா, நீங்கள் இங்கே வர வேண்டும் என விரும்புகிறீர்கள்? நாம் ஏன் போய் பார்வையாளர்களை இருந்து ஒருவர் ஒதுக்க கூடாது? Malloc என்ன உங்கள் பெயர்? >> ரெபேக்கா. ரெபேக்கா. ரெபேக்கா, பார்வையாளர்களை இருந்து malloced அவள் இப்போது எண் 55 சேமிக்கும். அனிதா செருக மற்றும் கையில் கோல் இப்போது அதன் சரியான இடத்தில் இங்கே இணைக்கப்பட்ட பட்டியலில் ரெபேக்கா. ஒரு நிமிடம் இங்கு வாருங்கள். நான் இந்த மாதிரி ஏதாவது செய்ய வேண்டும். நான் முனை * செய்யவில்லை. உங்கள் பெயர் என்ன மீண்டும்? ரெபேக்கா. >> ரெபேக்கா, சரி. ரெபேக்கா malloc (sizeof (முனை)) பெறுகிறார். போல் நாம், கடந்த காலத்தில் மாணவர்கள் மற்றும் whatnot போன்ற விஷயங்களை ஒதுக்கீடு நாம் முனை அளவு வேண்டும், அதனால் இப்போது ரெபேக்கா என்ன சுட்டி? ரெபேக்கா 55 அதில் ஒன்று தன் உள்ளே இரண்டு துறைகள் உள்ளன. அதை நாம் என்ன, ரெபேக்கா-> = 55. ஆனால் பின்னர் ரெபேக்கா-> அடுத்த இப்போது போன்ற வேண்டும், அவள் கையை தெரியும் யார் என்ன ஆகும்? அது ஏன் நல்ல நடவடிக்கை அல்ல என்று, சில குப்பை மதிப்பில் சுட்டி காட்டும் இடது கை இப்போது அவள் பக்கத்தில் உள்ளது என்று நாம் இதை செய்கிறேன். இப்போது அனிதா, இங்கிருந்து அதை எடுத்து. நீங்கள் ரெபேக்கா ஒதுக்கீடு செய்யப்பட்ட வேண்டும். போய் நாம் ரெபேக்கா வைக்கவேண்டும் அங்கு காணலாம். நல்ல, நல்ல. , சரி, நல்ல, இப்போது நீங்கள் திசையில் ஒரு பிட் வழங்க வேண்டும் எனவே நீங்கள் அரி அடைந்துள்ளீர்கள். அவரது இடது கை பூஜ்ய, ஆனால் ரெபேக்கா தெளிவாக சரியான சொந்தமானது எனவே எப்படி இந்த இணைக்கப்பட்ட பட்டியலில் மாற்ற வேண்டும் பொருத்தமான இடத்தில் ரெபேக்கா நுழைக்க வேண்டும்? நீங்கள் உண்மையில் தேவையான சுற்றி மக்கள் இடது கை நகர்த்த முடியும், நாம் அந்த வழியில் பிரச்சினையை சரி செய்ய வேண்டும். சரி, நல்ல, மற்றும் இதற்கிடையில், ரெபேக்கா இடது கையை அவள் பக்கத்தில் உள்ளது. அதுவும் எளிதாக இருந்தது. நாம், கிட்டத்தட்ட செய்து ஒதுக்கீடு, நாங்கள் 20 முயற்சி. சரி, வா. 20 ஒதுக்கீடு செய்யப்பட்டுள்ளது, என்னை போய் இங்கே மீண்டும் சொல்கிறேன் நாம் தான் முனை * saad செய்துவிட்டேன். நாங்கள் (sizeof (முனை)) malloc வேண்டும். நாம், நாங்கள் 20 முன்னர் அதே துல்லியமான தொடரியல் செய்ய நான் அடுத்த = NULL செய்வேன், இப்போது அதை அனிதா வரை தான் நீங்கள் சரியான அதே பங்கை என்று நீங்கள், இணைக்கப்பட்ட பட்டியலில் சேர்க்க. இயக்க. சரி, நல்ல. நீங்கள் சுற்றி இடது கை நகரும் முன் இப்போது கவனமாக என்று. நீங்கள் இதுவரை இன்று மிக மோசமான பாத்திரம் கிடைத்தது. யாருடைய கையில் முதல் சென்றார்? சரி, நான் சில நேரம் கேட்டு, நான் காத்திருக்க. சில எல்லோரும் அமைதியாக இங்கே ஒரு மோசமான நிலைமையை தீர்க்க உதவ விரும்பினால். அதன் இடது கை முதல் ஒருவேளை மேம்படுத்தப்பட்டது? Yeah. [மாணவர்] Saad தான். சரி, Saad தான், ஏன், என்று? [செவிக்கு புலப்படாமல் மாணவர் பதில்] நல்ல, ஏனெனில் நாம் நகர்த்த என்ன உங்கள் பெயர்? >> மார்ஷல். மார்ஷல், நாம் பூஜ்ஜிய முதல் down கையை நகர்த்த என்றால், இப்போது நாம் உண்மையில் இந்த பட்டியலில் நான்கு பேர் அனாதையான அவர், ரமோன் மற்றும் இடது அனைவரையும் சுட்டி மட்டும் தான் எனவே முதல் என்று சுட்டிக்காட்டி மேம்படுத்தும் மோசமாக இருந்தது. அது அந்த மீளமை நாம். நல்ல, இப்போது போய் ரமோன் சுட்டிக்குறிப்பை பொருத்தமான இடது கை நகர்த்தவும். இந்த ஒரு சிறிய பணிநீக்கம் உணர்கிறாள். இப்போது அங்கு ரமோன் சுட்டிக்குறிப்பை இரண்டு பேர், ஆனால் அது நல்லது ஏனெனில் இப்போது எப்படி வேறு நாம் பட்டியலை புதுப்பிக்க? என்ன மறுபுறம் செல்ல வேண்டும்? சிறந்த, இப்போது நாம் எந்த நினைவை இழந்து வேண்டும்? இல்லை, அதனால் நல்ல, இந்த முறை இன்னும் உடைக்க முடியாது என்று நாம் பார்ப்போம். , எண் 5 ஒரு கடைசி நேரத்தில் Mallocing. மீண்டும் அனைத்து வழி, கீழே வந்து. இது மிகவும் நன்றாக இருக்கிறது. [கரவொலி] உங்கள் பெயர் என்ன? >> ரான். ரோன், சரி, நீங்கள் எண்ணிக்கை 5 ஆக malloced. நாங்கள் தான் இந்த கிட்டத்தட்ட ஒரே மாதிரியாக தான் குறியீடு செயல்படுத்தப்படுகிறது ஒரு வித்தியாசமான பெயர். சிறந்த. இப்போது, அனிதா, நல்ல அதிர்ஷ்டம் இப்போது பட்டியலில் எண் 5 சேர்க்கைக்கு. நல்ல, மற்றும்? சிறந்த, இந்த உண்மையில் மூன்று மொத்த வழக்குகள் மூன்றாவது இடத்தில் உள்ளது. நாம் முதல் ரெபேக்கா, இறுதியில் யாராவது இருந்தது. நாம் நடுத்தர ஒருவர் கூறினார். இப்போது நாம், தொடக்கத்தில், இந்த எடுத்துக்காட்டில் யாரோ நாம் இப்போது முதல் முறையாக லூகாஸ் மேம்படுத்த வேண்டும் பட்டியலில் முதல் உறுப்பு இப்போது ஒரு புதிய முனையில் உள்ள சுட்டிக்காட்ட ஏனெனில், யார், அதையொட்டி, கணு எண் 9 மணிக்கு சுட்டி. இது மிகவும் மோசமான ஆர்ப்பாட்டம் நடந்தது, நான் உறுதியாக இருக்கிறேன், அதனால் இந்த பாடல் பாராட்டு ஒரு பெரிய ரவுண்ட் உங்களால் முடிந்தால். நேர்த்தியாக செய்து. அவ்வளவு தான். நீங்கள் ஒரு சிறிய நினைவகம் காகித உங்கள் துண்டுகளை வைத்து இருக்கலாம். அது குறியீடு இதை செய்கிறேன் என்று மாறும் சும்மா கைகள் நகரும் என மிக எளிய அல்ல மற்றும் பல்வேறு விஷயங்களை உள்ள சுட்டிகள் சுட்டும். ஆனால் அது போன்ற ஏதாவது செயல்படுத்த நேரம் வரும்போது என்று நீங்கள் உண்மையிலேயே கவனம் செலுத்தும் ஒரு இணைக்கப்பட்ட பட்டியலில் அல்லது ஒரு வேறுபட்ட இந்த அடிப்படை அடிப்படைகள், நான் கண்டுபிடிக்க வேண்டும் கடி அளவு பிரச்சினைகள், இந்த கை அல்லது இந்த கை, என்ன இல்லையென்றால் மிகவும் சிக்கலான நிரல் என்று உணர உண்மையில், இந்த போன்ற மிகவும் எளிமையான கட்டுமான குறைக்கப்பட்டது. இன்னும் ஒரு சிக்கலான திசையில் பொருட்களை எடுத்து செல்லலாம். நாம் இப்போது இணைக்கப்பட்ட பட்டியலில் கருத்து இல்லை. மீண்டும் பரிந்துரை அங்கு ஒரு இரட்டை இணைக்கப்பட்ட பட்டியலில் நாமும்-நன்றி, இது கிட்டத்தட்ட அதே போல், ஆனால் இப்போது நாம் struct உள்ளே இரண்டு சுட்டிகள் வேண்டும் பதிலாக, நாம் ஒருவேளை அந்த சுட்டிகள் முந்தைய மற்றும் அடுத்த அழைக்க முடியும் அல்லது இடது அல்லது வலது, ஆனால் நாம், உண்மையில், அவர்கள் இரண்டு செய்கிறோம். குறியீடு ஒரு சிறிய ஈடுபடும் என்று. அனிதா மேடையில் இங்கே இன்னும் வேலை செய்ய வேண்டியிருந்தது. ஆனால் நாம் நிச்சயமாக அமைப்பு அந்த வகையான செயல்படுத்த முடியும். நேரம் இயங்கும் வகையில், எனினும், என்ன இயங்கும் நேரம் இருக்கும் இப்போது ஒரு இணைக்கப்பட்ட பட்டியலில் பல n கண்டறியும் அனிதா க்கான? N, இன்னும் பெரிய ஓ, அது நேரியல் தேடல் விட நல்லது. நாங்கள் மீண்டும், எனினும், பைனரி தேடல் செய்ய முடியாது. வழக்கு என்று ஏன்? நீங்கள் குதித்தால் முடியாது. நாம் வெளிப்படையாக மேடையில் எல்லா மனிதர்களுக்கும், பார்க்க கூட மற்றும் அனிதா ", இதோ பட்டியல் நடுத்தர தான்" அது eyeballed மற்றும் கூறினார் அவர் கணினி நிரல் இருந்தால் அவர் தெரியாது அவர் தான் ஒரே விஷயம் காட்சியில் தொடக்கத்தில் மீது தாழ் ஏனெனில் முதல் சுட்டிக்காட்டி இருந்த லூகாஸ் இருந்தது. அவர் அவசியம், அந்த இணைப்புகளை பின்பற்ற வேண்டும் அவர் கிட்டத்தட்ட நடுத்தர கிடைக்கும் வரை தன் வழி எண்ணி, அதன் பின்னர், அவர் நடுத்தர வந்தாள் போது தெரிய போவதில்லை அவர், அங்கு எவ்வளவு கண்டுபிடிக்க இறுதியில் அனைத்து வழியில் செல்லும் வரை நீங்கள் தான் என்றால் பிறகு backtracks, மற்றும் மிகவும் கடினமானது என்று ஏதாவது ஒரு இரட்டை இணைக்கப்பட்ட பட்டியலில். இன்று சில பிரச்சினைகளை தீர்க்கும், ஆனால் மற்றவர்களுக்கு அறிமுகம். ஒரு வேறுபட்ட தரவு கட்டமைப்பு முற்றிலும் பற்றி என்ன? இந்த, மாதர் மாளிகையில் தட்டுக்களில் ஒரு புகைப்படம் தான் இந்த வழக்கில், நாம் கூட ஒரு வகையான ஏற்கனவே பற்றி பேசி கொண்டிருக்கிறேன் ஒரு தரவு கட்டமைப்பு உள்ளது. நாம், நினைவகம் பின்னணியில் ஒரு ஸ்டேக் பற்றி மற்றும் அந்த மாதிரி வேண்டுமென்றே என்ற ஏனெனில் நினைவக அடிப்படையில் ஒரு அடுக்கு திறமையுடன் அதை மேல் அடுக்கியிருப்பது இன்னும் பொருள் என்று ஒரு தரவு கட்டமைப்பு உள்ளது. ஆனால் ஒரு ஸ்டேக் பற்றி சுவாரஸ்யமான விஷயம், என, உண்மையில் வழக்கு அது தரவு கட்டமைப்பு ஒரு சிறப்பு வகை என்று உள்ளது. இது ஒரு தரவு கட்டமைப்பு தான் அதன்படி முதல் உறுப்பு கடந்த உறுப்பு இல்லை. நீங்கள், ஸ்டாக் மீது வைத்து முதல் தட்டில் இருந்தால் நீங்கள், துரதிருஷ்டவசமாக ஸ்டேக் ஆஃப் எடுத்து சென்ற தட்டில் போகிறாய் மற்றும் ஒரு நல்ல விஷயம் அமைய இல்லை. மாறாக, நீங்கள், மற்ற வழி முழுவதும் அதை பற்றி யோசிக்க முடியும் கடந்த முதல் அவுட் ஆகும். இப்போது, எந்த சூழல்களில் ஒரு அடுக்கு கொண்ட அங்கு பெரிதாக வர நீங்கள் அந்த சொத்து எங்கே தரவு கட்டமைப்பு முதலில், கடந்த ஒரு, உண்மையில் வைக்குது? ஒரு நல்ல விஷயம்? ஒரு கெட்ட விஷயம்? தட்டுக்களும் அனைத்து ஒத்த இல்லை என்றால் அது நிச்சயம் ஒரு கெட்ட விஷயம் அவர்கள், அனைத்து சிறப்பு வெவ்வேறு வண்ணங்கள் அல்லது whatnot இருந்தது நீங்கள் விரும்பும் வண்ணம் கீழே உள்ள அனைத்து வழி. நிச்சயமாக, நீங்கள் பெரும் முயற்சி செய்யாமல் செல்ல முடியாது. நீங்கள் மேலே இருந்து தொடங்க மற்றும் உங்கள் வழியில் கீழே வேலை செய்ய வேண்டும். இதேபோல், இந்த ரசிகர் சிறுவர்களை ஒரு என்ன என்றால் யார் மேல் ஒரு ஐபோன் மற்றும் கோடுகள் பெற முயற்சி இரவு வரை காத்திருக்கும் இந்த மாதிரி ஒரு இடத்தில்? அது நன்றாக இருக்கும் என்று ஆப்பிள் ஸ்டோர் ஒரு அடுக்கு தரவு அமைப்பு இருந்தது? ஆஹா? அல்லாமலும்? கடந்த முடியும் நிமிடத்தில் காட்டும் மக்கள் மட்டும் நன்றாக மற்றும் பின் வரிசையில் இருந்து பறித்து வருகிறது. உண்மையில், நான் பாராட்டுவதில்லை என்று உண்மையில் வரிசை என்று , நாம் இந்த வகையான தரவு கட்டமைப்பு அழைக்கிறேன் என்ன உண்மையில் நிறைவு ஒழுங்கு விஷயத்தில் எங்கு உண்மையில் ஒரு, நீங்கள் முதலில் ஒரு முதல் ஒரு ரன் வேண்டும் மனித நேர்மை பொருட்டு மட்டுமே. நாம் பொதுவாக வரிசையில் தரவு கட்டமைப்பு என்று அழைக்கிறேன். அது இணைக்கப்பட்ட பட்டியல்கள் தவிர, நாம் இந்த அதே அடிப்படை யோசனைகளை பயன்படுத்தி தொடங்க முடியும் மாறிவிடும் மற்றும் பிரச்சினைகளுக்கு தீர்வுகளை புதிய மற்றும் வெவ்வேறு வகையான உருவாக்க தொடங்கும். உதாரணமாக, ஒரு அடுக்கை வழக்கில், நாம் ஒரு அடுக்கு பிரதிநிதித்துவம் முடியும் இந்த மாதிரி ஒரு தரவு கட்டமைப்பை பயன்படுத்தி, நான் பேச வேண்டும். இந்த வழக்கில், நான் ஒரு struct அறிவித்தார், மற்றும் நான் இந்த அமைப்பு உள்ளே சொல்லிவிட்டேன் எண்களின் வரிசையை பின் ஒரு மாறி என்று அளவு, இல்லை நான் இந்த விஷயத்தை ஒரு அடுக்கு அழைக்க போகிறேன். இப்போது, இந்த உண்மையில் வேலை ஏன்? ஒரு அடுக்கு விஷயத்தில், நான் ஒரு வரிசை என திரையில் இந்த திறம்பட வரைய முடியும். இங்கே என் ஸ்டாக் இல்லை. அந்த என் எண்கள். நாம், இந்த, இந்த, இந்த இந்த இந்த அவர்களை வரைய வேண்டும். பின்னர் நான், இங்கே சில மற்ற தரவு உறுப்பு வேண்டும் அளவு அழைக்கப்படும், ஆகவே, இந்த அளவு, இந்த எண்கள் உள்ளது மற்றும் கூட்டாக, இங்கே முழு ஐபாட் ஒரு அடுக்கு அமைப்பு குறிப்பிடுகிறது. இப்போது, முன்னிருப்பாக, அளவு மறைமுகமாக, 0 துவக்க வேண்டும் ஆரம்பத்தில் எண்கள் வரிசையில் உள்ளே என்ன நான் முதல் வரிசை ஒதுக்க போது? குப்பை. யாருக்கு தெரியும்? அது உண்மையில் இல்லை. இது முற்றிலும் தோராயமாக, இந்த 1, 2, 3, 4, 5 இருந்தால் பரவாயில்லை என் அமைப்பில் சேமிக்கப்படுகிறது கெட்ட மூலம் நீண்ட தெரியும் ஏனெனில் அந்த ஸ்டாக் அளவு 0, நான் நிரலாக்கத்தின்படி தெரியும், அணியின் உறுப்புகள் எந்த பார்க்க வேண்டாம். அது என்ன விஷயம் இல்லை. 0 ஒரு அளவு உட்குறிப்பு வேண்டும் என, அவர்களை பாருங்கள். ஆனால் நான் போய் ஸ்டேக் என்ற ஒன்று சேர்க்க இப்போது நினைக்கிறேன். , நான் எண்ணிக்கை 5 நுழைக்க விரும்பவில்லை, அதனால் நான் இங்கே எண் 5 வைத்து பின்னர் நான் இங்கே என்ன கீழே என்ன? இப்போது நான் உண்மையில், அளவு 1 கீழே போட வேண்டும் இப்போது ஸ்டாக் அளவு 1 ஆகும். நான் போய் எண்ணை சேர்க்க வேண்டும், என்ன நாம் 7 அடுத்த, என்ன? இந்த பிறகு 2 மேம்படுத்தப்பட்டது, மற்றும் நாம், 9 செய்வேன் பின்னர் இந்த 3 மேம்படுத்தப்பட்டது. ஆனால் இந்த ஸ்டேக்கின் இப்போது சுவாரஸ்யமான அம்சம் என்று நான் எடுக்க விரும்பினால் எந்த உறுப்பு நீக்க வேண்டும் ஸ்டேக்கின் ஒன்று உண்டு, அதனால் பேச? 9 செல்ல முதல் விஷயம் இருக்கும். நான் ஸ்டேக் ஆஃப் ஒரு உறுப்பு எடுக்க விரும்பினால் எப்படி படம், மாற்ற வேண்டும் மிகவும் மாதர் ஒரு தட்டில் விரும்புகிறீர்களா? Yeah. 2 >> [மாணவர்] அமை அளவு. சரியாக, நான் எல்லா 2 அளவு அமைக்கப்பட்டால், மற்றும் நான் வரிசை என்ன செய்ய? நான் எதையும் செய்ய வேண்டாம். நான், நான் குத வேண்டும், அங்கு ஒரு 0 அல்லது -1 அல்லது குறிப்பிட்ட ஏதாவது போட்டு முடியும் இந்த ஒரு முறைப்படியாக மதிப்பு அல்ல, ஆனால் அது விஷயமில்லை என்று காரணம் நான் அதை எப்படி நீண்ட வரிசையில் தன்னை வெளியே பதிவு செய்யலாம் அதனால் நான் எனக்கு மட்டும் இந்த வரிசையில் முதல் இரண்டு கூறுகள் பாருங்கள். இப்போது, நான் போய் இந்த வரிசைக்கு எண் 8 சேர்க்க என்றால், எப்படி படம் அடுத்த மாற்ற? இந்த 8 ஆக, இந்த 3 ஆகிறது. நான் இங்கே ஒரு சில மூலைகளிலும் வெட்டுதல். இப்போது நாம் 5, 7, 8, நாம் மீண்டும் 3 ஒரு அளவு இருக்கிறது. இந்த, செயல்படுத்த அழகான எளிது ஆனால், நாங்கள் இந்த வடிவமைப்பு முடிவு வருந்த போகிறீர்கள்? எப்போது விஷயங்களை மிக, மிக தவறான செல்ல தொடங்கும்? Yeah. [செவிக்கு புலப்படாமல் மாணவர் பதில்] நீங்கள் திரும்பி சென்று நீங்கள் முதல் உறுப்பு பெற வேண்டும் போது ஒரு அடுக்கு பேட்டை அடியில் ஒரு வரிசை என்பது கூட அதை, இங்கே நடக்கிறது நாம் பற்றி பேசி கொண்டிருக்கிறேன் இந்த தரவு கட்டமைப்புகள் பொதுவாக அறியப்படும் சுருக்க தரவு கட்டமைப்புகள் அதன்படி அவர்கள் செயல்படுத்தி வருகிறோம் எப்படி முற்றிலும் புள்ளி தவிர ஆகும். ஒரு அடுக்கு போன்ற தரவு அமைப்பு ஆதரவு சேர்க்க வேண்டும் ஸ்டாக் மீது ஒரு தட்டில் எவ்வாறு இதில் புஷ், போன்ற நடவடிக்கைகள், மற்றும் ஸ்டாக் ஒரு உறுப்பு நீக்குகிறது, அவ்வளவு தான் இது பாப்,. நீங்கள் ஏற்கனவே செயல்படுத்தப்பட்டு யார் யாரோ குறியீடு பதிவிறக்க இருந்தால் இந்த விஷயத்தை ஒரு ஸ்டேக் என்று, அந்த நபர் எழுதப்பட்ட நீங்கள் மட்டும் இரண்டு செயல்பாடுகளை, அழுத்தம் மற்றும் அதன் ஒரே நோக்கம் வாழ்க்கையில் பாப், சரியாக செய்ய வேண்டும். நீங்கள் அல்லது அவரை அல்லது அவரது அந்த திட்டத்தை செயல்படுத்த யார் எவ்வாறு செயல்படுத்தலாம் என்பதை முடிவு செய்ய முற்றிலும் ஒரு இருந்திருக்கும் பேட்டை கீழே தள்ளும் மற்றும் உறுத்தும் பொருள்கள் அல்லது அழுத்தம் மற்றும் உறுத்தும் ஒரு செயல்பாடு. மற்றும் நான் இங்கே ஓரளவு shortsighted முடிவு செய்துவிட்டேன் இந்த எளிய தரவு கட்டமைப்பு ஏன் என் ஸ்டேக் செயல்படுத்த மூலம்? இந்த தரவு கட்டமைப்பு இடைவெளி என்ன? என்ன கட்டத்தில் நான் பயனர் புஷ் அழைப்பு உதாரணத்திற்கு, ஒரு பிழை திரும்ப வேண்டும்? [மாணவர்] எந்த இடத்தில் இருந்தால். சரியாக, எந்த இடத்தில், நான் திறன் மீறியுள்ளீர்கள் என்றால், நீங்கள் இல்லை அது உலக தொடர்ந்து சில வகையான என்று பரிந்துரைக்கிறது, ஏனெனில் இது அனைத்து வரம்பு இல்லை. சரி, பிறகு நான் மன்னிக்கவும், நான் மற்றொரு மதிப்பு தள்ள முடியாது ", சொல்ல போகிறேன் ஸ்டாக் மீது, "மிகவும் மாதர் போலவே. சில நேரத்தில், அந்த சிறிய அமைச்சரவை மேல் பகுதி அடிக்க போகிறாய். ஸ்டாக் இல்லை இடத்தை அல்லது திறன் பிழை சில வகையான அங்கு எந்த இடத்தில், அங்கு. அவர்கள், தட்டில் வேறு, வேறு எங்காவது உறுப்பு வைக்க வேண்டும் அல்லது எங்கும் இல்லை. இப்போது, ஒரு வரிசை மூலம், நாம் அதை வேறுவிதமாக ஒரு சிறிய செயல்படுத்த முடியும். ஒரு வரிசை பேட்டை அடியில், அது செயல்படுத்தப்படும் என்று ஒரு சிறிய வித்தியாசம் உள்ளது ஒரு அணி என, ஆனால் ஏன், இந்த விஷயத்தில், நான் யோசனை மேலும் பட்டியல் தலைவர் குறிக்கும் ஒரு தலை உறுப்பு வேண்டும், அளவு கூடுதலாக பட்டியலில் முன், ஆப்பிள் கடையில் வரிசையில் முதல் நபர்,? ஏன் நான் இங்கே தரவு கூடுதல் துண்டு வேண்டும்? என்ன எண்கள் மீண்டும் நினைக்கிறேன் நான் வரையப்பட்ட நான் அது பின்வருமாறு. , இந்த இப்போது அதற்கு பதிலாக ஒரு அடுக்கு வரிசையில் என்று நினைக்கிறேன் இருப்பது வெறும் ஆப்பிள் ஸ்டோர் வரிசையில் போன்ற வேறுபாடு நியாயமான உள்ளது. பட்டியலில் ஆரம்பத்தில் வரிசையில் முதல் நபர், இந்த வழக்கில் 5, அவர் முதல் கடைக்கு சென்று விட்டு போகிறது. தான் அதை செய்ய விடுங்கள். இந்த ஆப்பிள் ஸ்டோர் இப்போது நேரம் இந்த நேரத்தில் என் வரிசை நிலை, மற்றும் நினைக்கிறேன் திறக்கும் மற்றும் முதல் நபர், எண் 5, கடைக்கு சென்று தலைமையில் உள்ளது. எப்படி நான் முதல் நபர் டி வரிசைப்படுத்தப்படும் என்று இப்போது படத்தை மாற்ற வரி முன்னால் உள்ள? அது என்ன? >> [மாணவர்] வரிசை மாற்றம். தலை மாற்ற, அதனால் 5 மறைந்துவிடும். உண்மையில், இது செய்ய போல் எப்படி சிறந்த உள்ளது? இந்த பையன் மறைந்துவிடும் போல் உண்மையில், அது. எண் 7 ஒரு உண்மையான கடையில் என்ன செய்ய வேண்டும்? அவர்கள் முன் ஒரு பெரிய படி எடுக்கும். இது அணிகளை வரும்போது ஆனால் நாம் பாராட்ட வருகிறோம் மற்றும் சுற்றியுள்ள விஷயங்களை நகரும்? அந்த உரிமை, உங்கள் நேரம் ஒரு கழிவு வகையான? முதல் நபர் வேண்டும் என நீங்கள் ஏன் குத இருக்க வேண்டும் நினைவகம் துண்டின் ஒரு உடல் தொடக்கத்தில் வரி தொடக்கத்தில்? அந்த முற்றிலும் தேவையற்றது தான். ஏன்? நான் அதற்கு பதிலாக என்ன நினைவில் முடியும்? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] சரியாக, நான் இந்த கூடுதல் தரவு உறுப்பு தலையை நினைவில் முடியும் இப்போது பட்டியலில் தலைவர் அது ஒரு கணம் முன்பு இருந்தது, இனி 0 என்று. இப்போது அது உண்மையில் நம்பர் 1. இந்த வழியில், நான் ஒரு சிறிய தேர்வுமுறை கிடைக்கும். நான் ஆப்பிள் ஸ்டோரில் வரி ஆரம்பத்தில் வரிசையில் இருந்து யாரோ டி வரிசைப்படுத்தப்படும் தான் எல்லோரும் ஒரு நேரியல் செயல் இது திரும்ப, மாற்ற வேண்டும் என்று அர்த்தமல்ல. நான் அதற்கு பதிலாக மாறா நேரம் மட்டுமே செலவிட முடியும் பின்னர் மிக வேகமாக பதில் அடைய. ஆனால் நான் பணம் தான் விலை கூடுதல் செயல்திறன் பெற என்ன ஆகும் எல்லோரும் மாற்ற கொண்ட? Yeah. >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] மேலும் நபர்களை சேர்க்க முடியும், அந்த பிரச்சினை ஆர்த்தோகனல் உள்ளது நாங்கள் சுற்றி மக்கள் மாற்றுவதால் இல்லை என்ற உண்மையை. அதை நாம் அனைவரும் மாற்ற அல்லது-அல்லது அதனால், இன்னும் ஒரு வரிசை தான் ஓ, நான் சரியா, நீங்கள் என்ன பார்க்க. உண்மையில், நான் கிட்டத்தட்ட போல தான் என்று சொல்வது ஏற்றுக்கொள்ள நாம் இனி இந்த அணியின் தொடக்க பயன்படுத்த போவதில்லை நான் 5 நீக்க வேண்டும், ஏனெனில், நான் 7 நீக்க. ஆனால் நான் மட்டுமே உரிமை மக்களுக்கு உள்ளது. , நான் இடத்தை வீணாக்காமல் போல் தெரிகிறது, இறுதியாக என் வரிசை ஒன்றுமில்லை என்ற சிதைந்து எனவே தான், மக்கள் மடிச்சுற்றை ஆதரித்தால் முடியும் நாம், வட்ட அமைப்பு சில வகையான உண்மையில் இந்த வரிசைக்கு நினைக்கலாம் ஆனால் நாம் மடிச்சுற்றை ஆதரித்தால் அந்த மாதிரி செய்ய சி என்ன ஆபரேட்டர் பயன்படுத்த? [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> மட்டு ஆபரேட்டர். அது, நீங்கள் மடிச்சுற்றை ஆதரித்தால் எப்படி செய்வது மூலம் தான் ஒரு சிறிய எரிச்சலூட்டும் வேண்டும் ஆனால், நாம் அதை செய்ய முடியும், நாங்கள் வரி முன்னால் இருக்கும் பயன்படுத்தப்படும் என்ன மக்கள் போடுவதற்கு தொடங்க முடியும் ஆனால் நாம் மட்டும் வரி உண்மையான தலைவர் உண்மையில் யார் இந்த தலை மாறி கொண்டு நினைவில். என்ன, எனினும், நம் இலக்கு இறுதியில், அதற்கு பதிலாக, நீங்கள் , நாம் அனிதா என்ற நிலை இங்கு செய்தது போல், எண்கள் இருக்கும் இருந்தது ஆனால் உண்மையில் இந்த உலகின் சிறந்த வேண்டும்? நாம் வரிசை அனுமதிக்கும் விட நுட்பங்களுடன் வேண்டும் நாம் மாறும் தரவு கட்டமைப்பு வளர்ச்சி திறன் வேண்டும், ஏனெனில். ஆனால் நாம் சுட்டி காட்டினார் என்று ஒன்று நாட வேண்டும் விரும்பவில்லை முதல் விரிவுரையில், ஒரு சரியான வழிமுறை இல்லை நேரியல் தேடல் என்று. அதை நீங்கள், உண்மையில், சாதிக்க முடியும் என்று மாறும் அல்லது குறைந்தபட்சம் நேர மாறிலி அருகில், அதாவது அனிதா போன்ற ஒருவர், அவள் தரவு அமைப்பு கட்டமைக்கிறது ஒரு இணைக்கப்பட்ட பட்டியலில் இருக்க முடியாது, ஒரு அடுக்கு இருக்க கூடாது, ஒரு வரிசையில் இருக்க முடியாது, என்று, உண்மையில், அவரது விஷயங்களை பார்க்க அனுமதிக்கிறது என்று ஒரு தரவு கட்டமைப்பை கொண்டு வர கூட வார்த்தைகள், வெறும் எண்கள், என்ன நாம் தொடர்ந்து அழைக்கிறேன். மற்றும் உண்மையில், மேலே பார்த்து, இந்த வகுப்பில் psets ஒன்று எப்போதும் இருக்கும் ஒரு எழுத்து சரிபார்ப்பி செயல்படுத்துதல், அதாவது நாம் மீண்டும் சில 150,000 ஆங்கில சொற்களை நீங்கள் கொடுக்க மற்றும் இலக்கு ஆகும் நினைவகத்தில் அந்த ஏற்ற மற்றும் விரைவாக படிவத்தை கேள்விகளுக்கு பதிலளிக்க முடியும் இந்த வார்த்தை சரியாக எழுத்துக்கூட்டப்பட்டுள்ளதை? நீங்கள் பதிலளிக்க அனைத்து 150,000 வார்த்தைகள் மூலம் மீண்டும் கூறு இருந்தது என்றால் அது உண்மையில் சக் என்று. ஆனால், உண்மையில், நாம் மிக, மிக விரைவான நேரத்தில் அதை செய்ய முடியும் என்று பார்க்கலாம். அது ஒரு ஹாஷ் அட்டவணை என்று செயல்படுத்த ஒன்று, ஈடுபடுத்த நடக்கிறது முதல் பார்வையில் ஒரு ஹாஷ் அட்டவணை என அழைக்கப்படும் இந்த விஷயம் போகிறார் கூட இந்த சூப்பர் விரைவான பதிலை முறை நாம் அடைய நாம், அது ஒரு பிரச்சினை உண்மையில் உள்ளது என்று கூறினார். அதை மீண்டும் அழைத்து இந்த விஷயத்தை செயல்படுத்த நேரம் வரும்போது, நான் மீண்டும் அதை செய்கிறேன். நான் இங்கே ஒரே ஒரு இருக்கிறேன். அது வரும்போது இதை செயல்படுத்தும் நேரம், ஒரு ஹாஷ் அட்டவணை என்று நாம் ஒரு முடிவை எடுக்க வேண்டும். இந்த விஷயம் உண்மையில் எப்படி பெரிய இருக்க வேண்டும்? நாம் இந்த ஹாஷ் அட்டவணை செருகுவது எண்கள் தொடங்கும் போது, எப்படி இது போன்ற ஒரு வழியில் அவர்கள் சேமிக்க போகிறீர்கள் நாம் அவற்றை வைத்து நாம் விரைவாக மீண்டும் அவற்றை பெற முடியும் என்று? ஆனால் நாம் நீண்ட முன் பார்க்கலாம் என்று இந்த கேள்வி அனைவருக்கும் பிறந்த நாள் வர்க்கம் போது மிகவும் முக்கியமான இருக்கும். இது, இந்த அறையில், நாங்கள் நூறு ஒரு சில மக்கள் பெற்றுவிட்டோம் என்று மாறிவிடும் எங்களுக்கு இரண்டு அதே பிறந்த ஒருவேளை அழகான அதிகமாக உள்ளது என்று முரண்பாடுகள் எனவே. 40 நாங்கள் இந்த அறையில் இருந்தன என்ன? அதே பிறந்த கொண்ட இரண்டு பேர் முரண்பாடுகள் என்ன? [மாணவர்கள்] 50% க்கும் மேல். சரி, 50% மேல். உண்மையில், நான் கூட ஒரு விளக்கப்படம் கொண்டு. அதை மற்றும் மாறும் இந்த உண்மையில் ஒரு பிரத்யேக உள்ளது முன்னோட்ட- இந்த அறையில் மட்டுமே 58, எங்கள் 2 நிகழ்தகவு இருந்தால் அதே பிறந்த கொண்டு, கிட்டத்தட்ட 100% மிகவும் அதிகமாக உள்ளது மற்றும் புதனன்று எங்களுக்கு காயம் ஒரு மொத்தமாக ஏற்படுத்த நடக்கிறது. என்று கொண்டு, அது இங்கே தள்ளிப்போடு நாம். நாம் புதன்கிழமை நீங்கள் காண்பீர்கள். [கரவொலி] [CS50.TV]