[இசை] டேவிட் ஜே MALAN: இந்த போன்ற ஆகிறது ஒரு புதியவர்களை கருத்தரங்கு இன்று. சரி. வெளியே எனவே மழை. இந்த புதன்கிழமைகளில் நடக்க முனைகிறது, ஆனால் அனைத்து இன்னும் வாய்ப்பு கேள்விகள் இன்று. எனவே உண்மையில் ஆஃப் ஆரம்பிப்போம் ஒரு நொடியில் படம். ஆனால் நாம் எப்போதும் போன்ற விமரிசையாகக் தொடங்க வேண்டும். இந்த CS50 தான், இந்த வாரம் 4 இறுதியில் உள்ளது. நீங்கள் எப்போதும் பார்த்த என்றால் டிவி அல்லது ஒரு படம் அங்குதான் சில கணினி நிபுணர்கள் அங்கே மற்றும் போலீஸ், அல்லது FBI, அல்லது சில நிறுவனம் சில பிடிக்க முயற்சி விரோதி, நன்றாக, நீங்கள் போயிருக்கிறீர்கள் ஒருவேளை ", அதிகரிக்க" வெளிப்பாடு கேட்டது அதன்படி என்று தொழில்நுட்ப எப்படியோ மாயமாக எண்ணற்ற உயர்வு குற்றவாளிகள் என்பதை இதுவரை அடையாளம் அல்லது உரிமம் தகடு எண் ஒரு கண்ணாடி கூட பளபளப்பு உள்ள அல்லது ஒருவரின் கண் கற்றையை. எனவே உண்மையில், அது பாருங்கள் அனுமதிக்க ஹாலிவுட் இருந்து ஒரு சில போன்ற காட்சிகள். [மறுஒளிபரப்பு வீடியோ] -OK, இப்போது நீங்கள் ஒரு நல்ல தோற்றம் பெற வேண்டும். அது -Hold. என்று மீண்டும் இயக்கவும். ஒரு நிமிடம் -Wait. வலது போக. -இருக்கின்றன, என்று நிறுத்தப்படலாம். -முழு திரை. -OK, என்று நிறுத்தப்படலாம். நீங்கள், என்று எழுந்து வருபவைகளை இறுக்கமாக்கு? என்று உள்ள -Vector மீண்டும் சக்கரம் மூலம் பையன். சரியான இங்கே இந்த இடத்தில் உள்ள-பெரிதாக்கு. சரியான உபகரணங்கள் -உடன், படத்தை விரிவாக்கப்பட்டு கூரான. -என்ன அது? -இது ஒரு விரிவாக்கம் திட்டம் தான். எந்த வரை என்று தெளிவாக நீங்கள் சரி, அவற்றிற்கு? -எனக்கு தெரியாது. அதை மேம்படுத்த வேண்டும். -Enhance பிரிவில், A6. நான் விரிவாக மேம்படுத்தப்பட்ட, ஆகியவை நான் இருக்கிறது என்று நான் நினைக்கிறேன் அதிகரிக்க போதுமான, என் திரையில் அதை வெளியிட. நான் அவள் கண்ணில் பிரதிபலிப்பு அதிகரிக்கப்பட்டது. விடு மூலம் இந்த இயக்க வீடியோ மேம்படுத்தல். -Edgar, நீங்கள் இந்த அதிகரிக்க முடியும்? மீது -Hang. இந்த பிரதிபலிப்பு வேலை நலன். -Someone பிரதிபலிப்பு. -Reflection. மனிதனின் முகத்தை ஒரு பிரதிபலிப்பு-தான். அதாவது பிரதிபலிப்பு. ஒரு பிரதிபலிப்பு-தான். கண்ணாடியில் உள்ள-பெரிதாக்கு. -நீங்கள் ஒரு பிரதிபலிப்பு பார்க்க முடியும். நீங்கள் இங்கிருந்து படத்தை அதிகரிக்க சரி, அவற்றிற்கு? நீங்கள் அவனை இங்கே அதிகரிக்க சரி, அவற்றிற்கு? நீங்கள் அதை அதிகரிக்க சரி, அவற்றிற்கு? நீங்கள் அதை அதிகரிக்க முடியுமா? நாங்கள் இந்த அதிகரிக்க சரி, அவற்றிற்கு? நீங்கள் அதை அதிகரிக்க சரி, அவற்றிற்கு? இரண்டாவது -Hold, நான் அதிகரிக்க வேண்டும். கதவை மீது-பெரிதாக்கு. 10 -Times. -பெரிதாக்கு. -உள்ளே போ. மறுவேலை. -Wait, நிறுத்த. நிறுத்து. அது -Pause. எங்களுக்கு 75 டிகிரி -Rotate செங்குத்து சுற்றி, தயவு செய்து. நிறுத்து. பகுதி திரும்பிச் சென்று மீண்டும் கதவை, பற்றி. படங்கள் எப்படி முடியும் என்று ஒரு படத்தை enhancer-Got? -Hey, ஒருவேளை நாம் பிரதீப் பயன்படுத்த முடியும் சென் முறை ஜன்னல்கள் மீது பார்க்க. -இந்த மென்பொருள் கலை மாநில உள்ளது. அதாவது eigenvalue ஆஃப் ஆகும். வலது -உடன் படிமுறை இணைந்து -அவர் தான் எடுத்து நீக்குதல் அடுத்த நிலை வழிமுறைகள், நான் அவற்றை பயன்படுத்த முடியும் இந்த புகைப்படத்தை அதிகரிக்க. மீது -Lock மற்றும் z அச்சு பெரிதாகும். -Enhance. -Enhance. -Enhance. -Freeze மற்றும் மேம்படுத்தும். [END மறுஒளிபரப்பு] டேவிட் ஜே MALAN: சரி, அந்த அனைத்து உண்மையில் வார்த்தைகள் உள்ளன. அவர்கள் தான், ஒரு ஒன்றாக கோர்வையாக உண்மையில் விவேகமான இல்லை என்று வழி. இது போன்ற மேலும், உண்மையில் Cs50 மற்றும் படிப்புகள் தொலைக்காட்சி மற்றும் திரைப்படங்களில் நிறைய அழிக்க முனைகிறது உங்களுக்காக. போது அந்த கணினி நிபுணர்கள் ஏனெனில் அடிப்படையில் ஆஃப் rattling மற்றும் சொல்கிறீர்கள் போன்ற ஆடம்பரமான விஷயங்கள் eigenvectors மற்றும் z அச்சின் மற்றும் பிற எந்த எண் உண்மையில் இன்னும் தொழில்நுட்ப அடிப்படையில், அவர்கள் உண்மையில் வெறும் stringing வார்த்தைகள் ஒன்றாக அடிக்கடி. எங்கள் நம்பிக்கைகள் ஒன்றாக என்று உள்ளது, எடுக்கும்போது படிப்புகள் ஒரு பக்க விளைவு இது போன்ற, நான் இன்னும் மக்கள் உலக உண்மையில் எடையை செய்ய முடியும் மற்றும் எப்போதும் மிகவும் சற்று பாதிக்க தரம் மற்றும் அந்த படங்களில் துல்லியம்? உண்மையில், இது உண்மையில் ஒரு முறை பார்ப்போம். எனவே இங்கே ஊழியர்கள் புகைப்படம் மேரி, எங்கள் ஆசிரியர் கூட்டாளிகள் ஒன்று. அவள் என்று நினைக்கிறேன் ஏதாவது சந்தேகம். இன்னும், ஒரு மங்கிய ஒளியினை தான் அவள் கண்ணில் சான்றுகள் சில துண்டு, அல்லது அவரது கண்ணாடி பிரதிபலிப்பில். சரி, நாம் படங்களில் சரியாக செய்தால் நாம் பெரிதாக்க மற்றும் "விரிவுபடுத்துதல்" அங்குதான், முன்மொழிய, இந்த எவ்வளவு தகவல் இல்லை மேரி முகத்தில் ஆகிறது நீங்கள் படம் பிடிக்க போது என்று அசல் தீர்மானம். மேலும், உண்மையில், நீங்கள் இந்த புள்ளிகள் பார்க்க முடியும். இந்த என்ன உள்ளன என்று பிக்சல்கள், பி நான் எக்ஸ்-இ-எல்-எஸ், இது பொதுவாக ஒரு சதுர என்று ஒரு படத்தை உருவாக்குகிறார் என்று ஒரு புள்ளி தான். மீண்டும் நாளில், உண்மையில் கூட இன்றைய LED தொலைக்காட்சிகள் சில இன்று அல்லது LCD தொலைக்காட்சிகள், நீங்கள் கிடைத்திருக்கிறது என்றால் உங்கள் அறையில் அல்லது வீட்டில் ஒரு, நீங்கள் அதை சூப்பர் நெருங்கிய வரை செல்ல, மற்றும் என்றால் இது ஓரளவு பழைய டிவி குறிப்பாக, ஒருவேளை நீங்கள் கூட இந்த புள்ளிகள் பார்க்க முடியும் என்று ஒரு படத்தை உருவாக்கும் என்ன. இனி இல்லை இதை விட தகவல். நாம் என்ற அர்த்தத்தில், "அதிகரிக்க முடியும்" மேல் மற்றும் வகையான விஷயங்களை வழுவழுப்பான வகையான, அப்படி என்ன அனுமானித்தல் வண்ண மேரி கண் அடுத்த இருக்க வேண்டும் அதனால் அது உண்மையில் எந்த pixelated இல்லை. ஆனால் நான் பெரிதாக்க வைத்து இருந்தால், அங்கு அவள் கண்ணில் கெட்ட பையன். அப்படியே இருக்கிறது தகவல் நாம் வேண்டும். நீங்கள் உருவாக்க முடியாது எதுவும் வெளியே தகவல். ஒரே ஒரு வரையறுக்கப்பட்ட இருக்கிறது அங்கு பிட்கள் எண்ணிக்கை. 4 அமை பிரச்சனை, அங்கு எனவே நீங்கள் ஒரு வாய்ப்பு உலகின் இந்த வகையான விளையாட வேண்டும். 4 அமை பிரச்சனை, நீங்கள் ஆராய வேண்டும் கிராபிக்ஸ், மற்றும் ஆய்வுத்துறை உலக, உண்மையில் குறியீடு எழுத என்று இழந்த படங்களை சரியாகிறது. நீங்கள் குறியீடு எழுத வேண்டும் என்று இருக்கும் படங்களை கையாளுகிறது இறுதியில் என்ன புரிந்து பேட்டை அடியில் நடக்கிறது. மேலும், அது உண்மையில், மாறிவிடும் அனைத்து அந்த சிக்கலான அல்ல. உதாரணத்திற்கு, நாம் வேண்டும் ஒரு ஸ்மைலி முகத்தை எங்கே பிரதிநிதித்துவம் இந்த கருப்பு பிக்சல்கள், அல்லது இந்த கருப்பு புள்ளிகள், சரி, நாம் வெறுமனே பிரதிநிதித்துவம் முடியும் அவர்கள் உண்மையிலேயே ஒரு பிட்மேப். மற்றும் நீங்கள் எப்போதும் என்று கேட்டேன் வெளிப்பாடு பிட்மேப், ஒருவேளை அது இப்போது ஒரு செய்ய தொடங்குகிறது இன்னும் சிறிது உணர்வு இன்று. நாம் ஏற்கனவே ஒரு பிட் என்ன. அது 0 அல்லது 1 தான். மற்றும் ஒரு வரைபடத்தை ஒன்று உள்ளது ஒரு துண்டு பேப்பரில் போன்ற என்று நீங்கள் திசைகளில் கொடுக்கிறது மற்றும் உள்ளது ஒருவேளை x- மற்றும் y- ஆய ஒரு கட்டம். எனவே இங்கு ஒரு பிட்மேப். அது பிட்கள் ஒரு வரைபடத்தை தான் அதன்படி ஒரு 1 வெளிப்படையாக உள்ளது ஒரு வெள்ளை பிக்சல் பிரதிநிதித்துவம் போகிறது, மற்றும் ஒரு 0 ஒரு கருப்பு பிக்சல் பிரதிநிதித்துவம் போகிறது. ஆனால் நாம் நிச்சயமாக அதை சுற்றி புரட்ட முடியும். அது உண்மையில் இல்லை மிகவும் செய்கிறது நாங்கள் சீரான இருக்கும் என நீண்ட. இங்கு உள்ளே பைனரி உள்ள, எப்படி உள்ளது ஒரு கணினியின் நினைவகம், அல்லது கூட உள்ளே உங்கள் கடின உள்ள ஒரு கோப்பின் drive-- நீங்கள் சேமிக்க ஸ்மைலி முகத்தை படங்களை எளிய. ஆனால் நாம் என்ன, நிச்சயமாக, இந்த படத்தை குறை? கலர், சரியான? அது ஒரு தெளிவான அடுத்த படி தான் அல்லது விரிவாக்கம் வண்ணம் இந்த மேம்படுத்த. எனவே துரதிருஷ்டவசமாக ஒரு ஒற்றை கொண்டு பிட், 0 அல்லது 1, நாம் வண்ண பிரதிநிதித்துவம் முடியும். அந்த சிவப்பு, அல்லது நீல இருக்கும், அல்லது, முடியும் கருப்பு, வெள்ளை அல்லது, அல்லது பச்சை அல்லது இளஞ்சிவப்பு, அல்லது நிறங்கள் எந்த ஜோடிகள். ஆனால் எளிமை மீது ஆணையாக, நாம் தருகிறேன் வெறும் கருப்பு மற்றும் வெள்ளை கொள்கிறது. எனவே தர்க்கரீதியாக நாங்கள் என்றால் வேண்டும் என்ன நாங்கள் ஒரு படத்தை வண்ண செயல்படுத்த வேண்டும்? நாம் என்ன செய்ய வேண்டும்? இங்கே கட்டுப்படுத்தும் காரணி என்றால் பிடிக்கும் ஒரு பிட் உள்ளது என்று நீங்கள் மட்டுமே முடியும் ஆகிறது இரண்டு மாநிலங்களில், 0 அல்லது 1, வெள்ளை பிரதிநிதித்துவம் அல்லது கருப்பு, நீ என்ன செய்ய வேண்டும் என்று விரும்புகிறீர்கள்? பார்வையாளர்கள்: மேலும் தரவு. டேவிட் ஜே MALAN: மேலும் துணுக்குகள், ஆமாம் இன்னும் தரவு, மேலும் பிட்கள். உண்மையில், என்று சரியாக எப்படி வண்ண படங்களை குறிப்பிடப்படுகின்றன. ஒரு பிட் பயன்படுத்த விட, ஒரு 0 அல்லது ஒவ்வொரு பிக்சல் 1, ஒவ்வொரு டாட், நீங்கள் பல பயன்படுத்த. ஒருவேளை ஒருவேளை, மிகவும் பொதுவாக, 8 பயன்படுத்த பிரச்சனை தொகுப்பில், உண்மையில் 24 பயன்படுத்த, மற்றும் 4, நீங்கள் ஒரு கோப்பு விளையாட வேண்டும் பொதுவாக 24 பிட்கள் பயன்படுத்துகிறது என்று வடிவம். ஆனால் நீங்கள் பெரும்பாலும் உள்ளன JPEG படங்கள் தெரிந்திருந்தால். நீங்கள் எப்போதும் எடுத்து இருந்தால் உங்கள் தொலைபேசியில் ஒரு புகைப்படம், அல்லது பதிவேற்றம் அல்லது ஏதாவது பார்த்திருக்கிறேன் பேஸ்புக், அல்லது பிளிக்கர், எந்த எண் புகைப்படம் சார்ந்த வலைத்தளங்கள், நீங்கள் போயிருக்கிறீர்கள் ஒருவேளை, முன்பு ஒரு JPEG படத்தை பார்த்த. அது இந்த கோப்பு, மாறிவிடும் வடிவம் நாம் pset 4 இல் பயன்படுத்த போகிறோம் அதன்படி, போகிறோம் படங்களை மீட்க வேண்டும் நான் தற்செயலாக ஒரு இருந்து நீக்கப்படும் என்று கேமரா ஊழல் மெமரி கார்டு, நீங்கள் கூட. அவுட் மற்றும் அது மாறிவிடும் என்று கூட JPEG, அழகான sophisticated-- ஆகிறது இது மிகவும் சிக்கலான விஷயம் கருப்பு மற்றும் வெள்ளை புள்ளிகள் விட அங்கு தான் நாம் ஒரு கணம் முன்பு பார்த்தேன் உண்மையில் ஆடம்பரமான நெறிமுறைகள் என்று எனவே, ஒரு JPEG சுருங்க பயன்படுத்தப்படுகின்றன உங்களுக்கு ஒரு நல்ல இருக்க முடியும் என்று, தரமான படம் ஆனால் பயன்படுத்தி ஒப்பீட்டளவில் சில பிட்கள். நாம் திரும்பி வருவாள் நீண்ட காலத்திற்கு முன்பே அமுக்க. அது முதல் என்று மாறிவிடும் ஒரு JPEG படத்தை மூன்று பைட்டுகள் எந்த விஷயத்தை நீங்கள் ஒரு புகைப்படம் எடுத்திருப்பார் என்ன of-- மதிப்புகள் 255, 216, 255 உள்ளன. வேறு வார்த்தைகளில் சொன்னால், நீங்கள் என்றால் வெறும் பிட்கள் என்று முறை பார்க்க, மூன்று இங்கு குறிப்பிடப்படுகின்றன பைட்டுகள், அல்லது 24 பிட்கள் மொத்தம் உயர் நிகழ்தகவு நீங்கள் என்று தெரிகிறது நீங்கள் இந்த முதல் மூன்று அதை பார்த்து ஒரு JPEG பைட்டுகள். இது என்ன அறியப்பட்ட தான் ஆகிறது ஒரு JPEG கையொப்பம் என. கோப்பு வடிவங்கள் நிறைய தொடங்க இருப்பது இயல்பு வெளியே 0 க்கள் மற்றும் 1 சில வடிவங்கள் கொண்ட, விண்டோஸ், மற்றும் Mac OS, மற்றும் iOS அதனால், மற்றும் Android தெரிகிறது கோப்பு என்ன மாதிரியான அவர்கள் என்று அழைக்கப்படும் கோப்பு கூடுதலாக, உள்ளன நீட்டிப்பு கோப்புகளை நிறைய வேண்டும் என்று. நீங்கள் jpg, என்றால், அந்த இருக்கிறது கணினியில் மற்றொரு துப்பு. எனவே இப்போது, இந்த நேரத்தில் நாம் மேலும் தொழில்நுட்ப ஒரு சிறிய. நாம் தசம தெரிகிறோம் கணினி 9 வழியாக 0 ஆகிறது. நாம், பைனரி 0 மற்றும் 1 தெரியும். நீங்கள் pset திரும்ப நினைத்தால் 0, நாம், நீங்கள் மல்யுத்தம் இருந்தது சிறிது, ஏதாவது அறுபதின்ம என்று, நீங்கள் 16 இலக்கங்கள் வேண்டும், அங்கு, அதற்கு பதிலாக 10 அல்லது பதிலாக 2. அந்த இலக்கங்கள், மரபு, ஒரு 9 மற்றும் மூலம் 0 உள்ளன ஊ என்ன பிரதிபலிக்கிறது அங்கு ஊ, மூலம் ஒரு விரைவான நல்லறிவு என தசம எண், பார்க்கலாம்? எனவே, 15. மற்றும் ஒரு வெறும் மூலம், 10 குறிக்க வேண்டும் நான் கொடுத்து விட்டேன் என்று வரிசைப்படுத்தும் இயல்பு. அது ஒரு தன்னிச்சையான மாநாடு தான் ஆனால் அது மிகவும் நிலையான தான். நாங்கள் இந்த முறை பார்த்து என்றால் மூன்று அனுமதிக்க தான் சி அதை உள்ள பார்க்க ஆரம்பிப்பார்கள் எப்படி சீரான முறையில் பொதுவாக கணினி விஞ்ஞானிகள் பார்த்து கோப்புகளை பற்றி யோசிக்க. நீங்கள் நிச்சயமாக பற்றி யோசிக்க முடியும் 0 க்கள் கோப்புகளை, மற்றும் 1 வி தசம, ஆனால் உண்மையில், நாம் பைனரி பயன்படுத்த முனைகின்றன அல்லது அதற்கும் அதிகமான hexadecimal-- மீண்டும் pset 0 இருந்து. எனவே என்னை முன்மொழிய விரும்புகிறேன் என்று 255, 216, மற்றும் 255 0 க்கள் மற்றும் 1 வி தான் இந்த முறைகள் உள்ளன. நீங்கள் இந்த என்றால் சரிபார்க்க முடியும் வீக் 0 இருந்து கணித செய்ய வேண்டும். ஆனால், இப்போது, தான் கருதி என்று இந்த உண்மையில் சரியாக இருக்கிறது. நான் மூன்று தசம தருவதோடு மூன்று பைனரி மதிப்புகள் எண்களை. இப்போது நான் என்ன செய்ய போகிறேன் சில வெள்ளை விண்வெளி சேர்க்க, வெறும் வாசிப்பு என்றார். அறிவிப்பு, நான் போகிறேன் விஷயங்களை தவிர நகர்த்த. எனவே முன், பின், முன், பிறகு. நான் பிற சுவாரஸ்யமான எதுவும் செய்து வெறும் விஷயங்கள் வெளியே பரப்பி விட என்று அறிவிப்பு எட்டு ஒவ்வொரு தொகுப்பு பிட்கள் இப்போது நான்கு பிட்கள் இரண்டு செட் உள்ளது. இந்த அறுபதின்ம ஏனெனில் பயனுள்ளதாக இருக்கும் குறிப்பாக நாகரீகமாக உள்ளது ஏனெனில் ஒவ்வொரு அறுபதின்ம இலக்க ஐக்கிய 0 மூலம் f, அல்லது இன்னும் குறிப்பாக 0 மூலம் 15, பிரதிநிதித்துவம் சரியாக நான்கு பிட்கள். வேறு வார்த்தைகளில் கூறுவதானால், அறுபதின்ம நீ என்றால் அது 0000 தான், ஒரு 0 பிரதிநிதித்துவம் வேண்டும், நான்கு டோ. நீங்கள் 15 பிரதிநிதித்துவம் வேண்டும் என்றால், அது நான்கு பிட்கள் இது, 1111 தான். நீங்கள் கணித செய்தால், இந்த விளக்கங்களை இடத்தில் இருந்தால், இந்த, 16s இடத்தில் உள்ளது என்று உங்களுக்குக் கொடுக்க நடக்கிறது மாறாக அந்த நடக்கிறது மன்னிக்கவும் to--, பைனரி உள்ள, 15 நீங்கள் கொடுக்க நடக்கிறது நபரை இடத்தில், twos இடத்தில், பவுண்டரி, eights இடத்தில். எனவே எனக்கு அந்த முன்மொழிய விரும்புகிறேன் என்று இடது நான்கு பிட்கள் அமைக்க நாம் f அழைக்க போகிறோம் என்ன. அது பெரிய எண் நீங்கள் நான்கு பிட்கள் சேர்ந்து பிரதிநிதித்துவம். நாம் ஏற்கனவே அறுபதின்ம இருந்து தெரியும், ஊ அறுபதின்ம மிகப்பெரிய இலக்க உள்ளது. நாம், அங்கு மற்றொரு ஊ கிடைத்துவிட்டது இரண்டு அங்கு மிகவும். மற்றும் இப்போது, வெறும் நம்பிக்கை எடுத்து நான் கணித வலது செய்யவில்லை என்று மற்றும் இடது பகுதியில் அந்த பிட்கள் 1101 இன், அறுபதின்ம ஈ அதே விஷயம். மற்றும் வலது கை, 1000, வெறும் 8 ஆகிறது. மற்றும் எளிதாக என்று ஒரு உரிமை, பார்க்க? 8 பிரதிபலிக்கிறது வலது ஆகிறது என்று eights இடத்தில் அடியில். எனவே நாம் Eights பத்தியில் ஒரு வேண்டும் மற்றும் பவுண்டரிகள், இரண்டு இரண்டு பேராக அல்லது தான் ஏதும் இல்லை. எனவே இப்போது மேலும் வழக்கமாக, மனிதர்கள் முனைகின்றன இது போன்ற அறுபதின்ம இலக்கங்கள் எழுத, நீங்கள் தான், அவற்றை ஒன்றாக பிழி பின்னர் நீங்கள் 0x அவர்களை முன்னொட்டு. அது தவிர வேறு ஒன்றும் இல்லை ஒரு human-- ஒரு காட்சி துப்பு இங்கே ஒரு அறுபதின்ம மதிப்பு ஏனெனில் வருகிறது அது இல்லையெனில் தெளிவாக இருக்க வேண்டும். எந்த என்று, இறுதியில், சொல்ல வேண்டும் பூஜ்ஜியங்களைக் முறை, அல்லது அறுபதின்ம முறை இலக்கங்கள் சமமான நீ அந்த தேடும் தொடங்க போகிறது பிரச்சனை அமை உள்ள 4 இதை ஆகிறது மற்றும் 4 அமை பிரச்சனை ஸ்பெக் நடக்கும் மேலும் detail-- இந்த வழியாக நீங்கள் ஆனால் கமுக்கமான வகையான என உணர இந்த, முதல் பார்வையில் பார்க்க வேண்டும் நீங்கள் இந்த நிறைய பார்த்து தொடங்க போகிறோம். உண்மையில், கூட GDB, வழு நாங்கள் திங்களன்று அறிமுகப்படுத்தப்பட்டது மற்றும் டான் pset 3 இல், போகிறது அறிமுகப்படுத்துகிறது அடிக்கடி நீங்கள் அறுபதின்ம மதிப்புகள் காட்ட அவர்கள் இன்னும் இருக்கும் ஏனெனில் தசம அல்லது பைனரி விட வழக்கமான கணினிகள் உலகில். இப்போது உள்ளடக்கத்துக்குள் வைக்க அனுமதிக்க. பல இந்த நினைவிருக்கும் இன் என்ன இருந்து வந்த, இங்கே படமாக? விஸ்டா, அதனால் கூட முந்தைய விட என்று, விண்டோஸ் எக்ஸ்பி இந்த அறிமுக செய்தார். எனவே, இந்த ஒரு அழகான இயற்கை ஆகிறது. உண்மையில், நீங்கள் செய்கிறேன் ஆன்லைன் சுற்றி குத்தியிருக்கும் என்றால் நான் அதை ஒரு விக்கிபீடியா கட்டுரை தான், அங்குதான் யாரோ மிகவும் அதிசயமாக வெளியே சென்றார் காணப்படும் உலகில் இந்த இடம் அமைக்க அல்லது அவரது கேமரா துல்லியமாக சரியான இடத்திலும் இந்த இன்று போன்ற தெரிகிறது ஆனால் அது சரியாக அதே அமைப்பை தான். இந்த படத்தை, எனினும், ஒரு கோப்பு உள்ளது வடிவம் என்று பிட்மேப், ஆ மீட்டர் ப. நாம் ஒரு சூப்பர் எடுக்க போகிறோம் என்று அர்த்தம் என்ன விரைவான பார்வையில். ஆனால் பிட்மாப் தான் ஒரு வித்தியாசமான வழி குறிக்கும் படங்களை இன்னும் பிக்சல்கள் பயன்படுத்தி 0 க்கள் மற்றும் 1 வி, இறுதியில். ஆனால் விரைவான பார்வையில், அது உள்ளது ஒரு சுவாரசியமான கையெழுத்து கோப்பு ஆரம்பத்தில். அது வெறும் மூன்று தான் பைட்டுகள், மாறாக அங்கு தான் பைட்டுகள் வடிவங்கள் ஒரு மொத்தமாக என்று பொருள் முன்னரே தீர்மானித்து விட்டோம். உதாரணமாக, எங்கோ ஒரு பிட்மாப் படம் முதல் சில பைட்டுகள் அளவு இருக்க போகிறது படம், படத்தின் அகலம், படத்தை உயரம், அதனால் பயனுள்ள மெட்டா, நீங்கள் கூட. பயனுள்ள தகவல் என்று ஃபோட்டோஷாப் அல்லது எந்த கிராபிக்ஸ் நீங்கள் பயன்படுத்தும் நிரல் உண்மையில் பற்றி கவலை வேண்டும். இந்த மிக அதிக, பிரச்சனை தொகுப்பு 4, ஆனால் இந்த என்று சொல்ல மட்டுமே ஆகிறது நாள் முடிவில் நீங்கள் பயன்படுத்தி வருகிறேன் அனைத்து கோப்பு வடிவங்கள் years-- மைக்ரோசாப்ட் வேர்ட் கோப்புகளை, எண்கள் கோப்புகள், எக்செல் கோப்புகளை, கோப்பு வடிவங்கள் எந்த எண் என்று சில வேண்டும் அறியப்பட்ட கோப்பு நீட்டிப்பு பேட்டை அடியில் வெறும் 0 க்கள் மற்றும் 1 வி இருக்கும். மற்றும் மனிதர்கள் முடிவு மரபுகளை என்ன, என்ன 0 க்கள் மற்றும் 1 வி வகைகளை பிரதிநிதித்துவம் ஒரு வார்த்தை, ஒரு எக்சல் கோப்பை எதிராக தாக்கல் பிற கோப்பு வடிவங்கள் எந்த எண் எதிராக. Pset 4 இல் எனவே, நீங்கள் ஒரு வேண்டும் சந்தர்ப்பத்தையும் விளையாட வேண்டும். ஆனால் என்ன இருக்கிறது இது ஒரு struct அர்த்தம். இந்த இப்போது உண்மையில் ஒரு நல்ல segue ஆகிறது ஒரே ஒரு ஜோடி கொண்ட ஒரு சி, கூடுதல் அம்சங்கள் என்று நாம் இன்னும் பார்த்து இல்லை. அது ஒரு அழகான சிறிய மொழி மற்றும் ஒன்று தான் சி பற்றி நல்ல அம்சங்களை ஒரு struct உள்ளது. உதாரணமாக, நீங்கள் என்றால் நாம் பிரதிநிதித்துவம் வேண்டும் நீங்கள் ஒரு மாறி வேண்டும் என்று என்று சில திட்டத்தில் ஒரு மாணவர் பிரதிபலிக்கிறது. ஒருவேளை நீங்கள் ஒரு நிச்சயமாக எழுதி பதிவு திட்டத்தின், அல்லது முக்கிய ஷாப்பிங் கருவி, அல்லது அது போன்ற ஏதாவது. தொடர்பான தகவல்களை துண்டுகள் என்ன மனதில் வந்து என்று ஒரு மாணவர்? ஒரு மாணவர் போல் மதிப்புகள் பற்றி குறிப்பிடப்படுகின்றன? ஆமாம்? நீங்கள் ஒரு மாணவர் என ஒரு பெயர் உண்டு. ஒரு வழக்கமான மாணவர் வேறு என்ன வேண்டும்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: எனவே, மன்னிக்கவும். பார்வையாளர்கள்: வயது. டேவிட் ஜே MALAN: ஒரு வயது அல்லது பிறந்த நாள் சமமான, இங்கும். வேறு என்ன? பார்வையாளர்கள்: அடையாள எண்? டேவிட் ஜே MALAN: ஒருவேளை எனவே ஒரு ஐடி எண், ஒரு தொலைபேசி எண், ஒருவேளை ஒரு தங்குமிடம், அல்லது வீட்டில், கல்லூரி, அல்லது அது போன்ற ஏதாவது அல்லது. தரவு துண்டுகள் எந்த எண் என்று நீங்கள் உங்கள் தொடர்புகள் பட்டியலில் வேண்டும் ஒரு மாணவர் வரையறுக்க கூடும். நாங்கள் குறியீடு, இதை செய்ய வேண்டும் என்றால், நாம் இந்த எளிய அப்படி ஏதாவது செய்ய வேண்டும். நாம் என்று ஒரு திட்டம் வேண்டும் உள்ளது, என்று எண்ணாக முக்கிய (வெற்றிடத்தை) நாம். நான் ஒரு பிரதிநிதித்துவம் வேண்டும் என்றால் நான், உதாரணமாக, வேண்டும் மாணவர், அந்த மாணவர் பெயர் என்று ஒரு சரம், அந்த மாணவர் தங்குமிடம் என்று ஒரு சரம், ஒருவேளை ஒரு முழு எண்ணாக அந்த மாணவர் அடையாள என்று. மற்றும் நான் சரம் பயன்படுத்தி தான் காரணம், நான் CS50.h. திரும்பி சென்று போட வேண்டும் ஒருவேளை நான் stdio.h வேண்டும் போகிறேன். எனவே, என்னை முன்னெச்சரிக்கை அந்த செய்வோம் மற்றும் நான் இப்போது இந்த student.c அழைக்க போகிறேன் இந்த சேமிக்க. இப்போது நான் ஏதாவது செய்ய முடியும் இந்த மாறிகள் கொண்டு. நாம் தான் எழுத போகிறோம் என்று போலி குறியீடு ஒரு கருத்தை, அது சுவாரசியமாக இல்லை, ஏனெனில் நாம் இப்போது என்ன. சரி, இந்த ஒரு திட்டம் என்று எப்படியோ ஒரு மாணவர் சேமித்து. நான் என்றால் என்ன செய்ய வேண்டும்: நான் இரண்டு மாணவர்கள் சேமிக்க வேண்டும்? என் முதல் உள்ளுணர்வு போகிறது ஒரு நிமிடம், சரி இருக்க, நான் மற்றொரு மாணவர் இருந்தால் நான் ஏன் செய்ய வெறும் சரம் பெயர் 2, சரம் தங்குமிடம் 2, செய்ய எண்ணாக id2. நாம் சென்று செய்துவிட்டேன் இந்த சாலை முன் கீழே மற்றும் தெரிகிறது என்ன எங்கள் தீர்வு என்ன இருந்தது ஒரு hackish நகல் விழுது என்ன இருக்க இங்கே வேலை? பார்வையாளர்கள்: ஒரு வரிசை. டேவிட் ஜே MALAN: ஆமாம், நாம் ஒரு வரிசை பயன்படுத்த முடியும். வலது இந்த மிக விரைவில் கடினம் ஆகும். நீங்கள் தன்னிச்சையாக என்ற வரிசைப்படுத்த வேண்டும் இந்த மாறிகள் அனைத்து பெயரிடும் தொடங்கும். நீங்கள், மனித, வைத்திருக்க வேண்டும் அது சரி NAME2, ஒத்துள்ளது கண்காணிக்க dorm2 கொண்டு id2 தொடர்புடையது. அது ஒரு குழப்பம் ஆகிறது. எனவே, நிறைய எளிதாக ஒரு சில வாரங்களுக்கு முன்பு இருந்து நினைவுகூர, தான் என்று சரம் பெயர்கள் கொண்ட ஒருவேளை எங்களுக்கு அந்த மூன்று கொடுக்க. பின்னர் ஒருவேளை நாம் வேண்டும் சரம் தங்கும் மற்றும் வேண்டும் அந்த மூன்று, அல்லது ஒரு நிலையான கொண்ட, ஐடிகள் int, அந்த மூன்று வேண்டும். ஆனால் கூட இப்போது இந்த உணர்கிறது ஒரு சிறிய சேறும் சகதியுமான, சரி. நாம் இன்னும் மாணவர்கள் மற்றும் பற்றி பேசுகிறீர்கள் நான் உண்மையில் குறைந்த அளவில் குடியிருக்கிறேன் செயல்படுத்த விவரங்கள். மாணவர் ஒரு பெயர் மற்றும் ஒரு தங்குமிடம் மற்றும் ID ஆகும். ஏன் நான் ஒரு மாறி அறிவிக்க முடியாது மாணவர் என்று மற்றும் அதை கள் அழைக்க. நான் மற்றொரு மாணவர் விரும்பினால், ஏன் நான் T அழைக்க வேண்டாம். அல்லது நான் ஒரு மொத்தமாக வேண்டும் என்றால் மாணவர்கள், ஏன் நான் இல்லை நான் ஒரு முழு வர்க்கம் வேண்டும் சொல்கிறது மாணவர்கள், மற்றும் அது இன்னும் மூன்று தான். வேறு வார்த்தைகளில் சொன்னால், நான் ஏன் வந்தேன் என்று என் சொந்த தரவு வகை, கொண்டு மாணவர்கள், உள்ளே இது இருக்கிறது ஒரு பெயர், ஒரு அடையாள உள்ளது ஒரு தங்குமிடம் உள்ளது, மற்ற துறைகள் எந்த எண். அதை நீங்கள் மாறிவிடும் சரியாக செய்ய முடியும். எனவே சி struct என்று இந்த அம்சம் உள்ளது. என்று ஒரு மொழி அம்சம் தான் என்று எங்களுக்கு சரியாக செய்ய அனுமதிக்கிறது. நான் முன்னே போக போகிறேன் structs.h வரை திறக்க நாம் பார்க்க போகிறோம் அங்கு ஒரு மாணவர் வரையறை பின்வரும். அது மாறிவிடும் - இந்த ஒன்று கூட இல்லை ஒரு அடையாள ஒருவர் சம்பந்தப்பட்ட விட எளிமையான ஒரு கணம் முன்பு. நீங்கள் கொண்டு வர வேண்டும் என்றால் உங்கள் வீட்டில் தரவு வகை, மற்றும் எண்ணாக கூடுதலாக, மற்றும் கரி மற்றும் , உள்ளன என்று இந்த எல்லா மற்றவர்கள் மிதக்க நீங்கள் உண்மையில் என்ன செய்ய முடியும் , typedef struct எழுதி, பின்னர் சில சுருள் ப்ரேஸ், உள்ளே இது நீங்கள் நீங்கள் விரும்பினால் மாறிகள் பட்டியலிட இந்த புதிய விருப்ப தரவு இணைந்திருக்க ஒரு பெயர் மற்றும் ஒரு தங்குமிடம் போன்ற தட்டச்சு, பின்னர் சுருள் ப்ரேஸ் பின்னர் நீங்கள் புதிய தரவு வகை ஒரு பெயர் கொடுக்க. அதனால், உதாரணமாக, மாணவர். என்ன இப்போது இது பற்றி நன்றாக தான் இருக்கிறது நாங்கள் இதே குறியீடு பார்த்தால், முதல் மாநாட்டில், அனைத்து, இந்த வைத்து உள்ளது என்று ஒரு கோப்பை ஏதோ டாட் மணி, நாங்கள் இல்லை, இது ஒரு தலைப்பு கோப்பு, அதிகமாக நம்மை பயன்படுத்த தொடங்கியது. ஆனால் நாம் தொடங்க போகிறோம் இப்போது மிகவும் ஒரு பிட் பயன்படுத்தி. நாம் இந்த என்ன செய்ய முடியும், இறுதியில், குறியீடு இந்த சில வரிகளில் சரியாக அறிவிக்கிறது தரவு வகை, ஒரு மாணவர். இப்போது அதை பயன்படுத்த வேண்டும். நான் இப்போது ஒரு செல்ல போகிறேன் ஒரு கோப்பு structs1.c என்று. மேலும் அது ஒரு மணிக்கு ஒரு முறை பார்ப்போம் இங்கே சில பண்புகள். எனவே, இங்கு பொருள் பெரும்பாலும் தெரிந்திருந்தால், மற்றும் நாம் தருகிறேன் என்ன அல்ல திரும்பி வர ஒரு நொடியில் பழக்கமான. நிச்சயமாக இது என் சொந்த உட்பட அத்துடன் புதிய இது தலைப்பு கோப்பு, pset 3 அமைந்துள்ள தவிர, திரும்ப, நாங்கள் helpers.h வேண்டும். எனவே நீங்கள் # அடங்கும் helpers.h நினைவு இருக்கலாம். ஏன் நான் மேற்கோள் பயன்படுத்தி அதற்கு பதிலாக கோண அடைப்புகள்? போது நான் அவர்களுக்கு இடையே தேர்வு செய்ய? நான் எப்போதும் போல் கோணங்கள் அடைப்புக்குறிக்குள் பயன்படுத்த. பின்னர், ஒரு அனைத்து திடீரென வரி ஆறு நான் இரட்டை மேற்கோளில் பயன்படுத்தி. ஏன் என்று இருக்கும்? ஆமாம்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: என்ன ஒரு உண்மையான விஷயம்? பார்வையாளர்கள்: உங்கள் IDE. டேவிட் ஜே MALAN: ஆமாம், என்று என் உண்மையான IDE இல் தான். மேலும், ஏனெனில், IDE பற்றிப் பேசவேண்டிய தேவையில்லை; என்று இப்போது நான் பயன்படுத்தி வருகிறேன் என்று ஒரு கருவி தான். என்று என் தற்போதைய தான் அடைவு, குறிப்பாக. எனவே structs.h என் சொந்த கோப்பு உள்ளது IDE இல் நிறுவப்பட்ட, இயங்கு தன்னை, மாறாக அது என் தற்போதைய அடைவில் இருக்கிறது. அதனால் மாநாட்டில் நீங்கள் விரும்பினால் ஆகிறது உங்கள் சொந்த தலைப்பு கோப்பு சேர்க்க, நீங்கள் இரட்டை மேற்கோளில் பயன்படுத்த. நாம் இந்த விஷயம் அழைக்க என்ன வரிசை 8, பொதுவாக பேசும்? இது என்ன? # வரையறை ஒன்று. இந்த வலது, மாறிலிகள் பிரதிபலிக்கிறது? நீங்கள் ஒரு வேண்டும் என்றால் உங்கள் திட்டத்தில் மதிப்பு நீங்கள் ஒரு முழு பயன்படுத்த முறை கொத்து, அது , அது வெளியே காரணி மாநாட்டில் நல்ல புல சின்னம் கொண்டு, அதை அறிவிக்க அனைத்து, மாநாட்டின் மூலம், பின்னர், வரையறுக்க அது இல்லை என்றாலும் word-- பேரெழுத்து கண்டிப்பாக தேவை, ஆனால் அது மனித மாநாட்டில் தான் மாறிலிகள் மூலதனமாய் அவர்கள் வெளியே குதிக்க அதனால் நீங்கள் இடத்தை visually-- மற்றும் பின்னர் நீங்கள் விரும்பும் மதிப்பு இருக்க வேண்டும் நிலையான பெயர் சமமானதாகும். இல்லை அரைப்புள்ளி, ஆனால் வெறுமனே நீங்கள் அங்கு அந்த முறை பின்பற்ற. அதனால் நான் என்ன இந்த உண்மையான குறியீடு செய்து இருக்கிறேன். எனவே பாருங்கள் அனுமதிக்க இங்கே முக்கிய திட்டம். வரி 12 ல் நான் structs.h சேர்க்கப்பட்டுள்ளது, நான் இப்போது மாயமாக என் வசம் ஒரு புதிய தரவு வகை. நான் முழு எண்ணாக அணுகல் இல்லை மற்றும் கரி, மற்றும் மிதவை, மற்றும் சரம், மற்றும் நீல மற்றும் மற்றவர்கள். நான் இப்போது அணுக வேண்டும் ஒரு மாணவர் தரவு வகை. வரி 12 ல், நான் இரண்டு இணைந்த நான் எனவே , ஒரு விருப்ப தரவு வகை மற்றும் இரண்டு கருத்துக்கள் ஒரு வரிசை பயன்படுத்தி. எனவே இந்த திட்டத்தை என்றால் நான் உண்மையில் ஆதரிக்க வேண்டும் மூன்று வெவ்வேறு மாணவர்கள் என் திட்டத்தில், நான் எனக்கு ஒரு மாறி கொடுக்க சொல்ல இவை ஒவ்வொன்றும் என்று மாணவர்கள், வகை மாணவர்கள், இது என் விருப்ப தரவு வகை. மேலும், குறிப்பாக, என்னிடம் கொடு என் வரிசை அந்த மூன்று. எனவே இப்போது நாம் இந்த திட்டத்தில் என்ன செய்ய? இங்கே ஒரு சுழற்சி தேடி தான் ஏனெனில் அது தான், 3, 0 முதல் மாணவர்கள் மதிப்பு என்ன. நான் பயனர் கேட்கும் என்னை மாணவர் பெயர் கொடுக்க. பின்னர் வரி 17 ல், நாம் ஒரு பெரும்பாலும் தெரிந்திருந்தால் வரி உண்டு. நாம் நமது பழைய நண்பர் இல்லை வலது GetString. தொடரியல் என்ன துண்டு , வெளிப்படையாக புதிய ஆகிறது நீங்கள் முன் சி திட்டமிடப்பட்டது இல்லை என்றால், மற்றும் structs பயன்படுத்த வேண்டும்? ஆமாம்? பார்வையாளர்கள்: .name. டேவிட் ஜே MALAN: .name. ஆனால் இந்த, ஒரு பாய்ச்சல் அதிகம் இல்லை இப்போது மாணவர்கள் அடைப்புக்குறி நான் ஏனெனில் நீங்கள் நான் வது மாணவர் கொடுக்கிறது. நீங்கள் டைவ் வேண்டும் என்றால் அந்த அமைப்பு உள்ளே, நீங்கள் ஒரு ஒற்றை காலம் பயன்படுத்த மற்றும் பின்னர் உள்ளே மாறி பெயரை, அல்லது என்று உள்ளே சொத்து நீங்கள் அணுகலை பெற வேண்டும். இதேபோல் பின்னர், நான் கேட்கும் என்றால் பயனர், என்னை மாணவர் தங்குமிடம் கொடுக்க, நீங்கள் இதேபோல் என்று சேமிக்க முடியும் உள்ளே தங்குமிடம் மாறி சரம் அந்த மாணவர் அமைப்பு என்ற. மற்றும் இப்போது விஷயங்களை சற்று ஆடம்பரமான பெற. இந்த பார்க்க போகிறது ஒருவேளை நிறைய மிக விரைவில். ஆனால் நீங்கள் pset உள்ள இந்த மிகவும் பார்க்க வேண்டும் 4, இப்போது அதை ஏறெடுத்தும் பார்க்க போகலாம். அது வரி 23 இல் மூலம் என்று மாறிவிடும் 38, நான் ஒருவேளை செய்கிறேன் என்ன நினைக்கிறீர்கள்? நான் கருத்துகள் நீக்கப்படும் இன்று, ஆனால் பதிப்பு ஆன்லைன் குறியீடு உணர்வோடு கருத்துக்கள் உள்ளன. நான் என்ன செய்ய என்ன தெரிகிறது? பார்வையாளர்கள்: அனைத்து கோப்பு சேமிப்பு பயனர் உள்ளிட்ட என்று தகவல். டேவிட் ஜே MALAN: ஆமாம், சரியாக, இந்த ஒரு புதிய வழி நாம் இரண்டு பார்க்கிறோம் என்று, சி மற்றொரு அம்சம், அதனால் நான் என் சொந்த கோப்புகளை உருவாக்க முடியும். இதுவரை, ஒவ்வொரு நிரல் எழுதியுள்ளேன் நீங்கள் நிலையற்ற. விரைவில் அது இயங்கும் முடிந்துவிட்டது, அவ்வளவு தான். எந்த நினைவக அல்லது அது ஞாபகப்படுத்தி இருக்கிறது. சேமிக்கப்படும் கோப்பை இருக்கிறது. ஆனால் நீங்கள் விரும்புகிறீர்கள் என்றால் என்று உள்ளீடு சேமிக்க ஒரு விளையாட்டு அல்லது ஒரு நிகழ்ச்சி போல, நடந்தது இது போன்ற, அது, நாம் என்ன செய்ய முடியும் மாறிவிடும். நீங்கள் இந்த இன்னும் பார்க்கிறேன் pset 4 இல் மற்றும் பகுதி. ஆனால் இந்த வரி 23 அடிப்படையில் students.csv என்று ஒரு கோப்பு உருவாக்குகிறது. மற்றும் நீங்கள் இந்த பார்த்திருக்கிறேன். நீங்கள் முன் சிஎஸ் படித்ததில்லை நான் கூட, கோப்பை கமா பிரிக்கப்பட்ட மாறிகள் உள்ளது. இது ஒரு மிக ஏழை மனிதனின் போல ஒரு எக்சல் கோப்பை பதிப்பு, இது திறக்கப்பட முடியும் என்று பொருள் எக்செல் உள்ள மற்றும் ஆப்பிள் எண்கள், மற்றும் வரிசைகளை மற்றும் பத்திகள் உள்ளன. ஆனால் அது ஒரு தனியுரிம இல்லை மைக்ரோசாஃப்ட் அல்லது ஆப்பிள் போன்ற வடிவம். அது பிரிக்கும் வெறும் காற்புள்ளிகளை தான் நாம் ஒரு கணம் பார்க்க வேண்டும் என்று மதிப்புகள். மேலும், ஒரு யூகம் எடுத்து. மிகவும் மணிக்கு வரி 23 ல், இறுதியில், என் இரண்டாவது வாதம் என்று இந்த புதிய செயல்பாடு ஊ திறந்த கோப்பு திறந்த W ஆகும். W என்ன குறிக்கிறது வேண்டும்? ஆமாம்? பார்வையாளர்கள்: அது நீங்கள் கோப்பு எழுத முடியும்? டேவிட் ஜே MALAN: அது உதவுகிறது நீங்கள் கோப்பு எழுத. எனவே வகைகளில் ஒரு ஜோடி இருக்கிறது நாம் இங்கே உள்ள அடைப்பை ஏற்படுத்த முடியும். ஆனால் நீங்கள் தான் படிக்க வேண்டும் என்றால் கோப்பு, என்று அதை பார்க்க ஆகிறது மற்றும், நினைவகத்தில் நீங்கள் அதை படிக்க வெறும் மேற்கோள் "r" பயன்படுத்த. நீங்கள் எழுத வேண்டும் என்றால் கோப்பு, நீங்கள் "W" மேற்கோள் பயன்படுத்த. மேலும் அங்கு சேர்க்க தான் மற்ற விஷயங்களை ஒரு ஜோடி நீங்கள் இருக்கும் கோப்புகளை மாற்ற வேண்டும் என்றால். இப்போது நாம் இந்த பார்த்து வைக்க போகிறோம் 24 வரிசையாக விஷயம், நாம் திரும்பி விடுவேன். சுழியாக, அது மாறிவிடும், ஆகிறது ஒரு சிறப்பு மதிப்பு சில செயல்பாடுகளை மூலம் திரும்பினார் ஏதாவது wrong-- சென்றான் என்றால் கோப்பு இல்லை என்றால், நீங்கள் நினைவகம் ரன் அவுட் என்றால், மற்ற பிழைகள் அல்லது ஒரு கொத்து. ஆனால் இப்போது, தான் இந்த என்று வைத்து கொள்வோம், மட்டும் வழக்கமான பிழை சோதனை உள்ளது. இங்கே வரி 26 இல், நான் தேடி நான் 0 அனைத்து என் மாணவர்கள் மீது 3. இந்த வகையான வகையான ஒரு புதிய செயல்பாடு, fprintf, ஆனால், ஒரு யூகம் எடுத்து. வைட்டமின் வெறும் அச்சு இருந்தால் ஒரு வடிவமைக்கப்பட்ட சரம், fprintf ஒருவேளை என்ன அர்த்தம்? பார்வையாளர்கள்: ஒரு கோப்பு அச்சிட. டேவிட் ஜே MALAN: அச்சு ஒரு ஒரு கோப்பு வடிவமைக்கப்பட்ட சரம். அந்த கூடுதல் என்ன ஊ வழிமுறையாக கோப்பு. புதிய முதல் வாதம் இருக்க வேண்டும் உங்கள் கோப்பு பிரதிபலிக்கிறது என்று மாறி. பின்னர் நாம் ஒரு வடிவம் தான் printf போன்ற சரம். மேலும் இந்த இருப்பினும் தொடரியல் இந்த வெறும், புதிய ஆகிறது மாணவர் பெயர் உள்ள அடைப்பை அர்த்தம், மாணவர் அறையில்-ப்ளக், மற்றும் பின் அனுமான் என்றாலே கொண்டு, கோப்பு மூட. பின்னர் இந்த புதிய lastly-- மற்றும் நாம் இந்த திரும்பி வருவாள் நான் பெறலாம் நீண்ட முன் காரணங்களுக்காக மாணவர் என்று அங்கு மேலே நடந்தது. ஆனால் நாம் திரும்பி வருவாள் என்று நீண்ட முன் என்று ஏனெனில் GetString எப்படி தான் உண்மையில் தொப்பி கீழே வேலை. எனவே, இங்கே ஒரு விரைவு பாருங்கள் நாம். நான் என் அடைவு ls தட்டச்சு என்றால், நான் இல்லை என்று கவனிக்க , students.csv என்று ஒரு கோப்பு வெறும் இல்லை, இல்லை. நான் இப்போது இந்த திட்டத்தை தொகுக்கலாம் என்றால், , structs-1 செய்ய. / Structs-1, நான் போய் உள்ளே தட்டச்சு செய்ய போகிறேன் யேல் பெர்க்லி வசிக்கும் Andi,,. நாம் ராப் போகிறது யார் இந்த நாட்களில் தாயர் வாழ்கிறார். மேலும் தான் அங்கு கொண்டு வர அனுமதிக்க என்று நான் நினைக்கிறேன், மரியா, மாதர் உள்ளது நான் சரியாக நினைத்தேன். அதனால் எதுவும் நடக்காது தெரிகிறது. ஆனால் நான் இப்போது ls தட்டச்சு செய்தால், students.csv உள்ளது. மேலே மற்றும் திறந்த students.csv செல்லலாம். இந்த மீண்டும் ஒரு மிகவும் ஆகிறது இலகுரக கோப்பு வடிவமைப்பு. ஆனால் நான் வெறுமனே ஒரு மாநாட்டில் ஏற்றுக்கொள்ளப்பட்டது என்று நான் இங்கே இரண்டு வரிசைகள் மற்றும் பத்திகள் வேண்டும். முதல் பத்தியில் ஆகிறது மக்கள் முதல் பெயர்கள். இரண்டாவது பத்தியில் மாணவர் ஆகிறது தங்குமிடம், அல்லது கல்லூரி, அல்லது வீட்டில், அல்லது whatnot. இப்போது நான் இந்த சேமித்துள்ள நிரந்தரமாக ஒரு கோப்பு. அது அனைத்து சுவாரசியமாக இல்லை. ஆனால், இது ஒரு மைல்கல்லாக இப்போது தகவலை தொடர்ந்து செய்ய முடியும் நிரந்தரமாக. எனவே இப்போது என்ன இன்னும் நாம் முடியும் நாம் பார்ப்போம் இந்த மற்றும் பிற அம்சங்களை செய்ய. ஆனால் முதல், எந்த கேள்விகள்? என்று நிறைய இருந்தது, மற்றும் என்று வேகமாக இருந்தது. ஆனால் நீங்கள் நிறைய பார்க்க வேண்டும் pset 4 இல் மேலும், அதே. ஆமாம்? பார்வையாளர்கள்: ஒரு வழி இருக்கிறதா அந்த கோப்பு பெயர்களை சேர்த்து தொடர்ந்து? டேவிட் ஜே MALAN: நல்ல கேள்வி. தொடர்ந்து ஒரு வழி இருக்கிறதா அந்த கோப்பு பெயர்களை சேர்த்து? ஆம். மேலும், உண்மையில், நீங்கள் முடிவுக்கு என்றால் வரை, கோப்பு மீண்டும் திறப்பு நீங்கள் மேற்கோள் பயன்படுத்த வேண்டும் மேற்கோள் "ஒரு", append க்கான, இது ஒரு புதிய வரி சேர்க்க வேண்டும், ஒரு புதிய வரி மீண்டும் மீண்டும், சரியாக. நல்ல கேள்வி. மற்ற கேள்விகள்? ஆமாம்? பார்வையாளர்கள்: நீங்கள் ஓடியது என்றால் திட்டத்தை மீண்டும் இப்போது, அது பெயர்களைச் சேர்க்கும் வைத்திருக்க வேண்டும் கோப்பு அல்லது அது ஒரு புதிய கோப்பு திறக்க வேண்டும்? டேவிட் ஜே MALAN: ஆ, நல்ல கேள்வி. நீங்கள் மீண்டும் சரியான திட்டம் ஓடியது என்றால் இப்போது, ஒருவேளை புதிய பெயர்கள் தட்டச்சு, அதை கோப்பு சேர்க்க வேண்டும் அல்லது கோப்பை மேலெழுத? பிந்தைய, நான் இருக்கிறேன், ஏனெனில் , append முறையில் பயன்படுத்தி. மற்றும் நான் கண்மூடித்தனமாக இருக்கிறேன், ஏனெனில் எழுத்து கோப்பு திறந்து, அது கோப்பை மேலெழுத நடக்கிறது. எனவே நான் உண்மையில் append செய்ய வேண்டும், நான் உண்மையில் ஒரு நீண்ட கால வேண்டும் என்றால் தகவல். இப்போது CSV கூட, வெளிப்படையாக, பயனுள்ளதாக இருக்கும் போன்ற நீங்கள் எழுதும் மற்றும் நாம் இறுதியில் இந்த பார்க்க வேண்டும் பின்னர் போது செமஸ்டர் நாங்கள் மற்ற நோக்கங்களுக்காக CSVs பயன்படுத்த. நீங்கள் மக்கள் அனைத்து சேமிக்க வேண்டும் என்றால் யார், சில நிகழ்வில் பதிவு அல்லது உங்கள் மாணவர் வரை ஒப்பந்தம் குழு, அல்லது அது போன்ற ஏதாவது, இந்த வகையான சேமிப்பு தரவு வடிவம் சூப்பர் வசதியாக உள்ளது. உண்மையில், ஏனெனில், நான் என்றால் இந்த கோப்பு பதிவிறக்க வேண்டும். நான் இரட்டை முடியும் உண்மையில் இந்த முயற்சி செய்வோம் நான் இங்கே எக்செல் அல்லது எண்கள் இருந்தால். நான் வலது கிளிக் போகிறேன் அல்லது என் கோப்பு கட்டுப்பாடு கிளிக் செய்யவும். அச்சச்சோ. வலது கிளிக் அல்லது என் கோப்பு கட்டுப்பாடு கிளிக் செய்யவும். வா, என் சுட்டி ஒத்துழைக்க மறுக்கின்றது. நான் போகிறேன் Download-- அதனால் இங்கே அனைத்து கோப்புகளை பதிவிறக்க அதனால் நான் இந்த ஒரு அடைய முடியும். இந்த வேலை என்றால் நாம் பார்ப்போம் students.csv-- முதல் முறையாக நான் செயல்படுத்தப்படுகிறது. இப்போது அவர்கள் என் தொடர்புகள் பார்க்க வேண்டும். இப்போது, நான் பதிவு செய்ய வேண்டும். அது CSVs பயன்படுத்த எவ்வளவு எளிது பார்க்கவும்? ஆம், தேதி அதை வைத்து. சரி, இப்போது நாம் வர்க்கம் தயாராக இருக்கிறோம். ஓ, சரி, புதிய என்ன? சரி, நெருக்கமான. அந்த மந்திர இருந்தது. சரி, இப்போது நாம் மேம்படுத்த வேண்டும். இப்போது, அது மறந்து நான் முதலில் திறந்து கோப்பு, ஆனால் அங்கு எ நாம் என்ன செல்கிறோம். சரி, இப்போது நாம் ஒரு எக்செல் கோப்பு வேண்டும். நன்றி. சரி, நான் அப்படியே என்ன எளிதாக பகுதியாக இருந்தது. நிச்சயமாக நான் முன் நிறுவப்பட்ட எக்செல் அல்லது எண்கள், அல்லது என்ன திட்டத்தை. ஆனால் இந்த முக்கிய காரணம், நன்றாக உள்ளது இப்போது நான் கையாள முடியும் ஒரு நிலையான தரவுகளை. எனவே இப்போது நாம் சூழலில் நாம் விட்ட இடத்தில் மாற தொடங்க இருந்தது, கடந்த முறை, பயிற்சி சக்கரங்கள் எடுக்க. ஆனால் முதல், நீங்கள் இல்லை இந்த முந்தைய மதிய பார்க்க மீண்டும் தீ மணிக்கு இங்கே நடக்கிறது மற்றும் நியூ ஹேவன் கேம்பிரிட்ஜ், சிதார் உள்ள ஐஸ். விரைவில் CS50s வலைத்தளத்தில் பதிவு CS50 மாணவர்கள் மற்றும் ஊழியர்கள் சேர. எனவே நாம் பயிற்சி சக்கரங்கள் எடுத்து திங்களன்று ஆஃப் பின்வருமாறு சரம் அறிவித்தார் சில நேரம் CS50s நூலகம். அது அனுமதிக்கிறது, ஏனெனில் அது, நன்றாக இருக்கிறது எங்களுக்கு இருப்பது போன்ற மாறிகள் பற்றி பேச முழுமையான வார்த்தைகளும் வாக்கியங்களும் மேலும். ஆனால் அது இல்லை சரம் மாறிவிடும். என்று ஒரு பொருள், அல்லது ஒரு மாற்று உள்ளது, நாம் ஏதாவது செய்தது என்று அந்த உண்மையில், ஒரு சிறிய மேலும் தொழில்நுட்ப * ஒரு கரி என்று. மேலும், நிச்சயமாக நாங்கள் ஒரு உதாரணம் பார்த்தேன் திங்களன்று ஒரு திட்டத்தை என்று நாம் எதிர்பார்க்கப்படுகிறது மிகவும் நடந்துகொள்ளவில்லை. இந்த ஒப்பிட்டு-0, கோப்பு இருந்தது. என்றால், என்று ஒப்பிட்டு-0 நினைவு நான் திங்கள் திட்டம் மீள்தொகுப்பானது மற்றும் ரன்-0 ஒப்பிட்டு மற்றும் அம்மா தட்டச்சு மீண்டும் ஸ்மால் ஸ்மால், மற்றும் அம்மா. திட்டத்தை நான் வலியுறுத்தினார் பல்வேறு விஷயங்களை தட்டச்சு, கூட அம்மா, அனைத்து என்றாலும் ஸ்மால், பார்வைக்கு ஒரே மாதிரியாக தான். எனவே குறுகிய பதில் என்ன கணினி நினைக்கிறார்கள் ஏன் அந்த இரண்டு சரங்களை வித்தியாசம்? ஆமாம்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: சரி. எனவே, அம்மா, முதல் முறையாக நான் இருப்பது, அதை தட்டச்சு என் கணினியின் எங்காவது சேமிக்கப்படும் நினைவக ஆனால் வேறு ஒரு இடத்தில் இரண்டாவது முறையாக விட நான் அம்மா தட்டச்சு. இப்போது அது நிச்சயமாக உகந்ததாக. கணினி ஸ்மார்ட் இருக்க முடியும் மற்றும் ஏய், இந்த இரண்டு சரங்களை உணர ஒரே இருக்கிறார்கள். என்னை மிகையாக அதை சேமிக்க கூடாது. ஆனால் கணினிகள் என்று செய்ய வேண்டாம் தேர்வுமுறை நீங்கள் அவர்களுக்கு சொல்ல வரை. எனவே, இயல்பாக, அவர்கள் தான் வெறும் முடிவடையும் போகிறது நினைவகத்தில் இரண்டு வெவ்வேறு இடங்களில். எனவே, போது இன்னும் தெளிவாக இருக்க வேண்டும் நாம் இரண்டு சரங்களை ஒப்பிடும்போது முதல் அழைக்கப்பட்டது கள், இரண்டாவது அழைக்கப்பட்டது டி, குறிப்பாக நான் எம்மாத்திரம் வரி 13 இங்கே ஒப்பிட்டு? ஆமாம். பார்வையாளர்கள்: இது நினைவகம் இடத்தில் தான் மாறி சுட்டி என்று. டேவிட் ஜே MALAN: நிச்சயமாக, நான் நினைவகத்தில் இடத்தில் ஒப்பிட்டு என்று அந்த மாறிகள் சுட்டிக்காட்டினார். எனவே குறிப்பாக, என்றால் அம்மா இருந்தது பைட் எண் 1, 2, மற்றும் 3 மற்றும் 4-- ஏனெனில் பயன் நினைவில் 0 இறுதியில் அனைத்து வழி இருக்க வேண்டும். மற்றும் அம்மா, மீ-ஓ-மீட்டர் மற்ற உதாரணமாக, முகவரி 10, 11, 12, மற்றும் 13 என்ற அளவில் இருந்தது. நான் 1 ஒப்பிட்டு, அந்த முகவரி நினைவகத்தில் அந்த இடத்தில், 10 எதிரான, இது வெளிப்படையாக அதே. 1 10 ஆகும். எனவே இந்த என்று நன்றாக உள்ளது அதை அழகாக நேரடியான தான். ஆனால் அது இதுவரை சிக்கல் நாங்கள் சரங்களை ஒப்பிட்டு போல் முடியாது. எனவே fundamentally-- இந்த குறைந்த அளவில், நீங்கள் செயல்படுத்த வேண்டும் என்றால் ஒரு திட்டத்தை ஒப்பிட்டு இரு வேறு சொற்களை என்று பயனர், தரத்தை தட்டச்சு அவர்கள் எரிப்பதை வரிசையாக செய்கிறது வெறும் பொதுவான அடிப்படையில் கரி, என்ன நாம் வெளிப்படையாக, என்ன செய்ய வேண்டும்? இது போதுமான இல்லை அந்த இரண்டு முகவரிகளை பாருங்கள். நாம் என்ன செய்ய வேண்டும்? ஆமாம்? பார்வையாளர்கள்: மூலம் செயல்படுத்துதல் சரம் [செவிக்கு புலப்படாமல்]. டேவிட் ஜே MALAN: ஆமாம், நாம் சரம் மூலம் மீண்டும் கூறு. லூப், ஒரு லூப் ஒரு பயன்படுத்த, அல்லது யோசிப்போம் நீங்கள் மிகவும் வசதியாக இருக்கும் என்ன. நாம் எங்காவது இரண்டு சரங்களை கிடைத்திருக்கிறது என்றால் நினைவகம், ஒருவருக்கொருவர் தான் பார்க்கிறேன் முதல் எழுத்து, பின்னர் ஒவ்வொரு இரண்டாவது தான் பாத்திரம், பின்னர் மூன்றாவது மற்றும் நான்காவது, மற்றும் ஐந்தாவது நாங்கள் ஹிட் வரை என்ன சிறப்பு காவலாளி மதிப்பு என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: ஆமாம், பயன் பூஜ்யம், ஒன்று சரம் எந்த புள்ளியில் நாங்கள் அவ்வளவு தான் முடிவு செய்ய முடியும். நாங்கள் ஒவ்வொரு தன்மையை பொருந்தும்? இல்லை என்றால், தவறான திரும்ப. அப்படியானால், உண்மை திருப்பி. அதனால் என்ன இந்த பதிப்பு சரியாக இருக்கிறது திட்டத்தின் ஒப்பிட்டு-1.c செய்கிறது. அது ஒத்ததாக உள்ளது நாம் என்ன என்று நான் தவிர திங்கள் பார்த்து என்றாலும் வார்த்தை சரம் துரத்திவிட்டன என்று அனைத்து இல்லை செயல்பாட்டு impact-- உள்ளது நான் தற்போது செய்து வெளியேற்றி வருகிறது சில காட்சி பயிற்சி சக்கரங்கள், ஆனால் தெளிவாக என்று பார்க்க கள் மற்றும் t முகவரிகள் உள்ளன. என்று, என்ன நட்சத்திரம் நட்சத்திர, பிரதிபலிக்கிறது ஒரு முகவரியை இல்லையெனில் அறியப்படுகிறது, உள்ளது மேலும் தொழில்நுட்ப ஒரு சுட்டிக்காட்டி. அதனால் நான் அறிவிக்க கள் போது வரி 9 மற்றும் கரி * கள் சொல்ல, என்று என்னை ஒரு சரம் கொடுக்க என்று அர்த்தம் இல்லை. என்று எனக்கு யாருடைய ஒரு மாறி கொடுக்க வேண்டும் வாழ்க்கையின் நோக்கம் ஒரு முகவரியை சேமித்து உள்ளது. நான் போட பற்றி ஏனென்றால் அது ஒரு சரம் முகவரி. மேலும், நிச்சயமாக, GetString இருக்க தெளிவான, ஒரு சரம் தராது. இது அம்மா திரும்ப முடியாது பின்சாய்வுக்கோடானது பூஜ்யம், உள்ளபடியே. குறிப்பாக என்ன GetString மற்றும் துல்லியமாக திரும்ப? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: ஒரு முகவரி, முதல் தன்மை முகவரி சில சரம் அதை சென்றிருக்கிறது. எனவே இப்போது நாம் பார்க்கிறோம் மீண்டும் ஒரு சிறப்பு சொல். , நான் இந்த முந்தைய மறைமுகமாக. இந்த நல்ல மாநாட்டில் போகிறது நாம் இப்போது மீண்டும் மீண்டும் பார்க்க வேண்டும் என்று. நான் உறுதி செய்ய சோதனை கள் பூஜ்ய அல்ல மற்றும் t பூஜ்ய அல்ல. உண்மையில் என் அடிப்படையாக ஏனெனில் விரைவான குறிப்பும் முன்னதாக, GetString, இல்லை கொடுக்கிறது என்றால் அர்த்தம் என்ன ஒரு முகவரியை ஆனால் மீண்டும் இது என்-யு-எல்-எல், சில சிறப்பு மதிப்பு என்ன? பார்வையாளர்கள்: பிழை. டேவிட் ஜே MALAN: அது ஒரு பிழை உள்ளது. ஏதோ தவறு நடந்துவிட்டது. என்ன பொதுவாக குறிப்பாக, நடக்க கூடும் சரங்களை இது இருக்கலாம் advance-- தெரியாத நீளம் ஒருவேளை கணினிகள் ' நினைவகம் வெளியே, ஒருவேளை நீங்கள் ஒரு தட்டச்சு நீண்ட சொல் அல்லது சொற்றொடரை அல்லது ஒரு பெரிய கட்டுரை ஒட்டியது மட்டும் போதாது நினைவு இருக்கிறது. அதனால் GetString திரும்ப முடியாது முழு விஷயம் முகவரி, அதனால் தான் எதுவும் கொடுக்கிறது. இது ஒரு பிழை நடந்தது கூறுகிறது சிறப்பு NULL மதிப்பை திரும்பி மூலம். அது பேச, பூஜ்யம் முகவரி. இப்போது அது மாறிவிடும் சி வருகிறது என்று மறு செய்கை என்று செயல்பாடு. நாம் இந்த செயல்படுத்த வேண்டும் வளைய அல்லது ஒரு வட்டத்திற்கு நம்மை ஒரு. நாம் ஒரு செயல்பாடு பயன்படுத்த முடியும், கினார் என்று, யாருடைய, பெயர்த்தல் அசை, அல்லது சரம் ஒப்பிட்டு வாழ்க்கையின் நோக்கம் சரியாக செய்ய உள்ளது. நீங்கள் அதை இரண்டு சுட்டிகள், இரண்டு முகவரிகள் கொடுக்கிறீர்கள், அது அந்த முகவரிகள் போகும் பின்னர் கடிதம் ஒப்பிட்டு தரம் எழுத்துக் கூட மாறாமல், உண்மை என்ன போது மட்டுமே நிறுத்தும்? உள்ளுணர்வாக பெயர்த்தல் மறியல் வேண்டும் , நான் தெளிவாக தேடி இருக்க? அது ஒரு பின்சாய்வுக்கோடானது 0 மோதும் போது ஒன்று சரம், எந்த இடத்தில் முடிவு செய்யலாம் எல்லாம், பொருந்தும் அல்லது ஒரு முரண்பாடு வருகிறது? நாம் இப்போது இந்த ரன் மற்றும் என்றால், முயற்சி எங்கள் சிறிய மூலதனமாக விளையாட்டு, அதனால் ஒப்பிட்டு-1, ./compare-1 செய்ய, மற்றும் ஸ்மால் இரண்டு முறை அம்மா தட்டச்சு செய்யவும். இப்போது அது ஒரே விஷயம் தான். நான் மீண்டும் அதை செய்கிறேன் என்றால் ஸ்மால் பின்னர் ஒருவேளை மேல்வரிசை. இப்போது அது உண்மையில் வேறுபடுத்துகிறது மேல் மற்றும் கீழ் இடையே. எனவே என்று கடுமையாக அல்லது மந்திர, ஆனால் அது இப்போது விளக்குகிறது என்ன பேட்டை அடியில் நடக்கிறது. எனவே இன்னும் நாங்கள் பிரித்தெடுக்க முடியும் என்ன பாடம் இந்த வகையான இருந்து? எனவே இந்த பாருங்கள் நாம். நான் மேலே சென்று ஒரு எழுத போகிறேன் விரைவான திட்டம் இங்கே பிரதியை-0 என்று. இப்போது மேலே மற்றும் உண்மையில் செல்லலாம் , நகலை-0 இதை செய்ய நாம் நான் இங்கே கிடைத்தது என்ன பாருங்கள். நான் முதல் பயனர் சொல்ல, ஏதாவது சொல்லுங்கள். பின்னர் நான் ஒரு சரம் மற்றும் நான் கள் அதை சேமிக்கப்படும். கள் சமம் என்றால் நான் சரிபார்க்க வெற்று சமம், வெறும் 1 திரும்ப. எனவே இந்த நிலையான பிழை சோதனை ஆகும். சுவாரஸ்யமான ஒன்றும் நடக்கவில்லை. உண்மையில், நாம் பிழை பெற முடியும் என்றால் சோதனை, இந்த வாரம் 1 குறியீடு தெரிகிறது நேரத்தில். ஆனால் நான் ஒரு பெற தொடங்கியது அது பற்றி கொஞ்சம் சிறப்பாக உள்ளது. இப்போது வரி 16 ல், ஒரு வாரம் முன்பு, ஒருவேளை கூட ஒரு ஜோடி நாட்கள் அல்லது நிமிடங்கள் முன்பு, நீங்கள் வரி 16 என்று கூறலாம் ஒரு மாறி டி எனப்படும் உருவாக்குவதில் மற்றும் நகலெடுத்து அதை கள். மற்றும் ஒரு செய்தபின் தான் நியாயமான எதிர். ஆனால் இப்போது இன்னும் துல்லியமாக இருக்கும். வரி 16 ல் என்ன நடக்கிறது? என்ன நகல் வலது இடது? ஆமாம்? பார்வையாளர்கள்: டி கள் ஒரு முகவரியை மாட்டிக்கொள்கிறாரா? டேவிட் ஜே MALAN: நிச்சயமாக, டி கள் முகவரி கிடைக்கும். நான் போனால் எனவே, இப்போது தெளிவாக இருக்க வேண்டும் மீண்டும் என்று முந்தைய உதாரணம் நான் தட்டச்சு விஷயம் வரைந்து பாருங்கள். நான் தட்டச்சு செய்த என்ன in-- இங்கே கள், மற்றும் இங்கு நான் எங்காவது தட்டச்சு என்ன நினைவகம், அம்மா பின்னர் ஒரு பின்சாய்வுக்கோடானது எனக்கு சேர்க்கப்படும் என்று 0. என்ன நான் இங்கே சேமிக்கப்படும், நினைவு இந்த இடம் 1, 2, 3, 4 உரிமை உள்ளது இந்த கள் தற்போது தான் என்ன. வரி 16 என்றால், நான் என்னிடம் சொல்கிறேன் மற்றொரு மாறி டி எனப்படும் மற்றும் கடை கள் மதிப்பு, என்ன இங்கே சேமித்து விடும் அம்மா மாட்டேன் மாறாக வெறும் எண் 1. நாம் இந்த திட்டத்தை முன்னோக்கி பார்த்து என்றால் இப்போது, என்ன நடக்க போகிறது? எனவே அங்கு தான் கவனிக்க இந்த செயல்பாடு நீங்கள் போகலாம் சீசர் சில காலங்களுக்கு முன்பு இந்த பயன்படுத்த வேண்டும், அல்லது வைஜெனேர், அல்லது ஒருவேளை இல்லவே இல்லை. நான் சொல்கிறேன், என் printf கொண்டு கூறிக்கொள்கிறேன் பிரதியை t மூலதனமாய் போகிறேன். முதல் வரி 19, விரைவான நல்லறிவு உள்ள , டி strlen காசோலைகளை நீளம் சோதனை. நான் வேண்டாம், ஏனெனில் ஏதாவது மூலதனமாய் முயற்சி என்றால், அங்கே, எந்த சரம் இருக்கிறது. பயனர் தான் Enter விசையை மூலதனமாய் எதுவும் இல்லை. எனவே நான் வரி 21 செய்ய விரும்பவில்லை. வரி 21 அனுகூலமாக இது வெளிப்படையாக கடிதம், டி? பார்வையாளர்கள்: மீ? டேவிட் ஜே MALAN: அது தெரிகிறது அது போன்ற நகலெடுத்து இது ஒன்று தான்? பார்வையாளர்கள்: மீ. டேவிட் ஜே MALAN: ஓ, மீ. சரி, முதலில் மீ அதனால், நான் காரணம் அறிவிப்பு , Toupper வேண்டும் கடந்து இது நீங்கள் அதை பார்த்ததில்லை என்றால் அது தான் வெறும் ஒரு செயல்பாடு அதன் உள்ளீடாக மூலதனமாய். டி அடைப்புக்குறி பூஜ்யம் கொடுக்க பொருள் எனக்கு டி பூஜ்யம் பாத்திரம். அதனால் எப்படி இந்த செய்கிறது படம், மாற்ற, தெளிவாக இருக்க வேண்டும்? என்ன திருத்திய அல்லது மாற்றம் செய்து கொள்ள வேண்டும் கள் மரியாதை மற்றும் t மற்றும் அம்மா பின்சாய்வுக்கோடானது பூஜ்யம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: ஆமாம், எனவே இந்த ஒரு இங்கே வெறுமனே இதை சரிசெய்ய to-- மாற்றம் ஒரு மூலதன மீ மாற்ற வேண்டும். ஆனால் இப்போது, பின்னர் பார்க்க திட்டம், நான் வெளியே அச்சிட என்றால் நான் இங்கே சுத்தம் என கள் மற்றும் t என்ன பார்க்கிறது கள் மற்றும் t வெளியே அச்சிடும் நடக்க போகிறது. எனவே பிரதியை-0, ./copy-0 செய்ய. என்னை போய் தட்டச்சு செய்யலாம் அனைத்து ஸ்மால் அம்மா. கவனிக்க அசல் மற்றும் இரண்டு நகல் சாதகமாக. ஏன்? சரி, கள் மற்றும் t இரண்டிலும் சுட்டி, நீங்கள் கூட, நினைவகம் அதே துண்டின். மற்றும் வெளிப்படையாக, இந்த வருகிறது உண்மையில் உண்மையில் uninteresting-- நாங்கள் இங்கே முகவரி பூஜ்யம் பயன்படுத்தி வருகிறோம் என்று. அதாவது, நான் கவலைப்படவில்லை அங்கு பொருட்களை நினைவகம் உள்ளது. மன்னிக்கவும் நான் கொஞ்சம் அதிகமாக அழித்தலை. ஆனால் நான் உண்மையில் கவலை இல்லை விஷயங்களை நினைவகத்தில் எங்கே. எனவே, உண்மையில் என்ன புரோகிராமர்கள் பற்றி நினைக்கிறாய் நீங்கள் பற்றி பேச போது தான் ஒரு முகவரி, அல்லது ஒரு சுட்டிக்காட்டி, அது நினைவகத்தில் எங்கே யார் கவலைப்படுகிறார்கள். அது தான் என்றால் எனக்கு கவலை இல்லை பைட் ஒன்று அல்லது ஒரு பில்லியன். நான் இந்த என்று கவலை மாறி இருக்கிறது திறம்பட நினைவகம் என்று துண்டின் உள்ள சுட்டி. எனவே, இனிமேல், விட சிலம்பத்தை தன்னிச்சையான நினைவக முகவரிகள் மீது, நாம் தான், சுட்டிகள் வரைய ஆரம்பித்தால் அம்புகள் போன்ற சுட்டிகள், என. எனவே மற்றும் t உண்மையில், என்ன இந்த திட்டம் படி, , நான் t உருவாக்கப்பட்ட எப்படி ஏனெனில் இது இரண்டு தனி மாறிகள் இருக்கிறது நினைவகம் அதே துண்டின் உள்ள சுட்டி. அவர்கள் எங்கே நாம் கவலை இல்லை. எனவே நாம் சுருக்கம் தூரத்தில் அந்த விவரம் முடியும். அதனால் நான் எப்படி சரி செய்வது? நான் நகல் ஒரு பதிப்பு எழுத விரும்பினால் திட்டம் என்று உண்மையில் பிரதிகளை சரம் மட்டுமே capitalizes நகல், தான் உள்ளுணர்வாக, என்ன கிடைத்தது ஒரு இருக்க எங்கள் தீர்வு மூலப்பொருள்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: நாம் ஒரு என்ன வேண்டும்? பார்வையாளர்கள்: நினைவகம் துண்டின். டேவிட் ஜே MALAN: நாம் வேண்டும் நினைவகம் மற்றொரு துண்டின், சரியான? நாம் தெரியாது எப்படி அவசியம், இன்னும் அதை செய்ய. ஆனால் நான் வகையான நடக்கும் இந்த வேண்டும் என்று கீழ் வழக்கு அசல் அம்மா நினைவகம் என்று கூடுதல் துண்டின் நிறைவடைகிறது. பின்னர் நான் மாற்றினால் போது, நான் இங்கே இந்த நகல் மாற்ற விரும்பவில்லை. நான் அதற்கு பதிலாக மட்டுமே இந்த மாற்ற வேண்டும் நகல் என்று அசல் மாறாமல் உள்ளது. எனவே, நாம் இதை செய்ய எப்படி என்று பார்ப்போம். ஆம் பிரதியை-1, ஏற்கனவே இது கருத்து பறிக்கப்பட்டுள்ளது, ஆனால் ஆன்லைன் கருத்து. நாம் பதிலாக பின்வரும் இந்த செய்ய வரிகளை ஒரே மாதிரியானவை, என்னை ஒரு சரம் பெற மற்றும் அதை கள் அழைக்க. ஆனால் இப்போது நமது பெரும்பாலான ஒன்று பார்போம் சிக்கலான ஆனால் சிக்கலான கடந்த கொஞ்ச, வரி 16 சரியாக செய்கிறது. உங்கள் வசதியான என்றால் படம் நாம் தான் drew-- என்னை நினைவகம் ஒரு புதிய துண்டின் கொடுக்கும் அது ஒரு நகலை எல்லாம் நாம் குறியீடு மொழிபெயர்க்கும் எப்படி என்று பார்ப்போம். எனவே வரி 16, இடது புறத்தில், கரி * t இங்கு என்னை இந்த பெட்டியில் கொடுக்கிறது. அது இல்லை அவ்வளவுதான். வலது புறத்தில், மீ alloc, அல்லது malloc, சூப்பர் ஆடம்பரமான நினைவக ஒதுக்கீடு, உள்ளது, தான் என்று ஒரு ரகசிய வழி என்னை நினைவகம் ஒரு துண்டின் கொடுக்கும். நாம் எவ்வளவு நினைவகம் வேண்டும்? சரி, ஒரு பெரிய வெளிப்பாடு வகையான உள்ளது. ஆனால் அது இங்கே என்ன சொல்கிறார் என்று பார்ப்போம். எனவே இந்த, நிச்சயமாக, கொடுக்க உள்ளது என்னை கள் சரம் நீளம். எனவே, அம்மா அதை என்ன வேண்டும்? எனவே வெறும் மூன்று, சரியான? அம்மா மூன்று எழுத்துக்கள். நீங்கள் எண்ண வேண்டாம் பின்சாய்வுக்கோடானது பூஜ்யம் போது நீங்கள் அது தான் ஒரு சரம் நீளம் பற்றி பேச உண்மையில் மனித தெரியும் கடிதங்கள். எனவே, அம்மா இந்த 3 என்னை கொடுக்கிறது. ஆனால் நான் இப்போது 1 சேர்த்து, ஒரு நிமிடம். ஏன் நான் உண்மையில் செய்ய வேண்டும் 4 பைட்டுகள் மற்றும் மட்டும் 3 ஒதுக்க? ஆமாம்? பார்வையாளர்கள்: காவலாளி மதிப்பு என்ன? டேவிட் ஜே MALAN: நிச்சயமாக, என்று காவலாளி மதிப்பு ஐந்து. பின்சாய்வுக்கோடானது பூஜ்யம் பொறுத்தவரை, நான் 4 பைட்டுகள் மொத்த வேண்டும். எனவே நான் நீளம் வேண்டும் சரம் பிளஸ் 1. பின்னர் தான், நல்ல measure-- க்கான கூட இந்த கணினியில் என்றாலும், அது எப்போதும் நான் சொல்கிறேன் 1 வேண்டும் இருக்க போகிறது ஒரு எரிப்பதை அளவு இந்த பெருக்கி. , Sizeof மாறிவிடும் சி ஒரு ஆபரேட்டர் நீங்கள் சொல்கிறது என்று பைட்டுகள் எண்ணிக்கை ஒரு குறிப்பிட்ட தரவு வகை தேவைப்படும். அது வரிசைகள் வேலை இல்லை, பொதுவாக, சில நேரங்களில் அது. ஆனால் பொது வழக்கில், இல்லை. பல பைட்டுகள் எப்படி ஆனால் அது என்னை சொல்லும் மாறிவிடும் இது எரிப்பதை எப்போதும் 1 ஆகும். எனவே இந்த 1 பெருக்குவதன் போல் உள்ளது. குறியீடு அதனால் சூப்பர் ரகசிய தேடும் வரி. ஆனால் அது அனைத்து உள்ளது என்னை நினைவகம் ஒரு துண்டின். ஆனால் அது நகல் வேண்டும் தெரியவில்லை நினைவகத்தில் ஏதாவது? இதுவரை இல்லை. அதனால் வரி 22 அன்று நான் என்ன செய்ய, மற்றும் 23, 24, 25, நன்றாக, நான் வெறுமனே இந்த செய்ய. இந்த வகையான ஆகிறது இப்போது பழைய பள்ளி பொருள். இந்த pset 2, எங்கே இருக்கிறது என்று நீங்கள் விஷயங்களை நகரும் சுற்றி நினைவகத்தில், அல்லது மாறாக சரங்களை. அதனால் நான் 0 இருந்து தேடி நான் சரம் கள் நீளம். நான் i- வது தன்மையை நகல் நான் டி i- வது தன்மையை ஒரு கள் உள்ள. நிமித்தமாக நான், ப்ரோக்ராமர், செய்து சரியாக பைட்டுகள் ஒதுக்க வேண்டும் என்பதை உறுதி நான் வேண்டும் என, இது சரியான நேரம் ஒரு வகையில் ஒரு உறவு. நான், அம்மா நகல் புதிய ஒரு ஸ்மால். பின்னர் இறுதியாக, நான் இந்த வரி செய்கிறேன். அதனால் விளைவு மட்டுமே ஆகிறது இங்கே இந்த t கொள்ள. எனவே நிறைய உறிஞ்சி, ஆனால் நீங்கள் கருதினால் உண்மையில் என்ன நடக்கிறது பேட்டை அடியில் இந்த நகரும் அனைத்து என்று, சுற்றி பைட்டுகள் இந்த பிரச்சனை தீர்க்க தேவை தான் எங்களுக்கு நினைவகம் இந்த துண்டின் கொடுக்க. இப்போது ஆபத்து பெரும், எனக்கு காட்ட அனுமதிக்க கிட்டத்தட்ட என்று வேறு ஒரு எடுத்துக்காட்டு இந்த ஒரு தவிர, ஒரே குறியீடு வரி. எனவே இந்த ஹேக்கர் பதிப்பு இந்த திட்டத்தின், நீங்கள் கூட. ஆனால் அது தான் நொதிக்க அனுமதிக்க அது என்ன நடக்கிறது ஒரு. வரி 24 இந்த t இருக்க வேண்டும் அடைப்புக்குறி நான் கள் அடைப்புக்குறி நான் பெறுகிறார். இப்போது, நான் இந்த மாற்றுவதன் மிகவும் ரகசிய நட்சத்திர டி பிளஸ் 1 நட்சத்திர கள் பிளஸ் 1 சமம். எனவே என்ன நடக்கிறது, ஏன் நாம் ஒரு நட்சத்திரம் பாத்திரம் இருக்கிறது? நாம் முன்னர் நட்சத்திர பார்த்திருக்கிறேன், அது வேறு, இங்கு பயன்படுத்தப்படுகிறது. நாம் முன்னர் இப்போது நான் பார்க்கிறேன், கரி * பார்த்தேன் ஒரு ஆரம்பத்தில் நட்சத்திரம், மற்றும் அது சரி தான். அதை நாம் திருப்பி ஏனெனில் என்ன தான் தெரிகிறது அந்த முதல் இருந்து கொள்கைகள் என்ன நடக்கிறது. எனவே நான் தெளிவாக இருக்க வேண்டும், கள் என்ன? கடந்த வாரம், இது ஒரு சரம் இருந்தது. இனி போதாது. குறிப்பாக, கள் என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: அது ஒரு சுட்டிக்காட்டி இருக்கிறது. அது முகவரி முதல் எழுத்து நாம் தட்டச்சு. சரி, டி என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] டேவிட் ஜே MALAN: முதல் பைட் முகவரி டி, நினைவகம் என்று துண்டின் மறு ஒதுக்கீடு. எனவே அது மாறிவிடும் போது நாங்கள் சரம் வரை 0 இருந்து கூறு நீளம், அனைத்து முதல், நான் ஏனெனில், 0 தொடங்குகிறது லூப் விஷயம் இந்த பழைய பள்ளி. எனவே எளிமை, நாம் குறியீடு என்று முதல் வரி கருதி உண்மையில் வெறும் இது சரி தான். நான் பூஜ்யம் சேர்த்து, பூஜ்ஜியமாக இருந்தால் ஏதாவது மறைமுகமாக ஒரு விளைவை போவதில்லை. எனவே இந்த வசனத்தை என்ன? அது நட்சத்திர என்று மாறிவிடும் இந்த சூழலில் ஆபரேட்டர் , dereference உள்ளது வெறும் இது ஆபரேட்டர், போக, என்று ஒரு கற்பனை வழி பின்வரும் முகவரிக்கு. எனவே கள் என்றால் முதல் முகவரி ஆகிறது நினைவகம் இந்த துண்டின் உள்ள தன்மை, * கள் என்பது அங்கு சென்று. நாம் வரையப்பட்ட ஏனெனில் இந்த வழியில் படம், நீங்கள் ஏற்க முடியும் மன மாதிரி தொடர்ந்து. இந்த கள், மற்றும் நீங்கள் * கள், * கள் சொன்னால் வகையான சரிவுகள் ஆகியவற்றை மற்றும் ஏணிகள் போன்ற, நீங்கள் குழந்தை பருவத்தில் இருந்து விளையாட்டு நினைவில் இருந்தால், என்று அம்பு தொடர்ந்து, செல் போன்ற ஆகிறது முகவரி. * டி அதே விஷயம். எனவே இங்கே தொடங்க, அதன் துண்டின் சென்று. நான் வரைய முடியாது இந்த திரையில் வழி. * T என்பது இங்கு செல்ல பொருள். பின்னர், லூப் தான் , இங்கே இந்த எழுத்து நகர்த்த என்று இங்கே இந்த எழுத்து நகர்த்த, இங்கே இந்த எழுத்து நகர்த்த. ஆனால் நான் எப்படி என்று அதிகரிப்பை செய்ய வேண்டும்? நான் மட்டும் நீக்கப்பட்டது என்ன மீளமை வேண்டும். இது பொதுவாக என்று என்ன இருக்கிறது சுட்டிக்காட்டி கணித இது முகவரிகள் கணித பொருள். என்றால், இந்த லூப், நான், நான் உயர்த்துவதன் மற்றும் கள் ஒரு முகவரியை ஆகிறது மற்றும் t ஒரு இருக்கிறது முகவரி, நான் தான் 1 சேர்த்து வைத்து இருந்தால், என்று தான் முன்னேற்றம் வைக்க அர்த்தம், மற்றும் முன்னோக்கி, மற்றும் நினைவக வலியுறுத்துகின்றார். அது ஆக்ஸ்போர்டு தெரு போல, சிஎஸ் கட்டிடம் உள்ளது என்று தெரு. சிஎஸ் கட்டிடங்கள் 33 ஆக்ஸ்போர்டு தெரு உள்ளது. எனவே, நீங்கள் 33 செய்ய வேண்டும் என்றும் ஆக்ஸ்போர்டு தெரு பிளஸ் 1, என்று 34 ஆக்ஸ்போர்டு நீங்கள் கொண்டு தெரு, பின்னர் 35 ஆக்ஸ்போர்டு தெரு, பின்னர் 36 ஆக்ஸ்போர்டு தெரு, என்னவாயினும் கட்டிடங்கள் உண்மையில் - அவர்கள் உள்ளன என்றால். எனவே, அந்த நாம் செய்கிறோம் என்று தான் இங்கே சுட்டிக்காட்டி கணித கொண்டு. எனவே இது ஒரு சூப்பர் கமுக்கமான வழி நம்மை வெளிப்படுத்தும். ஆனால் அனைத்து நடக்கிறது என்று பேட்டை அடியில் இந்த முகவரிகள் பின்வரும், ஒரு வரைபடத்தை பின்வரும் போன்ற, நீங்கள், அல்லது போன்ற அம்புகள் பின்வரும் நாம் திரையில் வரையப்பட்ட. சரி, நிறைய ஜீரணிக்க. தொடரியல் எந்த கேள்வி, கருத்துக்கள், சுட்டிகள், malloc, அல்லது போன்ற. ஆமாம், இங்கு முதல். பார்வையாளர்கள்: அதனால் , * T toupper, * T சமம் கூறுகிறது மூலதனமாய் போகிறேன் என்று ஆகிறது அனைத்து கடிதங்கள் அல்லது வரம்பு டேவிட் ஜே MALAN: ஆ, நல்ல கேள்வி. இந்த வரிசையில் எனவே, 31, இந்த மூலதனமாய் போகிறேன் முதல் கடிதம் அல்லது கடிதங்கள் அனைத்து. எனவே செல்வதன் மூலம் என்று பதில் நாம் மீண்டும் முதல் கொள்கைகளை. இங்கு முதல் கொள்கைகளை நான் என்ன சொல்கிறேன் அடிப்படை வரையறைகள் செல்ல சம்பந்தப்பட்ட என்ன. எனவே toupper, ஒரு விழா என்று ஒரு எரிப்பதை capitalizes. அவ்வளவுதான். * டி first-- சென்று பொருள் T உள்ள முகவரிக்கு சென்று. எனவே, படத்தில், இந்த துண்டின் என்றால் நினைவகம் நாம் malloc ஒதுக்கீடு, மற்றும் இந்த t * T என்பது இங்கு செல்ல உள்ளது. இதற்கிடையில், நீங்கள் கடந்து செல்லும் அந்த மதிப்பு, ஸ்மால் மீ Toupper வேண்டும், நீங்கள் மீண்டும் பெற தலைநகர் எம், எங்கே நீங்கள் அதை வைத்து? நீங்கள் அதே இடத்தில் அதை வைத்து. அதனால் அந்த என்று தர்க்கம் மூலம் அடிப்படை வரையறைகள் மட்டுமே அது முதல் கடிதம் அனுகூலமாக நீங்கள் நான் அல்லது ஒரு கொண்டு கூறு வரை வளைய அல்லது ஒரு வட்டத்திற்கு, அது போவதில்லை நீங்கள் அதை கேட்க விட ஏதாவது செய்ய வேண்டும். நல்ல கேள்வி. ஆமாம்? பார்வையாளர்கள்: ஏன் நீங்கள் பயன்படுத்த முறை விட, dereference அணி? டேவிட் ஜே MALAN: ஆ, நல்ல கேள்வி. ஏன், dereference பயன்படுத்த வேண்டும் அதற்கு பதிலாக வரிசை முறை முறை? எந்த குறிப்பிட்ட காரணம், நேர்மையான இருக்க வேண்டும். மேலும், உண்மையில், இந்த எடுத்துக்காட்டாக வகையாக, வலது, நான் செய்யும் வாதிட்டு மிகவும் சிக்கலான திட்டம், அதிக கண்கள் மீது மெருகூட்டல் மக்கள் வெளியே சோதனை இந்த, சூப்பர் கமுக்கமான தெரிகிறது, ஏனெனில் ஆனால் அதை அதே விஷயத்தை செய்து என்றாலும். எனவே, வெளிப்படையாக, இந்த ஒரு தேவையில்லாமல் பார்வை சிக்கலான தீர்வு பிரச்சனை. அது இன்னும் நல்ல வடிவமைப்பு தான் ஐந்து வடிவமைப்பு ஐந்து வெளியே, அது அடைப்புக்குறி தான் என்பதை குறியீட்டில் அல்லது சுட்டிக்காட்டி குறியீடு. நாம் பெற போது, குறிப்பாக ட்ரெட் பின்னர் போக்கில் Pset 5 இல் நாங்கள் அந்த அகராதியில் செயல்படுத்த போது நான் முறை ஒரு ஜோடி குறிப்பிட்டுள்ள நாம் உண்மையில் பற்றி கவலைப்பட வேண்டும் குறைந்த அளவில் நினைவக முகவரிகள் நாம் உண்மையில் புரிந்து கொள்ள வேண்டும் என்று என்ன நடக்கிறது. ஆனால், இப்போது, இந்த என்று மாறிவிடும் குறியீடு இங்கே சதுர அடைப்புக்குறிக்குள் வரி உண்மையில் இல்லை. அவர்கள் என்று என்ன ஆகிறார்கள் விதி சர்க்கரை, இது ஒரு சொல்லி ஒரு விசித்திரமாக குளிர் வழி இருக்கிறது ஒடுக்கி சதுர அடைப்புக்குறிக்குள் இருக்கும் மாற்றுகிறது என்று கணித வெளிப்பாடு. எனவே அது ஒரு மனித மாநாட்டில் தான் தான் எழுத முடியும் இந்த பயனர் நட்பு அடைப்புக்குறிக்குள். ஆனால் என்ன ஒடுக்கி, கணகண வென்ற சப்தம், உண்மையில் எந்த நேரத்தில் செய்து நீங்கள் வரிசையில் உயர்த்தி என்ன எழுத 24, பேட்டை அடியில் அது உண்மையில் இந்த மாற்றும். அது ஒரு மனித போலவே மிகவும் மகிழ்ச்சிகரமான தான் படிக்க மற்றும் வரி 24 போன்ற குறியீடு எழுத. ஆனால் இறுதியில் அந்த பயிற்சி சக்கரங்கள் கூட வெளியே வந்து ஒருவரின் சொந்த ஆறுதல் வலுவான பெறுகிறார் போது. சரி, அதனால், அந்த இந்த நினைவு மிக பெரிய பிரச்சனை வகையான இருந்தது நாம் கடக்கும். மேலும், இந்த முழு தூண்டியது என்ன சுட்டிகள் பற்றி மட்டமான உரையாடல், மற்றும் முகவரிகள், மற்றும் நகலெடுத்து விஷயங்கள். நாங்கள் விழுந்தியானா ஏனெனில் அது இருந்தது இந்த முட்டாள், முட்டாள் பிரச்சினை, அதன்படி நான் லாரன் கொண்டு logically-- நடைமுறைப்படுத்தப்படத்தேன் இங்கே டெமோ மற்றும் ஆரஞ்சு சாறு வரை milk-- ஒரு செய்தபின் வழிமுறை சரியான செயல்பாடு இரண்டு மாறிகள் 'மாற்ற மதிப்புகள், ஆனால் ரொம்பவும் தான் எந்த தொடர்ந்து இல்லை, அல்லது என் குறியீடு நிரந்தர, விளைவு. ஏன் என்று இருந்தது? சுருக்கமாக, ஏன் இந்த இடமாற்று செயல்படுத்த தர்க்கரீதியாக சரியான, ஆனால் எந்த பாதிப்பு அதை கடந்து என்று மாறிகள் தொடர்பான, முக்கிய x மற்றும் y போன்ற? பிரச்சினை சாராம்சம் என்ன? ஆமாம்? பார்வையாளர்கள்: மாறி வைத்தேன் பாஸ் மாறி பிரதிகளை செயல்பாடு மூலம். டேவிட் ஜே MALAN: சரியாக, போது கடந்து ஒரு செயல்பாடு மாறிகள் அல்லது வாதங்கள் ஒரு செயல்பாடு, அவர்கள் தான் நகல், கடந்துவந்த இடங்களிலிருந்த நீங்கள் தேடும் ஒரு ஒத்த பெற x மற்றும் y இரண்டு பிட்கள் முறை, a மற்றும் b இங்கே என்று. நீ எதையும் செய்ய முடியும் நீங்கள் அந்த பிரதிகள் வேண்டும், ஆனால் அவர்கள் எந்த போகிறது அழைப்பு செயல்பாடு தாக்கம். மேலும், உண்மையில், நாம் அந்த ஈர்த்தது திரை, திரும்ப படம் கடந்த முறை, அதனால் நீங்கள் என்றால் உண்மையில் என்ன பற்றி நாம் என்றால் hood-- அடியில் நடக்கிறது இந்த உங்கள் கணினியின் நினைவகம் உள்ளது இங்கே கீழே துண்டின் ஆகிறது நினைவகம், முக்கிய பயன்படுத்தப்படுகிறது இந்த துண்டின் உள்ளது நினைவகம், இடமாற்று பயன்படுத்தப்படுகிறது மற்றும் கூட அதனால் முக்கிய உள்ளது இரண்டு மாறிகள், x மற்றும் y, இடமாற்று ஒரே மாதிரியாக பார்த்து வேண்டும் 1 மற்றும் 2 இவை இரண்டும் மதிப்புகள், ஆனால் அவர்கள் முற்றிலும் இருக்கிறார்கள் நினைவக வேறு துகள்களாக. எனவே நாம் இந்த ஒரு தீர்வு வேண்டும். மற்றும் வெளிப்படையாக, இது இப்போது நாம் என்று தெரியவில்லை என்று சரி, இந்த பிரச்சனைக்கு ஒரு தீர்வு வேண்டும். நாம் இப்போது திறன் வேண்டும் என்றால் முகவரிகள் மூலம் விஷயங்களை கையாள மற்றும், அப்படி சரிவுகள் ஆகியவற்றை மற்றும் ஏணிகள் பாணி, இந்த அம்புகள் பின்பற்ற நாங்கள் விரும்பினால் எங்கும் போக நினைவகம், நாம் முடியவில்லை இந்த சிக்கலை தீர்க்க முக்கிய இருந்து கடந்து இடமாற்றம் இல்லை மதிப்புகள் நாங்கள் விரும்பவில்லை இடமாற்று, ஆனால் தான் உள்ளுணர்வாக நாம் அதற்கு பதிலாக இடமாற்றம் அனுப்ப முடியும்? [பெருமைகளை குரல்கள்] டேவிட் ஜே MALAN: நாம் ஏன் தான் செய்ய அது சரி, முகவரிகள் கடந்து? நாம் ஏன் இடமாற்று ஒரு கொடுக்க கூடாது புதையல் வரைபடம், நீங்கள், என்று அது வழிவகுக்கிறது உண்மையான மதிப்புகள் x மற்றும் y. லெட்ஸ் இடமாற்று, உண்மையில் மாற்றவும் அந்த அசல் துணுக்குகள், விட இது பிட்கள் பிரதிகள் கடந்து. எனவே, உண்மையில், அந்த என்ன சென்று தீர்வு இருக்க வேண்டும். இந்த பதிப்பு இங்கே உள்ளது தெளிவாக மோசமான மற்றும் குற்றமுள்ள. இப்போது, முதல் பார்வையில், அது தெரிகிறது போன்ற நாம் தோராயமாக நட்சத்திரங்கள் ஒரு கொத்து சேர்ந்தோம் எங்கள் விரல்கள் கடந்து அதை தொகுக்க வேண்டும் என்று. ஆனால், அது இப்போது தொகுக்க வேண்டும். ஆனால் இந்த விஷயங்களை அர்த்தம் என்ன என்று பார்ப்போம். மற்றும், துரதிருஷ்டவசமாக, ஆசிரியர்கள் சி மற்றொரு சின்னம் தேர்வு இந்த ஒரு சிறிய செய்ய தெளிவாக, ஆனால் நட்சத்திர ஆபரேட்டர் வெவ்வேறு பொருள் உள்ளது இரண்டு வெவ்வேறு சூழல்களில். நாம் இரண்டு பார்த்திருக்கிறேன், ஆனால் வேறுபடுத்தி அனுமதிக்க. அங்கு மேலே எனவே நான் ஒரு மற்றும் ப மாறிவிட்டது போது மோசமான எண்ணாக தான் இருந்து பதிப்பு நட்சத்திரங்கள், ஒரு மற்றும் ப, முழு எண்ணாக முன்பு, முழு இருந்தன. இப்போது ஒரு மற்றும் ப என்ன நல்ல, பச்சை பதிப்பு? அவர்கள், முகவரிகள் தான். என்ன, முகவரிகள் தெளிவாக இருக்க வேண்டும்? முழு முகவரிகள். நான் உண்மையை எனவே எண்ணாக நட்சத்திர வழிமுறையாக என்று இந்த முகவரி ஒரு முழு, குறிப்பாக. எனவே இப்போது குறியீடு வரிகளை கவனிக்க, வேறு ஏதாவது கூட மாறிவிட்டது. tmp, ஏனெனில், தங்குகிறார் அது தற்காலிக முழு எண் தான், அங்கு எந்த நினைவக மந்திரம். ஆனால் ஒரு இப்போது ஒரு நட்சத்திர வேண்டும். மேலும், உண்மையில், ஒவ்வொரு ஒரு மற்றும் ப மற்ற குறிப்பும், அனைத்து என்று என்று அறிவிப்பு பச்சை சிவப்பு இருந்து மாறி நான் முன்னொட்டி இருக்கிறேன் என்று நட்சத்திரங்கள் அந்த மாறிகள். நான் ஒரு மற்றும் ப நகலெடுக்க வேண்டாம், ஏனெனில். ஏனெனில் நான் ஒரு மற்றும் ப இடமாற்றம் நகலெடுத்து a மற்றும் b, நான் உண்மையில் என்ன மாற்றியமைக்கப்படுகிறது நான்? வெறும் முகவரிகள், நான் மாற்ற வேண்டும் என்ன அந்த முகவரிகள் தான். நான் அங்கு செல்ல வேண்டும். அதனால் நட்சத்திர ஆபரேட்டர் என் செயல்பாடு உள்ளே, இல்லை அளவுரு பட்டியல் உள்ளே, நீங்கள் அந்த முகவரிகள் செல்ல மற்றும் உண்மையில் அந்த மதிப்புகள் மாற்ற. அதனால் என்ன படம் செய்கிறது இப்போது அதற்கு பதிலாக போல் இருக்கும். சரி, அதற்கு பதிலாக நான் கடந்து போகிறேன் ஒரு ஐந்து மற்றும் நீ இல்லை 1 மற்றும் பி 2-- நான் உண்மையில் சேர்க்க வேண்டும் இங்கே ஒரு மற்ற வரையறை. எனவே இந்த துண்டின் என்று நினைக்கிறேன் நினைவகம் இடத்தை 10 ஆகிறது. இந்த இடம் 11 ஆகிறது, ஆனால் இந்த ஒரு தெளிவுபடுத்தல் ஒரு பிட் உள்ளது, நான் இப்போது x இரண்டு தேர்வுகள் நான் கடந்து செய்ய வேண்டும் மற்றும் y அல்லது நான் அவர்களின் முகவரிகளை கடந்து? நான் அவர்களின் முகவரிகளை கடந்து இருந்தால் இது போன்ற, நான் இப்போது செயல்படுத்த வேண்டும் பச்சை குறியீடு ஒன்றுக்கு இடமாற்று என்று பார்க்கும் போது அது ஒரு அது எப்போது ஆ, அது ஒரு மற்றும் ப நகலெடுத்து இல்லை மற்றும் பால் மற்றும் ஆரஞ்சு சாறு நகர்த்த. பால் மற்றும் ஆரஞ்சு சாறு உருவகம் இப்போது, உடைக்கிறது ஏனெனில் அந்த கப் இல்லை திரவ மற்றும் பெறாத வரைபடங்கள். நாம் பதிலாக செல்ல வேண்டும் 10 மற்றும் நாம் தீர்வு காண 11 உரையாற்ற செல்ல வேண்டும், மற்றும் பின்னர் அந்த இடமாற்றத்திற்கு தர்க்கம் செய்ய. எனவே தர்க்கம், அதே ஆனால் நாம் சற்று மாறுபட்ட வழி வேண்டும் அந்த மாறிகள் அணுகும். அதனால் இறுதியில், என்ன திட்டம் இந்த ஆகிறது பார்க்க வேண்டும். Swap.c எளிமையாக நகல் மற்றும் பச்சை பதிப்பு ஒட்டியது. ஆனால் நான் ஒரு மாற்றத்தை உருவாக்க வேண்டும். அது இடமாற்று மாற்ற போதுமானதாக இல்லை. என்ன குறியீடு மற்ற வரி நான் மாற்ற வேண்டும்? ஆமாம்? பார்வையாளர்கள்: அது வாதங்களை எடுத்து எங்கே. டேவிட் ஜே MALAN: எங்கே அதன் வாதம் ஆகும். எனவே நான் முக்கிய வரை உருட்டும் என்றால், நான் தான் x மற்றும் y கடக்க முடியாது, மற்றும், நான், நேற்று உறுதியளிக்கிறேன் புதிய இலக்கணத்தை துண்டு இன்று. நான் x இல் அனுப்ப வேண்டும் மற்றும் ஒய் x மற்றும் y முகவரி. அது, சின்னம் மாறிவிடும் சி ஆசிரியர்கள் தேர்வு என்று நீங்கள் இங்கே ஒரு ampersand பயன்படுத்த இல்லை என்றால், ஆகிறது பிட்வைஸ் உம்மைக்குறி குழப்பி கொள்ள, நீங்கள் ஒரு ampersand பயன்படுத்தினால் இங்கே மற்றும் இங்கே ஒரு ampersand, இந்த, நீங்கள் வெளியே விவரங்களை x முகவரி என்ன, ஒருவேளை அது 10 மணி, என்ன y முகவரி, ஒருவேளை அது தான் 11, அதற்கு பதிலாக அந்த செல்கிறது. எனவே நிறைய ஒரே நேரத்தில் அனைத்து உறிஞ்சி. ஆனால் விரைவில் இப்போது பார்ப்போம் மீதமுள்ள நான்கு நிமிடங்கள் எங்கு கோணலாக செல்ல முடியும். மற்றும் ஒரு ஒதுக்கி, உண்மையில் நான் இந்த படத்தை எடுத்து, TF, ஒரு வருடம் அல்லது இரண்டு முன்பு இந்த படம் எடுத்தார். எனவே இந்த பின்புறம் மூலையில் உள்ளது எலியட் டைனிங் ஹால். சுட்டிகள் ஒருவேளை கடினமான உள்ளன நாம் CS50 மறைப்பதற்கு என்று தலைப்பு. நீங்கள் அப்படி கவலைப்பட என்றால் ஒருவேளை அதை போல் சாய்வு உள்ளது ஒரு ஹாக்கி குச்சி மேலும் இது போன்ற, உணர நாங்கள் எந்த ஒரு உச்ச நெருங்குகிறது கருத்துரு சிக்கலான அடிப்படையில். மற்றும் நான் இதை கொண்டு புகைப்படம், நான் சத்தியமாக, ஏனெனில் வீழ்ச்சி 1996 ல் தேவனுக்கும் போது நான் எடுத்து என் ஆசிரியர் சக உடன் CS50, நிஷத் மேத்தா, அவர் என்னை உட்கார்ந்து மதிய மீது எலியட் டி ஹால் மூலையில், அல்லது இரவு, அல்லது ஏதாவது முயற்சி செய்ய என்னை சுட்டிகள் புரிந்து கொள்ள உதவும். நான் வாரங்களுக்கு பிறகு இருந்தது எங்கே இது அதை பற்றி போது அறிமுகப்படுத்தப்பட்டது நான் இறுதியாக சுட்டிகள் புரிந்து. நான் இந்த என்று நம்பிக்கை இருக்கிறது மிக விரைவில் நீங்கள் கிளிக். ஆனால் முற்றிலும் மத்தியில் இந்த உணர மேலும் அதிநவீன தலைப்புகள் நாம் பார்த்து நான். ஆனால் அது மிகவும் சக்தி வாய்ந்த விஷயங்களில் இதுவும் ஒன்று. நீங்கள் அதை கிடைக்கும் போது, அது உண்மையில் அனைத்து தான் இறுதியாக ஒன்றாக வந்து போகிறது. எனவே மீதமுள்ள அது இல்லை உறுதி இன்று அனைத்து மடு வேண்டும். எனவே இங்கே கடந்த திட்டம் தான் நாம் பார்க்க போகிறோம். நாம் ஒரு முடிவுக்கு போகிறோம் , claymation விரைவான மூன்று நிமிடங்கள் நம்முடைய நண்பர், நிக் Parlante மூலம். இங்கே ஒரு நிரல் மேல் இரண்டு தான், வரிகளை ஒரு மாறி x மற்றும் y சொல்லுகிறார். இவை இரண்டும் முகவரிகள் உள்ளன முழு, AKA சுட்டிகள். நாம் பின்னர் போதுமான ஒதுக்க நினைவக ஒரு முழு எண்ணாக சேமிக்க மற்றும் முகவரியை சேமித்து x இல் என்று நினைவு. எனவே, அது கூட எளிமையான முன் உதாரணமாக விட. , என்னை நினைவகம் நான்கு பைட்டுகள் கொடுங்கள் என்று ஒரு முழு எண்ணாக அளவு தான், மற்றும் x அந்த முகவரியை வைத்து. இந்த வரி இங்கே பொருள் எக்ஸ் உள்ள முகவரிக்கு சென்று மற்றும் பொருள் வைக்க வாழ்க்கை, எண்ணிக்கை அங்கு 42. ஆனால் இந்த வரி எனக்கு புரியவில்லை. ஒய் y உள்ள முகவரிக்கு சென்று பொருள் நட்சத்திரம், அங்கே துரதிர்ஷ்டமான எண் 13 வைக்க. ஏன் இந்த கட்டத்தில், அது ஆபத்தானது கதையை என்றாலும் விரைவில் கூறினார் எங்கள் குணமடையும் நிமிடங்களில் இங்கே ஏன் அது மோசமாக உள்ளது எனக்கு சொல்ல வேண்டும், y உள்ள முகவரிக்கு சென்று? பார்வையாளர்கள்: நீங்கள் இல்லை [செவிக்கு புலப்படாமல்]. டேவிட் ஜே MALAN: நான் இல்லை y உள்ள எதையும் வைத்து. எனவே Y மதிப்பு என்ன, கதை இந்த கட்டத்தில்? நாம் எதுவும் தெரியாது. அது சில குப்பை மதிப்பு மற்றும் அல்லது ஒரு கோழி பண்ணையில் தெரிகிறது. நாங்கள் இந்த குறிப்பு முடிவுக்கு முடியும். [மறுஒளிபரப்பு வீடியோ] -Hey Binky,, எழுந்திரு. அதை சுட்டிக்காட்டி வேடிக்கை நேரம். -என்ன அது? சுட்டிகள் பற்றி அறிய? ஓ, நல்லவன். -சரி, தொடங்குவதற்கு, நாங்கள் இருக்கிறோம் யூகிக்கிறேன் ஒரு ஜோடி சுட்டிகள் வேண்டும் போகிறோம். -சரி. இந்த குறியீடு இரண்டு சுட்டிகள் ஒதுக்கீடு இது முழு சுட்டி. -OK, நன்கு நான் பார்க்க இரண்டு சுட்டிகள், ஆனால் அவர்கள் எதையும் சுட்டி வேண்டும் தெரியவில்லை. -அது சரி. ஆரம்பத்தில் சுட்டிகள் எதையும் சுட்டி இல்லை. அவர்கள் சுட்டி விஷயங்கள் உள்ளன pointees என்று, அவற்றை அமைப்பதற்கு ஒரு தனி படி உள்ளது. சரியான, சரியான, -OH. நான் தெரியும். pointees தனி உள்ளன. உனக்கு எப்படி ஒரு pointee ஒதுக்க? -OK, நன்கு இந்த குறியீடு ஒதுக்கீடு ஒரு புதிய முழு pointee, மற்றும் இந்த பகுதி x அதை சுட்டி. -Hey, அந்த நல்ல தெரிகிறது. அதனால் ஏதாவது செய்ய செய்ய. -OK, நான் உன்னை செய்ய dereference சுட்டிக்காட்டி x அதன் pointee இந்த எண்ணிக்கை 42 சேமிக்க. இந்த தந்திரம், நான் வேண்டும் என் dereferencing மற்றும் மந்திரக்கோலை. Dereferencing மற்றும் -உங்கள் மந்திரக்கோலை? ஓ, என்று, அது மிகவும் நல்லது. -இந்த குறியீடு போல் உள்ளது. நான் எண் அமைக்க வேண்டும் ஆகியவை [பாப் ஒலி] -Hey, அது செல்கிறது பார்த்து கொள்கிறோம். எனவே, x ஒரு dereference செய்து பின்வருமாறு அம்பு அதன் pointee அணுக. இந்த வழக்கில், அங்கு 42 சேமிக்க. ஏய், எண் சேமிக்க அதை பயன்படுத்தி முயற்சி மற்ற சுட்டிக்காட்டி மூலம் 13, y,. -சரி. நான் y இங்கு செல்ல வேண்டும், எண்ணிக்கை 13 செட் அப் கிடைக்கும். பின்னர் மந்திரக்கோலை எடுத்து dereferencing மற்றும் வரம்பு [இமிரி ஒலி] -OH, ஏய் அந்த வேலை செய்யவில்லை. Binky, இம், நான் இல்லை என்று கூறுவீராக dereferencing யோசிக்கிறது அமைக்க ஏனெனில், y, ஒரு நல்ல யோசனை pointee இருந்தால் ஒரு தனி படி உள்ளது. நான் அதை செய்யவில்லை என்று நான் நினைக்கவில்லை. -Hmm, நல்ல பாயிண்ட். -Yeah, நாம் சுட்டிக்காட்டி, y ஒதுக்கப்பட்ட ஆனால் நாம் ஒரு pointee சுட்டி இதை அமைக்க. -Hmm, மிகவும் கவனிக்கிற. -Hey, நீங்கள் அங்கு ஒரு கோழி பண்ணையில் நல்ல தேடும். நீங்கள் என்று அதை சரி y புள்ளிகள் x அதே pointee வேண்டும். -Sure, நான் என் மந்திரக்கோலை பயன்படுத்த சுட்டிக்காட்டி ஒதுக்கும். ஒரு இருக்க போகிறது என்று ஆகிறது பிரச்சனை இல்லை முன் போல்? -இல்லை, இந்த pointees தொட இல்லை. அது ஒரு சுட்டிக்காட்டி மாற்றுகிறது அதையே சுட்டிக்காட்ட [ஒலி உறுத்தும்] மற்றொரு --as. -ஓ அப்படியா. X அதே இடத்தில் இப்போது y புள்ளிகள். எனவே, இப்போது y சரி செய்யப்பட்டது, காத்திருக்க. அது ஒரு pointee உள்ளது. எனவே நீங்கள் மந்திர கோல் முயற்சி செய்யலாம் 13 க்கும் மேற்பட்ட அனுப்ப மீண்டும் dereferencing. -OH, சரி, இங்கே செல்கிறது. -Hey, என்று பாருங்கள். இப்போது y வேலை dereferencing. சுட்டிகள் பகிர்ந்து ஏனெனில் ஒரு pointee, அவர்கள் இருவரும் 13 பார்க்கிறார்கள். -Yeah, பகிர்வு, இம், என்ன. எனவே, நாம் இப்போது இடங்களில் மாற போகிறது? -OH, நாம் நேரம் போதவில்லை பார்க்க. -ஆனாலும்-- மூன்று சுட்டிக்காட்டி விதிகள் ஞாபகம் வைத்து, அதுவும். எண் 1, அடிப்படை கட்டமைப்பு நீங்கள் ஒரு சுட்டிக்காட்டி வேண்டும் என்று, அது ஒரு pointee மீது சுட்டிக்காட்டியுள்ளது. ஆனால் சுட்டிக்காட்டி மற்றும் pointee தனி. மற்றும் பொதுவான பிழை ஒரு சுட்டிக்காட்டி அமைக்க உள்ளது ஆனால் அது ஒரு pointee கொடுக்க மறக்க. எண் 2, சுட்டிக்காட்டி dereferencing சுட்டிக்காட்டி தொடங்குகிறது மற்றும் அதன் அம்புக்குறி பின்வருமாறு அதன் pointee அணுக. நாம் அனைத்து தெரியும், இந்த மட்டுமே அங்கு, வேலை வகையான மீண்டும் பெறுகிறார் ஒரு pointee உள்ளது எண் 1 ஆட்சி. எண் 3, சுட்டிக்காட்டி வேலையை ஒரு சுட்டிக்காட்டி எடுத்து மற்றும் சுட்டிக்காட்ட அதை மாற்றுகிறது மற்றொரு சுட்டிக்காட்டி அதே pointee. வேலையை பிறகு எனவே, இரண்டு சுட்டிகள் அதே pointee சுட்டி, சில நேரங்களில் அந்த பகிர்வு என்று. அந்த உண்மையில், அது அங்கே தான். பாய்-பாய் இப்போது. [END மறுஒளிபரப்பு] டேவிட் ஜே MALAN: அது CS50 இது தான். பேராசிரியர் நிக் Parlante நன்றி. நாம் அடுத்த வாரம் சந்திப்போம். [மின்னணு இசை]