டக் LLOYD: நீங்கள் தொடங்கும் என செயல்பாடுகளை வேலை, மற்றொரு விஷயம் நடக்கிறது ஆக புரிந்து கொள்ள மிகவும் முக்கியம், இது மாறி நோக்கம் கருத்து உள்ளது. எனவே நோக்கம் ஒரு ஒரு மாறி பண்பு என்று இது செயல்பாடுகளை இருந்து வரையறுக்கிறது என்று மாறி அணுக முடியும். சி இரண்டு முதன்மை நோக்கங்கள் உள்ளன, உள்ளூர் மாறிகள் உலக மாறிகள். இப்போது, உள்ளூர் மாறிகள் மட்டுமே செயல்பாடுகளை உள்ள அணுக இதில் அவர்கள் உருவாக்கிய. அவர்கள் ஒவ்வொரு மற்ற அணுக உங்கள் நிரல் உள்ளது என்று செயல்பாடு, ஒரே செயல்பாடு இது உருவாக்கப்பட்டது. மீது உலக மாறிகள், மறுபுறம், அணுக முடியும் திட்டத்தில் எந்த செயல்பாடு மூலம். அதற்கு காரணம் ஆகிறது அவர்கள் உள்ளே உருவாக்கப்பட்ட இல்லை, ஏனெனில் எந்த குறிப்பிட்ட செயல்பாட்டை. நாம் வெளியே அவர்களை அறிவிக்கிறோம் செயல்பாடுகளை இது அனைத்து ஒவ்வொரு செயல்பாடு, அங்கு தெரியும் என்று அர்த்தம் அது அணுக மற்றும் கையாள முடியும். இதுவரை போக்கில் நீங்கள் அழகாக இருக்கிறது மிகவும் பிரத்தியேகமாக வேலை உள்ளூர் மாறிகள். இங்கே ஒரு ஒரு உதாரணம் மிக, மிக தான் எளிய முக்கிய செயல்பாடு மற்றும் ஒரு மிக எளிய நாம் எழுதியுள்ளேன் என்று கூடுதல் செயல்பாடு. இந்த வழக்கில்,, x- இது நான் பச்சை நிற வட்டாரத்தின் முன்னிலைப்படுத்த அல்லது என்று மாறி நோக்கம், மூன்று செயல்பாடு உள்ளூர் ஆகும். முக்கிய அனைத்து இடத்தில் x பார்க்கவும் முடியாது. அது என்ன என்று தெரியாது. வேறு செயல்பாடு, உண்மையில், நாங்கள் என்றால் இங்கே, கூடுதல் செயல்பாடுகளை இருந்தது எக்ஸ் பார்க்கவும் முடியும். இதேபோல், நான் எந்த முடிவுகளைக் நிற நீல, ஒரே முக்கிய உள்ளூர் என்பது. மட்டுமே முக்கிய என்ன தெரியும் மாறி விளைவு ஆகும். மூன்று அதை பயன்படுத்த முடியாது. இப்போது நான் குறிப்பிட்டுள்ள, உலக மாறிகள் உள்ளன. நீங்கள் அந்த மாறி அறிவிக்க என்றால் எந்த செயல்பாடு வெளியே, உள்ள செயல்பாடுகளை அனைத்து திட்டம் அதை பார்க்கவும் முடியாது. எனவே, இந்த விஷயத்தில் நான் உயர்த்தி ஒரு உலக மாறி அறிவிப்பு பச்சை. இந்த வழக்கில், மாறி இருப்பது அறிவித்தார் வெறும் வரை, உலக அழைக்கப்படுகிறது அதை பற்றி மிகவும் தெளிவாக இருக்க வேண்டும். அது வகை பங்குகளாக உள்ளது. நான் அதை மதிப்பு 0,5050 ஒதுக்க. நீங்கள் முக்கிய என்று உள்ளே கவனிக்க வேண்டும் மூன்று, நான் உலக பார்க்கவும் முடியும். உண்மையில், நான் திட்டத்தின் மூலம் சென்றால் , முதல் முக்கிய அழைப்புகள் மூன்று குறிப்பிட்டுள்ளபடி, 3 உலக மூன்று பெருக்கி, இது 1.5-ஏதாவது அதன் மதிப்பு அமைக்கிறது, 1.51 அல்லது அது போன்ற ஏதாவது, மற்றும் பின்னர் பிரதான மேலும் மதிப்பு அவுட் அச்சிடுகிறது உலகளாவிய. 0,5050 அச்சிட கூடாது எனவே முக்கிய, அது , 1.51 உலகளாவிய முறை 3 அவுட் அச்சிட வேண்டும். எனவே நீங்கள் போது கவனமாக இருக்க வேண்டும் நீங்கள் உலக மாறிகள் பணிபுரிகிறோம். அவர்கள் மிகவும் நெகிழ்வான இருக்கும் போது தகவல் அனுப்ப முடியும் சுற்றி என்று ஒவ்வொரு செயல்பாடு அதை பயன்படுத்த முடியும், அது சில இருக்க முடியும் ஆபத்தான விளைவுகளை ஒரு செயல்பாடு மாற்றங்களை என்றால் ஒரு மாறி மதிப்பு நீங்கள் எதிர்பார்க்க முன் அதை மாற்ற வேண்டும். ஏன் இந்த வேறுபாடு என்ன? நாம் ஏன் கவலை சில மாறிகள் என்பதை உள்ளூர் மற்றும் பலர் உலக உள்ளன? சரி, பெரும்பாலான, உள்ளூர் மாறிகள் சி மதிப்பு நிறைவேற்றப்பட்டது என்று என்ன உள்ளன நாம் ஒரு செயல்பாடு அழைப்பு செய்யும் போது. அதற்கு என்ன பொருள்? சரி, ஒரு மாறி அனுப்பும் போது மதிப்பு, callee மூலம் இது செயல்பாடு என்று மற்றொரு வழி என்று மாறி பெறும் என்று ஒரு உள்ளீடாக உள்ள ஆகிவிடும், அது உண்மையில் என்று மாறி தன்னை பெற முடியாது. அது தனது சொந்த பெறுகிறது அது பிரதியை வேலை. இது உண்மையில் முக்கிய வேறுபாடு உள்ளது. நாம் ஒரு இரண்டாவது முன்பு பார்த்தேன் உலக மாறிகள் என்று, நாம் உலக கையாள என்றால் ஒரு செயல்பாடு மாறி, விளைவு என்று ஒரு செயல்பாடு செல்கிறது ஒவ்வொரு வேறு செயல்பாடு மூலம். ஆனால், உள்ளூர் மாறிகள் கொண்டு, அது உண்மை இல்லை. ஒவ்வொரு செயல்பாடு போது அது உள்ளீடு போன்ற மாறிகள் பெறுகிறது அந்த மாறிகள் பிரதிகளை பெற, இல்லை மாறுபாடுகளாக இருக்கின்றன. அதனால் பக்க விளைவு என்ன? என்று அர்த்தம் மாறி அழைப்பாளர், செயல்பாடு என்று செயல்பாடு அழைப்பு ஆகும் மாறாமல் நீங்கள் அதை மீற வரை. உதாரணமாக, இந்த குறியீடு உள்ள foo, அனைத்து மாறவில்லை. Int foo 4 சமம், மூன்று அழைக்க foo,, மூன்று உள்ளே, நாங்கள் என்று foo என்று எதிர்பார்க்கலாம் என்று 3 பெருக்கி மற்றும் திரும்பினார், ஆனால் உண்மையில் எந்த விளைவு இல்லை. இங்கே என்றாலும், ஒரு மிகவும் நுட்பமான வேறுபாடு. இது தான் எங்களுக்கு வேண்டும் பயக்கிறது. நீங்கள் ஏன் பார்க்க? நாங்கள் முக்கிய இந்த நேரத்தில், foo நாயுடு. எனவே முழு எண்ணாக foo 4, foo சமம் சமம் மூன்று, foo, நாம் அந்த அழைப்பு செய்யும் போது, மூன்று அதன் சொந்த நகலை பெறுகிறது foo,, 4 அதன் சொந்த நகலை. அது என்ன 4 முறை 3, அல்லது திரும்ப கூறுகிறார் மாறி முறை 3 நிறைவேற்றப்பட்டது. பின்னர் நாம் திரும்ப ஒதுக்க மூன்று மதிப்பு மீண்டும் foo செய்ய. இந்த உண்மையில், foo மேலெழுதும். இதை செய்ய ஒரே வழி உள்ளூர் மாறி கொண்டு, இந்த. எனவே இப்போது நாம் மற்றொரு சேர்க்க என்றால் இங்கே குறியீடு வரிசையில் முக்கிய இறுதியில் மணிக்கு foo, மதிப்பு அவுட் அச்சிட உண்மையில் அது 12 அவுட் அச்சிட வேண்டும். மாறி நோக்கம் பொதுவாக ஒரு பிரச்சனை அதிகம் இல்லை நீங்கள் அனைத்து பெயரை என்றால் உங்கள் மாறிகள் வெவ்வேறு விஷயங்கள். ஆனால் அது மோசமான வகையான பெற முடியும் அதே மாறி பெயர் என்றால் பல செயல்பாடுகளை தோன்றும், இது நிறைய நடக்கும். நீங்கள் எப்போதும் வேலை என்றால் உண்மையான உலக அங்கு நீங்கள் கூட்டு வேலை வெவ்வேறு அணிகளில் உள்ள திட்டங்கள் மற்றும் மக்கள் அதே எழுத ஒன்றாக வேலை திட்டம் அல்லது திட்டங்கள் ஒரே செட், அவர்கள் அடிக்கடி மாறி மீண்டும் பயன்படுத்த வேண்டும் பெயர்கள், குறிப்பாக பொதுவான ஒன்றை அதனால் x, y நான், ஜே, மற்றும் போன்ற. ஆனால் போது மாறிகள் வேண்டும் அதே பெயரில், நோக்கம் பிரச்சினைகள் ஒரு சிறிய trickier அலச பெற முடியும். உதாரணமாக, நீங்கள் தெரிகிறீர்கள் என்ன அச்சு இந்த குறிப்பிட்ட திட்டத்தின் இறுதியில்? ஒரு நிமிடம். இடைநிறுத்தம் வீடியோ படிக்க இந்த திட்டத்தின் மூலம். நீங்கள் மேலே நாம் பார்க்க முடியும் ஒரு செயல்பாடு பிரகடனம் வேண்டும் சம்பள உயர்வு என செயல்பாடு. அந்த செயல்பாடு ஒரு ரன் அளவுரு, நாம் x அழைக்க இது ஒரு முழு எண். அது ஒரு முழு எண் வெளியிடுகிறது. என்று ஆரம்பத்தில் திரும்பி வகை தான். பின்னர் நாம் வரிகளை முக்கிய, ஒரு ஜோடி வேண்டும் பிரதான உள்ள குறியீடு, இது கடைசி ஒரு அச்சு அறிக்கை. மற்றும் அந்த இங்கே கேள்வி, நினைவில். என்ன உண்மையில் போகிறது இந்த செயல்பாடு இறுதியில் அச்சிடப்பட்ட? மற்றும் நாம் உண்மையில் வேண்டும் கீழே சம்பள உயர்வு வரையறை. எனவே மூலம் விலக, ஒரு நிமிடம் குறியீடு விஷயங்களை வெளியே கண்டுபிடிக்க. நீங்கள் அச்சிடப்பட்ட வேண்டும் என்ன தெரியுமா இந்த குறிப்பிட்ட திட்டத்தின் இறுதியில்? எல்லாம் சரி. வட்டம், நீங்கள் ஒரு சில விநாடிகள் எடுத்து முயற்சி மற்றும் இந்த ஒரு அலச. ஒன்றாக அதை செய்வோம். எனவே நான் சம்பள உயர்வு தான் வெளியே கடந்து மேல் அங்கு அறிவிப்பு. இது ஒரு திசை திருப்ப இருந்தது. அது தனது சொந்த மாறி இல்லை. அது தனது சொந்த நோக்கம் இல்லை. அது ஒரு விழா அறிவிப்பு, அதனால் நோக்கங்களுக்காக தான் என்ன இட முயற்சிக்கும் இந்த திட்டம் நடக்கிறது, நாம் அதே அதை தவிர்க்க வேண்டும். இப்போது நாம் இந்த வழக்கில், இந்த பிரச்சனை தந்திரமான காரணம் நாம் உள்ளூர் மாறிகள் வேண்டும், ஏனெனில் முக்கிய மற்றும் சம்பள உயர்வு, இரண்டு, இது ஒவ்வொரு x என்று ஆகிறது. நிச்சயமாக இந்த பிரச்சினை முக்கிய அம்சமான உள்ளது எக்ஸ் மாற்றம் விடும் இது வெளியே suss முயற்சி அது எப்படி மாறிவிட்டது. எனவே, ஒவ்வொரு உதாரணமாக நிற x இன் முக்கிய சிவப்பு உள்ளூர் என்று. நான் ஒவ்வொரு உதாரணமாக நிற x என்று நீல அதிகப்படுத்த உள்ளூர் தான். என்று மூன்றாவது வரி ல் அறிவிப்பு முக்கிய, y சம்பள உயர்வு சமகிறது எக்ஸ், சம்பள இருப்பது கடந்து முக்கிய x, அல்லது சிவப்பு நிறத்தில் உள்ள X. அது ஒரு பிரதியை கடந்து. அது மட்டும் வேலை நடக்கிறது அது அந்த நகல், நீல, x. நீங்கள் கணித என்றால் சாய், நீங்கள் போகலாம் அதற்கு பதிலாக எக்ஸ் துணை இந்த நினைத்திருக்க சம்பள உயர்வு முக்கிய மற்றும் x துணை நான் மீ. ஆனால் அது அதே யோசனை. எக்ஸ் துணை மீ, அல்லது x சிவப்பு முந்தைய ஸ்லைட் இல், local-- என்று மாறிகள் உள்ளன மாறாக, x உதாரணமாக உள்ளது முக்கிய உள்ளூர், மற்றும் x துணை நான், அல்லது முந்தைய ஸ்லைட் நீல மாறிகள், x இன் நிகழ்வுகளை என்று அதிகப்படுத்த உள்ளூர் உள்ளன. எனவே, நீங்கள் கண்டுபிடிக்க முடிந்தது என்ன இறுதியில் அச்சிடப்பட்ட இந்த செயல்பாடு? நான் டக் லாயிட் இருக்கிறேன், மற்றும் இந்த CS50 உள்ளது.