[Powered by Google Translate] [வாரம் 2, தொடர்ச்சி] [டேவிட் ஜே Malan, ஹார்வர்ட் பல்கலைக்கழகம்] [இந்த CS50 உள்ளது. - CS50.TV] எல்லாம் சரி. இந்த CS50 தான், இந்த வாரம் 2 முடிவில் உள்ளது. நீங்கள், இந்த நேரத்தில் நாளை பசியோடு இருக்கும் எதிர்பார்க்க என்றால் நாம் ஒரு சிறிய குழு நாளை, வியாழன், 1:15 மணி போன்ற கூட்ட போகிறோம் என்று. நீங்கள் RSVP விரும்பினால் இந்த URL ஐ இங்கே இல்லை. விண்வெளி வரையறுக்கப்பட்ட, எனவே வடிவத்தில் இதை பூர்த்தி நேரம் மூலம் பூர்த்தி என்றால் தயவு செய்து மன்னித்து விடுங்கள். வட்டி இருக்கலாம் என்று மற்றொரு URL ஐ, எனினும், இந்த. ஒரு மாதம் நேரம் பற்றி உள்ள, நிச்சயமாக கிடைக்க போகிறது இன்னும் பரந்த அளவில் edX வழியாக, எந்த வழியாக இணையத்தில் எல்லோரும், சேர்த்து பின்பற்ற முடியும் உண்மையில், மிக தீவிரமாக நிச்சயமாக ஈடுபட. அவர்கள் ஆலோசிக்க CS50 அப்ளையன்ஸ் மற்றும் CS50 பயன்படுத்தி நாம் ஏற்கனவே இந்த செமஸ்டர் பயன்படுத்தி வருகின்றனர் என்று பல்வேறு மென்பொருள் கருவிகள். நாம் இந்த ஆண்டு ஒரு சோதனையாக எடுத்து விரும்புகிறேன் முயற்சிகள் ஒரு நாம் மொழிபெயர்க்க முடியும் எவ்வளவு உள்ளடக்கத்தை பார்க்க வேண்டும் மற்ற பேச்சு மற்றும் எழுத்து மொழிகளில். இந்த திட்டத்தில் பங்கேற்பதில் ஆர்வம் வேண்டும் என்றால் நாம் நிச்சயமாக அது விரிவுரைகள் ஆங்கில எழுத்துப்படிகள் மற்றும் வசனவரிகள் வழங்குவோம் மேற்கொள்கின்ற மற்றும் குறும்படங்கள் மற்றும் கருத்தரங்குகள் மற்றும் பிரிவுகள் போன்ற, நீங்கள் சரளமாக பேச அல்லது, சரளமாக சில பிற மொழி எழுத வேண்டும் நீங்கள் வீடியோக்களை ஒன்று அல்லது அதற்கு மேற்பட்ட எடுத்து கொள்ள நாம், இந்த திட்டத்தில் நீங்கள் ஈடுபட விரும்புகிறேன் நீங்கள் நன்றாக தெரியும் ஒரு மொழி அவற்றை மொழிபெயர்ப்பது. நீங்கள் முகப்பில் ஒரு உணர்வு கொடுக்க, இந்த வலை அடிப்படையான பயனர் இடைமுகம் இல்லை நாம் அடிப்படையில் இந்த ஒரு UI உருவாக்க என்று பயன்படுத்தி என்று. இந்த என்னை, சில ஹாலோவீன் முன்பு கற்பித்தல் இந்த நேரத்தில் முத்திரைகள், அடுத்த கருப்பு அங்கு வலது புறத்தில், நீங்கள், அந்த நாள் என் வாயில் இருந்து வந்தது என்று பல்வேறு விஷயங்களை பார்க்கலாம் பின்னர் அதை கீழே நீங்கள் வேறு மொழியில் மொழிபெயர்க்க முடியும் மேப்பிங் இந்த வழக்கில், இடையே சரியாக என்ன, ஆங்கிலம் மற்றும்,, ஸ்பானிஷ் என்று. அது உண்மையில் மிகவும் பயனர் நட்பு கருவியாகும். நீங்கள் விசைப்பலகை குறுக்குவழிகளை மிக எளிதாக வேகமாக முன்னோக்கி முன்னாடி முடியும். இந்த சோதனையில் பங்கு எடுத்து வேண்டும் என்று நீங்கள் உங்கள் வார்த்தைகள் பார்க்க மற்றும் படிக்க அங்கு எல்லோரும் ஒரு சாத்தியமுள்ள ஆயிரக்கணக்கான, பங்கேற்க எனக்கு வேண்டாம். திங்கள் முதல் பூனை குட்டி பற்றி ஒரு வார்த்தை. நாம் ஒரு அதிக பயங்கரமான செய்தியை அனுப்பி போகின்றீர், அலுவலக மணி பரிந்துரைக்கும் என, என்று செய்வது பிரிவுகள் கூறுகின்றன மற்றும், நிச்சயமாக வடிவமைப்பு மிக அதிகம் மாணவர்கள் பிரச்சினை செட் மூலம் இணைந்து வேலை செய்ய பேசி வேண்டும் மற்றும் ஒன்றாக பிரச்சனைகள், மற்றும் உண்மையில் வரி மட்டும் வந்து, மீண்டும், நீங்கள் இறுதியில் submit 'வேலை உங்கள் சொந்த இருக்க வேண்டும். அதனால் மிகவும் நேர்மையாக, அலுவலக நேரம் இது, முற்றிலும் சாதாரண தான் இது முற்றிலும் நீங்கள் அடுத்த சில நண்பர் அரட்டையில் வேண்டும், கூட எதிர்பார்க்கப்படுகிறது. , அவர் சில தலைப்பை போராடி மற்றும் நீங்கள் போன்ற என்றால் "ஓ, நன்றாக, என்னை நீங்கள் நான் எழுதிய அந்த குறியீடு சில வரி ஒரு பார்வை கொடுக்க வேண்டும்," என்று, பரவாயில்லை அது நடந்தால், அந்த கற்றல் செயல்முறை மூலம், நான் நினைக்கிறேன், மிகவும் உகந்த நேரம். தலை இதுவரை பல விநாடிகள் இங்கே வகையான சாய்ந்து மீது போது அங்கு தாண்டினார் விடும் என்று அல்லது உண்மையிலேயே ஒரு நிமிடம் மட்டும், உங்கள் நண்பர் ஒரு விடுவிக்கும்போது வாய்ப்பு இருந்ததாக மற்றும் நிச்சயமாக விஷயங்கள், மின்னஞ்சல் மற்றும் டிராப்பாக்ஸ் போன்ற வழியாக பரிமாறி போது மிக வரி உள்ளது. எனவே எல்லா வகையிலும் கருதினால் மற்றும் நண்பர்களுடன் அரட்டை அடிக்க ஊக்கம் உணர்கிறேன் மற்றும் psets மற்றும் பற்றி மட்டும் படித்தவர்களை நீங்கள் இறுதியில் submit 'என்ன என்று உண்மையில் உங்கள் படைப்பு, வேறு யாரோ தயாரிப்பு இருக்க வேண்டும். Pset2 களம் சார்ந்த பிரச்சினைகள் மற்றும் ஒரு, மறைந்த நாளை இரவு வெளியே வரும் இது, குறியாக்கவியல் உலகத்தில் டைவ் உள்ளது இதில், தகவல் மறையீடாக்கம் அல்லது நெரிசலில் கலை உள்ளது இந்த இறுதியில் பாதுகாப்பு உலக தொடர்புடையது. இப்போது, எங்களுக்கு மிகவும் பாதுகாப்பு மிகவும் சாதாரணமாக பொறிமுறைகள் வடிவத்தில் வருகிறது. நாம் அனைவரும், பயனர் பெயர்கள் மற்றும் கடவுச்சொற்களை வேண்டும் எங்களுக்கு எல்லா பெரும்பாலும், மிக மோசமான பயனர் பெயர்கள் மற்றும் கடவுச்சொற்களை வேண்டும். உங்கள் கடவுச்சொல்லை பல வலைத்தளங்களிலும் உள்ள அதே இருந்தால், அந்த, அநேகமாக சிறந்த யோசனை இல்லை நாம் அரையிறுதி இறுதியில் நோக்கி பேசுவோம் என்று. எந்த ஜோக் - - உங்கள் கடவுச்சொல்லை ஒரு ஒட்டும் குறிப்பு எழுதி இருந்தால் உங்கள் மானிட்டர் மீது, அதுவும் அவசியம் சிறந்த வடிவமைப்பு ஆனால் மிகவும் பொதுவான நிகழ்வு அல்ல. உங்கள் கடவுச்சொற்களை குறியாக்க குறியாக்கவியல் பயன்படுத்தி இல்லை என்றால், அவர்கள் குறிப்பாக பாதிக்கப்படுகின்றன. நீங்கள் ஒரு மறைக்கப்பட்ட வேர்ட் ஆவணம் மூலம் வீழ்வது சூப்பர் இருக்கிறாய் என்று நீங்கள் எங்காவது உங்கள் நிலைவட்டில் உங்கள் கடவுச்சொற்களை அனைத்து உள்ளது ஆனால் அது ஒரு மிக மிக பாதுகாப்பான வழிமுறை அல்ல என்று, பார்ப்பதற்கு நடக்கிறது என்று ஒரு கோப்புறையில் தான். அதனால் என்ன pset2 அறிமுகப்படுத்த வேண்டும் குறியாக்கவியல் இந்த கலை கடவுச்சொற்களை போன்ற விஷயங்கள் இன்னும் பாதுகாப்பான என்று மிகவும் மற்றும் தகவல் நெரிசலில். இங்கு சூழல் என்று பாதுகாப்பற்ற தரவு இது குறியாக்க அது போராடும் ஒரு வாய்ப்பு வருகிறது. எனவே இந்த உதாரணமாக, ஒரு மறைக்கப்பட்ட செய்தி ஒரு உதாரணம். இந்த உண்மையில் ஆங்கிலத்தில் ஏதோ சொல்கிறாள், ஆனால் அது தெளிவாக முற்றிலும் வெளிப்படையான இல்லை. நாம் இங்கே இந்த இரகசிய செய்தி என்ன தவிர கிண்டல் செய்ய இன்று முழு வட்டம் வருகிறேன். அவர்கள் ஆங்கிலம் சொற்றொடர்களை இருக்கும் போல ஆனால் கணினிகள் உண்மையான உலகத்தில், விஷயங்களை கூட இல்லை. உதாரணமாக, நீங்கள் ஒரு நிலையான லினக்ஸ் அல்லது மேக் அல்லது யுனிக்ஸ் கணினியில் இருக்கும் என்ன ஒரு முறை கடவுச்சொல்லை கோப்பு என்று மீது ஒரு கோப்பில் என்று ஒரு முறை இருந்தது. இப்போதெல்லாம் அது மற்ற இடங்களில் நகர்த்தப்பட்டது. நீங்கள் ஒரு கணினியில் சரியான இடத்தில் இருக்க வேண்டும் ஆனால், நீங்கள் உங்கள் பயனர் பெயர் மட்டும் பார்க்கலாம் அல்லது கணினியில் மற்ற மக்கள் என்று, ஆனால் நீங்கள் கடவுச்சொல்லை ஒரு மறைகுறியாக்கப்பட்ட பதிப்பு பார்க்கிறேன். உண்மையில், அங்கு வார்த்தை மறைவான, பின்வரும் பொருள் மறைகுறியாக்கப்பட்ட என்று கூறுகிறார் இந்த வெளித்தோற்றத்தில் சீரற்ற கடிதங்கள் மற்றும் எழுத்துக்கள் மற்றும் எண்கள் தொடர் மற்றும் முன்னும் பின்னுமாக தான் பொதுவாக சில இரகசிய தெரிந்து புரிந்து - ஒரு இரகசிய வார்த்தை, ஒரு இரகசிய எண் - அதனால் உண்மையில், குறியாக்கவியல் இறுதியில் செய்யப்படுகிறது கலை சில வகையான நம்ப மற்றும் வேறு இல்லை என்று தெரிந்து. எனவே நாம் இன்று சற்று விரிவாக இந்த ஆராய வேண்டும் மற்றும் pset வரும். இப்போது பாஸ் / தோல்வி பற்றி ஒரு வார்த்தை. நீங்கள் சில pset1, அப்ளையன்ஸ், இந்த dived குறிப்பாக நீங்களே ஒரு புதிய உலகம், உணர்ந்து அந்த ஏமாற்றத்தை மற்றும் குழப்பம் மற்றும் தொழில்நுட்ப சிக்கல்கள் மிகவும் எதிர்பார்க்கப்படுகிறது வேண்டும், குறிப்பாக நான் மிகவும் புதிய அங்கு தான் முதல் pset, உடன், வெறும் ls மற்றும் சிடி தெரிந்திருந்தால் பெறுவது மற்றும் அனைத்து இந்த கமுக்கமான கட்டளைகள் மற்றும் ஒரு புதிய சூழல், மற்றும் உண்மையான பொருள் மற்றும் தன்னை நிகழ்ச்சிகளை இருந்து தனி தான். எனவே ஒரு ஆதரவு அமைப்பு என இருக்கும் அலுவலக மணி நிச்சயமாக இருக்கிறது என்று கூட உணர. பிரிவுகள் வரும் ஞாயிறு தொடங்கும். ஆனால் மிக முக்கியமாக, இந்த நீங்கள் உலக அல்ல என்று உணர்கிறேன் என்றால், இது தான் நேரம் என்று உணர. அது, தோல்வியடையும் / ஒரு வர்க்கம் பாஸ் எடுத்து எனக்கு ஆண்டுகளுக்கு முன்பு இந்த வாய்ப்பை இல்லை நேர்மையாக, நான் வகுப்பறையில் காலடி. மற்றும் நீ,, வரை இதை மாற்ற சொல்லி, நிச்சயமாக ஐந்தாவது திங்கள் முடியாது நீங்கள் இப்போது விளிம்பில் இருக்கும் நீங்கள், முற்றிலும் உணர்ந்து அந்த விட தலை வேறு சில நீர்நிலைகளில், நிச்சயமாக நான் கடந்து / செயலிழக்க மாற்றவும். மீண்டும், பொருட்களை எடுத்து ஹார்வர்ட் இங்கே உண்மையில் இந்த கலாச்சாரம் அங்கு இல்லை கடந்து / தோல்வி அனைவரும் உண்மையில், சாதிக்க அல்லது overachieve விரும்புகிறார் இருந்து ஆனால் வெளிப்படையாக, இந்த ஏதாவது முயற்சி ஒரு அற்புதமான வழி ,, நன்றாக உங்களுக்கு தெரிந்திருந்தால் இருக்க வேண்டும், மற்றும் நீங்கள் பெரும்பாலான வழக்குகளில், செய்து முடிவடையும் என்று உங்கள் ஆச்சரியம் என்று ஒருவேளை அதிக. மேலும் உறுதியான வகையில், நான், இல்லை பொதுவாக தோல்வி / கடந்து நினைக்கிறேன் நீங்கள் pset0 கொண்ட அனுபவம் கூடும் குறிப்பாக, நீங்கள் சில pset 10 மணி நேரம், 15 மணி நேரம், 25 மணி நேரம் வைத்து இருந்தால், மற்றும் நீ உன் தலையை முட்டி மற்றும் இரவில் சூப்பர் போகிறது ஆனால் நீங்கள் வழி pset 90% எடுத்து, நீ தான், ஒன்று கண்டுபிடிக்க முடியாது இப்படி ஒரு வர்க்கம் விளிம்பில் இருந்து எடுத்து தோல்வி / கடந்து, நீங்கள் மகிழ்ச்சியாக, சரி, நான் அதை சரியாக தெரியும் ", என்று ஒரு வரிசைப்படுத்த முடியும் ஆனால் நான் இந்த என் என் வேலை, நான் ", அது முடிந்தது அங்கு கொண்டு அழகாக மகிழ்ச்சியாக அந்த செலவழிப்பதற்காக எதிர்பார்ப்புகளை சந்திக்கும் / தோல்வியடையும். அதனால் மனதில் அந்த வைத்துக்கொள்கிறது. எல்லாம் சரி. ஹார்வர்ட் பல்கலைக்கழகம், Wi-Fi பயன்படுத்த போராடி கொண்டிருக்கும் நீங்கள் அந்த எனவே, சுமார் மிதக்கும் CS50 SSID, Wi-Fi இணைப்பு, இருக்கிறது என்று எனக்கு தெரியும் நீங்கள் நல்ல அதிர்ஷ்டம் என்று. இது ஒரு சிறிய முரண் என்று இந்த இணைக்கும் முயற்சி விரும்பினால் இந்த கடவுச்சொல்லை, அது எந்த நல்லது என்று எங்களுக்கு தெரியப்படுத்துங்கள் - - நல்ல வேகம் இன்னும் 12345, அனைத்து வழி 8 ஆகும் 8 5 விட பாதுகாப்பான என்பதால். நீங்கள், Wi-Fi கடவுச்சொல்லை வேண்டும் என்றால்,,, வயர்லெஸ் இங்கே CS50 செய்ய 12345678 இணைக்க நீங்கள் இன்னும் இடைப்பட்ட இணைப்பு சிக்கல்கள் இருந்தால் மற்றும் CS50 மீது பின், ஆலோசிக்க நாங்கள் இந்த இடத்தை அறிய வேண்டும் என்று அதிகாரங்களை தெரியப்படுத்துவோம். எல்லாம் சரி. குறிப்பாக அனைத்து விஷயங்கள் ஆப்பிள் ரசிகர் ஆண்கள் அல்லது பெண் யார் நீங்கள் அந்த மிக விரைவான டீஸர்,. என்ன நான் மீண்டும் ஒரு சில ஆண்டுகளில் இருந்து தோண்டியெடுத்து, இங்கே iUnlock.c இந்த கோப்பு ஒரு வகையான இன்னும் உறுதியான மற்றும் சிக்கலான செய்ய நாம் எழுதும் வருகிறோம் இன்னும் அடிப்படை சி திட்டங்கள் சில. அதனால் நான் iUnlock.c, இந்த கோப்பு திறந்து. அது இன்று விரிவுரை பக்கத்தில் கிடைக்கும். இடது புறத்தில் நீ செயல்பாடுகளை நீண்ட பட்டியலை பார்க்க. இந்த எழுதியது யார் சக தான் முக்கிய விட நிறைய, வரை எழுதினார். அவர் இங்கே நூலகங்கள் ஒரு மொத்தமாக பயன்படுத்தப்படும், மற்றும் நாம் மூலம் ஸ்க்ரோலிங் ஆரம்பித்தால், என்ன இந்த உண்மையில் அசல் ஐபோன் மிகவும் முதல், நான் நம்புகிறேன், கிராக் என்பது. நீங்கள் உண்மையான ஐபோன் கண்டுவருகின்றனர் வேண்டும் போது, அதில், AT & T இருந்து untether அர்த்தம் உண்மையில், இது சிறப்பு மென்பொருளை நிறுவ மற்றும் ஆப்பிள் மக்கள் செய்ய வேண்டும் என்று விஷயங்களை செய்ய யாரோ, அவர்கள் மென்பொருள் குறைபாடுகள் சுரண்ட முடியும் என்பதை கண்டுபிடிக்க நேரம் எடுத்து இதனால் ஆப்பிள் மென்பொருள் தவறு, பிழைகள், மற்றும் பிறந்தார் iUnlock.c - என்று நீங்கள் உங்கள் கணினியில் அதை தொகுக்கப்பட்ட மற்றும் ஒரு ஐபோன் மீது அது நிறுவப்படும் என்று என்று, ஒரு USB கேபிள், என்று, வழியாக உங்கள் கணினியில் இணைக்கப்பட்டு இந்த உங்கள் ஐபோன் நிர்வாக அல்லது ரூட் உரிமையை கொடுக்க வேண்டும் நீங்கள் அழகாக நீங்கள் என்ன வேண்டுமானாலும் செய்வோம். எனவே இந்த கண்கவர் பூனை மற்றும் எலி விளையாட்டு இருந்தது ஆப்பிள் மற்றும் குறிப்பாக உலகின் பிற பகுதிகளில் அவர்கள் இடையே, பல நிறுவனங்கள் போன்ற, நீங்கள் மட்டுமே அவர்கள் நோக்கம் என்ன செய்ய முடியும் என்று அவர்கள் பொருட்களை கீழே பூட்ட முயற்சி. ஆனால் இந்த மக்கள் மற்றும் குறைந்த அளவு விவரங்கள் புரிந்து நன்றி - இந்த வழக்கில் சி நிரலாக்கம் - மற்றும் பழக்கமான கட்டமைப்புகளை நிறைய நாம் விளையாடி கொண்டிருக்கிறேன் என்று, நீங்கள் உண்மையில் வன்பொருள் அதிகப்படுத்தும் முடியும் ஒரு விதத்தில் நீ பொருத்தம் மற்றும் சில நிறுவனம் இல்லாமல் பார்க்க. எனவே உதாரணமாக, நான், இந்த என்ன யோசனை ஆனால் GetVersion, அழகான நேரடியான கேட்பதற்கே மேலும் இந்த நபர் எழுதியது என்று ஒரு செயல்பாடு இருக்கும் போல் தெரிகிறது. இது ஒரு வாதம் போன்ற முழு சில வகையான எடுக்கும், எதையும் தராது ஆனால் இங்கே வளைய ஒரு மற்றும் ஒரு என்றால் நிலையில், நிலைமையை இடைவெளி என்றால், இந்த சுழற்சி தெரிகிறது நாம் கீழே என்றால் எப்படியோ, பதிப்பு எண்களை தொடர்பு இந்த முக்கிய வார்த்தைகள் நிறைய புதிய போகிறீர்கள் கூட. நாம் பார்த்ததில்லை என்றும் பார்க்க வேண்டும் இங்கே செயல்பாடுகளை ஒரு முழு நிறைய இருக்கிறது செமஸ்டர் படிப்படியாக. நாள் முடிவில், நாம் இதுவரை விளையாடி வருகிறோம் அதே விதிகள் மற்றும் தர்க்கம் பின்வருமாறு. இந்த, உங்கள் ஐபோன் 3S அல்லது 4s அல்லது விரைவில் 5s இந்த நாட்களில் சிதைப்பதற்கு மிக பழமையானது ஆனால் அது மிகவும் நாம் இந்த dived நான் இந்த உலகத்தில் இருந்து பெறப்பட்ட என்று தெரியும். ஒரு சிறு உதாரணம், ஒரு பார்க்கலாம்: இந்த ஒரு, சில தொடரியல் வரை சூடு மற்றும் சில மற்ற தரவு வகை நாம் பேசிவிட்டீர்கள் ஆனால் உண்மையில் சி காணப்படும் என்று இந்த positive1.c என்று ஒரு கோப்பு, மற்றும் மேலே கருத்து படி, இந்த ஒரு பயனர் ஒரு நேர்மறையான எண் வழங்கும் கோருகின்றது. அது பயனர் இடைசெயல் நிரல்களுக்கு நல்ல ஒரு செய்யும் போது மடக்கி, ஒரு எடுத்துக்காட்டு நீங்கள் ஏதாவது செய்ய பயனர் சொல்ல வேண்டும், அங்கு, மற்றும் நீங்கள் அவர்களை கத்துகிறாய் அல்லது அவர்களின் உள்ளீடு நிராகரிக்க ஒத்துழைக்க என்றால். புள்ளியில் வழக்கு: நான் 24 மூலம் வரிகளை 19 செய்ய போகிறேன் எனவே நீண்ட பயனர் என்னை ஒரு நேர்மறையான எண்ணை கொடுக்கவில்லை. 18 வரிசையில் இங்கே இந்த விவரம், நான் ஏன் இந்த வளைவு அமைக்க மேலே n அறிவிக்க சரியான வரி 22 அடுத்த நான் உண்மையில் n பெற கவலை அங்கு எதிர்க்கிறது? Yeah. [மாணவர்] நோக்கம். >> சரி, நோக்கம், எனவே இந்த பிரச்சினை. மற்றும் லேமனின் வகையில், நோக்கம் என்ன பார்க்கவும்? Yeah. >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> நீ சத்தமாக சிறிது பேச முடியுமா? [மாணவர்] நீங்கள் மாறி அணுகலாம் எங்கே. >> இருக்கும். நீங்கள் ஒரு குறிப்பிட்ட மாறி அணுக முடியும். பொதுவாக, கட்டைவிரல் விதி இதுவரை இருந்து வருகிறது என்று சில மாறி நோக்கம் நீங்கள் பார்த்த மிக சமீபத்திய சுருள் ப்ரேஸ் வரையறுக்கப்படுகிறது. நான் வரி 22 n அறிவித்தார் ஒரு தவறு செய்தால் அதனால் இந்த வழக்கில், அந்த வரியை வேலை என்று. , நான் ஒரு முழு எண்ணாக என்று, நான் வரி 22 என்று மாறி n அதை போட ஆனால் அது குறியீடு வரிசையில் இப்போது நான் பற்றி பேசுகிறேன் என்ன யோசனை வேண்டும்? >> [மாணவர்] 25. [Malan] 25, மற்றும் இந்த வழக்கில் அது சுருள் ப்ரேஸ்களை வெளியே விழும் ஏனெனில் அது போல் 24 மாறிவிடும். மிகவும் எளிதாக எளிமையாக மாறி அறிவித்தார் கொஞ்சம் தொல்லை பிட் ஆனால் தீர்க்கப்பட விழாவில் தன்னை வெளியே. நீங்கள் ஒரு படி மேலே சென்று பின்னர் இன்று பார்க்கலாம் நீங்கள் சிறிது கூட சோம்பேறி பெற முடியும். இந்த பொதுவாக பரிந்துரைக்கப்படுகிறது முடியாது, ஆனால் நீங்கள் கூட சோம்பேறி முடியும் மேலும், ஒரு வட்டத்திற்கு உள்ளே, ஒரு செயல்பாடு உள்ளே, இல்லை பேச, உலகளவில் ஒரு மாறி விட்டது நான் வரி 15 இங்கே செய்தது போல் ஆனால் கோப்பு தன்னை, செயல்பாடுகள் அனைத்தும் வெளியே நீ, எழுதப்பட்ட. இது பொதுவாக, கீழ்த்தரமானதாக, ஆனால் இந்த சில நேரங்களில் மற்ற பிரச்சினைகளுக்கு ஒரு தீர்வு உணர நாம் இறுதியில் பார்க்கலாம் என்று. எனவே இப்போது நாம் இதை விட்டு விடுகிறேன், ஆனால் நாங்கள் இந்த மீண்டும் எழுத முடியும் என்பதை நாம் நான் வித்தியாசமாக நம்மை ஒரு சிறிய வெளிப்படுத்தும் தொடங்க. இந்த திட்டம், இப்போது தெளிவாக இருக்க வேண்டும், positive1 உள்ளது. என்னை இங்கே போய் என் முனைய சாளரத்தில் உள்ளிடவும், positive1 செய்யலாம். சரி தொகுத்தெழுதுகிறது. நான் Enter விசையை, positive1 இயக்க போகிறேன். நான் என்னை ஒரு நேர்மறையான முழு என்று கோரி. நான் -1 சொல்கிறேன். அந்த வேலை செய்யவில்லை. 0, 99. அந்த வேலை தெரிகிறது. ஒருவேளை மிக கடுமையான சோதனை, ஆனால் குறைந்த பட்சம் ஒரு நல்ல நல்லறிவு காசோலை நாம் சரியான பாதையில் இருக்கிறோம் என்று. அதனால் இப்போது, எனக்கு முன்னால் சென்று இந்த பதிப்பு 2 திறக்க அனுமதி ஏற்கனவே வேறு என்ன? அது தான் செயல்படுத்துகிறது, ஆனால் என்ன தெளிவாக வெவ்வேறு இந்த நேரத்தில் வெளியே குதித்து விட்டது? பச்சை இந்த bool. இது பச்சை, ஒரு தரவு வகையை இது bool, என்று அழைக்கப்படும் இந்த சொல் முன்னிலைப்படும். இது சி அனைத்து பதிப்புகளுக்கு கட்டப்பட்ட இல்லை நீங்கள் ஒரு குறிப்பிட்ட நூலகம் சேர்க்க வேண்டும். நாம் bool அணுகல் என்று நம் வழக்கில், நான் CS50 நூலகம் சேர்க்கப்பட்டுள்ளது. ஆனால் வரி 18 ல், நாம் நன்றி என்று இங்கே ஒரு பூலியன் மதிப்பு தெரிகிறது. நான் இந்த எதையும் என்று, ஆனால் நான் அதை நன்றியுடன் என்று ஒரு வகையான சில பொருளியல் பொருள் தெரிவிப்பதற்கு. எனவே ஆரம்பத்தில் வரி 18 அன்று, நான் வெளிப்படையாக நன்றி இல்லை நன்றி பூலியன் மதிப்பு வரி 18 இல் தவறான துவக்கப்படும் ஏனெனில். பின்னர் நான் 23 மூலம் வரிகளை 21 இங்கு செய்துவிட்டேன் என்ன தெரிகிறது நான் வகையான என் தர்க்கம் தருவதோடு. இல்லை செயல்படவில்லை வெவ்வேறு அதனால் எண்ணாக பயனர் வழங்கியுள்ளது என்றால், ஆனால் வரி 22 இப்பொழுது நான் சரிபார்த்து 0 விட, நான் வெறுமனே உண்மை நன்றி மதிப்பை மாற்ற. நான் ஏன் அப்படி செய்ய வேண்டும்? வரி 25 இல் ஏனெனில், வெளிப்படையாக நான் ஒரு நிலையை பார்க்க போகிறேன். நன்றி பொய் போது இந்த சுழற்சி செய்ய. அதனால் நான் பதிப்பு 1 மாற்றாக இந்த முன்மொழியப்பட்ட அது ஒருவேளை குறைந்தது இன்னும் சிறிது உள்ளுணர்வு ஏனெனில், அது இன்னும் சிறிது ஆங்கிலத்தில் அடிப்படையில் தான். நன்றி பொய் போது நீங்கள் நன்றி அல்ல அல்லது போது மிகவும் பின்வரும் செய்ய. இந்த நேரத்தில் கூட நான் வெளிப்படையாக பயனர் தட்டச்சு என்ன நினைவில் கவலை இல்லை அறிவிப்பு ஏனெனில் அங்கு இல்லை மாறி n, அதனால் உண்மையில், ஒரு சிறிய வெள்ளை பொய் இருக்கிறது. நாம் அது கீழே போய் ஒருமுறை செயல்படவில்லை, நிரல் ஒரு பிட் வேறு நான் n என்ன நினைத்து ஏனெனில். ஆனால் நான் இங்கே எடுத்துக்காட்ட விரும்புகிறேன் கூட என்று நாம் GetInt பார்த்த கூட மற்றும் ஒரு வலது கை பக்கம் பயன்படுத்தப்படுகிறது GetString இதுவரை அடையாளம் சமம் அதனால் நாங்கள் கண்டிப்பாக அவசியம் இல்லை என்று மதிப்பு, தொழில்நுட்ப, நினைவில் என்று. நீங்கள் ஒரு மதிப்பை காப்பாற்ற கவலையில்லை எந்த காரணத்திற்காகவும், நீங்கள் தான், நாங்கள் வெறுமனே GetInt இந்த எழுத முடியும் என்று பார்க்க, மதிப்பு சரிபார்க்க வேண்டும் திறந்த அடைப்புக்குறி, நெருங்கிய அடைப்புக்குறி. நாம் பேசிட்டு என்று செயல்பாடு, ஒரு மதிப்பு திரும்ப போகிறது. அது ஒரு முழு எண்ணாக நீங்கள் திரும்ப கொடுக்க நடக்கிறது. அதனால் நீங்கள் மனநிலை, இந்த நடக்கிறது என்று நீங்கள் நான் 99 தட்டச்சு போது, GetInt, எண் 99 கொடுக்கிறது எனவே கருத்து, அது என் குறியீடு உண்மையில் இந்த இருந்தது போல தான். 99 0 விட உண்மையில் அதிகம் இருந்தால், பிறகு நன்றி உண்மையாக இருக்கும், நான் இப்போது நன்றி ஏனெனில் பின் வரிசையில் 25 ஓ உணர்ந்து, நாம், முடித்துவிட்டீர்கள் மற்றும் வரி 26 இல், நாங்கள் வெறுமனே, "நேர்மறை முழு எண்ணாக நன்றி!" என்று இது நடந்தது என்ன. இப்போது அப்படி பேச, இங்கே சற்று தொடரியல், சர்க்கரை செய்வோம். நாம் positive3 இந்த மூன்றாவது மற்றும் இறுதி மாறுபாடு இந்த வரி 25 சுத்தப்படுத்த முடியும் என்றால் பார்க்கலாம். இப்போது என்ன குறியீடு வரி மட்டுமே வேறுபாட்டை கவனிக்க? >> [மாணவர்] 25. >> [Malan] சரி, 25. நாம் உண்மையில் நான் இன்னும் இந்த தந்திரம் பார்க்கவில்லை, ஆனால் நாம், திங்களன்று ஆச்சரியக்குறி பார்த்தேன் இது என்ன குறிக்கிறது? >> [மாணவர்] இல்லை. >> இல்லை அல்லது எதிர்மறை. எனவே ஒரு பூலியன் மதிப்பை எடுத்து அதன் மதிப்பு கவிழ்த்து. உண்மை பொய் விடும், பொய்யான உண்மை ஆகிறது. இது, நான் பேச வேண்டும், குறியீடு எழுத கூட இன்னும் கொஞ்சம் உள்ளுணர்வு ஒரு வழி நான் இன்னும் தவறான நன்றி துவக்க ஏனெனில், நான் இன்னும், பின்வரும் செய்ய நேரம் வரும்போது நான், உண்மை நன்றி அமைக்க ஆனால் இப்போது நீங்கள் உண்மையில் நான், வாய்மொழியாக வலமாக இந்த குறியீடு மொழிபெயர்க்க முடியும் அதே நேரத்தில் (நன்றி!); களமிறங்கினார் அல்லது ஆச்சரியக்குறி, இல்லை என்ற கருத்தை குறிக்கிறது என்பதால் அதனால் நன்றி, அதே சமயம். எனவே மீண்டும், நாம் தன்னிச்சையாக எந்த புதிய கருத்துக்கள் அறிமுகப்படுத்தப்பட்டது. நாம் கீறல் விளையாடிய போது நாங்கள், மீண்டும் Booleans பற்றி ஆனால் நாம் மட்டும் பல்வேறு வழிகளில் நமது குறியீடு எழுத தொடங்கலாம் இப்போது உணர. எனவே குறிப்பாக pset1 நீங்கள், சில நிரல் எழுத வழி கண்டுபிடிக்க போராடி வகையான என்றால் தீர்வுகள் பல இருக்க முடியாது, ஏனெனில் அப்படி நீங்கள் அதிர்ஷ்டம் இருக்கிறோம் இருக்கும் நீங்கள் மீது நடக்கும் என்று. உதாரணமாக, இந்த திட்டங்கள் கூட எளிய வெறும் 3. எல்லாம் சரி. இப்போது திங்களன்று நாம் மீண்டும் மதிப்புகள் இந்த குறிப்பை வெளியே நினைவு. மிகவும் முதல் முறையாக நாங்கள் தான் முக்கிய இல்லை என்று ஒரு திட்டத்தை எழுதினார்; இது நான் இங்கே எழுதியது என்று அதன் சொந்த தனிபயன் செயல்பாடு உள்ளது. எனவே வரி 31 இல் 34 மூலம் நான் ஒரு கன செயல்பாடு நடைமுறைப்படுத்தப்படும். இது சிக்கலான இல்லை. அது தான் ஒரு * ஒரு * ஒரு இந்த விஷயத்தில். ஆனால் என்ன இது பற்றி முக்கியம் நான் ஒரு வடிவத்தில் உள்ளீடு செல்கிறேன் என்று நான் ஒரு * ஒரு * ஒரு வடிவில் வெளியீடு திரும்ப ஒப்படைக்கிறேன். எனவே இப்போது நான் திறன் இல்லை, நான் prinf மட்டும் உடன் பயன்படுத்தப்படுகிறது போன்ற, கன விழா அழைப்பு இந்த செயல்பாடு அழைக்க. மற்றும் கன செயல்பாடு சில உள்ளீடு எடுத்து, மற்றும் கன செயல்பாடு சில வெளியீடு கொடுக்கிறது. இதற்கு மாறாக, printf தான் ஏதோ. ஒரு ஒதுக்கி அதை ஒரு மதிப்பு திரும்பி இல்லை என்றாலும், அது, நாம் அக்கறை என்று எதுவும் தரவில்லை; நீங்கள் பொதுவாக அதை புறக்கணித்து. Printf தான் ஏதோ. அதை திரையில் அச்சிடுதல் ஒரு பக்க விளைவு இருந்தது. இங்கே மாறாக, நாம் உண்மையில் ஏதோ கொடுக்கிறது இது கன செயல்பாடு, இல்லை. இந்த தெரிந்திருந்தால் அந்த, அது ஒரு மிகவும் நேர்மையான யோசனை. ஆனால் உள்ளீடுகள் கடந்து செல்லும் மற்றும் வெளியீடுகளை திரும்ப பெற இந்த யோசனை குறைந்த பழக்கமான அந்த, அது தான் ஏதோ சூப்பர் எளிய முயற்சி செய்வோம். வசதியாக யாராவது சுருக்கமாக மேடையில் வருகிறது? நீங்கள் நன்றாக நீங்கள் ஒரு கேமரா வைத்து இருக்க வேண்டும். அப்படியா? சரி. உங்கள் பெயர் என்ன? >> [மாணவர்] கென். >> கென். எல்லாம் சரி. கென், மேலே வாருங்கள். கென் இங்கே வகையான ஒரு செயல்பாடு இருக்கும். தான் போய் இதை செய்கிறேன். ஒரு சிறிய கற்பனை செய்து பார்ப்போம். உங்களை சந்திப்பதில் மகிழ்ச்சி. மைய அரங்கில் வரவேற்கிறது. எல்லாம் சரி. அது இங்கே இந்த பொத்தானை அழுத்தி விடுங்கள். எல்லாம் சரி. எனவே இங்கே நீங்கள், ஒரு நவீன சாக்போர்டு வேண்டும் என்ன நான், உதாரணமாக, முக்கிய செயல்பாடு ஆகும் என் கையில் ஒரு ஐபாட் இல்லை. சரி, நான் என்று சொல்ல முடியாது - நான் எப்படி ஞாபகம் இல்லை. நான் உண்மையிலேயே, நல்ல கையெழுத்து இல்லை எனவே எனவே நான் என்னை திரையில் ஏதாவது அச்சிட வேண்டும். நான் பிரதான திட்டம் என, நான் இதை சொல்ல வேண்டும் போகிறேன் என் கோழி முதலில் அதை எழுதும் பின்னர் நீங்கள் ஒரு உள்ளீடு நிறைவேற்றியதால். இந்த பயிற்சியை என்றாலும் மிக வேடிக்கையான, செயல்பாடுகளை கருத்து மற்றும் ஒரு சார்பு அழைப்பு இந்த ஒரு செயல்பாடு மிகவும் கொதித்தது கீழே திரும்பி. நான் பிரதான நான், நான், திரையில் printf, ஆனால்-மேற்கோள் ஏதாவது எழுதி நான், இந்த திட்டத்தை இயங்கும், மற்றும் விரைவில் printf என்று பெறுகிறார் இது ஒரு வாதம் அல்லது இரட்டை மேற்கோள் இடையே சில நேரங்களில் ஒரு அளவுரு ஆகும். இங்கே அந்த வாதம் ஆகும். நான் கென் அதை கடந்து. அவர் ஆண்டுகள் சில பல முன்பு எழுதிய ஒரு கருப்பு பெட்டி என்று வெளிப்படையாக மட்டுமே திரையில் விஷயங்களை அச்சிட எப்படி தெரியும். அதனால் இயக்க. அந்த கெட்ட அல்ல. நல்ல. எனவே இப்போது கென் இயக்கும் செய்யப்படுகிறது. அவன் என்னிடம் எதுவும் திரும்ப கொடுத்துவிடலாம் தேவை? நாம் இதுவரை பார்த்த இல்லை என்று. மீண்டும், printf உண்மையில் ஒரு எண் திரும்ப, ஆனால் நாம் இப்போது அந்த புறக்கணிக்க போகிறோம் நாம் அது பயன்படும் என்பதால். எனவே கென் அது தான். அதனால் இப்போது முக்கிய மீண்டும் நிரல் கட்டுப்பாட்டை நிறவனத்தை குறியீடு என்று வரி, printf, இயக்கும் செய்யப்படுகிறது ஏனென்றால். நாம் மற்ற வரிகளை உள்ளன என்ன இயக்கும், எங்கள் வழி பற்றி செல்ல. எனவே இப்போது ஒரு வேறுபட்ட எடுத்துக்காட்டாக முயற்சி செய்வோம். இந்த நேரத்தில் இங்கே முதல் திரை தெளிவு படுத்த, இந்த நேரத்தில் நாம், cubing செயல்பாடு செய்வேன் ஆனால் இந்த முறை, நான் ஒரு வெளியீடு மதிப்பு எதிர்பார்க்கலாம். எனவே மேலே போய் இந்த செய்வோம். இப்போது நான் x x இன் கன பெறுகிறார் என்பது குறியீடு ஒரு வரி உண்டு. குறியீடு வரிசை, திரும்ப, இந்த மாதிரி: x = கன (x); எனவே எப்படி இந்த வேலை என்ன? அது மேலே சென்று மீண்டும் ஒரு வெள்ளை திரை கொடுக்கலாம். நான், இப்போது x மதிப்பை குறைத்து எழுத போகிறேன் நேரம் இந்த நேரத்தில் இருக்கும் நடக்கும் இது, எளிமையாக வைத்து, தான் சொல்ல 2 விடுங்கள். நான் ஒரு துண்டு பேப்பரில் என் மதிப்பை x என்பது 2 மதிப்பு, கீழே எழுதியுள்ளனர். நான் கென் கொடு. >> நான் பதில் எழுத? >> ஆமாம், அது தான் பதில் எழுத வேண்டும். சரி. இப்போது அவர் என்னை ஏதாவது திரும்ப உள்ளது. ஆனால். Segue நல்லது. எனவே இப்போது அவர் இந்த வழக்கில் 8 மதிப்பு என்னை கை, மற்றும் நான் என்ன செய்ய? உண்மையில் - இந்த உரிமையை பெற, நாம் பார்ப்போம். நான் இதை வைத்து என்ன செய்ய போகிறேன்? இப்போது நான் இந்த மதிப்பு எடுத்து உண்மையில் நினைவகத்தில் அதே பிட்கள் அதை சேமிக்க போகிறேன். ஆனால் நான் இங்கே போராடி என்ன நான் கவனிக்கவில்லை. நான் உண்மையில் x மதிப்பு எழுத, ஏனெனில் நான், ஒரு சிறு குழப்பம் இருக்கிறது என்ன நான் செய்துள்ளேன் உடல் கை கென் மதிப்பு 2 என்று ஒரு துண்டு பேப்பரில், ஏனெனில் இது x, மேலும் உண்மையில், அந்த என்ன நடந்தது துல்லியமாக உள்ளது. அதை நீங்கள் செயல்பாடு அழைத்து போது நீங்கள் ஒரு வாதம் உள்ள போக்கலாம் என்று மாறிவிடும் ஹலோ போல், உலக அல்லது, 2 போன்ற ஒரு வாதம் உள்ள கடக்க பொதுவாக, நீங்கள் அந்த வாதம் நகலை கடந்து செல்லும். அதனால் நான், இங்கே எண் 2 எழுதினார் மற்றும் கென் அதை கொடுக்காமல் போல் என்று நான் இன்னமும் எங்கோ மதிப்பு 2 நகலை வேண்டும் என்று அர்த்தம் வேண்டும் உண்மையில், இப்போது நான் மதிப்பு 8 திரும்பி வந்திருக்கிறேன் என்று, நான் RAM இல் திரும்பி செல்ல வேண்டும், ஏனெனில் நான் ஒருமுறை எண் 2 வைத்திருந்தார் மற்றும் உண்மையில் 8 எழுதி. எனவே பார்வை, உண்மையில், மதிப்பு நகலை கடந்து இந்த கருத்தை நினைவில். இந்த வழக்கில் 8 போன்ற ஒரு மதிப்பை - - கென் தனது விஷயம், மீண்டும் ஏதோ எனக்கு கைகள் இல்லை நான் அதை சுற்றி வைக்க விரும்பினால் பிறகு நான் அந்த மதிப்பை ஏதாவது செய்ய வேண்டும். இந்த அனைத்து நீண்ட முன் மிக பிரபலமான இருக்கும் திரும்பி வரும். , இங்கே இந்த ஆர்ப்பாட்டத்தை மிகவும் கென் நன்றி. [கரவொலி] நன்றாக செய்து. இறுதியில் நாம் இங்கே பண்ணினீங்க என்று அழைப்பு செயல்பாடு சில தொடர்புடையது என்று எப்படி என்று பார்ப்போம். என்னை போய் இங்கே cubing உதாரணமாக நாம் கொண்டு வர வேண்டும். கவனிக்க நாம் உண்மையில் இந்த மேலும் எடுத்து தொடங்க விரும்பினால், நாம் பல x இங்கே உள்ள கடக்கும் என்று உண்மையை கவனத்தில் இருக்க வேண்டும் உண்மையில் செயல்பாடு உள்ள கடக்கும் என்ன வேறுபட்டது. எனவே மீண்டும், நகல் இந்த பாஸ் ஒரு நொடியில் மிகவும் முக்கியமான போகிறாள். உலகின் மிக சரியான இன்னும் வேலை இல்லை என்று ஏதாவது ஒரு பார்க்கலாம். நான், மேலே சென்று இயற்கையாகவே பிழைபட்டதாய் இது மூன்றாவது தரமற்ற எடுத்துக்காட்டாக, திறக்க போகிறேன் அது buggy3 என்று ஒரு மாற்றம் செயல்பாடு செயல்படுத்துகிறது. இங்கே நாம் x மற்றும் y தன்னிச்சையாக முறையே, 1 மற்றும் 2 துவக்கப்படும் என்று ஒரு முக்கிய செயல்பாடு உள்ளது. , நாம் GetInt பயன்படுத்த முடியும், ஆனால் நாம் ஒரு எளிய உடற்பயிற்சி அவசியம் அது 1 மற்றும் 2 ஆகிய விதமாகவோ தான். கோடுகள் 21 மற்றும் 22 ல், நாம் வெளிப்படையாக x மற்றும் y, வரிக்கு 1 அவுட் அச்சிட. பின் வரிசையில் 23, நான், டாட், டாட், டாட் இந்த மதிப்புகள் மாற்ற நான் கூறுகின்றனர். நான் வெளிப்படையாக வரியில் ஒரு செயல்பாடு 2 வாதங்களை எடுத்து 24 என இடமாற்று அழைப்பு. செயல்பாடுகளை 2 வாதங்களை எடுத்து அதை முற்றிலும் முறைப்படியாக. நாம் printf ஏற்கனவே இதை நான் பார்த்திருக்கிறேன். எனவே, மாற்று வெளிப்படையாக x மற்றும் y எடுத்து, அதன் பெயர் குறிப்பிடுவதுபோல் நான் இந்த 2 மதிப்புகள் மாற்ற நடக்கிறது என்று நம்புகிறேன் என்றார். அதனால் நான் 25 "மாற்றப்பட்டது!" வரியில் கூறுவது நான் x மற்றும் y மறுஅச்சீட்டு அவர்கள் உண்மையில் பரிமாற்றம் செய்து அந்த கருத்தின் கீழ். ஆனால் நான் உண்மையில் இந்த நிரலை இயக்க வேண்டும் - எனக்கு ஒரு முனை விண்டோவில் திறந்து விட என்னை buggy3 செய்யலாம் - பெயர் குறிப்பிடுவதுபோல், இந்த நல்ல முடிவுக்கு போவதில்லை நான், உள்ளிடவும் x 1 என்பதை நீங்கள் கவனிக்க ஹிட் போது, y, 2, ஏனெனில் இன்னும் திட்டத்தின் முடிவில், அவர்கள், உண்மையில், இன்னும் அதே உள்ளது. எனவே இப்போது கென் கொண்டு, என்ன உண்மையில் நடக்கிறது ஆர்ப்பாட்டம் அடிப்படையில்? இந்த இடமாற்று செயல்பாடு பற்றிய முழுக்கு நாம். இது குறுகிய சூப்பர் தான். இது மட்டுமே நீண்ட குறியீடு ஒரு சில வரிகளை தான். ஆனால் கென் கொண்டு இங்கு கூறினார் எளிமையான கதையை அடிப்படையாக அடிப்படை பிரச்சினை என்ன? ஏன் இடமாற்று உடைந்துள்ளது? [மாணவர்] நீங்கள் ஒரு நகல், இல்லை மாறி செய்ய சேமிக்கும். சரியாக. நாம் மாறி, ஒரு நகல் தன்னை சேமிக்கும். வேறுவிதமாக கூறினால், இடமாற்று வெளிப்படையாக 2 வாதங்கள், ஒரு முழு எண்ணாக, எடுக்கிறது அது தன்னிச்சையாக, a மற்றும் b என மேலும் இங்கு நான் முறையே 1 மற்றும் 2 இவை x மற்றும் y, உள்ள தேறிவிட்டேன் ஆனால் நான் உண்மையில் x கடந்து செல்லும் நான், நான் உண்மையில், y கடந்து செல்லும் நான் x நகலை மற்றும் y நகலை செல்லும். இது கிட்டத்தட்ட போல் நீங்கள் நகலெடுக்க மற்றும் இடமாற்று மீது ஒட்டப்படும் நீங்கள் உண்மையில் கையாள வேண்டும் என்று மதிப்புகள். அந்த வழக்கில், நான் திட்டத்தின் தொடக்க வரி இயக்கும் போது 35 பிறகு 36, மிக என்றால் நான் கதை இந்த கட்டத்தில், வரி 37 கிடைக்கும் போது, என்ன ஒரு மதிப்பு இருக்கிறது? கதை இந்த கட்டத்தில், வரி 37, இந்த இடத்தில் ஒரு மதிப்பு என்ன? >> [மாணவர்] 1. [Malan] x முதல் வாதம் என நிறைவேற்றப்பட்டது ஏனெனில் அது, வலது, 1 வேண்டும், இந்த செயல்பாடு தான் தன்னிச்சையாக தனது முதல் வாதம் ஒரு அழைக்கிறார். இதேபோல் இரண்டாவது வாதம் Y, மற்றும் அது தன்னிச்சையாக இரண்டாவது வாதம் ப அழைக்கிறார். இந்த இரட்டை உண்மையில் மிகவும் எளிமையாக விளக்கினார். அதை பற்றி யோசிக்க. நாங்கள் யாரும், printf எழுதியது யார் சந்தித்த எனவே நிச்சயமாக, அவன் அல்லது அவள் எங்கள் மாறிகள் 30 ஆண்டுகள் கழித்து என்று என்ன யோசனை உள்ளது. எனவே, நீங்கள் எழுதும் நீங்கள் செயல்பாடுகள் மாறிகள் அழைப்பு இடையே ஒரு வேறுபாடு இருக்க நீங்கள் அழைக்கும் அல்லது பயன்படுத்தும் செயல்பாடுகள் மாறிகள் அழைக்க என்ன. எனவே வேறு வார்த்தைகளில், நான், x மற்றும் y என் மாறிகள் எழுதி வேறு மாற்று செயல்பாடு எழுதப்பட்ட இருந்தால் ஆனால், அவர் நிச்சயமாக தெரியாது என் மாறிகள், என்று என்ன எனவே நீங்கள் பெயர்கள் இந்த இரட்டைத்தன்மை ஏன் இந்த என்று உணர. தொழில்நுட்ப, நான், தற்செயல் இந்த செய்ய ஆனால் அவர்கள் இன்னமும் நகல்கள் வழங்கப்பட்டது. இது ஒரு தூய தற்செயல் என்று கலையுணர்வுடனும் என்றால் இடமாற்று எழுதியது யார் அதே பெயர்கள் பயன்படுத்தப்படுகின்றன. அதனால் கதை இந்த கட்டத்தில், வரி 37, ஒரு 1, பி 2, மற்றும் இப்போது நான் மாற்ற நடவடிக்கை. முதலில், எனக்கு உண்மையில் மிக எளிதாக இந்த செய்வோம். நான் குறியீடு அந்த 3 வரிகளை என்ன என்று எனக்கு தெரியாது. என்னை இந்த செய்யலாம்: ப = ஒரு; ஒரு = ப; செய்து. ஏன் இந்த தர்க்கரீதியாக, உடைந்த இருக்கிறது? அது சரி, உள்ளுணர்வு விஷயம் என்ன இருக்கிறது? , ஒரு மாறும் ஒரு மாறுகிறது ப ப எனவே ஆனால் பிரச்சனை வரி 37 இயக்கும் விரைவில், ஒரு மற்றும் ப மதிப்பு என்ன என்று? நீங்கள் clobbered ஏனெனில் 1, அதே,, அதனால் பேச, ஒரு சமமாக ப மாறிவிட்டேன். எனவே ஒரு முறை வரி 37 செயல்படுத்த உள்ளது, அது மிகவும் நல்லது, நீங்கள் இப்போது எண் 1, 2 நகல்கள் வேண்டும் இந்த செயல்பாடு உள்ளே, நீங்கள் வரி 38 சொல்ல மிகவும் பின் ஒரு = ப, நீங்கள் 1 1 ஒதுக்கப்படுகிறது என்பதை உங்களால் வகையான ஸ்க்ரீவ்டு. நீங்கள் வகையான நீங்கள் பற்றி அக்கறை மதிப்பு இழந்துவிட்டேன். இந்த அசல் பதிப்பில், நான் என்ன கவனிக்க. நான் அதற்கு பதிலாக இந்த போல அந்த குறியீடு மூன்றில் ஒரு வரி இருந்தது. நான் ஒரு தற்காலிக மாறி அறிவிக்க. Tmp ஒரு தற்காலிக மாறி ஒரு மிகவும் பொதுவான பெயர், மற்றும் அது ஒரு முழு எண்ணாக தான் அதை நான் ஒரு நகல் செய்ய வேண்டும் என்ன பொருத்த வேண்டும் என்பதால். வரி 37 தூக்கிலிடப்பட்டார் அதனால் ஒருமுறை நான், tmp ஒரு உள்ளே நகல் சேமிக்க ஒரு மதிப்பு - விரைவு நல்லறிவு காசோலை - 1, ப மதிப்பு, 2 ஆகும் மற்றும் tmp மதிப்பு மேலும் 1. எனவே இப்போது நான் வரி 38 இயக்கவும். வரி 38 இயக்கும் முறை, ஒரு ப மதிப்பை பெறுகிறது. மற்றும் பி 2, அதனால் ஒரு இப்போது 2. அதனால் கதை இந்த கட்டத்தில், ஒரு 2, ப 2, மற்றும் tmp 1 எனவே இப்போது தர்க்கரீதியாக, நாம் ப கொண்டு தான் உழை tmp மதிப்பு முடியும் நாம் முடித்துவிட்டீர்கள். எனவே நாம் அந்த பிரச்சனையை தீர்த்து. துரதிருஷ்டவசமாக, நான் இந்த படிவத்தை இந்த நிரலை இயக்க போது, அது உண்மையில் எந்த மதிப்புகள் இடமாற்றம் இல்லை. ஆனால், ஏன் தெளிவாக இருக்க வேண்டும்? நான் ஒரு நிமிடம் முன்பு இருந்து தருக்க சிக்கல் சரி செய்யப்பட்டது நான் இந்த நிரலை இயக்க வேண்டும் ஆனால் மீண்டும், x மற்றும் y மாறாமல் இருக்கும் நிரல் செயலாக்கம் இறுதியில். [செவிக்கு புலப்படாமல் மாணவர் கருத்து] >> நாம் எதையும் திரும்பி இல்லை, உண்மை என்று. ஏனெனில் இதுவரை ஒரு பிரச்சனை ஒரு பிட் இங்கே இருக்கிறது அவுட் ஆனால், திருப்பி நாம் திரும்ப பெற முடிந்தது தான் ஒரு விஷயம், இந்த சி ஒரு தடை இல்லை நான் வகையான இங்கே சிக்கி இருக்கும் நிலையில், அதில் நீங்கள் மட்டும், உண்மையில் ஒரு மதிப்பு திரும்ப முடியும் நான் x புதிய மதிப்பை திரும்ப அல்லது ஏனெனில் நான், y புதிய மதிப்பை திரும்ப முடியும் ஆனால் நான் இரண்டு திரும்ப வேண்டும். எனவே எளிய தீர்வு இங்கே திரும்பி. ஆனால் பிரச்சனை அடிப்படையில் ஏன்? நாம் உண்மையில் என்ன பண்டமாற்று? [மாணவர்] A மற்றும் B. >> ஒரு மற்றும் ப. ஆனால் ஒரு மற்றும் ப நாம் இந்த வேலை எல்லாம் செய்தது அதாவது x மற்றும் y, நகல்கள் நாம் மட்டும், மாற்று செயல்பாடு மற்றும் இந்த மாறிகள் அனைத்து 3 பற்றி 3 நிமிடங்கள் கழித்த என்று, தனித்து செய்தபின் சரியான, நல்லது ஆனால் ஒரு மற்றும் ப பரப்பை மட்டுமே இங்கே இந்த கோடுகள் இருக்கும். அதனால் தான், லூப் ஒரு மாதிரி நான், லூப் உள்ளே ஒரு முழு அறிவிக்க வேண்டும் இதேபோல், நீங்கள் எழுதிய நான் ஒரு விழாவில் ஒரு மற்றும் ப உள்ளே அறிவித்தார் என்றால், அந்த செயல்பாடு மட்டுமே செல்லுபடியாகும் உள்ளே இருக்கும், அது விரைவில் இடமாற்று இயக்கும் செய்யப்படுகிறது என்று பொருள் நாம் வரி 25 வரியை 24 போக, x மற்றும் y அனைத்து மாறவில்லை. நீங்கள் மாறிகள் பிரதிகளை மாற்ற நேரம் ஒரு முழு வீணாகிறது. எனவே இந்த தீர்வு உண்மையில் அல்லாத வெளிப்படையான என்று கூறினார். நாம் மட்டும் 1 மதிப்பை திரும்ப முடியும், ஏனெனில் இது, மதிப்புகள் திரும்ப மிகவும் போதுமானதாக இல்லை மற்றும் நான், அதே நேரத்தில் x மற்றும் y இரண்டு இடமாற்றம் செய்ய வேண்டும் எனவே இந்த வர போகிறது. ஆனால் இப்போது, பிரச்சினை அடிப்படையில் ஒரு மற்றும் ப நகல்கள் என்று உண்மையில் இருந்து பெறப்பட்ட என்று அவர்கள் தங்கள் நோக்கம் உள்ளன. அது ஏதோ ஒரு வகையில் இந்த தீர்க்க முயற்சி செய்வோம். அது, இந்த ஒரு நான்காவது மாறுபாடு, buggy4 சொல்கிறேன், என்னை உண்மையில் இங்கே மீண்டும் உருட்டும் அனுமதியுங்கள் திறக்க. என்ன இது? இந்த நாங்கள் அதை தீர்க்கும் ஒரு குத்துவதற்கு எடுத்து முன் கவனிக்க ஒரு ஒத்த ஆனால் எளிமையான பிரச்சனை. இந்த திட்டம் சம்பள உயர்வு என்று, இது வெளிப்படையாக வரி 18 இல் 1 ஒரு x முழு துவக்கும். நான் x 1 கூறுகின்றன, நான் "உயர்த்துவதன் ..." என்று , நான் சம்பள உயர்வு என்று, ஆனால் பின்னர் வரிகளை 22 மற்றும் 23 ல், நான் அதை incremented செய்யப்பட்ட கூறுகின்றனர் 2, மறைமுகமாக - - நான் x அது என்ன இப்போது கூறுகின்றனர் ஆனால் இந்த திட்டம் தரமற்ற உள்ளது. என்ன பிரச்சனை? Yeah. >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரியாக. எனவே x 18 வரிசையில், வெளிப்படையாக அறிவித்தார். அந்த முக்கிய இன் சுருள் ப்ரேஸ் உள்ளே இருக்கும். இங்கு எளிமையான பதில், x இங்கே உள்ளது போது தான் அது வரி 32 இல் இல்லை, இந்த திட்டத்தை உண்மையில் கூட தொகுக்கலாம் மாட்டேன் என்று. நான் இந்த குறியீடு ஒடுக்குவதற்கான முயற்சிக்கும் போது தொகுப்பி என்னிடம் கத்துவார்கள் போகிறது சில அண்டிக்ளேர்டு அடையாளங்காட்டி அல்லது அந்த விளைவு ஏதாவது பற்றி. உண்மையில், நாம் முயற்சி செய்வோம். இந்த buggy4 செய்ய உள்ளது. அது அங்கே இருக்கிறது. வரி 32 அண்டிக்ளேர்டு அடையாளம் 'x' பயன்படுத்தும். உண்மையில், இந்த பயனுள்ளதாக இருக்கும் என்று தான் இங்கே இன்று இன்னும் வெளிப்படையாக இருக்க வேண்டும் அலுவலக நேரத்தில் வீட்டில். இது மிகுந்த அளவில் மாறுபாடாக எழுதப்பட்ட ஒரு சிறிய என்று பாருங்கள். ஆனால் கணகண வென்ற சப்தம் என்று உண்மையில் buggy4.c சொல்லி, நம்மை திட்டினான்: 32:5, உண்மையில் பயனுள்ளதாக இருக்கும். அது பிழை தன்மையை நிலை 5 வரி 32 ம் தேதி ஆகும். எனவே 1, 2, 3, 4, 5. பிரச்சினை எங்கே என்று, உண்மையில், இது. மேலும், மிக, அலுவலக நேரத்தில் வீட்டில் மனதில் வைத்து, நான் இங்கே அதிர்ஷ்டசாலி. நான் ஒரு தவறு உள்ளது. அதை சரி செய்ய எளிதாக இருக்க போகிறது. ஆனால் நீங்கள் பெரும் பிழை செய்திகளை முழு முழு திரையில் கிடைக்கும் என்றால், மீண்டும் bottommost ஒரு சில மிக உயர்ந்த ஒரு அடையாளம் இருக்கும் என்று. எனவே எப்போதும் மேலே கீழே இருந்து உங்கள் குறைகளை கீழே துரத்துகிறார்கள் ஒரு டெய்சி சங்கிலி விளைவை இருக்கலாம், ஏனெனில் என்று நீங்கள் உண்மையில் செய்ய விட வழி அதிக பிரச்சினைகள் காட்டுகிறது. என் இலக்கு x அதிகப்படுத்த இருந்தால் நாம் எப்படி இதை சரிசெய்ய முடியும்? >> [மாணவர்] x உலகளாவிய கொள்ளுங்கள். சரி, நாம் x உலகளாவிய செய்யலாம். , நாம் நான் பற்றி முந்தைய எச்சரித்தார் என்று குறுக்குவழி எடுத்து, ஆனால் கர்மம், நாம் ஒரு விரைவான தீர்வை வேண்டும் அதனால் தான் இங்கு int x கூறலாம். என்று x உலகளாவிய செய்கிறது. எனவே இப்போது முக்கிய, அதை அணுக மற்றும் சம்பள உயர்வு அதை அணுக வேண்டும் உள்ளது அதனால் என்னை போய் இப்போது இந்த தொகுக்க வேண்டும். Buggy4 செய்ய, உள்ளிடவும். இப்போது தொகுக்க தெரிகிறது. அது buggy4 ஓடிப்போகட்டும். அது உண்மையில் வேலை தெரிகிறது. இந்த, நான் இல்லை, நான் சொல்வதை என்று இந்த விஷயங்களை ஒன்றாகும் நான் இங்கே செய்தது போல, ஏனெனில் பொதுவாக, நமது திட்டங்கள் இந்த விட மிகவும் சுவாரசியமான மற்றும் நீண்ட பெற போகிறோம், வாழ்க்கை பிரச்சினைகளை உங்கள் தீர்வு தான் உங்கள் கோப்பின் மேல் அனைத்து மாறிகள் வைத்து இருந்தால், மிக விரைவில் திட்டங்கள் நிர்வகிக்க horrifically கஷ்டம். இது, புதிய மாறி பெயர்கள் வரை என்று கடினமாக பெறுகிறார் இது, என்ன என்ன மாறி புரிந்து கொள்ள கடினமாக பெறுகிறார் எனவே பொதுவாக, இந்த ஒரு நல்ல தீர்வு அல்ல. எனவே இதை செய்வோம். நாம் இங்கே ஒரு உலகளாவிய மாறி பயன்படுத்த விரும்பவில்லை. நான் x அதிகப்படுத்த வேண்டும், அதனால் நான் வெளிப்படையாக முடியும் - நாம் தான் செய்ய ஏனெனில் நாள் முடிவில், இந்த ஒரு வேடிக்கையான கதை வகையான - ஆனால் நான் அந்த ஆபரேட்டர் பற்றி தெரியாது அல்லது நான் முக்கிய தன்னை மாற்ற அனுமதி இல்லை என்றால், எப்படி வேறு நான் இந்த நேரம் இல்லை கன இங்கு கென் செயல்படுத்த முடியும் ஆனால் அதிகப்படுத்த? எப்படி நான் இங்கே இதை மாற்றுவது? Yeah. [மாணவர்] x உள்ள பாஸ் மற்றும் பின் திரும்பி [செவிக்கு புலப்படாமல்] >> சரி, நல்ல. அதனால் நான், x இல் கடந்து பின்னர் விட அதை திரும்ப வேண்டாம் ஏன் நான் x + 1 திருப்பி இல்லை. ஒரு ஜோடி இன்னும் விஷயங்களை இங்கே மாற்ற வேண்டும். நான் சரியான பாதையில் உள்ளேன். நான் வேறு என்ன வேண்டும்? வேறு யாரோ. Yeah. [செவிக்கு புலப்படாமல் மாணவர் பதில்] அதை களைவதற்கு இல்லை, ஏனெனில் நான் உயர்வு திரும்ப வகை மாற்ற வேண்டும். வெற்றிடத்தை வழி எதுவும், திரும்பி, ஆனால் தெளிவாக இப்போது இது இந்த தேவைகளை மாற்ற - >> [மாணவர்] எண்ணாக. நான் உண்மையில் திரும்பி என்ன இசைவானதாக இருக்க வேண்டும் INT. இப்போது வேறு ஏதாவது இங்கே இன்னும் தரமற்ற உள்ளது. Yeah. [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> [Malan] நான் x அதிகப்படுத்த வேண்டும் என்று? [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> [Malan] ஓ, நான் x அனுப்ப வேண்டும். அதனால் நான் இங்கே இதை செய்ய வேண்டும். >> [செவிக்கு புலப்படாமல் மாணவர் கருத்து] [Malan] எனவே முன்மாதிரி, நான் இங்கே இதை மாற்ற வேண்டும். இந்த ஒரு முழு எண்ணாக இருக்க வேண்டும், எனவே, இந்த மாற வேண்டும் - அப்புறம், நான் உண்மையில் இங்கே ஒரு பிழை கீழே உள்ளது. முதல் ஒரு சரி விடு. இந்த உண்மையில் என்ன வேண்டும்? அது ஒரு முழு எண்ணாக ஏதாவது இருக்க வேண்டும். உங்கள் மாறிகள் x அனைத்து அழைப்பு ஆரம்பித்தால் அது, வெளிப்படையாக x இருக்கும், ஆனால் முடியவில்லை அது இது குறைவான தெளிவான பெற நடக்கிறது. எனவே தான் தன்னிச்சையாக என் உதவி செயல்பாடுகளை ஒரு வேறுபட்ட பெயரிடும் மாநாட்டின் தேர்வு செய்யலாம், நான் எழுதும் செயல்பாடுகள். நாம் அது ஒரு அழைக்கிறேன், அல்லது நாம் அழைப்பு முடியும் - நாம் இன்னும் வெளிப்படையாக இருக்க வேண்டும் என்று எண்ணை. அதனால் நான் பல பிளஸ் 1, என்ன திரும்ப வேண்டும் இப்போது நான் இங்கே மற்றும் இங்கே இன்னொரு விஷயம் வரை 1 வேறு விஷயம் வரை மாற்ற வேண்டும். நான் முதல் வரியை 21 மாற்ற என்ன இருக்கிறது? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] [Malan] நான் x அதை ஒதுக்க வேண்டும். நான் (x) சம்பள உயர்வு அழைக்க முடியாது. நான் இடது புறத்தில் x மதிப்பை மாற்றுவதன் மூலம் பதில் நினைவில் கொள்ள வேண்டும். மற்றும் x இப்போது கூட இடது மற்றும் வலது, அந்த முற்றிலும் சரி வலது பக்கத்தில் முதல் செயல்படுத்த விடுகிறது பிறகு இடது கை ஒன்று சேர்த்து plopped - இந்த வழக்கில் x. பின்னர் இறுதியாக, இது ஒரு சுலபமான தீர்வை உள்ளது. இது int எண், கீழே என்ன கீழே தான் பொருத்த வேண்டும். எனவே உண்மையில் முட்டாள் விழாவிற்கு மாற்றங்கள் ஒரு கட்டுகளையும் ஆனால் நாம் அதிகமாக செய்ய வேண்டும் என்று நான் விஷயங்கள் பிரதிநிதி. எனவே buggy4 செய்ய. நான் எங்கோ ஸ்க்ரீவ்டு. ஓ, என் கடவுள். ஒரு 6 வரி திட்டத்தில் ஐந்து தவறு. எனவே தன்மை, 18 வரிசையில் தவறு என்ன 5 இருக்கிறது? அதனால் நான் இந்த, int அறிவிக்க வேண்டும். பார்க்கலாம். மற்ற பிழைகள் ஒரு மொத்தமாக உள்ளன. ஓ, என் கடவுள் - 19, 18, 21 - மீண்டும் ஆனால், அது தான் இங்கே, கட்டுப்பாடு எல் திரை தெளிவு படுத்த மற்றும் கணகண வென்ற சப்தம் மீண்டும் இயக்கவும். எனவே 5 பிரச்சினைகள் உண்மையில் அது 1. எனவே இப்போது உள்ளிடவும், அது buggy4 இயக்க அனுமதிக்க. திகப்பு, பயம், ஆச்சரியம் ஆகியவற்றை உணர்த்தும் சொல், x சரியாக incremented. எல்லாம் சரி. எண்கள் அதிகப்படுத்த எப்படி எந்த கேள்விகள்? Yeah. [செவிக்கு புலப்படாமல் மாணவர் கேள்வி] >> நல்ல கேள்வி. அதை நான் பல x மாற்ற முடியும் திட்டத்தை உடனடியாக தெரியவில்லை என்று எப்படி? மீண்டும், இந்த சாராம்சமாக இது என்று. நான் பிரதான நான் மற்றும் கென் வெளிப்படையாக, சம்பள உயர்வு என்றால், அதனால், நான் கென் அவரது ஐபாட் அழைப்பு என்ன கவலை இல்லை. நான் அவர் இந்த செயல்பாடு தனது செயல்படுத்த செய்ய வேண்டும் என்று எதையும் அழைப்பு என்ன கவலை இல்லை. இந்த நான், முக்கிய, கவலைப்பட வேண்டிய அவசியம் இல்லை என்று ஒரு செயல்பாடு விவரம் இல்லை. எனவே வெறுமனே செயல்பாடு உள்ளே தொடர்ந்து அதை மாற்றவே - எண் இங்கே மற்றும் இங்கே எண் - அதை நான் மீள்தொகுப்பானது மிக நீண்ட காலம் எடுக்கும் அனைத்து ஆகும். நீங்கள் நினைத்தால் அது ஒருவித மாதிரி தான் ஓட்டுநர் உரிமம் நீங்கள் அந்த, நம்மை பற்றி பல நீங்கள் கூட ஒரு காரில் இயக்கப்படும் நான் யார், அல்லது உந்துதல் நாம் மிகவும் ஒரு கார் பேட்டை அடியில் எவ்வாறு தெரியாது. நீங்கள் தொப்பி, எங்களுக்கு மிகவும் திறந்து என்றால் உண்மையில், - என்னை சேர்த்து - உண்மையில் நாம் பார்த்து வருகிறோம் என்று போவதில்லை, இப்போது இது சரியான போன்ற பொருட்களை கொண்டு உணரலாம் மாதிரி. ஆனால் உண்மையில், கார் எவ்வாறு கவலை இல்லை நாம் கவலைப்பட வேண்டியதில்லை என்ன கார் உள்ளே கம்பிகள் மற்றும் பிஸ்டன்களை மற்றும் கேபிள்கள் அனைத்து உண்மையில் செய்கின்றார்கள். நீங்கள் பிஸ்டன் இந்த வழக்கில் இங்கே இல்லை என்று என்ன போல மிகவும். அதே கருத்து. Yeah. >> [செவிக்கு புலப்படாமல் மாணவர் கேள்வி] மாறி XA நேரத்தில் அதிக பயன்களை முன்பு இருந்தால், நீங்கள், ப்ரோக்ராமர், எல்லா இடங்களிலும் அவர்களை மாற்ற வேண்டும். அல்லது நீங்கள் உண்மையில் கோப்பு, பட்டி செய்ய, பின்னர் மாற்றவும், தேட முடியும் - என்று ஏதோ - ஆனால் நீங்கள் அந்த மாற்றங்களை நீங்கள் செய்ய வேண்டும் போகிறீர்கள். நீங்கள் தொடர்ந்து இருக்க வேண்டும். >> [மாணவர்] பல மாறிகள் இல்லையெனில் [செவிக்கு புலப்படாமல்] இங்கே இப்படி ஒரு குறிப்பிட்ட வரிசையில், இந்த என்று மற்றொரு எண் INT? >> [மாணவர்] சரி. [Malan] சரி. நீங்கள் செயல்பாடு அழைப்பு போது வரிசையில் விஷயம். நான், ஏதாவது மேற்கோள் ஒன்று இங்கு சம்பள உயர்வு கோரி நீங்கள் ஒரு நேரடி மேப்பிங் உள்ளது. அதை என எதுவாக முதல் மாறி, இங்கு முதல் வாதம் ஒரு நகல் செய்யப்படுகிறது. மன்னிக்கவும். இந்த ஒரு அடைப்பு இருக்க கூடாது. இரண்டாவது ஒரு இரண்டாவது வாதம் வரிகளை வரை. ஒழுங்கு மிகவும் சரி, விஷயம். எல்லாம் சரி. மன்னிக்கவும். நான் அங்கு பெற நீண்ட வழி எடுத்தது. மற்ற கேள்விகள்? எல்லாம் சரி. நாம் உண்மையில் இங்கு என்ன நடக்கிறது ஒரு சித்தரிக்கின்றன முடியாது என்றால் நாம் பார்ப்போம் பேட்டை கீழ், அதனால் பேச. இந்த உங்கள் கணினியின் நினைவகம் பிரதிநிதித்துவப்படுத்த கூடிய ஒரு செவ்வகத்தின் உள்ளது. நீங்கள் நினைவகத்தை வேலை அல்லது எப்படி ரேம் வேலை எப்படி யோசனை கூட, குறைந்த பட்சம் இந்த நாட்களில் இது bunches என்று வைத்து கொள்வோம். நீங்கள் அதை மெகாபைட்ஸ் கிடைத்துவிட்டது, நீங்கள், அது ஜிகாபைட் கிடைத்துவிட்டது நாம் ஒரு பைட் தான் என்ன என்று வாரம் 0 தெரியும்? >> [மாணவர்] 8 பிட்கள். 8 பிட்கள், சரியான? எனவே 8 zeroes மற்றும் 1. உங்கள் கணினியில் RAM, கிக், ரேம் 2 நிகழ்ச்சியில் இந்த நாட்கள், இல்லை என்றால் நீங்கள் நினைவகத்தை ஒரு பில்லியன் அல்லது 2 பில்லியன் பைட்டுகள் அல்லது கிட்டத்தட்ட 8 பில்லியன் அல்லது 16 பில்லியன் பிட்டும் உங்கள் கணினியின் உள்ளே. சிறிது Wooly வில்லி எடுத்துக்காட்டாக போலன்றி, இது பொதுவாக இனி காந்த துகள்கள் அல்ல. பெருகிய - மடிக்கணினிகளில் குறைந்தது - இது திட நிலை இயக்கிகள், SSDs, தான் நான் எந்த நகரும் பகுதிகளை கொண்டிருக்கவில்லை என்று. இது அனைத்து மின்னணு தான். இது அனைத்து மின்சார சார்ந்த விஷயம். அதனால் தான் நீங்கள் என்று நினைவகம் 1 அல்லது 2 ஜிகாபைட் குறிக்கும் இந்த செவ்வகத்தின் என்று. அது நினைவகம் ஒரு துண்டின் தான். அப்படி ஆஃப் பகிர்வு கணினி அறிவியல் உலகம் நினைவகம் துண்டுகளாக்கி பல்வேறு விஷயங்களை செய்ய. இந்த உங்கள் கணினியின் ரேம் என்றால் உதாரணமாக, என, அங்கு செவ்வகம் மூலம் ஆலோசனை இது, மாநாட்டின் மூலம், உங்கள் RAM மேலே, அதனால் பேச என்று மாறும் ஒரு உரை பிரிவில் என்று என்ன பொதுவாக உள்ளது. அந்த நீ தொகுக்கப்பட்ட என்று 0s மற்றும் 1 வி இருக்கும். நாம், a.out என்ன என்பதை பேட்டை அடியில் பார்த்துவிட்டேன் அதனால் போது இந்த 0s மற்றும் 1 வி, நீங்கள் ஒரு நிரலை இயக்க போது, அந்த 0 க்கள் மற்றும் 1 வி, ரேம் என்று ஒன்று உங்கள் நிலைவட்டில் ஏற்றப்படுகின்றன மற்றும் RAM அவர்கள் மேல் வைத்து. இதற்கிடையில், நீங்கள் மற்ற விஷயங்கள் உள்ளன: தரவு uninitialize, தரவு துவக்க. நினைவகம் அந்த 2 swaths நீங்கள் அடிக்கடி பயன்படுத்த வேண்டாம் என்று உலக மாறிகள், பார்க்கவும் நீங்கள் செய்தால் ஆனால் சில நேரங்களில், அவை அங்கு முடிவடையும். சூழ்நிலை மாறிகள், நாம் அதிக நேரம் செலவிட முடியாது, இது: பின்னர் வேறு சில விஷயங்கள் உள்ளது ஆனால் பின்னர் 2 முக்கியமான விஷயங்கள் என்று, செமஸ்டர் முழுவதும் திரும்பி வரும் ஸ்டாக் மற்றும் குவியல். ஒரு நிரலை இயக்கும் போது உங்கள் கணினியின் நினைவகம் மிகவும் ஒதுக்கப்பட்டுள்ளது ஏதாவது ஸ்டேக் என்று ஏதாவது குவியல் என்று. நாம் இன்று குவியல் பற்றி பேச போவதில்லை, ஆனால் நாம் ஸ்டேக் பற்றி பேசுவோம். ஸ்டாக் மாதர் மாளிகையில் டைனிங் ஹால் உணவு தட்டுக்களும் காட்சி வரை சிந்தாது பொருள் அல்லது டைனிங் ஹால் ஊழியர்கள் ஒவ்வொரு நாளும் அவர்கள் சுத்தம் எங்கே இருக்கிறது நடக்கும் எங்கு, அவர்கள், மேலே உள்ள தளத்தில் இருந்து அவற்றை குவியலாக அதே போல், நினைவகம், ஒரு அடுக்கு மீது ஏதோ இந்த யோசனை, இல்லை ஒரு அடுக்கு மீது ஏதோ ஒரு அடுக்கு மீது ஏதோ. நாம் இந்த அர்த்தம் என்ன? இந்த படத்தை மட்டும் குறைந்த அரை, உங்கள் கணினியின் ரேம், மீது ஜூம் நாம் பின்வரும் முன்மொழிய. அது மாறிவிடும் நீங்கள் a.out அல்லது ஹலோ போன்ற ஒரு நிரலை இயக்க போது - - நிரல் எழுதி என்று என்ன மீண்டும், அந்த 0 க்கள் மற்றும் 1 வி, நீண்ட கால சேமிப்பு இது உங்கள் வன், ஏற்றப்படுகின்றன நீங்கள் ரேம் ஏற்றப்பட்டவுடன் பிளக், இழுக்க கூட அங்கு. ரேம் வன் விட அதிகமாக இருக்கும் - இது நிலைவட்டு விட சிறிய விஷயம் - நீங்கள் அவர்களை ஐ நீங்கள் போது திட்டங்கள் எங்கு ஆனால் அது. எனவே நீங்கள் இரட்டை மேக் அல்லது கணினியில் ஒரு திட்டத்தை கிளிக், இது ரேம் மீது வன் இருந்து ஏற்றப்படும். இது ரேம், வழி மேல் 0 க்கள் மற்றும் 1 வி கோ, ஏற்றப்பட்டவுடன் விரைவில் என்று அழைக்கப்படும் உரை பிரிவில், ஆனால் பின்னர் விரைவில் உங்கள் திட்டம் உண்மையில் தொடங்கும் என ஓடி, முக்கிய செயல்பாடு, என, மற்றும் முக்கிய, நாம் பார்த்தேனே, பெரும்பாலும் உள்ளூர் மாறிகள் உள்ளது அது ints மற்றும் சரங்களை மற்றும் எழுத்துகள் மற்றும் போல் உள்ளது. எனவே உங்கள் நீங்கள் எழுதிய அந்த திட்டம் அல்லது இரட்டை எடுத்திருப்பார்கள் என்று திட்டம் என்றால் சில மாறிகள் முக்கிய உள்ளே பயன்படுத்தப்படுகிறது, அவர்கள் பேச, நினைவகம் உங்கள் ஸ்டேக் கீழே முடிவடையும். மேலும் உறுதியாக, இந்த உண்மையில் என்ன அர்த்தம்? இந்த அதாவது உங்கள் கணினியில் உள்ள எண்ணை பைட்டுகளுடைய RAM போகிறீர்கள் என்றால், இந்த பைட் எண் 0 என்ற அறிவிப்பு, இந்த பைட் எண் 1, 2, 3, 4, 5, 6, இருக்கும் 2 பில்லியன் அனைத்து வழி அங்கு மேலே வழி இருக்கும். எனவே வேறு வார்த்தைகளில், நாம் பைட்டுகள் அடிப்படையில் ரேம் அல்லது நினைவக பற்றி பேசும் போது, அது யாராவது நினைவகம் அந்த துண்டுகளாக்கி ஒவ்வொரு எண் என்ன முடிவு செய்துள்ளது பொருள். எனவே நீங்கள் ஒரு முழு எண்ணாக 32 பிட்கள் வேண்டும் அல்லது நீங்கள் ஒரு எரிப்பதை 8 பிட்கள் வேண்டும் போது, அவர்கள் நினைவாக அங்கு முடிவடையும்? கருத்தியலாக, அவர்கள் வெறும் ஸ்டேக் என்று இந்த விஷயத்தை கீழே முடிவடையும். முக்கிய செயல்பாடு அழைத்தால், ஆனால் என்ன இப்போது சுவாரசியமாக இருக்கும் - foo என ஒரு செயல்பாடு, ஒரு தன்னிச்சையான பெயர் வேண்டும் - நினைவகம் இந்த ஸ்டேக் கீழே என்ன நடக்கும் முக்கிய உள்ளது; foo இப்போது நினைவகம் முக்கிய மேல் போடப்படும். Foo கருத்துருவில் முக்கிய அந்த மேலே வகையான முடியும் என்று எந்த உள்ளூர் மாறிகள் எனவே. Foo பார் என்று மற்றொரு செயல்பாடு அழைத்தால், அந்த மாறிகள் இங்கு முடிவுக்கு. பட்டியில் இங்கே இங்கே வேறு, இங்கே, அழைத்தால். அதனால் என்ன ஒரு இயங்குவதாக பற்றி சுவாரசியமாக நீங்கள் செயல்பாடுகளை அழைப்பு என்று உள்ளது அந்த செயல்பாடுகளை செயல்பாடுகளை அழைத்து அந்த செயல்பாடுகளை செயல்பாடுகளை அழைப்பு போல், நீங்கள் நினைவக செயல்பாடுகளை இந்த ஸ்டேக் கட்டமைக்க. ஒரே ஒரு செயல்பாட்டை மீண்டும் ஒரு முறை நீங்கள் அந்த நினைவு திரும்ப பெறுவது தொடங்கும். ஒரு கணினி நிரல் நினைவகம் ரன் அவுட் எளிதான வழிகளில் ஒன்று திரும்பாது என்று செயல்பாடுகளை எழுத வேண்டும். எனவே உதாரணத்திற்கு, தான் ஒரு உள்நோக்கத்துடன் தரமற்ற திட்டத்தின் எவ்வளவு என்பதை விட. என்னை போய் # அடங்கும் செய்வோம், int முக்கிய (வெற்றிடத்தை), நான், (2> 1), பெரும்பாலும் எப்போதும் நம்மை மாறாது போது செய்ய போகிறேன் என்னை இப்போது போய் printf செய்வோம். உண்மையில், அந்த குறைந்த பார்வை சுவாரசியமான இருக்க போகிறது. இந்த செய்வோம். ஒரு எண்ணாக நான் = 0; நான்> 0 - இந்த தவறை விட - நான் +. இங்கு தான் printf நாம். அது நான் போதிக்கும் என்ன பயிற்சி செய்யலாம். , நாம், இங்கே வெற்றிடத்தை கோரஸ் ஒரு முறை வேண்டும், மற்றும் நாம் முழு எண்ணாக நான் சொல்கிறேன் பின்னர் நான் printf சொல்ல போகிறேன் - இல்லை, நாம் இந்த அதிக சுவாரஸ்யமாக்கும். அது உண்மையில் எதுவுமே அச்சிட கூடாது. கோரஸ் (நான்): இந்த செய்வோம். எல்லாம் சரி. ஏனெனில் ஏன் இந்த தரமற்ற இருக்கிறது? திட்டம் உண்மையில் அக்கறை எதுவும் செய்ய முடியாது, ஏனெனில் நான் போய் நான் இதை செய்கிறேன். ஆனால் அந்த இலக்கு அல்ல. நோக்கமாகும் முக்கிய செயல்பாடு என்ன, வெளிப்படையாக தெரியும் ஒரு நிரலை எழுத வேண்டும்? தன்னை அழைக்க. உண்மையில், நாம் வளைய தேவையில்லை. நாம் கூட தான் உண்மையில் அடிப்படை பிழை பார்வை இழக்க வேண்டாம் இந்த எளிமைப்படுத்த. முக்கிய அழைப்புகள் கோரஸ் சில கோரஸ் பாட, நான் முட்டாள் ஏதோ நான் கோரஸ் அழைப்பு கோரஸ் இருந்தது நான் வேறு யாரோ ஒருவேளை அதை செயல்படுத்த போவதாக கருதப்படுகிறது, ஏனெனில் இப்போது இந்த இதுவரை தொகுத்த போவதில்லை. நான் என்ன செய்ய வேண்டும்? நான் முன்மாதிரி வேண்டும், நினைவில். எனவே நான் (int நான்) இங்கே வெற்றிடத்தை கோரஸ் வரை இருக்க வேண்டும்; நான் இங்கே கீழே சென்றால் அதனால் இப்போது - உண்மையில், அது பெரிய சாளரத்தை பயன்படுத்த வேண்டும். தான் போய் கோரஸ் செய்யலாம். தான் போய் கோரஸ் செய்யலாம். அண்டிக்ளேர்டு அடையாளங்காட்டி நான் பயன்படுத்தும். ஓ, அந்த முட்டாள் இருந்தது. நாம் வாதம் தேவையில்லை. இந்த செய்வோம். நான் இந்த வழியில் தொடங்கிய விரும்புகிறேன். அதை எழுத மிகவும் எளிதாக நிரல் இருந்திருக்கும். அங்கு. இப்போது, என் முனைய சாளரத்தில் மீது போய் கணகண வென்ற சப்தம் மீண்டும் இயக்கவும், மற்றும் இங்கே நாம் செல்லலாம். என்று மிகவும் வேகமாக இருந்தது. என்ன உண்மையில் தான் என்றாலும், என்ன நடந்தது? நாம் பார்க்க முடியும் நன்றாக, இப்போது நான் அச்சு வரி சேர்க்க வேண்டும். என்னை ("நான் இங்கே இருக்கிறேன்") printf சொல்கிறேன் - இல்லை மாறிகள். நாம் அது மாதிரி விட்டு விடுகிறேன். என்று என்னை மீண்டும் இயக்கவும் நாம். என்னை கோரஸ் மீண்டும் இயக்கவும் நாம். மேலும் ... வாருங்கள். போகும். ஒரு ஒதுக்கி போல், ஏன் இன்னும் முறிந்தது? அடுக்கு தவறு முன் வேகமான நடந்தது. [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரியாக. அது சரி, அச்சிட நேரம் எடுக்கும்? இது கணினியின் பகுதி அதிக வேலை ஆகும். அங்கே தான்: பிரிவாக்கம் தவறு. இவ்வளவு சீக்கிரம் திட்டங்கள் ரன் எப்படி கவனிக்க. நீங்கள் எதையும், வேகமான, அச்சிடுதல் எனில். என்ன நடக்கிறது ஏனெனில் ஆனால் நாம் இன்னும் இந்த பிரிவு தவற்றை கிடைத்தது? உங்கள் கணினியின் நினைவகம் தீட்டப்பட்டது எப்படி என்று நீங்கள் நினைத்தால், இந்த முக்கிய இருக்க நடக்கும், ஆனால் இங்கே தான் இந்த கோரஸ் அழைப்பு விட, இந்த கோரஸ் என்று நாம். நான் என் அழகியல் செய்தால் இப்போது, இந்த கோரஸ், ​​கோரஸ், ​​கோரஸ், ​​சொல்ல போகிறார் கோரஸ், ​​கோரஸ், ​​கோரஸ், ​​கோரஸ், ​​விளம்பர nauseum, மற்றும் இறுதியாக, என்ன நடக்க போகிறது என்பதை? பெரிய படம், உண்மையில், இந்த என்றால், என்ன தான் கருத்தியல் ரீதியாக நடக்கும்? ஸ்டாக் நீட்டிப்புகளையும் குவியல். அல்லது, மோசமான, நீங்கள் உரை பிரிவில் உட்பட அனைத்தையும், கைப்பற்றப்பட்ட உங்கள் திட்டம் பிரதிநிதித்துவப்படுத்தும் 0 க்கள் மற்றும் 1 வி ஆகும். சுருக்கமாக, இது சூப்பர், சூப்பர் மோசமாக உள்ளது. உங்கள் நிரல் கட்டுப்பாட்டை மீறி ஸ்பைரல்டு. நீங்கள் நோக்கம் விட வழி அதிக நினைவகத்தை பயன்படுத்தும் அனைத்து இந்த வழக்கில் ஒரு முட்டாள் தவறை, அல்லது இந்த விஷயத்தில் மிகவும் திட்டமிட்டு செய்யப்படும் விழாவில் தன்னை அழைத்து. இப்போது, இந்த அனைத்து கெட்ட அல்ல. நீங்கள் சரியாக பயன்படுத்த போது தங்களை அழைத்து செயல்பாடுகளை உண்மையில் பெரிய சக்தி உள்ளது. நான் சரியாக இங்கே அதை பயன்படுத்தவில்லை. இந்த அனைத்து கெட்ட அல்ல, ஆனால் நான் உண்மையில் நிறுத்த முடியாது என்ற உண்மையை நானே அழைப்பு இந்த திட்டத்தின் இங்கே ஒரு அடிப்படை பலவீனம். அதனால் அங்கு நாம் இந்த அனைத்து போகிறீர்கள்? உண்மையில் என்ன நடக்கிறது? நாம் அந்த எடுத்துக்காட்டுகள் செய்து போல் நான் அதிகரிப்பு விழா அழைப்பு போது, நான் உள்ளே செல்ல அந்த 1 போன்ற ஒரு மதிப்பு இருக்கிறது நான் பல 1 நகலை உள்ள கடந்து, எனவே பின்வரும் நடக்கிறது. சம்பள உயர்வு உதாரணமாக கொண்டு போகலாம், இங்கே இந்த பையன். இங்கே உண்மையில் என்ன நடக்கிறது என்று. நான் அதிகரிப்பு அழைத்து நான் இங்கே என்ன நடக்கிறது, pictorially, x இல் போகும்போது இந்த. நான் இங்கே சேமித்து 1 மதிப்பு மற்றும் நான் உண்மையில் அதிகரிப்பு அழைத்தால், இது இப்போது கோரஸ் அழைக்கப்படுகிறது - ஐபாட் இங்கே என்னை வீசியெறிந்து உள்ளது. நாம் இந்த சம்பள உயர்வு என்று, நாம் இந்த அடுத்த செயல்பாடு இருக்க போகிறது என்று தெரியவில்லை. அதனால் என்ன உண்மையில் நடக்கிறது முக்கிய எங்கோ இங்கே நான் நினைவகம் ஒரு துண்டின் வேண்டும் அந்த எண் 1 சேமிக்கும். நான் அதிகரிப்பு அழைக்க போது, நான், நினைவக மற்றொரு துண்டின் பயன்படுத்தி ஆனால் இப்போது நான் 1 நகல் வேண்டும். நான் அந்த மதிப்பை அதிகப்படுத்த போது, இந்த, 2 ஆகிறது ஆனால் பின்னர் என்ன உயர்வு வருமானத்தை போல் விரைவில் நடக்கும்? இந்த நினைவகம் தான், இயங்கு திரும்ப ஒப்படைத்தார் இது நீங்கள் செய்த அனைத்து பயனுள்ள எதுவும் இருக்காது. முதலில் முக்கிய உள்ள அந்த 1 உண்மையில் அங்கு உள்ளது. அதனால் அங்கு நாம் இந்த போகிறீர்கள்? அதை நினைவில் நீ பைட்டுகள் இந்த பின்னோடு பின் வரிசை என்று மாறிவிடும் நீங்கள் பொருட்களை வைக்க முடியாது, அது நாம் ஏற்கனவே ஏதாவது பார்த்துள்ளேன் என்று மாறிவிடும் மீண்டும் மீண்டும் செல்ல விஷயங்களை மீண்டும் போடவில்லை அடங்கும் என்று. வாரம் 1 மற்றும் இப்போது வாரம் 2 அடிப்படையில் ஒரு சரம் என்ன? அது கதாபாத்திரங்கள் ஒரு சேகரிப்பு. எனவே, நீங்கள் நினைவகத்தில் எண்கள் முடியும் போல் மாறிவிடும் இதேபோல் நீங்கள் நினைவகத்தில் எழுத்துக்கள் முடியும். ஒருமுறை நாங்கள், மீண்டும் செல்ல மீண்டும் மீண்டும் நினைவு வைத்து எழுத்துக்கள் தொடங்க அதை திருப்பி வளைய அல்லது ஒரு வட்டத்திற்கு ஒரு போன்ற விஷயங்களை எளிய பயன்படுத்தி என்று, நாம் ஒரு சரம் இல் எழுத்துக்கள் மீது விட்டு இருந்து வலது கூறு முடியாது மற்றும் முற்றிலும் மாறுபட்ட கதாபாத்திரங்களில் அவற்றை மசாஜ் தொடங்கும் - ஒரு கேட்ச் ஆக முடியாது, ப கேட்ச் ஆக முடியும் - இறுதியில், நாம் உண்மையில் அர்த்தம் என்று ஒரு ஆங்கில வார்த்தையை எடுத்து கொள்ளலாம் என்று ஒரு நேரத்தில் அந்த கடிதங்கள் ஒரு ஒவ்வொரு மாற்ற நம் கணினியின் நினைவகம் மூலம் நடைபயிற்சி மூலம் உண்மையில் குறியாக்க வலமாக. எனவே இங்கே எங்கள் ஐந்து நிமிட இடைவேளை எடுத்து விட்டு, நாங்கள் திரும்பி வரும் போது, நாம் தகவல் நெரிசலில் இந்த செயலாக்கத்தை தொடங்க வேண்டும். எல்லாம் சரி. நாம் சில crypto ஒரு டைவ் இந்த விஷயங்களை வரிசைகள் எனப்படும் முன் நான் வகையான நைந்துவிட்டது போல் நான் உணர்கிறேன் ஏனெனில் எனக்கு எந்த கேள்விகளுக்கு இடைநிறுத்தப்பட்டு நாம் அந்த தலைப்புகள் சில. நாம் அப்படி இப்போது சரி விடு. நாங்கள் மீண்டும் மதிப்புகள் பற்றி பேசினேன், நாங்கள், வாதங்கள் பற்றி நாம், நாம் வந்து வாரங்களில் மீண்டும் வருவேன் இது, இந்த கருத்து பற்றி பேசினேன் அதனால் பேச, இந்த அடுக்கப்பட்ட தட்டுக்களில் ஒரு மொத்தமாக போன்ற நினைவக பார்க்கும், அத்தகைய அப் செய்து, அந்த ஸ்டாக் வைக்க போகிறான் என்று ஒவ்வொரு தட்டில் தற்போது என்று வருகிறது என்று ஒரு செயல்பாடு பிரதிபலிக்கிறது. எந்த கேள்விகள்? என்னை இங்கே ஒரு கேள்வி கேட்கிறேன். எனக்கு அது நம் முந்தைய கே & ப சில முன் என்ன இந்த திரும்பி எளிமைப்படுத்த நாம் சம்பள உயர்வு திறந்த அடைப்பு, int உள்ளன என்பதை, அடைப்பு மூடப்பட்டது - int எண் என்ன பிரதிநிதித்துவம்? [மாணவர்] ஒரு வாதம். >> ஒரு வாதம். சரி. ஆனால் ஒரு வாதம் என்ன? [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> என்று என்ன? நீங்கள் கடந்து அந்த >> [மாணவர்] சம்திங் சரி, நீ உள்ளே செல்ல மேலும் மேலும் பொதுவாக, அது உள்ளீடு என்று ஒன்று. நீங்கள் வாழ்க்கையில் ஒரு செயல்பாடு மற்றும் செயல்பாடு நோக்கம் எழுதி இருந்தால் , ஏதோ நீங்கள் பயன்படுத்த ஒரு சிறிய வெவ்வேறு ஒவ்வொரு முறையும் செய்ய உள்ளது பின்னர் நடக்குமா என்று மட்டும் வழி உள்ளீடு அதை வழங்க வேண்டும் போல் இருந்தது அது உள்ளீடு ஒவ்வொரு முறையும் வெவ்வேறு ஏதாவது செய்ய முடியும் என்று. எனவே நீங்கள் ஒரு செயல்பாடு உள்ளீடு எடுக்கும் போது இரண்டு விஷயங்களை குறிப்பிட வேண்டும். நீங்கள் அந்த உள்ளீடு கொடுக்க வேண்டும் என்று பெயர் குறிப்பிட வேண்டும் முற்றிலும் உங்கள் சொந்த வசதிக்காக அதை பார்க்கவும் முடியும் நான் வரி 32 இங்கு செய்தது போல், உன்னை, எழுதி என்று செயல்பாடு. ஆனால் நீங்கள் சி நிரலாக்க மொழி ஆகும், ஏனெனில் அதன் வகை குறிப்பிட வேண்டும் என்று தான், நீங்கள் ஒரு மாறி விரும்பினால், நீங்கள் என்ன தரவு வகை கணினி சொல்ல வேண்டும் என்று கோருகிறது அதனால் பெரிய பகுதியாக அது மாறி க்கு ஒதுக்க எப்படி பல பிட்கள் தெரியும் அது 6 இருக்க முடியும் என்பதால் - மன்னிக்கவும், இது 6 முடியாது. இது 16 முடியும், அது 8 முடியாது, அது கூட 64, 32 முடியும் ஆனால் கணினி தெரியும் வேண்டும். இப்போது, இடது புறத்தில் எண்ணாக மாறாக என்ன, குறிக்கிறது? [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> என்று என்ன? செயல்பாடு >> [மாணவர்] வகை. ஒரு சார்பு வகை மற்றும், இன்னும் குறிப்பாக, அதன் வெளிப்பாடு வகை. சரி. எனவே அடைப்புக்குறிக்குள் விஷயம் அதேசமயம் அதன் உள்ளீடு, ஏதாவது, பிரதிநிதித்துவம் இடது தான் அதன் வெளிப்பாடு பிரதிபலிக்கிறது. இந்த வழக்கில், சம்பள உயர்வு வெளிப்படையாக ஒரு முழு எண்ணாக கொடுக்கிறது, அதனால் எண்ணாக இந்த செயல்பாடு திரும்ப வகை. அது என்ன திரும்ப அர்த்தம்? உண்மையில், நீங்கள் முக்கிய மீண்டும் பயன்படுத்த நீங்கள் திரும்பி என்ன என்றால் முக்கிய சரியான ஒரு முழு, பின்னர் நாம் சத்தியம் என்ன உண்மையில் நிலையான உள்ளது. ஹலோ, உலக - - இந்த மாதிரி ஏதாவது செய்ய முடியவில்லை என்று ஒரு சரம் என்பதால். நிச்சயமாக, அது ஒரு முழு எண் இல்லை. எனவே சுருக்கமாக, சுமையை எங்கள் மீது உண்மையில், ப்ரோக்ராமர், குறிப்பிட்ட இருக்க வேண்டும் நாம் திரும்பி நீங்கள் என்ன செய்ய வேண்டும் என பின்னர் உண்மையில் அது திரும்பி பற்றி போக. இங்கு சூழல் இப்போது உங்கள் கணினியின் நினைவகம் ஒரு ஜிகாபைட், 2 ஜிகாபைட் உள்ளது - என்ன - அது தான் ஒருவேளை, ஒருவேளை அது குறைவு, ஆனால் கணினி வெவ்வேறு பிரிவுகள் என்று அது கருதுகிறது. ஏதோ கீழே சென்று, வேறு, அங்கு செல்லும் , பல்வேறு விஷயங்களை மத்தியில் சென்று, இன்று நாம் ஒரு கதையை சொல்லி தொடங்க ஆனால் நாங்கள் இந்த வழியாக நேரம் திரும்பி வருவாள். இப்போது, நாம் உண்மையிலேயே அக்கறை நினைவகம் மட்டுமே துண்டு உரை பிரிவில் உள்ளது வெறும் 0 க்கள் மற்றும் 1 வி என்று கணகண வென்ற சப்தம் பிரதிபலிக்கிறது என்று காரணம் outputted. நீங்கள் a.out போன்ற விசைப்பலகை ஒரு கட்டளையை இயக்கவும் மிக போது அல்லது நீங்கள் இரட்டை, Mac OS அல்லது விண்டோஸ் ஒரு ஐகானை கிளிக் உங்கள் திட்டம், உங்கள் வன் இருந்து ரேம் ஏற்றப்பட்டவுடன் மற்றும் அது பேச, உங்கள் கணினியின் ரேம் மேலே plopped. இதற்கிடையில், உங்கள் திட்டத்தை துவங்கும் என இயங்கும் மற்றும் முக்கிய என்று பெறுகிறார் நிகழ்ச்சியில், நீங்கள் எழுதிய அல்லது நிரல் மைக்ரோசாஃப்ட் அல்லது ஆப்பிள் எழுதியது அதன் உள்ளூர் மாறிகள் எந்த உங்கள் கணினியின் நினைவகம் கீழே, கீழே முடிவடையும். ஆனால் தன்னை மாறிகள் அல்லது வாதங்கள் என்று முக்கிய அழைப்புகள் மற்றொரு செயல்பாடு இருந்தால், அவர்கள் மேலே முடிவடையும். அந்த விழாவில் ஏதாவது அழைத்தால் மற்றும், அவர்கள் மேலே, மேலே, மேலே முடிவடையும். ஒரே ஒரு செயல்பாடு இயக்கும் செய்யப்படுகிறது தட்டுக்களும் பற்றிய ஸ்டாக், அதனால் பேச வேண்டும், குறைந்த மற்றும் குறைந்த பெற தொடங்கும். இந்த பிறகு, ஒரு இடத்தில், உங்களுக்கு கன கூப்பிடுகிறேன் போது விளக்குகிறது என்ன நீங்கள் அதிகரிப்பு அழைக்கலாம் அல்லது, நீங்கள் மதிப்பு நகலை கடந்து செல்லும். என்ன என்று pictorially அதாவது நீங்கள் உண்மையில் எண் 1 எழுதுவது என்று தான் நினைவகம் மற்றொரு பகுதியில், மாறும் என்று உயர்வு விஷயத்தில் 1 2 அல்லது பின் ஒரு கனசதுரத்தின் வழக்கில் 8 மற்றும் விட்டு அந்த நினைவு எறிந்து விரைவில் சம்பள உயர்வு அல்லது கன செயல்பாடு திரும்பக்கிடைக்கிறது. கேள்வி. [மாணவர்] எங்கே உலக மாறிகள் சேமிக்கப்படும்? உலக மாறிகள், தற்போது துவக்க தரவு அல்லது uninitialized தரவு என்று என்ன சேமிக்கப்படும் நீங்கள் ஒரு உலகளாவிய மாறி இருக்கிறது மற்றும் நீங்கள் உடனடியாக ஒரு மதிப்பு அதற்கு ஒதுக்க வேண்டும் வேறுபாடு இருப்பது அடையாளம் சமமானவர்களுடன், அது, அங்கு மேலே நிறைவடைகிறது நீங்கள் int x சொன்னால் மற்றும்; இல்லை மதிப்பு, இது ரேம் சற்று குறைந்த நிறைவடைகிறது வெறுமனே மரபு. மற்ற கேள்விகள்? எல்லாம் சரி. நாம் இன்னும் சக்திவாய்ந்த கிடைக்கும் என இந்த படத்தில் மீண்டும் வரும் நாம் கணினியில் என்ன செய்ய முடியும் என்று, ஆனால் இப்போது, 'ஸ் கிரிப்டோகிராஃபி ஒரு சுருக்கமான அறிமுகம் சாப்பிடலாம் உலகின் எல்லா பிரச்சனையும் தீர்த்துவிடும் என்று குறியாக்கவியல் ஒரு குறிப்பிட்ட வகை ஆனால் இன்னும் சில தீர்க்க. இங்கே இந்த வழக்கில், நாம் இரகசிய திறவுகோல் குறியாக்க என்று ஒன்று இருக்கிறது. இரகசிய திறவுகோல் குறியாக்க, பெயர் குறிப்பிடுவதை போல, ஒரு இரகசிய இருந்து அதன் பாதுகாப்பு பெறுகிறது. நீங்கள் தர பள்ளி மீண்டும் இருந்தனர் என்றால் உதாரணமாக, நீங்கள் ஒரு சிறிய இரகசிய காதல் கடிதம் கடந்து நீங்கள் பார்வையாளர்கள் மூலம் அந்த குறிப்பை அனுப்ப விரும்பினால் பையன் அல்லது பெண் உங்களை, அன்று நசுக்கிய இருந்தது, ஒருவேளை நீங்கள் ஆங்கிலம் போன்ற ஒரு குறிப்பு எழுத அல்லது அதை உங்கள் சொந்த மொழி அல்ல என்று. மாறாக, நீங்கள் அதை குறியாக்கம் வேண்டும் அல்லது நீங்கள் தான் இந்த நாட்களில் அவர்கள் ஒரு செய்தியை அனுப்ப வேண்டும். ஆனால் நீங்கள் உண்மையில் வகுப்பறை முழுவதும் இன்னும் ஒரு குறிப்பை அனுப்ப வேண்டும். மற்றும் இது போன்ற ஒரு வழியில் பாதுகாப்பாக இதை செய்ய, உங்கள் நண்பர்கள் மற்றும் ஆசிரியர் நீங்கள் எழுதும் நீங்கள் என்ன தெரியாது, நீ, ஒரு மிகவும் எளிமையான வழிமுறை கொண்டு வரக்கூடும் நீங்கள் இருக்கும் இளம் என்றாலும், வெறும் வார்த்தைகள் போராடும். எனவே அதற்கு பதிலாக ஒரு எழுதும் நீங்கள், ப எழுத முடியும் அதற்கு பதிலாக ப நீங்கள், கேட்ச் எழுத முடியும் அதற்கு பதிலாக சி நீ முன்னும் பின்னுமாக ஈ எழுத, மற்றும் இருக்கலாம். அல்லது நீங்கள் ஒரு சிக்கலான மொழிபெயர்ப்பு கொண்டு வர முடியும் பல்வேறு கடிதங்கள் கடிதங்களை. ஆனால் ப இந்த குறிப்பை அனுப்பி நீங்கள் யாருக்கு பையன் அல்லது பெண் தேவைகள் என்ன, வெளிப்படையாக இது ஏதோ, தெரியும்? >> [மாணவர்] நீங்கள் அனுப்பும் நீங்கள் என்ன. என்ன உங்கள் இரகசிய ஒரு மற்றும் கேட்ச் மற்றும் கேட்ச் மற்றும் டி 'கள் இடையே அந்த ஒப்பீட்டை என்ன மாதிரி, இது. அது ஒரு இருந்து ப, ப செய்ய கேட்ச் சென்று கடிதங்களை ஒவ்வொரு 1 சேர்த்து? அதை விட சிக்கலாக உள்ளது? எனவே நீங்கள் உங்கள் நேசம், இந்த ரகசிய தகவல் வேண்டும் ஆனால் இங்கே ஒரு கேட்ச்-22 வகை உள்ளது. இந்த முதல் முறை நீங்கள், வர்க்க மூலம் இந்த காதல் கடிதம் அனுப்ப எப்படி அந்த பையன் அல்லது பெண் இரகசிய கூட என்ன என்று போகிறது? எனவே இரகசிய-முக்கிய crypto, உலகின் எல்லா பிரச்சனையும் தீர்த்துவிடும் இல்லை ஒரு உறவை நாம் அரையிறுதி இறுதியில் நோக்கி திரும்பி வருவேன் என்று இங்கே உண்மையில் உள்ளது. இதேபோல் எங்களுக்கு மிக, Amazon.com நேரத்தில், உதாரணமாக, வேலை என்று யாரோ தெரியாது இன்னும் நமக்கு பல ஒருவேளை, Amazon.com உள்ள பொருட்களை வாங்கி நாம் இந்த மின் வர்த்தக பரிவர்த்தனைகள் பாதுகாப்பான என்று கருதி கற்று. URL ஒருவேளை, https, எங்கோ ஒருவேளை ஒரு வேடிக்கையான சிறிய கொண்டிப்பூட்டு சின்னம் இல்லை என்கிறார் உங்கள் கடன் அட்டை தகவலை பாதுகாப்பது குறியாக்கவியல் சில வகையான இல்லை நீங்கள் மற்றும் Amazon.com இடையே. குறியாக்கவியல் கொண்டிருக்காமல் இருந்தால் இன்னும் சில இரகசிய தெரிந்தும் இன்னும் நான் அமேசான் யாரையும் தெரியாது மற்றும் நான் நிச்சயமாக இரகசிய எந்த விதமான ஏற்பாடு இல்லை அமேசான் உள்ள ஒருவருடன், எப்படி இதை என் கணினி அல்லது என் உலாவி ஆகும்? குறியாக்கவியல் மற்ற வகையான பிரச்சினை என்று ஒட்டுமொத்தமாக அங்கு அவுட் அது மாறிவிடும். ஆனால் இன்று, நாம் எளிமையான ஒரு கவனம் செலுத்த வேண்டும் நீங்கள் சில இரகசிய என்று முன்கூட்டியே ஏற்பாடு செய்யலாம் +1 அல்லது ஒரு மற்றும் ப இடையில் சில மேப்பிங் போன்ற. மற்றும் குறியாக்கவியல் செயல்முறை பொதுவாக இந்த அடங்கும். நீங்கள் இடது இங்கு சித்தரிக்கப்பட்டுள்ளது சில எளிய உரை,, இல்லை நீங்கள் அதை மறையீடாக்கம் வழிமுறை அல்லது நடைமுறையின் சில வகையான மூலம் ரன் - ஒருவேளை மட்டும் தான் ஒரு கேட்ச் ஆனார், ப கேட்ச் ஆனார் - பிறகு சைபர் உரையை முடிவடையும். இதற்கிடையில், உங்கள் நேசம், இந்த இரகசிய குறிப்பு பெறுகிறது அவர் அல்லது அவளுக்கு டிக்ரிப்ட் பொதுவாக அந்த வழிமுறையை மறு உள்ளது உரை திரும்ப பெற இதனால். இந்த உடல் அவதாரங்களில் உள்ளன. உதாரணமாக, இந்த ஒரு சிறிய இரகசிய குறிவிலக்கி மோதிரம் இந்த இரண்டு முகப்புகள் இங்கே இருக்கிறது என்ற அர்த்தத்தில் ஒரு மோதிரம். இந்த விஷயம் வெளியே சுற்றி, Z மூலம் கடிதங்கள் ஒரு, அங்கு அவர்கள் சீரற்ற வரிசையில் தான், எனினும் உள்ளே மீது, சில எண்கள் உண்மையில் அங்கு அத்தகைய இந்த மோதிரத்தை வகையான உள்ளே வெளியே திரும்ப ஆனால் முடியாது என்று எழுத்தில் எண்கள் வரிசையாக பொருட்டு. ஒரு கிறிஸ்துமஸ் கதை என்று ஒரு திரைப்படம் இருந்து, நீங்கள் அந்த சிறிய Ralphie பார்க்கலாம் லிட்டில் ஆர்பன் அன்னி இரகசிய செய்தி அவருக்கு என்ன கண்டுபிடிக்க மிகவும் ஆர்வமாக இருந்தார் ஒரு தானிய பெட்டியில் எண் செய்திகளை வடிவத்தில், நான் நினைக்கிறேன், தொடர்பு மற்றும் நீ, தானிய பெட்டியில் வந்த அனைத்து சிறிய அட்டைகள் குவிந்து வேண்டும் நீங்கள் அஞ்சலை, நீ இரகசிய குறிவிலக்கி வளையம் திரும்ப பெற வேண்டும் நீங்கள் இறுதியாக மேப்பிங் எழுத்துக்கள் மற்றும் எண்கள் இடையே என்ன கண்டுபிடிக்க முடியும் என்று அல்லது கடிதங்கள் மற்றும் கடிதங்கள். நாம் இந்த மாதிரி விஷயங்களை செயல்படுத்த அல்லது குறிக்கும் பற்றி எப்படி ஒரு கணினி செல்ல முடியும்? நாம் இன்னும் சிறிது flexibly நம்மை வெளிப்படுத்த ஒரு வழி வேண்டும் எங்கள் மாறிகள் இதுவரை அனுமதி விட. நாம் எழுத்துகள் இருந்தது, ints இருந்தது, நாம், மிதவைகள் மற்றும் இரட்டையர் மற்றும் ஒரு சில மற்றவர்கள் இருந்தது ஆனால் அந்த உண்மையில் நம்மை விஷயங்களை வெளிப்படுத்த அனுமதிக்க வேண்டாம் என்று நினைவகம் தனிப்பட்ட படுகின்றன சொற்கள் மற்றும் வாக்கியங்கள் மற்றும் சொற்றொடர்களை போல். உண்மையில், நாம், இது போன்ற விஷயங்களை சரங்களை அழைத்திருக்கிறேன் ஆனால் நாம் இந்த உண்மையில் CS50 நூலகத்தில் ஒரு தெளிவுபடுத்தல் என்று உறுதியளிக்கிறேன் நாங்கள் மீண்டும் தலாம் விரும்பினால் என்று. எனவே இங்கு அதை செய்ய ஆரம்பிப்போம். என்னை போய் ஒரு கோப்பை திறந்து விட - இந்த கோப்புகள் அனைத்தும் இருக்கின்றன, வழக்கம் போல், ஆன்லைன் - என்று array.c சரங்களை தொடர்பில்லாத பிரச்சினையை தீர்க்க ஆனால் இங்கு ஒரு ஆகியிருக்கிறோம் வேண்டும் எப்படி நாம் ஒரு வரிசை என்று ஏதாவது பயன்படுத்த வேண்டும். ஒரு வரிசைக்கு ஒரு தரவு வகை. இது பல சிறிய தரவு வகைகள் அது உள்ளே அந்த வகையான மாறி ஒரு வகை உள்ளது மீண்டும் மீண்டும் மீண்டும் மீண்டும். நாங்கள் உங்கள் வினாடி வினா சராசரி கொடுக்கும் ஒரு சிறிய நிரல் எழுத வேண்டும் என்று உதாரணமாக, நீங்கள் 2 வினாவிடை என்று 50 போன்ற ஒரு போக்கை பற்றி, நீங்கள் மிகவும் எளிதாக கூட கடந்த வாரம் பொருள் சில அடிப்படையில் இந்த திட்டத்தை எழுத முடியும் GetInt மற்றும் மாறிகளின் ஒரு ஜோடி மூலம்: எண்ணாக quiz1, int quiz2. அது மிகவும் நேரடியான தான். அது குறியீடு அதிகபட்சம் 20 வரிகளை ஒரு திட்டத்தை செயல்படுத்த, ஒருவேளை 10 2 வினாடி வினா மதிப்பெண்களை பயனரிடம் மற்றும் அதன் சராசரி கணக்கிடுகிறது என்று , அவற்றை ஒன்றாக சேர்த்து 2 பிளவு, பிறகு முடிவு அச்சிடுகிறது. நாம் அநேகமாக நிமிடங்கள் சில பல பிறகு அழகாக எளிதாக இப்போது அதை செய்ய முடியும். ஆனால் பிரச்சனை 50 3 வினாடி வினாக்கள் அல்லது 4 என்று நினைக்கிறேன் என்று. நீங்கள் வினாவிடை வாராந்திர என்று ஒரு வர்க்கம் அதே திட்டத்தை பயன்படுத்த வேண்டும் என்று நினைக்கிறேன். வாராந்திர வினாடி வினாக்கள் என்று ஒரு வர்க்கம் பற்றி நினைக்கிறேன். ஒரு செமஸ்டர் 16 அல்லது வாரங்கள் இருந்தால், இப்போது நீங்கள் 16 மாறிகள் வேண்டும்: int quiz1, int quiz2, int quiz3, int quiz4. இந்த பணிநீக்க தொடங்களாம் விரைவில், இந்த, நகல் மற்றும் குறியீட்டை ஒட்டுவதன் இது ஒரு சிறந்த வழி இருக்கிறது என்று நினைக்கிறேன் செய்ய தொடங்க வேண்டும். மற்றும் அதிர்ஷ்டவசமாக, ஏனெனில் வரிசைகளின் உள்ளது. இந்த செய்வோம். முதல், என்னை நாம் இதுவரை பயன்படுத்தவில்லை என்று ஒரு மிக எளிய விஷயம் அறிமுகம் ஆனால் நீங்கள் குறியீடு அவ்வப்போது அதை பார்க்கிறேன். இது பொதுவாக ஒரு நிலையான என்று என்ன இருக்கிறது. அதனால் இந்த மதிப்பு மாற்றம் இல்லை என்ற அர்த்தத்தில் ஒரு நிலையான தான். ஒரு நிலையான உருவாக்கும் போது மனித மாநாடு இப்போது அது உண்மையில் உங்கள் குறியீடு வெளியே உள்ளது என்று, அனைத்து மூலதன கடிதங்கள் பயன்படுத்த வேண்டும் நீங்கள் சி பயன்படுத்த சிறப்பு முக்கிய # வரையறுக்கிறது. நாம் # பின்னர், பின்னர், நீங்கள் நிலையான பெயரை பயன்படுத்த வேண்டும் என்று வார்த்தை இடைவெளி வரையறை என்ன பின்னர் நிலையான மதிப்பு. இந்த ஒரு மாறி ஏதாவது ஒதுக்க வேறு கவனிக்க. கையெழுத்திட சமம் இல்லை, இல்லை அரைப்புள்ளி உள்ளது. இந்த, பொதுவாக ஒரு Preprocessor உத்தரவு என்று என்ன இருக்கிறது என்று மற்றொரு நேரத்தில் ஆனால் இன்னும். இப்போது, இந்த வினாடி என்ற மாறாத மதிப்பு உருவாக்குகிறது அதன் உண்மையான எண் மதிப்பு 2 ஆகும். எனவே எங்கு, இந்த கோப்பு முழுவதும் வினாவிடை, வினாவிடை, வினாவிடை பார்க்க அது வெறும் எண் 2 தான். நான் இப்போது முக்கிய பார்த்தால், அது எப்படி இந்த வேலை பார்க்கிறேன். முதலில் ஒரு சிறிய ரகசிய தெரிகிறது, ஆனால் அது வாரம் 1 அனைத்து பொருட்கள். தரங்களாக பயனர் கேளுங்கள். எப்படி செய்ய வேண்டும்? வரி 22 இல் - இந்த உண்மையில் தாகமாக பகுதி - நான் ஒரு மிதவை பிரகடனம் ஆனால் ஒரு ஒற்றை பங்குகளாக. நான், மாறாக, மிதவை புள்ளி மதிப்புகள் ஒரு வரிசை அறிவித்தார். என்று மாறி இங்கே குறிப்பிட்டதாக என, தரங்களாக என்று போகிறது ஆனால் புதிய இலக்கணத்தை மட்டும் துண்டு பின்னர் இந்த சதுர அடைப்புக்குறிக்குள் இருக்கும். நான் பங்குகளாக தரங்களாக பின்னர் திறந்த அடைப்புக்குறி பின்னர் பல சொல்லிவிட்டேன் என்று உண்மையில் - இந்த நாங்கள் இதை போல ஒரு நிலையான என்றால் அறிவிப்பு - இந்த பொருள், "ஏய், கணினி, எனக்கு 2 மிதவைகள் கொடுக்க மற்றும் அது கூட்டாக அவர்கள் தரங்களாக அழைப்பு விடு." இந்த மாதிரி ஒரு மிகவும் கடினமான செயல் முரணாக உள்ளது: பங்குகளாக grade1; grade2 மிதந்து; மற்றும் முன்னும் பின்னுமாக. எனவே ஒரு வரிசை இந்த யோசனை செயல்படுத்த அனுமதிக்கிறது ஆனால் மிக குறைந்த messily, நாம் சொல்ல, அதற்கு பதிலாக ஒரு 16 வார பருவத்திற்காக 16 குறியீட்டை 1 வரி எழுத முடியாது என்று ஒரு வழியில். நான் கடின குறியீடு 2 விரும்பவில்லை, ஏனென்றால் நீங்கள் தர்க்கரீதியாக இப்போது நினைத்து இருந்தால், 3 CS50 மாற்றங்கள் பதிலாக வினாடி வினாக்கள் அடுத்த ஆண்டு வேண்டும் மற்றும் நான் இங்கே எண் 2 என்று, நான், இங்கே எண் 2 என்று நான் இங்கே 2, இங்கே பல எண் 2 கொண்டிருந்தது. இது திருகு மிகவும் கடினமான மற்றும் மிகவும் எளிதாக மற்றும் தற்செயலாக 3 1 மதிப்பை மாற்ற மற்றும் 2 சில மற்ற மதிப்பு மிஸ். அதனால் நான், இந்த விட்டு பதிலாக சுருக்க சென்று இந்த மாறிலி என்று பயன்படுத்த அதன் பெயர் குறிப்பிடுவதை போல, எப்போதும் மாற்றங்கள். இப்போது நாம் வெவ்வேறு என்பதை இல்லை, இந்த ஆண்டு அல்லது அடுத்த வினாடி வினாக்கள் நான் மேலே இங்கே ஒரே இடத்தில் அதை மாற்ற வேண்டும். அதனால் தான் அது ஒரு நிலையான. இதற்கிடையில், புதிய கருத்து அம்சம் ஒரு வரிசைக்கு என்று. அதனால் சதுர அடைப்புக்குறிக்குள் என்னை இந்த பல மிதவைகள் கொடுக்க என்னை கூட்டாக இங்கே தரங்களாக அழைக்க முடியும். அதனால் இப்போது நான் என்ன செய்ய போகிறேன் என்று பார்ப்போம். இங்கே வரி 24 லூப் ஒரு ஆரம்பம். இந்த உண்மையில் எதுவும் கனவு. அது வினாவிடை பயன்படுத்தி பதிலாக ஒரு விதமாகவோ எண். ஆனால் கடந்த வாரம் அங்கு அறிவார்ந்த வேறு ஒன்றுமில்லை. இந்த ("% d #% d க்விஸ்:") எனவே printf, வெறும் printf உள்ளது நான் என்னை 2 எண்ணிக்கை 1 வினா விடை பின்னர் 2 2 கொடுக்க அவுட் அச்சிட வேண்டும் என்பதால். இந்த முற்றிலும் அழகியல் விஷயம். ஆனால் சுவாரஸ்யமான பகுதி இப்போது வரி 27 ஆகும். ஒரு மிதவை புள்ளி மதிப்பு இரண்டு பெட்டிகள் ஒரு பூர்த்தி செய்யும் வகையில், நீங்கள் மீண்டும் சதுர அடைப்புக்குறிக்குள் பயன்படுத்த. லூப் இந்த வெளிப்படையாக, நான் என்ன மதிப்பு சமன் தொடங்கியது ஏனெனில் இந்த விஷயத்தில், நான் பயன்படுத்தி வருகிறேன்? [மாணவர்] 0. >> [Malan] 0. இந்த வட்டத்திற்கு முதல் மறு செய்கை, அது நான் குறியீடு இந்த எழுதியது போல் உள்ளது, நான் என் குறியீடு இந்த எழுதியது போல் ஆனால் இந்த சுழற்சி இரண்டாவது மறு செய்கை, அது தான். பெயர் குறிப்பிடுவதுபோல், ஏனெனில் ஆனால் நான் ஒரு மாறி பயன்படுத்தி வருகிறது என்பது, இருக்கும் இது, ஒவ்வொரு மறு செய்கை அதன் மதிப்பு மாறுபடும் நான் ஒரு நேரத்தில் இந்த அணி ஒரு இடத்தை நிரப்பும். இந்த வரிசை என்ன இருப்பான்? நான் இங்கே திரையில் சூப்பர் எளிய செவ்வகம் வரைந்த காரணம் முன் இந்த காரணம் இருந்தது. ஒரு வரிசை தான் நினைவகம் மற்றொரு துண்டின் தொடர்ந்து நினைவகம் ஒரு துண்டின் உள்ளது நினைவகம் மற்றொரு துண்டின் தொடர்ந்து மற்றும் முன்னும் பின்னுமாக. என் வரிசை இங்கே இந்த வழக்கில் அளவு 2 ஆக இருந்தால், நான் செய்து என் வினாடி வினா மதிப்பெண்களின் தட்டச்சு இங்கே பிடிக்கும் - நான் இந்த ஒரு 100 கிடைத்தது நான் இந்த ஒரு 99 வந்தது - நான் மட்டும் கணினி கேட்டேன் ஏனெனில் இந்த நினைவகத்தை பயன்படுத்த அளவு 2 ஒரு அணியை. அந்த சதுரங்கள் சரி, அங்கு இன்னும்? நீங்கள் மட்டும் 2 மிதவைகள் கேட்கிறாய் கூட நீங்கள் இன்னும் ரேம் 2 ஜிகாபைட் வேண்டும். எனவே வரிசைகள் பின்னால் யோசனை கணினி நினைவகத்தில் வெறுமனே ஒரு துண்டின் ஆகும் என்றும், பின்னர் மீண்டும் மீண்டும் மீண்டும் மீண்டும் சிறிய துண்டுகளாக apportions. எனவே அனைத்து வரிசை தான். அதை நீங்கள் எல்லாம் முடியும், இதில் நினைவகம் உள்ளே ஒரு தொடர்ச்சியான துண்டின் தான். இந்த பிறகு சில சலித்து கணித செய்ய நடக்கிறது. நான் இங்கே கீழே இருந்தால் நான் வரிசை பற்றி கூறு எங்கே, இந்த. நான், வரிசையில் மதிப்புகள் அனைத்து அளவில் கூட்டுத்தொகை கொண்டு வர பின்னர் நான் உண்மையில் வினாவிடை வகுக்கப்பட்ட தொகையை செய்ய இங்கே சுற்று செயல்பாட்டை பயன்படுத்த. ஆனால் எனக்கு இப்போது போதுமான கணித வகையான என்று என் கையை அசைப்பது நாம். ஆனால் எனக்கு என்ன என்று அனைத்து இறுதியில் சராசரியாக கணக்கிடும். எனவே முதல் வினாடி வினா மற்றும் இரண்டாவது புதிர் 2 வகுக்கப்பட்ட பிறகு ஒரு முழு எண்ணாக அதை அச்சிடுகிறது. String1 என்று வேறு உதாரணம் ஆனால் நாம் இப்போது மாற்றம், இது போன்ற ஒரு படத்தை ஆனால் பயன்படுத்தி சரங்களை வர்ணங்களை. என்னை போய் ஒரு கணம் இந்த எளிமைப்படுத்த வேண்டும். இப்போது உள்தள்ளலை மன்னிக்க. இந்த உதாரணம் வரிசையில் 19 ல் அறிவிப்பு, நான் பயனர் ஒரு சரம் கிடைக்கும். ஆனால் நான் அடுத்த வரிகளில் 22 முதல் செய்கிறேன் பார்க்கும். நான் உண்மையில் நான் இருந்து தேடி - இந்த புதிய தந்திரம் ஆகும் - strlen, சரம் நீளம். இந்த என்று ஒரு சரம் கடந்து இருந்தால், சி வருகிறது என்று ஒரு செயல்பாடு இருக்கும் அது சரம் உள்ளன எத்தனை எழுத்துக்கள் நீங்கள் சொல்கிறது. அவ்வளவு தான். அது பதிலாக சரம் நீளம் strlen என்று உண்மையில் இது மிகவும் சுருக்கமான தான் தான் இருக்கிறது. முப்பது ஆண்டுகளுக்கு முன்பு, மக்கள், என கினார் முடிந்த விஷயங்களை எழுத எனக்கு பிடித்திருந்தது நாம் இங்கே அந்த மாநாட்டின் வைத்திருக்கிறேன். நான் + நான் ஒவ்வொரு மீள்செய்கையில் நான் அதிகப்படுத்த வேண்டும். இப்போது மிகவும் சுவாரசியமான இது, இந்த அறிவிப்பு. வரி 24 இல், நான் சொல்ல, "கணினி,, எனக்கு 8 பிட்கள் ஒரு கேரக்டர் கொடுக்க, அதை கேட்ச் என்று." ஆனால் இந்த வலது புறம் சொல்லி என்ன? ஆங்கிலம், என்ன பிரதிநிதித்துவம்? [மாணவர்] வரிசையில் முதல் எழுத்து. சரியாக. என்னை வரிசையில் முதல் எழுத்து கொடுக்க. அல்லது, மிகவும் பொதுவாக, என்னை வரிசையில் ith தன்மையை கொடுக்க. இப்போது அது முக்கியம் உணர்ந்து அந்த கணினி விஞ்ஞானிகள் என, நாம் உண்மையில் 0 இருந்து எண்ணும். நீங்கள் இதை தொடங்க இப்போது விருப்பத்தின்படி இல்லை. இப்போது நீங்கள் கணினி எதிர்பார்ப்புகளை ஏற்ப நடந்து 0 இருந்து எண்ண வேண்டும் [0] ஏனெனில், ஒரு சரம் முதல் எழுத்து போகிறது [1] இரண்டாவது போகிறது, [2] மூன்றாவது, மற்றும் நான்காவது போகிறது. இந்த திட்டம், நான் அதை தொகுக்கலாம் என்றால், இந்த மீண்டும் string1, எனவே string1 செய்ய, இப்போது நான் என் முனைய சாளரத்தில் string1 ரன். , அதை உள்ளீடு காத்து, நான், டேவிட் தட்டச்சு உள்ளிடவும் போகிறேன் அறிவிப்பு நான் செய்து ஏனெனில், இப்போது அதை எல்லாம் வேறு வரிகளில் டேவிட் அச்சிடுகிறது. நான் ஒரு நேரத்தில் ஒரு எழுத்தை அச்சிடுகையில். நாம் இந்த இன்று விரிவாக போக மாட்டேன், ஆனால் நான் இங்கே இந்த காசோலையை முன்பு ஒரு கணம் நீக்கப்பட்டது. இது பயனர் தவறாக நடந்து இருந்தால், அந்த அவுட் சுழல்கிறது, adversarial, அல்லது குழப்பி, நீங்கள் உண்மையில் சில நீளம் ஒரு சரம் கொடுக்க தோல்வியடையும். நீங்கள் விசைப்பலகை தவறான சாவியை என்றால், நீங்கள், எந்த சரம் கொடுக்க வேண்டும் நீங்கள் தீங்கிழைக்கும் என்றால் அல்லது, நீங்கள் ஒரு கட்டுரை ஒரு ஜிகாபைட் மதிப்புள்ள ஒட்டவும் முயற்சி செய்யலாம் கணினி நினைவகம் வெளியே இயங்கும் இந்த சரம் நிரப்ப, மற்றும், அதை நாம் NULL என்று இந்த சிறப்பு மதிப்பு திரும்ப பெற போகிறோம் என்று கூறினார். அதனால் இப்போது, வெறும் NULL என்று இந்த சிறப்பு மதிப்பு இருக்கிறது என்று எனக்கு தெரியும் என்று நாம் பல விஷயங்களை நினைவு வெளியே இருக்கும் போது பார்க்க அனுமதிக்கும். ஆனால் நான் இப்போது string2 திறந்து என்றால், இங்கே ஒரு வித்தியாசத்தையும் கவனிக்கவில்லையா. String2 இங்கு ஒரு வித்தியாசத்தையும் கவனிக்கவில்லையா. String2 கொண்டு, லூப் இந்த ஒரு சிறிய வித்தியாசம் உள்ளது. நாம் அந்த மற்றொரு முறை பற்றி பேசலாம் என்று என்னை NULLs நீக்க வேண்டும். என்ன லூப் இந்த முறை பற்றி வேறு? நான் முந்தைய எடுத்துக்காட்டாக செல்ல முடியும். பதிப்பு 2 தான் என்று, இந்த பதிப்பு 1. 1, 2. 1, 2. அங்கு strlen அழைப்பு? இது லூப் முதல் பகுதி தான். நான் செய்கிறேன் ஏன் எந்த எண்ணங்கள்? Yeah. [மாணவர்] எனவே நீங்கள் செயல்பாடு ஒவ்வொரு முறை அழைக்க கூடாது. [Malan] நாம் செயல்பாடு ஒவ்வொரு முறை அழைக்க கூடாது எனவே. சரியாக. அவர்கள் சூப்பர் எளிய என்பதை சுழல்கள் ஐந்து இருந்து நினைவுகூர ஒருமுறை நீங்கள் அப்படி இந்த துவக்கும், நிலை, மற்றும் மேம்படுத்தல் என்று புரிந்து. சிக்கல் நிலை வளைய ஒவ்வொரு மறு செய்கை மீது நடக்கும் என்று. அதனால் இங்கே இந்த எடுத்துக்காட்டில், இந்த என் நிலை என்பதை பற்றி மோசமாக உள்ளது? [மாணவர்] நீங்கள் strlen நினைத்தீர்கள். [Malan] நீங்கள் மீண்டும் மீண்டும் மீண்டும் strlen அழைப்பு மற்றும் நீ. ஆனால் நான் டேவிட் தட்டச்சு செய்து, அந்த சரம் நீளம், 5 உள்ளது இது வளைய ஒவ்வொரு மறு செய்கை மீது மாற்ற போவதில்லை சரம் இன்னும் டி-ஒரு-V-i-D. ஏனெனில் இந்த முக்கியமான கருத்து ஆக என்ன நடக்கிறது ஒரு குறிப்பை உள்ளது ஒரு கணினி தேவையற்ற வேலையை செய்ய கூடாது ஒரு வடிவமைப்பு முடிவு அறியப்படுகிறது. போல் நிலையான பதிப்பில் pset2, pset2 ஒரு பதுக்கல் முன்னோட்டமாக உண்மையில் மறைக்குறியீடுகளின் சில எண்ணை செயல்படுத்த நீங்கள் சவால் போகிறது, நீங்கள் இருவரும் குறியாக்கம் முடியும் என்று நெறிமுறைகள் சில பல, மற்றும் மிகவும் ஒரு Ralphie போன்ற டிக்ரிப்ட் இரகசிய செய்திகளை அங்கு குறியாக்க நீக்கம். Pset2 ஒரு ஹேக்கர் பதிப்பில், நாம் ஒரு சிறிய மேலும் செல்ல போகிறோம். நாம் ஒரு உண்மையான கணினி முறை நீங்கள் ஒரு கோப்பு கொடுக்குமாறு போகிறோம் என்று, பயனர்பெயர்கள் மற்றும் உண்மையான மறைகுறியாக்கப்பட்ட கடவுச்சொல்லை ஒரு மொத்தமாக கொண்டுள்ளது மற்றும் ஹேக்கர் பதிப்பு சவாலாக அந்த கடவுச்சொற்களை வெடிக்க போகிறது உண்மையில் அந்த கடவுச்சொற்களை உருவாக்க பயன்படுத்தப்பட்டது என்ன குறியாக்கவியல் அல்லது என்ன ரகசியம் கண்டுபிடித்தார்கள். நாம் இங்கே சி ஒரு புதிய வசதியை பயன்படுத்தி இதை செய்ய போகிறோம் நான் நீங்கள் கட்டளை வரி அளவுருக்களை என்று மட்டும் ஒரு டெமோ கொடுக்க வேண்டும் என்று. நீங்கள் சில பகுதி அல்லது பாடப்புத்தகங்கள் பார்க்க வேண்டும் என, மாறிவிடும் முக்கிய எப்போதும் அடைப்புக்குறிக்குள் வெற்றிடத்தை இருக்க வேண்டும் இல்லை. இது, இரண்டு வாதங்கள் மூலம், முக்கிய இந்த மாதிரி எழுத முடியும் என்று மாறும் argc வார்த்தைகளை எண்ணிக்கை argc மற்றும் argv, உங்கள் வரியில் நிரல் பெயர் பின்னர் தட்டச்சு என்று மற்றும் argv உண்மையான வார்த்தைகள் இல்லை. அங்கு ஒரு சதுர அடைப்புக்குறிக்குள் ஆலோசனை மற்றும், argv வெளிப்படையாக ஒரு வரிசை ஆகும். இது நினைவகம் ஒரு சரம் பிறகு ஒரு சரம் பிறகு ஒரு சரம் இருக்க போகிறது. அதனால் இந்த மாதிரி ஏதாவது நாம் pset 2 தொடங்கும் செய்ய முடியும் போகிறோம் என்று. நான் திங்கள் திரும்ப வந்து, அதை இயக்க வேண்டும் ஒரு எடுத்துக்காட்டாக இது argv1, செய்தால் அது இன்னும் எதையும் செய்ய தெரியவில்லை என்று கவனிக்க. அது தனது சொந்த பெயரை அவுட் அச்சிடுகிறது. ஆனால் நான் இந்த திட்டத்தை வெளிப்படையாக செயல்களை என்று குட்பை வர்க்கம், அறிவிப்பு சொன்னால் ப்ராம்டில் தட்டச்சு என்று வார்த்தைகளில் ஒவ்வொரு. நாம் பயனர் வரியில் தட்டச்சு என்று வார்த்தைகளை அணுக வேண்டும், இதன் மூலம் வழி முக்கிய (argc, argv) எண்ணாக எண்ணாக முக்கிய (வெற்றிடத்தை) இந்த வார இறுதியில் தொடங்கி முக்கிய மாற்றம் ஆகும் இதனால் கட்டளை வரி அளவுருக்களை பிறந்தார். ஒருமுறை நீங்கள் இந்த நேரத்தில் மிகவும் சிக்கலான, நீங்கள் உண்மையில் trippy திட்டங்கள் எழுத முடியும் போன்ற மேலே மற்றும் அப்பாற்பட்ட இங்கே இந்த ஒரு, சில செயல்பாட்டில் நாங்கள் இதுவரை செய்து ஆனால் அனைத்து மிகவும் சக்திவாய்ந்த. நாம் திரையில் இந்த இந்த செல்கிறேன், மற்றும் நாம் திங்களன்று நீங்கள் காண்பீர்கள். [CS50.TV]