காண்க: 1 அனைவருக்கும் வணக்கம். நாம் தொடங்குவதற்கு போகிறோம். நான் மக்கள் இன்னும் நான் நினைக்கிறேன் உள்ள வடிகட்டி இருக்க வேண்டும். ஆனால் நேரம் வட்டி, நாம் மிகவும் நேரம் இங்கே வெளியே நீங்கள் பெற, நாம் தொடங்க போகிறோம். எனவே CS50 வினாடி வினா 0 விமர்சனம் வரவேற்கிறேன். உணர்ந்து யார் நீங்கள் அந்த இன்னும், நீங்கள் புதனன்று ஒரு கேள்வி உள்ளது. அற்புதம். நீங்கள் இன்னும் படிக்கும் தொடங்கியது என்றால், அல்லது இந்த இன்னும் உள்ளது என்று உணர்ந்து இல்லை, கடந்த வினாடி மற்றும் பற்றி தகவல் உங்கள் வினாடி வினா cs50.net/quizzes உள்ளன. சில நல்ல விஷயங்களை அங்கு இருக்கிறது, 10 கடந்த கடந்த வினாடி ஆண்டுகள் அத்துடன் தகவல் இந்த வினாடி வினா மற்றும் தலைப்புகள் பற்றி மூடப்பட்டிருக்கும். எனவே துவங்கட்டும். எனவே நீங்கள், முதல் நினைவிருக்கும் வர்க்க டேவிட் நாள் அந்த விளக்குகள் இருந்தது. எனவே அடிப்படையில், எல்லாம் செல்கிறது என்று ஒரு கணினி ஹூட் கீழ் பைனரி செய்து. பைனரி கேட்பதற்கே என்ன அர்த்தம் போன்ற, 0 மற்றும் 1. இது இரண்டு மதிப்புகள் உள்ளது என்று பிரதிநிதித்துவம். அதனால் தான் பிரிவில் முதல் நாள் போன்ற டேவிட் ஒரு ஒளி திரும்பி போது விளக்கை எங்கள் கணினியில் பிரதிநிதித்துவம், அல்லது 1 புரிந்து 0 என பைனரி மற்றும் 1, அல்லது ஆஃப். இரும அடிப்படைகள். ஒவ்வொரு இடத்தில் பிரதிநிதித்துவம் அடிப்படை இரண்டு. எனவே நீங்கள் 0 2 சேர்க்க 1 அனைத்து வழி வரை 2. உங்கள் பைனரி என்ன கணக்கிட தசம, நீங்கள் இந்த சமன்பாட்டில் பின்பற்ற வகை ஒன்று. நீங்கள் அந்த இடங்களில் எந்த ஒரு 1 வேண்டும் என்றால், நீங்கள் அதை பெருக்கி என்ன அது தான் அடிப்படையாக, இது வரை சேர்க்க, மற்றும் நீங்கள் தசம கிடைக்கும். எனவே நீங்கள் எண்ணி எப்படி இருக்கிறது பைனரி 5. வெறும் நாம் என்ன செய்து கொண்டிருந்தார்கள் போன்ற கடந்த ஸ்லைடு, இந்த நீங்கள் எப்படி என்று ஆகிறது 5 மூலம் 1 குறிக்கின்றன. இதேபோல், நீங்கள் சேர்க்க முடியும் விரும்புகிறேன் தசம கழித்து அல்லது 10 அடிப்படையாக, அல்லது உண்மையில் எந்த தளத்தின் மீது சேர்க்க முடியும் மற்றும் பைனரி கழித்து. போது நீங்கள் எதிர்பார்ப்பதை சரியாக என்ன அது அதிக சமம் என்றால், இரண்டு வரை சேர்க்க 1 விட, நீங்கள் ஒரு 1, அது ஒரு 0 செய்ய செயல்படுத்த, மற்றும் கூடுதலாக, அந்த வழியில் செய்ய போன்ற வழக்கமான உடன் எதிர்பார்ப்பதை தசம அல்லது வேறு எந்த அடிப்படை. எஸ். நான், எல்லாவற்றையும் முன் சொன்னது போல் அப்படி என்று நம் கணினியில் ஹூட் கீழ் செல்கிறது 0 மற்றும் 1 அல்லது பைனரி செய்யப்படுகிறது. எனவே நாம் வெளிப்படுத்த எப்படி, உதாரணமாக, கடிதங்கள், அல்லது எண்கள், அல்லது எழுத்துக்கள்? என்று பதில் ஆஸ்கி ஆகிறது. ASCII எழுத்துக்களை இடையே ஒரு ஒப்பீட்டை உள்ளது நாம் சாதாரணமாக பார்க்க என்று ஒரு நாட்டின், பி போன்ற ஆங்கில மொழி, சி, அடிக்கோடிட்டு, கோடுகள், மற்றும் அப்படி எதுவும். அது ஒரு ASCII மதிப்பு என்று வரைபடங்கள். ஒரு ASCII மதிப்பு ஒரு எண் என்று உங்கள் கணினி புரிந்து கொள்ள முடியும். நீங்கள் கூடுதலாக செய்ய முடியும் போல் மற்றும் எண்கள் கழித்தல், நீங்கள் என்ன செய்ய முடியும் ஆஸ்கி மதிப்புகள் அவர்களை. இந்த உதாரணத்தில் அதனால் என்ன இந்த அச்சிட? ஆமாம், அதனால் தான் ஒரு இடத்தில் பி விண்வெளி சி விண்வெளி டி எங்கே என் சுட்டி போனீர்கள்? நீங்கள் 65 மணிக்கு ஒரு முழு எண்ணாக வரையறுக்க முடியாது கவனிக்கிறது. நீங்கள் பயன்படுத்தி அச்சிட போது சதவீதம் சி, அது ஒரு என்று புரிந்து கொள்கிறேன் பாத்திரம் மற்றும் ஏ அவுட் அச்சிட வேண்டும் இதேபோல், நீங்கள் அறிவிக்க முடியும் அது ஒரு எரிப்பதை. நீங்கள் சதவீத பயன்படுத்தி அதை அச்சிட போது சி, அது அந்த விளக்குவது வேண்டும் சதவீதம் டி மற்றும் நீங்கள் ஒரு சேர்க்க முடியும் போல் எண், நீங்கள் பாத்திரங்கள் சேர்க்க முடியும் இந்த வழக்கில், ஆஸ்கி மதிப்புகள்,. எல்லோருக்கும் எனவே ஒரு சிறிய சுட்டிக்காட்டி. 5, ஒரு சரம் என, இல்லை உண்மையில் 5 சமமாக. எனவே நாம் எப்படி மாற்ற வேண்டும் முழு 5 சரம் 5? எந்த கருத்துக்கள்? ஆமாம். எனவே நாம் ஒரு சரம் 5 வேண்டும் என்றால், நாம் 0 கழிக்க முடியும். என்று நம்மை 5 கொடுக்க வேண்டும். அதே போல், நாம் ஒரு 5 இருந்தால் முழு, சரம் 0 என்று சேர்க்க. என்று நம்மை சரம் 5 கொடுக்கிறது. எஸ். இப்போது, அங்கு ஒரு சொற்பொழிவு திரும்ப நினைவு வழிமுறைகளை பற்றி பேசினார். நாம் உண்மையில் ஒரு கணினி வேண்டும் எப்படி சுவாரஸ்யமான விஷயங்களை செய்ய? நீங்கள் மட்டும், சேர்த்து கழிப்பதன், தெரிகிறீர்கள் எண்கள் மற்றும் அச்சிடும் விஷயங்கள் வெளியே அல்ல பரபரப்பான. பொதுவாக, நாம் நமது கணினியில் வேண்டும் வழிமுறை சில வகையான செய்ய. இன்னும் கொஞ்சம் சிக்கலான ஒன்று வெறும் எளிய கணித விட. ஒரு வழிமுறை படி செட் மூலம் ஒரு படி செய்ய எப்படி வழிமுறைகளை ஒரு குறிப்பிட்ட task-- ஒரு செய்முறையை விரும்புகிறேன். நீங்கள் முதல் நாள் நினைவிருக்கும் டேவிட் எங்களுக்கு ஒரு அறை எண்ண அங்கு வர்க்கம் மக்கள் எப்படி பல மக்கள் அறையில் இருந்தன. நீங்கள் எண்ணும் பயன்படுத்த வேண்டும் ஒன்று. 1, 2, 3, 4. அந்த வழக்கில், ஒரு நேரியல் நேரம் வழிமுறையை. ஆனால் டேவிட் ஒரு வழிமுறை அறிமுகப்படுத்தப்பட்டது நீங்கள் அறையில் மக்கள் எண்ண எல்லோருக்கும் உள்ளது, அங்கு, நீங்கள் உங்கள் சொல்கிறீர்கள் மற்றொரு நபர் பல, என்று சேர்க்கிறது எண், மற்றும் ஒரு நபர் கீழே அமர்ந்திருக்கிறார். நீங்கள் அந்த மீண்டும். அந்த வழிமுறையை ஒரு வகை தான். நாம் எப்படி திறமையான ஒரு ஆய்வு செய்யலாம் நேரம் ரன் மீது வழிமுறையை அடிப்படையாக கொண்டது. ஆனால் நாம் கொஞ்சம் பேச வேண்டும் பின்னர் பற்றி மேலும். எனவே அனைத்து வழிமுறைகளிலும் கூட போலிக்குறியீட்டை எழுதப்பட்ட. போலிக்குறியீட்டை போல் ஒரு ஆங்கில ஆகிறது தொடரியல் பிரதிநிதித்துவம் பயன்படுத்தப்படுகிறது ஒரு நிரலாக்க மொழி. உதாரணமாக, ஒரு பயனர் நாம் விரும்பினால் கேட்க எனக்கு பிடித்த எண் நினைக்கிறேன், நாம் போன்ற போலிக்குறியீட்டை வேண்டும். ஒரு பயனர் நினைக்கிறேன் கிடைக்கும். யூகம் சரியென்றால், இன்னும் சொல்ல அவர்கள் கூறுவது சரிதான், வேறு சொல்ல அவர்கள் சரியான இருக்கிறோம். மேலும் போலிக்குறியீட்டை எளிதில் ஒரு வழி ஒரு கருத்தை அல்லது ஒரு வழிமுறை குறிக்கும். எனவே இப்போது நாம் உண்மையில் எழுத வேண்டும் இந்த மொழி என்று கணினி புரிதல் போகலாம். எனவே நாம் நமது போலிக்குறியீட்டை எழுத முடியும் மூல குறியீடு என்று விளக்குவது. இதுவரை, மூல குறியீடு கடைபிடிக்கின்றன வேண்டும் ஒரு குறிப்பிட்ட தொடரியல் ஒரு நிரலாக்க மொழி. இதுவரை, CS50, நாம் சொல்லியிருக்கிறோம் பெரும்பாலும் கேட்ச் பயன்படுத்தி. எனவே இந்த கேட்ச் மூல குறியீடு இருக்கலாம். பின்னர் நிச்சயமாக, நீங்கள் இரவு வந்து பிற நிரலாக்க தொடர்பு PHP போன்ற மொழிகளில். அல்லது நீங்கள் கூட, நீங்கள் மற்ற வகுப்புகள் எடுத்து ஜாவா, பைதான், அல்லது OCML செய்ய வேண்டும். ஆனால் நம் சி நிரல் மொழியில், இந்த ஆகிறது நாம் மூல குறியீடு எழுத எப்படி போலிக்குறியீட்டை நெறிமுறை நான் முன்பு குறிப்பிட்டது. எனவே எப்படி உங்கள் கணினி உண்மையில் செய்கிறது என்று புரிந்து கொள்ள? நான் மட்டுமே உண்மையில், அது முன்பு கூறியது போல பூஜ்ஜியங்களாக மற்றும் ஒருவர் அறிகிறது. இது எப்படி ஆதாரமாக இருந்து கிடைக்கிறது இருக்க முடியும் என்று ஏதாவது குறியீடு புரிந்ததா? சரி, நாம் ஏதாவது ஒரு மொழி என்று. நீங்கள் மிகவும் மீண்டும் நினைவு என்றால் உங்கள் psets, நீங்கள் திட்டத்தின் சில வகையான இருந்தது ஒரு புள்ளி கேட்ச் கோப்பு எழுதப்பட்டுள்ளது. பின்னர் நீங்கள் செய்ய தட்டச்சு வேண்டும். அதனால் என்ன செய்ய செய்கிறார்? நீங்கள் தொகுக்க செய்ய தட்டச்சு செய்யலாம் உங்கள் திட்டம் someone-- காரணம் எவர் உங்கள் ப செட் எழுதினார்; ஒருவேளை David-- ஒரு அலங்காரம் கோப்பு உருவாக்கப்பட்டது. அந்த இயக்க தெரிந்துகொள்ள வேண்டும் சொல்கிறது உங்கள் ஒடுக்கி, என்று கணகண வென்ற சப்தம், என்று உயில் பின்னர் பொருள் உங்கள் மூல குறியீடு தொகுக்க பூஜ்ஜியங்களாக மற்றும் ஒருவர் எந்த குறியீடு உங்கள் கணினியில் புரிந்துகொள்வார் என்று. ஆனால் பின்னர் ஒரு சிறிய, நாம் போவோம் தொகுப்பிகள் பற்றி ஆழம் அதிகம். எனவே நினைவு, pset 0, where-- ஆம், நீங்கள் ஒரு கேள்வி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? காண்க: 1 ஆம். நான் உண்மையில் அவர்கள் நினைக்கிறேன் ஆன்லைன் இருக்க வேண்டும். ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] போன்றதா? காண்க: 1 அது அல்ல. தி cs50.net/quizzes உள்ளன. பார்வையாளர்கள்: ஸ்லாஷ் வினாவிடை, 2013 குறைக்கின்றன 0 குறைக்க, மற்றும் மூலம் கிளிக் வினாடி 2013 மற்றும் வினாடி வினா 0, பிரிவில் ஸ்லைடுகளை ஆய்வு. காண்க: 1: ஆமாம், அதனால் நீங்கள் விரும்பினால் அதை கவனித்து அதை பாருங்கள், உங்கள் சொந்த கணினி, அதுவும் நல்லதுதான். மீண்டும் என்று. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1: ஆமாம், [செவிக்கு புலப்படாமல்] போலி மாறி உள்ளது. ஓ அப்படியா? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? காண்க: 1: இல்லை, வேலைநிறுத்தங்கள் பரீட்சை உள்ளன. மன்னிக்கவும், அவள் கேள்வி, பரீட்சை தாக்குதல்கள். அது அல்ல. எனவே, pset 0, நீங்கள் எல்லாம் இருக்க வேண்டும் புதிதாக பயன்படுத்தி ஏதாவது செயல்படுத்தப்பட்டது. நாம் சில அடிப்படை நிரலாக்க கற்று புதிதாக பயன்படுத்தி கட்டிட தொகுதிகள். எனவே சில பாருங்கள் அனுமதிக்க இந்த கட்டுமான தொகுதிகள் என்று ஒரு திட்டத்தை உருவாக்க. முதல் பூலியன் வெளிப்பாடு ஆகும். பூலியன் வெளிப்பாடுகள் தான் மற்றும் என்று 0 அல்லது ஏதாவது இரண்டு சாத்தியமான மதிப்புகள். இந்த வழக்கில், உண்மை அல்லது பொய், அல்லது ஆஃப், மற்றும் ஆம் அல்லது இல்லை. மிகவும் எளிமையான, ஒரு எளிய ஒரு உதாரணம், ஒரு பூலியன் பயன்படுத்தும் திட்டம் இங்கே வெளிப்பாடு வரை. எனவே பூலியன் வெளிப்பாடுகள் பொருட்டு பயனுள்ளதாக இருக்கும், நாம் பூலியன் ஆபரேட்டர்கள் வேண்டும். இந்த பயன்படுத்த முடியும் என்று ஆபரேட்டர்கள் உள்ளனர் சில மதிப்புகள் ஒப்பிட்டு. எனவே நாம் மற்றும் அல்லது சமமாக, குறைவான விட அல்லது அதிகமாக, சமமாக அல்லது சமமாக, மற்றும் குறைவான விட அல்லது அதிக. ஆனால் இந்த ஆபரேட்டர்கள் மிகவும் பயனுள்ளதாக உள்ளன நாங்கள் அவற்றை இணைக்க முடியும் வரை நிலைமைகள். எனவே நீங்கள் புதிதாக நினைவிருக்கும் உங்கள் ப நாம் அமைக்கிறது நிலைமைகள். அவர்கள் பிரிகிறது போன்ற, அடிப்படையில், இருக்கிறார்கள் உங்கள் திட்டம் தர்க்கம் என்பதை பொறுத்து முடிக்கிறது ஒரு நிபந்தனை. நாம் என்று நிலைமைகள் எனவே ஒரு இந்த போக்கில் பல முறை பயன்படுத்தப்பட்டு இருக்கிறது வேறு, வேறு என்றால், வேறு நிலைமைகள், இருந்தால். இங்கே எப்படி ஒரு உதாரணம் தான் நீங்கள் பயன்படுத்த வேண்டும். யாரையும் வித்தியாசம் தெரிகிறது வெறும் அறிக்கைகள் என்றால் பயன்படுத்தி என்றால், வேறு வசனங்களின் வழி, என்றால், வேறு ஒருங்கிணைந்த? ஆமாம்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1 சரியாக. எனவே நான் செய்தால் இந்த அனைத்து வழி கீழே வழியில், கூட இந்த நிலையில் மீண்டும் என்றால் உண்மை, அது இன்னும் தொடரும் அடுத்த இரண்டு சோதனை. , அதேசமயம் ஒரு வேறு என்றால், ஒரு வேறு கொண்டு அறிக்கை, ஒரு உண்மை கொடுக்கிறது என்றால், மற்றவர்கள் சோதனை. அதை பற்றி எந்த கேள்விகள்? எஸ். எனவே நீங்கள் ஒரு வேறு ஒரு என்றால், வேறு பயன்படுத்த உங்களுக்கு தெரியும் என்றால் அறிக்கை அது மட்டும் முடியும் இந்த நிகழ்வுகளில் ஒன்றாக இருக்க வேண்டும். X 0 விட குறைவாக இருந்தால், அதனால் நாம் அதை தெரியும், நிச்சயமாக இருக்க போவதில்லை 0 விட. அடுத்து, மற்றொரு கட்டிட தொகுதி நாம் கற்று என்று சுழல்கள் உள்ளன. நாம் சுழல்கள் மூன்று வகையான வேண்டும். சுழல்கள், சுழல்கள் போது, மற்றும் சுழல்கள் போது செய்ய. பொதுவாக, நீங்கள் போது உட்கார்ந்து ஏதாவது எழுத, நீங்கள் முடிவு செய்ய வேண்டும் நீங்கள் பயன்படுத்த விரும்பும் மூன்று இது. நாம் எப்படி எந்த ஒரு முடிவு என்ன? எங்களுக்கு தெரியும், நாம் பொதுவாக ஒரு வட்டத்திற்கு பயன்படுத்த எத்தனை முறை நாம் மீண்டும் கூறு வேண்டும் ஏதாவது மூலம் அல்லது எத்தனை முறை நாம் ஒரு பணியை செய்ய வேண்டும். நாம் சில வேண்டும் என்றால் நாம் சுழல்கள் போது பயன்படுத்த இந்த நிலையில் இயங்கும் வைக்க உண்மை. நாம் மிகவும் ஒத்த போது செய்ய அதே நேரத்தில், ஆனால் நாங்கள் எங்கள் குறியீடு இயக்க வேண்டும் குறைந்தது ஒரு முறை. செய்ய தான் என்ன செய்ய போது, சாப்பிடுவேன் எப்போதும் குறைந்தது ஒரு முறை இயக்க. , அதேசமயம் போது, அது அனைத்து என்றால் ரன் இல்லை நிலை திருப்தி இல்லை. என்று எந்த கேள்விகள்? லூப் ஒரு எனவே அமைப்பு. நீங்கள் இந்த பார்த்திருக்கிறேன். நீங்கள் அது துவக்க. நீங்கள் நிலையில் சில வகையான வேண்டும். அதனால், எடுத்துக்காட்டாக, நாம் துவக்க வேண்டும் என நான் 0 சமம். நான் குறைவாக 10 ஆகும். நான் ++. நாம் செய்த மிக எளிய ஒன்று. ஒரு வட்டத்திற்கு, இதேபோல், நீங்கள் வேண்டும் துவக்கும் சில வகையான வேண்டும், நிலையில் சில விதமான, மற்றும் மேம்படுத்தல் சில வகையான. எனவே நாங்கள் லூப் எங்கள் செயல்படுத்த முடியும் ஒரு வட்டத்திற்கு இந்த பயன்படுத்தி. அதேபோல், ஒரு செய்யும் போது சுழற்சி, நாம் சில துவக்கும் வேண்டும், ஏதாவது இயக்கவும் அதை மேம்படுத்த, மற்றும் பின்னர் நிபந்தனை சரிபார்க்க. எனவே இப்போது செயல்படுகிறது. நாம் எல்லாம் ஒன்றாக வைத்தோம். நாம் சில எழுத வேண்டும் செயல்பாடு வகையான. பொது செயல்பாடு என்று நீங்கள் போகலாம் ஏற்கனவே பார்த்தோம் முக்கிய உள்ளது. முக்கிய செயல்பாடாக இருக்கிறது. இது ஒரு பதிலுக்கு வகை எண்ணாக உள்ளது. இது முக்கிய செயல்பாடு பெயர் உண்டு. அது வாதங்கள், argc மற்றும் argv உள்ளது. எனவே பிரதான ஒரு செயல்பாடு உள்ளது. நீங்கள் பயன்படுத்த கூடும் மற்ற செயல்பாடுகளை, printf-- printf ஒரு செயல்பாடு உள்ளது GetInt, toupper. ஆனால் இந்த இருந்ததாக நடக்கிறது நமக்கு செயல்படுத்தப்படும் நூலகம் சில வகையான. நீங்கள் உட்பட நினைவில் இருந்தால் இந்த CS50.h, நூலகம் அல்லது தரமான நான் / ஓ நூலகம். ஆம், கேள்வி? பார்வையாளர்கள்: சி வெறும் உள்ளார்ந்த முக்கிய இருக்கிறதா? அதை வெறும் வகையான [செவிக்கு புலப்படாமல்] உள்ளதா? காண்க: 1 கேள்வி முக்கிய என்றால் கேட்ச் உள்ளார்ந்த உள்ளது. ஆம், அனைத்து செயல்பாடுகள் ஒரு முக்கிய செயல்பாடு. இது மாதிரியான கணினி தேவையான தான் அங்கு தொடங்க தெரியாது செய்ய குறியீடு இயங்கும். பார்வையாளர்கள்: நீங்கள் செய்யமாட்டீர்கள் [செவிக்கு புலப்படாமல்]? காண்க: 1 எண் வேறு ஏதேனும் கேள்விகள்? எஸ். நீங்கள் ஒரு செயல்பாடு பயன்படுத்த முடியும் அதனால் தான், என்று நீங்கள் எழுதி, நீங்கள் கூட உங்கள் சொந்த செயல்பாடு எழுத. இந்த என்று யாராவது வலிமை ஒரு செயல்பாடு ஆகும் தொகுதி கணக்கிட எழுதி எடுத்துக்காட்டாக, ஒரு குவிண்டால் ஆகும். மீண்டும் வகை இந்த விஷயத்தில், இங்கே இல்லை எண்ணாக எங்கள் செயல்பாடு பெயர், கே மற்றும் எங்கள் அளவுருக்கள் பட்டியல். நீங்கள் தரவு எழுத வேண்டும் என்று கவனிக்க நீங்கள் விரும்பினால் அளவுரு வகை பயன்படுத்த அல்லது செயல்பாடு இல்லை வேறு என்ன தெரியுமா அளவுரு நான் ஏற்று கொள்ள வேண்டும். எனவே, இந்த விஷயத்தில், நாம் வேண்டும் எங்கள் உள்ளீடு ஒரு முழு எண். அதனால் நாம் ஏன் செயல்பாடுகளை பயன்படுத்த வேண்டும்? அனைத்து முதல், நிறுவனத்திற்கு பெரும். அவர்கள் உங்கள் குறியீடு உடைக்க உதவும் மேலும் துண்டுகளாக்கி ஏற்பாடு செய்ய எளிதாக படிக்க. தெளிவுபடுத்தல். இந்த வடிவமைப்பு நல்லது. நீங்கள் குறியீடு ஒரு துண்டு படித்து போது மற்றும் முக்கிய செயல்பாடு, உண்மையில் ஆகிறது உண்மையிலேயே நீண்ட, அது கடினமாக இருக்கலாம் என்ன நடக்கிறது பற்றி காரணம். எனவே நீங்கள் செயல்பாடுகளை அது உடைவதால், அதை வாசிக்க எளிதாக இருக்கும். மற்றும் மீண்டும் திறன். நீங்கள் குறியீடு ஒரு துண்டின் வேண்டும் என்றால் இருப்பது என்று என்று அல்லது பல முறை ரன், அதற்கு பதிலாக அந்த குறியீடு 10 முறை மீண்டும் ஒரு உங்கள் முக்கிய செயல்பாடு, நீங்கள் போகலாம் அதை மீண்டும் செய்ய வேண்டும். பின்னர் ஒவ்வொரு முறையும் நீங்கள் பயன்படுத்த வேண்டும் குறியீடு துண்டு, செயல்பாடு அழைக்கிறது. எனவே இப்போது நாம் கீறி மீண்டும் நினைவில் இருந்தால், நாங்கள், ஒரு சில கருத்துக்கள் பற்றி பேசினார் இது ஒரு நந்தியாவட்டை. நூல் பல கருத்து உள்ளது குறியீடு தொடர்கள் அதே நேரத்தில் இயக்கும். எனவே தாவீது எங்கே நாள் மீண்டும் நினைக்கும் நீங்கள் எண்ணிக்கை எண்ண அறையில் மக்கள். அடிப்படையில், என்ன நடக்கிறது நீங்கள் தோழர்களே அனைத்து இருந்தன தனி நூல் இயங்கும். அந்த நூல் ஒன்றாக வரும் பதில் சில வகையான பெற. இதேபோல், கீறல், நீங்கள் போது இல்லை பல உருவங்களுக்கு, நீங்கள் போகலாம் ஒரு பூனை மற்றும் ஒரு நாய் வேண்டும். அவர்கள் ஒரே நேரத்தில் இருக்க வேண்டும் தங்கள் சொந்த ஸ்கிரிப்டை இயங்கும். என்று நூலினை ஒரு உதாரணம் ஆகும். மற்றும் பிற கருத்து என்று புதிதாக அறிமுகப்படுத்தப்பட்ட நிகழ்வுகளை இருந்தது. நிகழ்வுகளை போது பல பகுதிகளில் உள்ளன உங்கள் குறியீடு ஒருவருக்கொருவர் தொடர்பு. நீங்கள் பயன்படுத்தும் போது கீறல், இந்த இருந்தது ஒலிபரப்பு கட்டுப்பாடு மற்றும் போது நான் தொகுதிகள் பெறும். மேலும், 4 அமை பிரச்சனை, நாம் கண்டோம் அதே நிகழ்வுகளை கொஞ்சம். நீங்கள் பயன்படுத்த வேண்டும் Gevent நூலகம். ஒரு செயல்பாடு இருந்தது waitForClick இதில் நீங்கள் காத்திருக்கும் பயனர் கிளிக் செய்ய. உங்கள் கிளிக்கில், இந்த வழக்கில், இருக்க வேண்டும் கிளிக் நிகழ்வு மற்றும் காத்திருக்க உங்கள் ஆகின்றன நிகழ்வு கையாளுதல். மேலும், உங்கள் psets முழுவதும் இயங்கும் மற்றும் உங்கள் psets வேலை, நீங்கள் தொடர்பு கொண்டு வர இந்த கட்டளைகளை சில. இந்த நீங்கள் தட்டச்சு என்ன உங்கள் முனைய சாளரத்தில் அல்லது என்ன சாளர என்று, உங்கள் கிராம் தொகு வரை காட்டுகிறது அடிப்படையில், உங்கள் கணினியில் செல்லவும். எனவே எடுத்துக்காட்டாக, மக்களவை பட்டியலிடுகிறது ஒரு அடைவு உள்ளடக்கங்களை. அடைவு ஒரு புதிய கோப்புறை உருவாக்குகிறது கொள்ளுங்கள். குறுவட்டு, மாற்றம் அடைவு. ஆர், நீக்க, ஒரு கோப்பு நீக்குகிறது அல்லது சில அடைவு. பின் அடைவு நீக்க ஒரு அடைவு நீக்குகிறது. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? காண்க: 1 ஆமாம், நிச்சயமாக. மன்னிக்கவும், கேள்வி நீங்கள் என்றால் இந்த போடுவதை பரிந்துரைக்கும் என்று ஏமாற்று தாளில். இது உதவ முடியும். நீங்கள் அறையில் இருந்தால், நீங்கள் அதை வைக்க முடியாது. இது போதுமானதாக பொதுவாக நல்ல தான் நீங்கள் அதை பயன்படுத்த போது, ஏனெனில் நினைவில் நீங்கள் விரும்பலாம் அதை நினைவில் இல்லை. உங்கள் வாழ்க்கையில் நிறைய எளிதாக செய்ய வேண்டும். நான் உங்கள் கேள்விக்கு பதில்? எனவே இப்போது, நாம் சிறிது பேசினார் நூலகங்கள் பற்றி சுருக்கமாக. ஆனால் இரண்டு முக்கிய நபரை நாங்கள் என்று இதுவரை போக்கில் பயன்படுத்தி தரமான நான் / ஓ மற்றும் CS50. என்ன விஷயங்கள் வகையான சேர்க்கப்பட்டுள்ளது தரமான நான் / ஓ நூலகம்? ஆமாம், இதுவரை நாம் printf பயன்படுத்தப்படுகிறது. CS50 உள்ள, நாம் GetInt பயன்படுத்த மற்றும் GetString. தரவு வகை சரம் நடக்கும் இந்த CS50 நூலகத்தில் அறிவித்தார் வேண்டும். நாம் பற்றி ஆழம் இன்னும் கொஞ்சம் பேச வேண்டும் எப்படி நூலகங்கள் வேலை மற்றும் எப்படி அவர்கள் உங்கள் குறியீடு மற்ற தொடர்பு. ஆனால் அந்த இரண்டு முக்கிய நபரை உள்ளன என்று நாம் இதுவரை தொடர்பு வர நிச்சயமாக. வகைகள். இவை எவ்வளவு நினைவில் கொள்வது நல்லது உள்ளன ஒவ்வொரு வகை எப்படி அல்லது பிரதிநிதித்துவம் பல பைட்டுகள் வகை ஒவ்வொரு requires-- முழு எண்ணாக 4 பைட்டுகள்; கரி, 1 பைட். மிதவை 4 பைட்டுகள் ஆகும். ஒரு இரட்டை என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1: ஆமாம், அதனால் ஒரு மிதவை ஆனால் அளவு இரட்டை. என்ன ஒரு நீண்ட பற்றி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1: சரி. ஒரு நீண்ட என்றால் என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1: ஆமாம், ஒரு முழு எண்ணாக இரட்டை. ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1 லாங் [செவிக்கு புலப்படாமல்]. பின்னர் ஒரு நீண்ட நீண்ட இரட்டை உள்ளது. பார்வையாளர்கள்: இல்லை, இல்லை. ஒரு நீண்ட ஒரு முழு எண்ணாக இருக்கிறது. இது கட்டமைப்பு பொறுத்தது முன் [செவிக்கு புலப்படாமல்] மற்றும் எண்ணாக அதே அளவு வேண்டும். [செவிக்கு புலப்படாமல்]. காண்க: 1 எனவே, ஒரு நீண்ட மற்றும் ஒரு முழு எண்ணாக தான். பின்னர் ஒரு நீண்ட நீண்ட இரட்டை எண்ணாக இருக்கிறது. எஸ். பின்னர், கடந்த வகை என்ன? பார்வையாளர்கள்: சுட்டி. காண்க: 1 சரி, நாம் கற்று சுட்டிகள் பற்றி ஒரு சிறிய பிட். மற்றும் பொருட்படுத்தாமல் ஒரு சுட்டிக்காட்டி என்ன அதை to-- சுட்டி ஒரு எரிப்பதை நட்சத்திர இருக்க முடியும் அல்லது ஒரு முழு எண்ணாக star-- அது எப்போதும் ஒரு சுட்டிக்காட்டி 4 பைட்டுகள் தான். என்று கேள்விகள்? ஆமாம்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? காண்க: 1 எனவே, ஒரு நீண்ட மற்றும் ஒரு முழு எண்ணாக உள்ளன இந்த CS50 சாதனம் அதே. பார்வையாளர்கள்: பயன்பாட்டிற்கான முற்றிலும் பரஸ்பரம். காண்க: 1: ஆமாம். எனவே ஒரு நீண்ட நீண்ட இரட்டை ஒரு முழு எண்ணாக இருக்கிறது. பார்வையாளர்கள்: இந்த 32 பிட் ஆகும்? காண்க: 1 32 பிட், ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? காண்க: 1 ஆம், அது இல்லை என்றால் வெளிப்படையாக, நீங்கள் சொல்கிறது ஒரு 32 பிட் கொள்ள வேண்டும். பார்வையாளர்கள்: அது ஏதாவது சொல்ல வேண்டும் ஒரு அனுமானித்து போன்ற பயன்பாட்டிற்கான போன்ற கட்டமைப்பு. 64 பிட் மட்டுமே விஷயங்களை என்று மாற்றம் longs மற்றும் குறிப்புகள் உள்ளன. அவர்கள் இருவரும் [செவிக்கு புலப்படாமல்]. காண்க: 1 ஆம்? பார்வையாளர்கள்: கேள்வி. நடைமுறையில் வினாடி வினாக்கள் ஒரு எனவே, அது ஒரு எண்ணாக கையொப்பமிடாத பற்றி கேட்கிறார். எனவே எப்படி என்று உறுதியாக ஒரு முழு எண்ணாக [செவிக்கு புலப்படாமல்] இருந்து? காண்க: 1 கையெழுத்திடப்படாத மேலும் 4 பைட்டுகள் ஆகும். ஆனால் ஒரு ஒப்பந்தம் பற்றி வேறு என்ன முழு எண்ணாக மற்றும் ஒரு எண்ணாக கையொப்பமிடாத? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1 ரைட். ஒரு எதிர்மறை மதிப்புகள் பிரதிநிதித்துவம் முடியும். ஆனால் அதை எப்படி செய்ய வேண்டும்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1: சரி, அது 1 சேமிக்கிறது பிட் அடையாளமாக பிரதிநிதித்துவம். ஒப்பந்தம் ஒரு பிட் உள்ளது என்று உணர்த்துகிறது. மற்றும் கையொப்பமிடாத அனைத்து நிலை உள்ளது. பார்வையாளர்கள்: சரி. நீங்கள் ஒரு இரட்டை என்று சொல்கிறீர்கள் ஒரு மிதவை இருமுறை அளவு? காண்க: 1 இரட்டை இருமுறை ஆகிறது ஒரு மிதவை அளவு, ஆம். பார்வையாளர்கள்: ஒரு சுட்டிக்காட்டி எவ்வாறு ஒரு நீண்ட நீண்ட [செவிக்கு புலப்படாமல்]? காண்க: 1 எவ்வாறு எனவே கேள்வி ஒரு நீண்ட நீண்ட சுட்டிக்காட்டி எப்படி என்று மட்டும் நான்கு பைட்டுகள் போது ஆகிறது அதன் 8 பைட்டுகள் ஒரு நீண்ட நீண்ட. எனவே ஒரு சுட்டிக்காட்டி என்ன நினைவில், அடிப்படையில், மிகவும் அடிப்படை மதிப்பு. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. காண்க: 1: ஆமாம், அதனால் ஒரு சுட்டிக்காட்டி ஒரு நினைவக இடம் இருக்கிறது. அது எவ்வளவு விண்வெளி தேவையில்லை என்று சுட்டிக்காட்டி சுட்டி காட்டியது. அது மட்டும் கண்காணிக்க 4 பைட்டுகள் வேண்டும் என்று நினைவக இடம். வேறு ஏதேனும் கேள்விகள்? எஸ். எனவே கடந்த விஷயம் நான் இல்லை நிலையான வெளியீடு ஆகும். நீங்கள் அடிக்கடி பயன்படுத்த வேண்டும் நீங்கள் நினைவில் கொள்ள முடியும் என்று போதுமான. நாம் பயன்படுத்த போது ஆனால் இந்த printf, எடுத்துக்காட்டாக. நாம் இந்த பெட்டிகள் வேண்டும் என்று வடிவமைப்பு குறியீடுகள் வரவழைக்கப்பட்டனர். எனவே எண்ணாக சதவீதம் கேட்ச் கரி, சதவீதம் நான், மற்றும் நாம் சதவிகிதம் ஈ பயன்படுத்த முடியும். அதே விஷயம். ஆனால், பொதுவாக, உள்ள CS50 நாங்கள் சதவீதம் நான் பயன்படுத்த முயற்சி. மிதவை சதவீதம் ஊ. நீண்ட காலமாக சதவீதம் எல்டி மற்றும் சரம் சதவீதம் கள். இதேபோல், நாம் ஒரு சில பயன்படுத்தி இந்த தப்பிக்கும் காட்சிகளில். உதாரணமாக, பின்சாய்வுக்கோடானது n புதிய வரி. இந்த நீங்கள் வடிவமைக்க போது தான் ஆகிறது அச்சு f உங்கள் குறியீடு. ஆமாம்? பார்வையாளர்கள்: சதவிகிதம் ஈ என்ன? காண்க: 1 எனவே கேள்வி சதவீதம் ஈ என்ன? சதவிகிதம் ஈ ints உள்ளது. சதவிகிதம் ஈ மற்றும் சதவீத நான் அதே உள்ளன. பார்வையாளர்கள்: இடையே உள்ள வேறுபாடு என்ன பின்சாய்வுக்கோடானது n மற்றும் பயன் r? காண்க: 1 எனவே கேள்வி என்ன ஆகிறது பின்னடைவு n மற்றும் வித்தியாசம் பின்னடைவு r? நான் பயன் R நினைக்கிறேன் ஆகிறது பார்வையாளர்கள்: பின்சாய்வுக்கோடானது r தான் குறிக்கிறது வரி தொடக்கத்தில் கொடுக்கிறது உண்மையில், ஒரு புதிய வரி இல்லாமல். எனவே நீங்கள் ஒரு பின்சாய்வுக்கோடானது R அச்சிட மற்றும் நீங்கள் வரி தொடக்கத்தில் மீண்டும் சென்றால் பின்னர் நீங்கள் மேலெழுதும் மேலும் பொருட்களை அச்சிட ஏற்கனவே என்று பொருள் [செவிக்கு புலப்படாமல்]. அதேசமயம், n உண்மையில் ஒரு புதிய செல்கிறது வரி மற்றும் [செவிக்கு புலப்படாமல்] செல்கிறது. காண்க: 1: சரி, வேறு எந்த கேள்விகள்? சரி. நான் அதை ஒப்படைக்க போகிறேன் தொடரும் யார் டான். [கரவொலி] டான்: அனைத்து righty. அதனால் நான் மற்றொரு பரந்த பற்றி என்று வர்க்கம் பல்வேறு வகைப்பட்ட கருத்துக்கள் சுமார் இரண்டு வாரம் பிரதிநிதி வாரம் மூன்று தொடக்கத்தில் துவங்கும் ஒரு வழி இது நடிப்பதற்கு, உடன் ஒரு குறிப்பிட்ட வகை ஒரு மதிப்பு சிகிச்சை ஒரு வெவ்வேறு வகை ஒரு மதிப்பு. எனவே நாம் செய்ய எழுத்துகள் மூலம் இதை செய்ய முடியும் ints, ints செய்ய மிதவைகள், மற்றும் நீண்ட longs இரட்டை. இவை அனைத்தும் வழிகளில் பயன்படுத்த முடியும் சில எண் மதிப்பு சிகிச்சை வேறு சில போன்ற கழித்து எரிப்பதை எண் மதிப்பு. சில பிரச்சினைகள் இந்த, அங்கு உள்ளன எனவே நீங்கள் நடிக்க போது வரும் நிச்சயமாக, ints செய்ய பங்குகளாக போன்ற விஷயங்கள். எனவே, இந்த ஒரு சிறிய வித்தியாசமாக உள்ளது. நாம் 1.31 என்று ஒரு மிதவை வேண்டும். நாம் 10,000 அதை பெருக்கி. பின்னர் நாம் ஒரு முழு எண்ணாக அதை அச்சிட. இந்த வெளியீடு என்ன? 10,000 மடங்கு 1.31. எனவே 13,000, தெரியுமா? பார்வையாளர்கள்: நான் அதை 10,000 என்று நான் நினைக்கிறேன். டான்: நான் 10,000 அதை பெருக்கி நான் அதை நடிப்பில் நான் முன். பார்வையாளர்கள்: ஓ. அங்கு ஒரு 9 முடியாது மற்றும் சில 0 எண்கள்? டான்: நீங்கள் சில வித்தியாசமான இலக்கங்கள் வேண்டும். எனவே சரியான, அது 1.3 மடங்கு 10,000 தான். அதனால் 13,000 தான். இந்த கூடுதல் weird-- பார்வையாளர்கள்: 13.100. டான்: 13.100. , ராப் நன்றி. இந்த கூடுதல் weirdness-- இந்த 9,9-- வெறுமனே இந்த நடிப்பதற்கு காரணம் முடிந்தது கீழே அங்கு ரவுண்டிங் அது கூடாது. ஆமாம். பார்வையாளர்கள்: நடிப்பதற்கு நடக்கும் வேறு எதையும் பிறகு? டான்: ஏனெனில் நான் அதை அச்சு இந்த வேண்டும் அதை முன் இந்த பெருக்கம் செய்கிறது இந்த நடிப்பதற்கு இல்லை. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. டான்: நான், அது முதல் நடித்தார் என்று நினைக்கிறேன் ஆமாம், 10,000 இது இருக்க வேண்டும். வேறு ஏதாவது? எஸ். எனவே இந்த 13.099 ஆகும். ஏன் இப்படி நடக்கிறது? துல்லியமின்மையே. மிதவைகள் சரியான உள்ளன. அவர்கள் மட்டும் ஒரு எண்கள் பிரதிநிதித்துவம் முடியும் முக்கிய பிரமுகர்கள், குறிப்பிட்ட எண். நாம் 8 தியாகம் அத்தி அவுட் அச்சிட என்றால் இந்த மிதவை, நாம் ஒரு வகையான பெற அசிங்கமாக எண். ஏனெனில் அது தான் 1.31 துல்லியமாக முடியாது எளிமையான பிரதிநிதித்துவம் வேண்டும் கணினியில் இரண்டு சக்திகள். மிக நெருக்கமான எடுத்து முடிகிறது இது முடிவடைகிறது, யூகிக்க ஒரு சிறிய குறைவாக இருப்பது. பயன்? சரி. இப்போது, மாறியது வேறு வழி உள்ளன நிபந்தனை அறிக்கைகள் அங்கு அனைத்து செய்து நாம் ஒரு மாறி உள்ளது பற்றி கவலையில்லை. எனவே இந்த குறிப்பிட்ட எடுத்துக்காட்டாக, நாம் இருக்கிறோம் பயனர் இருந்து ஒரு முழு எண் கிடைக்கும். பின்னர் நாம் பார்த்து வருகிறோம் அந்த முழு என்ன. மறைமுகமாக, அது எண் ஒரு முதல் நான்கு. என்று நாம் கேட்டு என்ன. எனவே நீங்கள் ஒரு சுவிட்ச் செய்கிறீர்கள் மாறி பெயர். நீங்கள் முடிந்தவரை வழக்குகள் அமைக்க அது இருக்க முடியும் மதிப்பிடுகிறது. எனவே ஒரு வழக்கில், இது குறைந்த தான் சொல்கிறது. பின்னர் நீங்கள் வெளியே உடைக்க சுவிட்ச் நிலை மிகவும் நீங்கள் போகும். அடுத்த வழக்கில் எனவே வழக்கில் இரண்டு மற்றும் வழக்கு three-- அதை வழக்கில் இரண்டு என்றால் அது வெறும் வீழ்ந்துவிட்டது அது என்று பார்த்தால் குறியீடு முதல் வரி இது ஒரு சிறிய இடைவெளி பார்க்கும் வரை மூன்று வழக்கு. எனவே காரணம் நீங்கள் வழக்கு ஒன்று கிடைக்கும் மட்டுமே அச்சு குறைந்த நான் இங்கே இந்த இடைவெளி வேண்டும். நான் என்றால், என்ன, இந்த break-- அலட்சியம் நான் இந்த breakaway-- வீசி என்றால் இது குறைந்த அச்சிட வேண்டும், பின்னர் அது என்று நடுத்தர அச்சிட, பின்னர் அதை உடைக்க வேண்டும். இடைவேளையின் ஒரு முக்கிய பகுதியாகும் எனவே நிலைமைகள் மாற அவர்கள் அங்கு தான் இருக்க வேண்டும். வெளிப்படையாக கூறியது இல்லை என்று எந்த வழக்குகள் இயல்புநிலை மூலம் கையாளப்படுகிறது மற்றும் சுவிட்ச் வழக்கு நடிக்க வேண்டும். பார்வையாளர்கள்: 1, 2, 3, மற்றும் 4 n வேண்டும்? டான்: N இருக்க முடியும் என்று கலாச்சாரம். ஆமாம். சரி? பார்வையாளர்கள்: நீங்கள் போது [செவிக்கு புலப்படாமல்]? டான்: நீங்கள் பின்னர் குறைந்த அச்சிட, மற்றும் இது நடுத்தர அச்சிட, மற்றும் பின்னர் அதை உடைக்க வேண்டும். பார்வையாளர்கள்: ஏன் அதை அச்சிட வேண்டும் நடுத்தர என்றால் [செவிக்கு புலப்படாமல்]? டான்: ஒரு வழக்கில் கீழ் எல்லாம் ஒரு இடைவெளி கீழ் விழும் முன். எனவே வழக்கு ஒரு அச்சு அடியில் வழக்கு ஒன்று இந்த பின்வரும் அச்சிட உள்ளது. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: இந்த எண்ணிக்கை ஒரு குறிப்பிட்ட ஆகிறது மதிப்பு என்று இந்த மாறி சரி, எடுத்து கொள்ள முடியும்? அந்த உணர்வு ஏற்படுத்தும்? ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், வழக்கு இரு அச்சிட வேண்டும் நடுத்தர மற்றும் பின்னர் உடைக்க. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: நான் எந்த நினைக்கிறீர்கள்? என்ன மற்ற தரவு வகைகள் நீங்கள் மாற முடியும்? பார்வையாளர்கள்: நீங்கள் மாற்றலாம் எந்த தரவு வகைகளை. ஆனால் அது மட்டுமே எழுத்துகள் மேல் எதுவும் பொருள் மற்றும் ints போன்ற பொருள், ஏனெனில், நீங்கள் ஒரு சுட்டிக்காட்டி மீது மாறுவதற்கு என்றால் உண்மையில், பயன் இல்லை அது கூட நாம் என்றால், சுமைகளை மீது மாறுவதற்கு நீங்கள் ஏனெனில் மிதவை புள்ளி, அந்த செய்கிறீர்கள் துல்லியமான, நீங்கள் உண்மையில் இல்லை என்று எப்படியும் அதை செய்ய வேண்டும். மிகவும் அழகாக அதிகம், வெறும் ints மற்றும் அந்த மாதிரி எழுத்துகள் மற்றும் பொருள். டான்: நீங்கள் வெளிப்படையான போது ஆமாம், அது தான் உங்களுக்கு தெரியும் மதிப்புகள் என்று, நான் நினைக்கிறேன், இருக்க முடியும் என்று ஒரு சுவிட்ச் உண்மையில் பயனுள்ளதாக இருக்கும். நல்ல? சரி. நோக்கம் ஒரு அறிவித்தார் என்று எல்லை உள்ளது மாறி நீட்டிக்கிறது. நான் குறியீடு இந்த சிறிய துண்டின் எனவே, அதை பிழைகள் முழு இருக்க வேண்டும். காரணம் நான் இந்த எண்ணாக பிரகடனம் செய்தார் நான் லூப் இந்த எல்லைக்குள். பின்னர் நான் அந்த குறிப்பு முயற்சி நான் லூப் நோக்கம் என்று வெளியே. எனவே அடிப்படையில், நீங்கள் நோக்கம் பற்றி யோசிக்க முடியும் நீங்கள் அறிவிக்க வேண்டும் என்று எதுவும் சுருள் ப்ரேஸ் ஒரு கணம் உள்ளே மட்டுமே அந்த சுருள் ப்ரேஸ் உள்ளது. நீங்கள் முயற்சி என்று மாறி பயன்படுத்தினால் அந்த சுருள் ப்ரேஸ் வெளியே, நீங்கள் ஒடுக்கி இருந்து ஒரு பிழை கிடைக்கும். சரி? பார்வையாளர்கள்: எனவே இந்த ஒரு வேலை இல்லை? டான்: ஆமாம், வேலை இல்லை. சரங்களை. சரம் ஒரு எரிப்பதை *. அவர்கள் சரியாக அதே தான். அவர்கள் வெறும் எழுத்துக்கள் குறிப்புகள் உள்ளன. மற்றும் நீங்கள் எந்த சரங்களை முடிக்க வேண்டும் வெறும் இது பின்சாய்வுக்கோடானது பூஜ்யம், உடன் ஒரு கேட்ச் மாநாட்டில். இது NULL முற்றாகவும் என்று அழைக்கப்படுகிறது. மேலும் பூஜ்ய தலைநகர் N, மூலதன யூ, மூலதன எல், தலைநகர் L-- அதே அல்ல NULL முற்றாகவும். இந்த ஒரு சுட்டிக்காட்டி இருக்கிறது. இந்த ஒரு பாத்திரம் உள்ளது. அவர்கள் மிகவும் வேறுபட்டவை. அதை நினைவில் கொள்ளுங்கள். இது அநேகமாக, வினாடி வினா மீது இருக்கும். நான் வினாடி வினா பார்த்ததில்லை. சரி? பார்வையாளர்கள்: எனவே NULL சுட்டிக்காட்டி, சொல்ல, என்ன? டான்: ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] என்ன? டான்:, என்று சொன்னால், malloc என்று நீங்கள் பெற போதுமான நினைவகம் இல்லை என்ன நீ கேட்கிறாய் அளவு, , malloc NULL. ஒரு செயல்பாடு ஆகும் போது அது, அடிப்படையில், தான் ஒரு சுட்டிக்காட்டி திரும்ப வேண்டும், நீங்கள் சுழியாக, ஏனெனில் எதிரான சரிபார்க்க வேண்டும் NULL ஒரு அழகான good-- ஆகிறது அது மாதிரி, குப்பை மதிப்பு தான். அது இதுவரை சுட்டிகள் போய் ஒரு பூஜ்யம் தான். எப்போது நீங்கள் ஒரு செயல்பாடு அழைக்க, என்று ஒரு சுட்டிக்காட்டி கொடுக்கிறது. நீங்கள் இருக்க சரிபார்க்க வேண்டும் போகிறோம் சுட்டிக்காட்டி NULL இல்லை என்று உறுதி சுழியாக மிகவும் பொதுவான காரணம். அது, ஒரு குப்பை திரும்பி வகையான தான். ஏதாவது உரிமை செல்லவில்லை என்றால், அதற்கு பதிலாக வெற்று திருப்பி. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், மற்றும் இந்த தான். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: இது போன்ற உச்சரிக்க. இது NULL முற்றாகவும் தான். இது என் கீழ்த்தட்டு U-எல் எல் என்றால் தான் நீங்கள் அதை உச்சரிப்பதன். பார்வையாளர்கள்: நான் சென்று மீண்டும் சோதனை. நீங்கள் ஒரு மிதவை புள்ளி வைக்க முயற்சி என்றால் ஒரு சுவிட்ச் மதிப்பு, அதை நீங்கள் கத்துவார்கள் வேண்டும் என்று கூறி, அறிக்கை வெளிப்பாடு தேவைப்படுகிறது முழு வகை. டான்: நீ போ. ஆனால் ஆமாம், கேள்வி மீண்டும் என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: எனவே மூலதன N, மூலதன யூ, மூலதன எல், தலைநகர் எல் ஒரு உண்மையான கேட்ச் விஷயம். அது வெற்று சுட்டிக்காட்டி மற்றும் சாப்பிடுவேன் மட்டுமே கருதப்பட வேண்டும். நீங்கள் எப்போதும் முயற்சி மற்றும் எழுத்துப்பிழை NULL தன்மை மற்றும் எந்த பார்க்க இதை விட வேறு வழி. சரி? பார்வையாளர்கள்: எனவே அதிகபட்சம் எரிப்பதை திரும்பிய அல்லது குறிப்புகள் ஏதாவது, அதை அதே செயல்பாடு வடிவமாகவும் [செவிக்கு புலப்படாமல்] என? பார்வையாளர்கள்: நீங்கள் குறிப்பிடும் getchar இருந்து கரி அதிகபட்சம் திரும்பி, அல்லது என்ன அது? பார்வையாளர்கள்: ஆமாம். பார்வையாளர்கள்: ஆமாம், பொது, அதனால் எல்லாம் கால காவலாளி மதிப்புகள் உள்ளன. எனவே GetInt இருந்து எண்ணாக அதிகபட்சம் திரும்பி போன்ற மற்றும் GetChar இருந்து கரி அதிகபட்சம், அது என்றால், சரி, போல இருக்க வேண்டும் இந்த விஷயங்களை, நமக்கு திரும்பும் ஏதோ தவறு நடந்துவிட்டது. சுட்டிகள், நாம் தான் நடக்கும் இந்த காவலாளி மதிப்பு என்று அனைவருக்கும் மீது ஒப்புக்கொள்கிறார். இந்த நீங்கள் திரும்ப விஷயம் விஷயங்களை தவறாக செல்லும் போது. எனவே எரிப்பதை அதிகபட்சம் நாங்கள் பயன்படுத்தினால் என்ன ஆகிறது ஏதாவது பிரதிநிதித்துவம் NULL அல்லது getchar போல. பார்வையாளர்கள்: நீங்கள் getchar சோதனை என்றால், நீங்கள் வெறும் வெற்று வைக்க முடியும்? என்று ஒரு வித்தியாசம்? டான்: நீங்கள் வெறும் வெற்று சரிபார்க்க முடியவில்லை. நீங்கள் ஏனெனில் எரிப்பதை அதிகபட்சம் சரிபார்க்க வேண்டும் என்று செயல்பாடு இருந்து திரும்ப மதிப்பு இருக்கிறது ஒரு பாத்திரம் ஒரு சுட்டிக்காட்டி. சரி? பார்வையாளர்கள்: இந்த கேள்வியை கேட்கிறார் சரம் நீளம். NULL தன்மை ஆகியவை என்று உள்ளதா? டான்: இல அந்த சரம் நீளம் உண்மையில் அது வழியாக செல்கிறது ஏனெனில் நிறுத்த தெரிகிறது எழுத்துக்கள் உங்கள் வரிசை வரை அது ஒரு NULL தன்மை பார்க்கிறது. பின்னர் அது அனைத்து, தான் சரி, நான் செய்து வருகிறேன். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] ஐந்து? டான்: வணக்கம் ஐந்து இருக்கும். இங்கும். எனவே வரிசைகள் தொடர்ச்சியாக நினைவகம் தொகுதிகள். அவர்கள் கூறி உடனடி அணுகல் சுருள் உள்ள, வரிசைக்கு பெயர் பின்னர் நீங்கள் செல்ல வேண்டும், என்ன குறியீட்டு ப்ரேஸ், , அவர்கள் மூலம் பூஜ்ஜியத்தில் இருந்து சட்டிகளை 1 கழித்து வரிசை நீளம். அவர்கள் வகை அறிவித்தார் நீங்கள் சேமித்து என்று விஷயம், வரிசை, வரிசை என்ற பெயரில், பின்னர் என்ன அளவு என்று வரிசை உள்ளது. எனவே இந்த நீளம் ஒரு கரி வரிசை உள்ளது இந்த மதிப்புகள் ஆறு. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: நீங்கள் என்ன வேண்டும் என்றால் வரிசை ஏற்கனவே. எனவே நீங்கள் பதிலாக இந்த குறிப்பிட முடியும் என, என்ற சொல்ல, கரி, என்ன பெயர் உங்கள் வரிசை காலியாக அடைப்புக்குறிக்குள் சுருள் சமம், ஆகிறது எச் கமா மின் கமா எல் கமா எல் கமா புகழ ஓ கமா NULL தன்மை மற்றும் சுருள் பிரேஸ். என்று ஒரு அறிவிப்பு என்று வேலை செய்யும். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: நீங்கள் வேண்டும் அளவு ஏற்கனவே. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம். அனைத்து righty. கட்டளை வரி அளவுருக்களை ஒரு வழி பயனர் உள்ளீடு செய்து முக்கிய வாதங்கள். முக்கிய இரண்டு வாதங்களை எடுத்து. இருப்பது என்று வாதங்கள் எண்ணிக்கை கட்டளை வரி மற்றும் ஒரு கடந்து சரம் வெக்டார் அல்லது ஒரு சரம் வரிசை அனைத்து வாதங்களின். அதனால் நான், சொல்ல, போன்ற ஒரு செயல்பாடு என்று இருந்தால், 1 இடத்தை, 2 விண்வெளி, மூன்று ஒரு புள்ளி, argc 4 இருக்க வேண்டும். மற்றும் argv 0 அவுட் ஒரு புள்ளி இருக்கும். Argv1 1 இருக்க வேண்டும். argv2 2 argv3 இருக்கும் இருக்க வேண்டும் 3, அந்த குறிப்பிட்ட வழக்கு. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: அணியின் கடைசி உறுப்பு வரிசை நீளம் argc, ஏனெனில் பிளஸ் argb ஒன்று, கடந்த உறுப்பு NULL சுட்டிக்காட்டி உள்ளது. இது argc, பிளஸ் 1 ஆகிறது. நான், அது என்று வழக்கில் 0 argv இருக்கும் ஒரு புள்ளி தான். சோதிக்க 1 1 argv2 3 3 2 சோதிக்க உள்ளது. ஒரு பெரிய இது சோதிக்க 4, argc விட சுழியாக இருக்கும். அந்த NULL சுட்டிக்காட்டி இருக்கிறது. ஆமாம். சரம் என்பதால் தான் ஒரு எரிப்பதை நட்சத்திரம் ஒரு சுட்டிக்காட்டி இருக்கிறது. எனவே அதே வகை இருக்க வேண்டும். சரி? பார்வையாளர்கள்: இரண்டு கேள்விகள். எனவே, வேறுபாடு இடையே என்ன ஒரு வகை தவிர இந்த மற்றும் GetString பயனர் இயந்திரம்? இரண்டு, அது உள்ள சேமிக்கப்படுகிறது உங்கள் சமீபத்திய நினைவகத்தில்? எனவே, GetString என்று [செவிக்கு புலப்படாமல்] இருக்கும்? டான்: அது எங்கே சேமிக்கப்படுகிறது? அதை சேமித்து எங்கே என்று எனக்கு தெரியாது. பார்வையாளர்கள்: எனவே, உண்மையில், நீங்கள் எப்படி எந்த தெரியாது நீங்கள் அதை வாதங்கள் தான் அழைக்க செயல்பட ஸ்டாக் சேமிக்கப்படும்? எனவே argc மற்றும் argv வாதங்கள் முக்கிய உள்ளன அவர்கள் ஸ்டாக் இருக்கும், அல்லது உண்மையிலேயே வெறும் நீங்கள் என்ன நினைக்கிறீர்கள் என்று மேலே ஸ்டாக் தொடக்கத்தில். மற்ற பகுதி என்ன கேள்வி? பார்வையாளர்கள்: என்ன [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், அது ஒரு வித்தியாசமான வழியில் தான் பயனர் உள்ளீடு செய்து. இது ஒரு சற்று திறமையான மற்றும் அதை ஸ்கிரிப்டை handier இருக்கிறது, ஏனெனில் நீங்கள் உங்கள் முக்கிய வாதங்கள் கடக்க முடியும் செயல்பாடு மாறாக காத்திருக்க வேண்டிய அவசியமே தவிர செய்த நீங்கள் எந்த பயனர் இல்லை என்றால். பார்வையாளர்கள்: ஆமாம், சரங்களை பெற [செவிக்கு புலப்படாமல்] இருக்க வேண்டும். அது உங்களுக்கு தேவை பொருட்களை சேமிக்க முடியும். டான்: அப்படியா? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், சோதிக்க 0 எப்போதும் அடங்கும் டாட் விழா அழைப்பு குறைக்கிறது. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், வாதங்கள் ஒவ்வொரு உள்ளன NULL தன்மை முடிந்தது ஏனெனில் அவர்கள் சரங்களை உள்ளன. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், சோதிக்க argc ஒரு NULL சுட்டிக்காட்டி இருக்கிறது. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஓ. ஆமாம், மன்னிக்கவும். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: நீங்கள் செய்தால் அப்படி கேள்வி கட்டளை வரி டாட், 2, 1, வெளியே ஒரு புள்ளி குறைக்கிறது என்று கட்டளை வரி எண்ணிக்கை வாதங்கள் இரண்டு அல்லது மூன்று இருக்கும்? பார்வையாளர்கள்: நான் அது இல்லை என்று நான் நினைக்கிறேன் உண்மையில் ஒரு விஷயமே. நான் ஓ, நீங்கள் வெற்றி பெறவில்லை, என்று முனைகின்றன போது எந்த கட்டளை வரி அளவுருக்களை, வெளிப்படையாக, நீங்கள் செயல்பாடு என்று. எனவே நான் உரத்த குரலில் ஒதுக்கப்பட முனைகிகிறேன் கட்டளை வரியிலிருந்து செயல்பாடு அது கூட வாதங்கள் சோதிக்க சேர்க்கப்பட்டுள்ளது. டான்: ஆனால் அது test-- இருந்தது என்றால் yeah-- மேலும் நீங்கள் ஏதாவது சொல்ல வேண்டும் argc, 3 சமம் போல், நீங்கள் பாதுகாப்பாக நின்று இருக்கிறோம். சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: நான் அதற்கு பதிலாக இந்த அழைப்பு நினைக்கிறேன் argc மற்றும் சரம் argv அடைப்புக்குறிக்குள் ஆனால் அதே வகையான வைத்து தான் என்று ஒரு போன்ற பல்வேறு அவர்களுக்கு ஏதாவது ப, அது இன்னும் வேலை செய்யும்? அது இன்னும் வேலை செய்யும், நீங்கள் just-- என்று அதற்கு பதிலாக argc-- பயன்படுத்தி நீங்கள் ஒரு மற்றும் ப பயன்படுத்த விரும்புகிறேன். சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: கேள்வி GetString உள்ளது குவியல் உள்ள நினைவகம் சேமிக்க போகிறேன் GetString எரிப்பதை ஏனெனில் *. அது ஏனெனில் குவியல் உள்ள நினைவகம் சேமிக்கிறது உண்மையான க்குள் இப்போது malloc அழைக்கும் GetString செயல்படுத்த. சரி, நகரும். பாதுகாப்பு. எனவே உண்மையில் பாதுகாப்பான இருக்க வேண்டும், நீங்கள் எந்த தங்கியிருக்க ஒரு நீங்கள் எந்த எந்த ஒரு அனுமதிக்கும் உங்கள் தகவல்களை எந்த ஏன் அனைவருக்கும், தங்கள் சொந்த இயந்திரங்கள் வளர்க்கிறது தங்கள் சொந்த இயக்க முறைமைகள், தங்கள் புதிதாக திட்டங்கள், மற்றும் வெளிப்படையாக வேறு எந்த இயந்திரங்கள் இணைக்க இணைய வழியாக. எனவே கணினிகள் பாதுகாப்பற்று இருக்கிறார்கள். அவர்கள் உண்மையில் உள்ளன. நாம் மற்ற மக்கள் நம்ப வேண்டும். மற்றும் பாதுகாப்பு யோசனை நீங்கள் தான் என்று அளவு குறைக்க முயற்சி நீங்கள் வேண்டும் என்று நம்பிக்கை. மற்றும் வழிமுறையாக ஒரு நீங்கள் செய்ய குறியாக்கவியல் மூலம். குறியாக்கவியல், அடிப்படையில், ஆகிறது நாங்கள் ரகசியமும் இல்லை. சில நேரங்களில் நாம் நமது இரகசியங்களை அனுப்ப வேண்டும் சேர்த்து மூலம், சொல்ல, இணைய அல்லது மற்ற விஷயங்கள். நாம் மக்கள் விரும்பவில்லை இந்த ரகசியங்களை தெரிந்து கொள்ள. எனவே நாம் ஒரு வழி நம் இரகசியங்களை குறியாக்கிறோம் என்று நாம் எந்த ஒரு கண்டுபிடிக்க முடியும் என்று நம்புகிறேன். எனவே நாம் used-- இந்த class-- நிச்சயமாக மூலம் சீசர் மறைக்குறியீடு போன்ற விஷயங்கள் மற்றும் இருவரும் மிக, மிக, இது [செவிக்கு புலப்படாமல்], விஷயங்களை என்க்ரிப்ட் பாதுகாப்பற்ற வழிகளை. அவர்கள் கண்டுபிடிக்க எளிதாக இருக்கும் அவர்கள் என்ன மற்றும் உங்கள் இரகசியங்களை என்ன. உண்மையான உலக மிகவும் பயன்படுத்துகிறது சிக்கலான என்கிரிப்ஷன் திட்டங்கள். நாம் பெற விட அதிகமாக. பிழைத்திருத்தும். GDB சிறந்த உள்ளது. நான் மீண்டும் இந்த வலியுறுத்தி போகிறேன். GDB அனைத்து நேரம் ஒவ்வொரு பயன்படுத்தவும் நேரம் நீங்கள் ஒரு பிரச்சனை. GDB இல் பயனுள்ளதாக இருக்கும் என்று கட்டளைகள் உள்ளன நீங்கள் ஒரு வரி அல்லது கடக்கும், உடைக்க எண், ஒரு செயல்பாடு பெயர், அடிப்படையில் எங்கே உங்கள் குறியீடு நீங்கள் நிறுத்த வேண்டும், கட்டுப்பாட்டை எடுத்து கொள்ள முடியும். அச்சு ஒரு மாறி எடுத்து அவுட் அச்சிடுகிறது என்று மாறி என்று என்ன உங்கள் மரணதண்டனை புள்ளி. அடுத்த உங்கள் மரணதண்டனை நகர்கிறது ஒரு படி சேர்த்து. மற்றும் ஒரு செயல்பாடு உள்ளே படி உங்கள் மரணதண்டனை. மற்ற விஷயங்கள் எப்படி இது, ரன் நீங்கள் உண்மையில் உங்கள் குறியீடு ரன். தொடர்ந்து தேவையான அனைத்து நடவடிக்கைகளை எடுக்கிறது அடுத்த இடைவெளி புள்ளி பெற வேண்டும். மற்றும் பல, பல உள்ளன. அவர்கள் இருக்கும். அவர்கள் பெரிய இருக்கிறோம். சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம், ஒரு பிழை உள்ளது. எனவே ஒரு வழு ஒரு திட்டம் என்று நீங்கள் உங்கள் நிரல் debug உதவுகிறது. இது பிழைகள் காண்கிறார் என்று ஒரு திட்டம் இல்லை நீங்கள், எனினும் அது நன்றாக இருக்கும். மற்றும் தேடல் என்னை கடந்த ஆகும். நாங்கள் பேசினோம் என்று தேடல் வகையான எனவே இந்த வர்க்கம் பற்றி நேரியல் தேடல் இருக்கும், இது நீங்கள் ஒவ்வொரு மூலம் பார்க்க தான் ஆகிறது தேடல் இடத்தை உறுப்பு, ஒரு ஒரு நேரத்தில் உறுப்பு, நீங்கள் என்ன கண்டுபிடிக்க வரை நீங்கள் அல்லது நீங்கள் அடையும் வரை தேடும் உங்கள் தேடல் விண்வெளி இறுதியில் இது நீங்கள் கண்டுபிடிக்க முடியவில்லை என்று சொல்ல சுட்டிக்காட்ட நீங்கள் தேடும் அந்த உறுப்பு. இந்த, சிறந்த மாறா நேரம் எடுக்கிறது இது 1 0 மற்றும் மோசமான நேரியல் மணிக்கு n, 0 இது நேரம். தேவை இரும தேடல், இழிந்த கூறுகள். உங்கள் உறுப்புகள் நடுத்தர சென்று, பார்க்க நீங்கள் தேடும் உறுப்பு உறுப்பு விட பெரிய அல்லது சிறிய ஆகிறது நீங்கள் நடுத்தர இருக்கிறோம் என்று. அது பெரிய விஷயம், நீங்கள் கீழே என்று சொல்கிறீர்கள் உங்கள் தேடல் இடத்தில் உங்கள் ஆகிறது தற்போதைய இடம், நடுத்தர, நீங்கள் செயல்முறை மீண்டும். இது சிறிய விஷயம் என்றால், நீங்கள் என்ன சொல்ல பார்க்கிறீர்கள் ஆமாம், என்ன தான் the-- என்று? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? டான்: ஆமாம். கற்று தான் அந்த மாதிரி எந்த வகையான வர்க்க சோதனை நியாயமான விளையாட்டு. [சிரிப்பு] டான்: நீங்கள் இல்லை என்று உண்மையில் ஒரு பிரச்சனை செட் செய்ய, அது நியாயமான விஷயம் சோதனை விளையாட்டு. பார்வையாளர்கள்: நாம் அதை போய் எப்படி to-- டான்: அது முடிந்து போய்விடும். காண்க 2: உண்மையான குறியீடு [செவிக்கு புலப்படாமல்] study.cs50.net உள்ளது. நீங்கள் நடைமுறையில் பிரச்சனை பாருங்கள் என்ற ஒன்றிணைப்பு வகையான பக்கம் study.cs50.net, குறியீடு உள்ளது ஒன்றிணைப்பு வகையான செயல்படுத்த. எனவே நீங்கள் செயல்படுத்த வேண்டும் அது உங்களை இன்று. ஆனால், நீங்கள் பதிலாக அதை புரிந்து கொள்ள விட அதை மனப்பாடம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? காண்க 2: அன்று ஒன்றிணைப்பு வகையான பக்கம் study.cs50.net, ஒரு நடைமுறை உள்ளது நீங்கள் மூலம் கிளிக் செய்தால், அந்த பிரச்சனை பிரச்சனை, மிகவும் இறுதியில் அங்கு ஒரு ஒன்றிணைப்பு இது தீர்வு, அப்படி செயல்படுத்த. ஆனால் உறுதி செய்ய நீங்கள் அதை புரிந்து கொள்ள மாறாக அதை மனப்பாடம் விட அல்லது அதை நகல். பார்வையாளர்கள்: ஒரு செய்தபின் கச்சிதமாக பரீட்சை பிரச்சனை இருக்க வேண்டும் இங்கே இப்படி ஏதாவது ஒரு பட்டியல். இந்த பட்டியலில் பின் போல இருக்கும் என்ன தேர்வுகளை வகையான ஒரு படி அல்லது செருகும் வரிசையாக்கம் அல்லது என்ன. பட்டியலில் ஒரு முழு மறு செய்கை. நீங்கள் தேவைப்படும் முடிந்துவிடாது எனவே கூட அதை குறியீடு, நீங்கள் அதை புரிந்து கொள்ள வேண்டும் அது நடக்கிறது என்பதை தெரிந்து கொள்ள போதுமான இந்த வரிசை மாற்றும் வேண்டும். டான்: எனக்கு அது தான். [கரவொலி] LUCAS: ஏய் எல்லோருக்கும். என் பெயர் லூகாஸ் ஆகும். நான் மறுநிகழ்வு பற்றி பேச போகிறேன் நாம் கற்று கொண்டேன் என்று வகையான, மற்றும் ஒரு அனைத்து சுட்டிகள் கொஞ்சம். சரி? அனைத்து முதல், மறுநிகழ்வு. அதை சொல்ல என்ன அர்த்தம் ஒரு செயல்பாடு சுழல்நிலை? பார்வையாளர்கள்: தன்னை அழைப்பு விடுத்துள்ளது. LUCAS: சரி, சரி, தன்னை அழைப்பு விடுத்துள்ளது. எனவே எடுத்துக்காட்டாக இந்த படத்தை, போன்ற. அது உள்ளே படம் போல இருக்கிறது ஒரு படம் மற்றும் பல. எனவே எடுத்துக்காட்டாக, நீங்கள் டான் have-- முடியும் என்று இரும தேடல் பற்றி பேசி கொண்டிருந்தார். ஒரு வழி இரும தேடல் சூத்திர நீங்கள் உண்மை ஒரு எண்ணை கண்டுபிடிக்க முயற்சி. எனவே நீங்கள் நடுத்தர சென்று. அங்கு எண்கள் இருந்தால், பின்னர் நீங்கள் பார்க்கலாம் இடது மற்றும் வலது. பின்னர் நீங்கள் பல கண்டுபிடிக்க என்றால் இடது இருக்க போகிறது, அதே தான் மீண்டும் தேடுதல் செய்து விஷயம் ஆனால் பட்டியலில் இடது. கேட்பதற்கே எப்படி என்று தான் அது போன்ற சூத்திர தான். நீங்கள் சுழல்நிலை வேண்டும் அதனால் தான் ஒன்றிணைப்பு வகையான தீர்வு. சரி, இங்கே ஒரு உதாரணம் தான். எனவே நான் தேர்வு செய்ய வேண்டும் என்று சொல்கிறேன் 1, n எண்கள். நான் உணர முடியும் என்று n தொகை பல n பிளஸ் N கழித்து 1 1 வரை ஆகிறது. ஆனால் பின்னர், நான் N கழித்து 1 பார்த்தால் பிளஸ் N கழித்து 2 பிளஸ் 1, அதே தான் மாணவர்கள் எண்கள் போன்ற விஷயம் n, மைனஸ் 1 வரை. எனவே நான் ஒரு சம தொகை தொகை சொல்ல முடியும் N கழித்து 1, n பிளஸ் தொகை சமம். அந்த உணர்வு ஏற்படுத்தும்? நான் வேறு ஏதாவது வேண்டும் என்று, இது அடிப்படை வழக்கு என்று வரை எண்கள் தொகை பூஜ்யம் பூஜ்யம் இருக்க வேண்டும். எனவே விரைவில் நான் பல கிடைக்கும் பூஜ்யம், நான் எண்ணி நிறுத்த. அந்த உணர்வு ஏற்படுத்தும்? எனவே இங்கே எப்படி ஒரு எடுத்துக்காட்டாக இருக்கிறது நான் அந்த செயல்படுத்த முடியும். எனவே நான் சில இந்த செயல்பாடு உள்ளது. என்று ஒரு முழு n எடுக்கிறது. N என்றால் இங்கே நான் முதல் சரிபார்க்க குறைவாக அல்லது பூஜ்யமாக சமம். எனவே, பூஜ்யம் குறைவாக அல்லது சமமாக இருந்தால் நான் நம் அடிப்படை வழக்கில் இது, பூஜ்யம் திருப்பி. இல்லையெனில், நான் திரும்ப முடியும் N பிளஸ் எண்கள் தொகை இருந்து N கழித்து ஒன்று. பயன்? சரி. எனவே இங்கே அது போல் என்ன. நீங்கள் 2 சமமாக தொகை இல்லை 2 பிளஸ் 1 இருந்து தொகை. 1 சில பிளஸ் 1 ஆகிறது 0 இது 0 தொகை,. பயன்? நாம் ஸ்டேக் பாருங்கள் உங்கள் திட்டம், இது போல் என்ன இருக்கிறது. முதல், நாம் முக்கிய செயல்பாடு உள்ளது. பின்னர் முக்கிய செயல்பாடு தொகை 2 எனப்படும். பின்னர் தொகையை 2 ஓ, சொல்ல போகிறார் தொகை 2 2 பிளஸ் ஒரு தொகை சமம். எனவே நான் ஸ்டேக் 1 தொகை சேர்க்க. 1 தொகை தொகை அழைக்க போகிறேன் 0, இது சேர்க்கப்பட்டுள்ளது போகிறது அடுக்கு. மற்றும் இந்த ஒன்றை பின்னர் ஒவ்வொரு மற்றொரு மேல் திரும்ப வேண்டும் மற்ற ஒன்றை நான் வைத்திருக்க முடியும் முன். எனவே எடுத்துக்காட்டாக, இங்கே, 0 தொகை, முதல், 0 திருப்பி போகிறது. பின்னர் 1 தொகை தேர்வு. பின்னர் 1 தொகை போகிறது 2 தொகைக்கு 1 திருப்பி. இறுதியாக, 2 தொகை போகிறது முக்கிய 3 திரும்ப. அந்த உணர்வு ஏற்படுத்தும்? இது எப்படி புரிந்து கொள்ள மிக முக்கியம் ஸ்டாக் வேலை மற்றும் முயற்சி அது அர்த்தமுள்ளதாக என்றால் பார்க்க. சரி, அதனால் வரிசைப்படுத்த. அதனால், முக்கிய வரிசையாக்க முதலில்? நாம் ஏன் கவலைப்பட வேண்டும்? யார்? எனக்கு ஒரு உதாரணம் கொடுக்க? சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: சரி, சரி. எனவே நீங்கள் இன்னும் திறமையாக தேடலாம். என்று ஒரு நல்ல வழி. அதனால், எடுத்துக்காட்டாக, நாம் நிறைய வேண்டும் விஷயங்களை, உண்மையில், எங்கள் உயிர்களை என்று வரிசைப்படுத்தப்பட்ட. உதாரணமாக, அகராதிகள். இது அனைத்து மிகவும் முக்கியம் ஒழுங்கு சில வகையான வார்த்தைகளை நாம் எளிதில் அணுக முடியும். அதனால் அவர் என்ன சொல்கிறார் என்று தான். நீங்கள் இன்னும் திறமையாக தேடலாம். அது ஒரு வேண்டும் என்று எப்படி கடினமாக நினைக்கிறது வார்த்தைகள் உள்ளன இதில் அகராதியில் சீரற்ற வரிசையில். நீங்கள், மிகவும் அதிகமாக, பார்க்க வேண்டும் ஒவ்வொரு ஒற்றை வார்த்தை நீங்கள் கண்டுபிடிக்க வரை நீங்கள் தேடும் என்று சொல். நீங்கள் பேஸ்புக் பயன்படுத்துகிறீர்கள் என்றால், போது நீங்கள் உங்கள் நண்பர்கள் பார்த்து, நீங்கள் இருக்கிறீர்கள் பேஸ்புக் வைத்து பார்க்க போகிறோம் உங்கள் நெருக்கமான நண்பர் ஒருவர் மேல் நீங்கள் மிகவும் என்று பேச கூடாது என்று. நீங்கள் கீழே அனைத்து வழி சென்றால் உங்கள் நண்பர் பட்டியலில், நீங்கள் பார்க்க போகிறோம் ஒருவேளை நீங்கள் கூட இல்லை என்று மக்கள் நீங்கள் நண்பர்களாக இருக்கிறோம் என்று ஞாபகம். மற்றும் பேஸ்புக் வகையான ஏனென்றால் எப்படி அடிப்படையில் உங்கள் நண்பர்கள் நீங்கள் அவர்களை மூட. எனவே தரவு ஏற்பாடு. மேலும் போகிமொன். எனவே நீங்கள் அனைத்து லாட் என்று பார்க்கிறீர்கள் எண்கள் உள்ளன. என்று ஒரு எளிதான தான் தரவு அணுகும் வழி. பார்வையாளர்கள்: போகிமொன் அணுகும். LUCAS: ஆமாம். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: இங்கும். சரி, அதனால் தேர்வு வகையான. தேர்வு வகையான தேர்வு நடக்கிறது ஒரு பட்டியலில் சிறிய வரிசையாக்கம் செய்யப்படாத மதிப்பு ஒவ்வொரு ஒவ்வொரு மறு செய்கை நேரம். இது மாதிரியான நீங்கள் செய்ய அந்த மாதிரி தான் உங்கள் தலையில் நீங்கள் முயற்சிக்கும் போது கையில் ஒரு பட்டியலில் வரிசைப்படுத்த. அடிப்படையில், நீங்கள் செய்ய அனைத்து நீங்கள் பார்க்க ஆகிறது சிறிய எண்ணிக்கை. நீங்கள் வரிசைப்படுத்தப்பட்ட பட்டியலை போடுங்கள். பின்னர் நீங்கள் பார்க்க அடுத்த சிறிய எண். பின்னர் நீங்கள் செய்து வைத்து என்று மற்றும் பல. அதனால் தேர்வு வகையான நீங்கள் அடிப்படையில் ஒவ்வொரு முறையும் சிறிய தேர்வு வரிசையாக்கம் செய்யப்படாத மதிப்பு. வரிசைப்படுத்தப்பட்ட இறுதியில் வைத்து பட்டியலில். என்று செய்து வைத்து. எனவே விரைவில் பார்ப்போம் என்ன இந்த தெரிகிறது. எனவே இங்கே வரிசைப்படுத்தப்பட்ட மற்றும் வரிசையாக்கம் செய்யப்படாத பட்டியல். பட்டியல் வரிசையில் எனவே, ஆரம்பத்தில் காலியாக உள்ளது. பின்னர் நான் தேர்ந்தெடுக்க போகிறேன் 2 இது இங்கே சிறிய எண். எனவே நான் எண் 2 மற்றும் நான் வைத்து பட்டியலில் முன். பின்னர் நான் அடுத்த சிறிய பார்க்க 3 இது உறுப்பு. எனவே நான் இறுதியில் அதை வைத்து வரிசைப்படுத்தப்பட்ட பட்டியலில். பின்னர் நான் என்று செய்து வைத்து. நான் 4 கண்டுபிடித்து இறுதியில் அதை வைத்து. 5 கண்டுபிடித்து இறுதியில் அதை வைத்து. அந்த காலத்தில் எப்படி அனைத்து பார் என்று நான், இறுதியில் அதை வைத்து சொல்கிறேன் அடிப்படையில், இரண்டு மதிப்புகள் மாற்றியமைக்கப்படுகிறது. சரி? பின்னர் கடந்த ஒரு, நீங்கள் இன்னும் ஒரு உறுப்பு வேண்டும். எனவே அது ஏற்கனவே வரிசையாக்கம். சரி, செருகும் வரிசையாக்கம். செருகும் வரிசையாக்கம் நீங்கள் செய்ய போகிறோம் ஒரு வரிசைப்படுத்தப்பட்ட நிலையில் அந்த விஷயம் ஒரு வரிசையாக்கம் செய்யப்படாத பட்டியல். ஒரே விஷயம் ஒவ்வொரு முறையும் அந்த நீங்கள் வரிசைப்படுத்தப்பட்ட ஒரு உறுப்பு சேர்த்து பட்டியலில், நீங்கள் ஒரு உறுப்பு எடுக்க என்று வரிசையாக்கம் செய்யப்படாத பட்டியலில் முன் உள்ளது. பின்னர் நீ என்ன கண்டுபிடிக்க போகிறோம் நிலைப்பாடு வரிசைப்படுத்தப்பட்ட இருக்க வேண்டும் பட்டியலில். இந்த எனவே என்ன என்று பார்ப்போம் இந்த அர்த்தமுள்ளதாக. எனவே ஆரம்பத்தில், எடுத்துக்காட்டாக, நான் முயற்சி செய்கிறேன் எண் மூன்று நுழைக்க பட்டியலில் வரிசைப்படுத்தப்பட்ட பகுதி. எனவே பட்டியலில் எதுவும் இல்லை. அதனால் நான் எண் 3 வைக்க முடியாது. இப்போது, நான் எண்ணிக்கை 5 சேர்க்க வேண்டும் பட்டியலில் வரிசைப்படுத்தப்பட்ட பகுதி. எனவே நான் எண் 5 மணிக்கு பார்க்கிறேன். நான் 3 க்கும் அதிகமான என்று கவனிக்கிறேன். எனவே நான் அதை 3 பின்னர் இருக்க வேண்டும் என்று எனக்கு தெரியும். எனவே நான் 3 மற்றும் 5 வைத்தேன். நான் பல 2 நுழைக்க வேண்டும். நான் எண் 2 உண்மையில் என்று கவனிக்கிறேன் பின்னர் 3 மற்றும் 5 ஆகிய நீடிக்கும். எனவே நான் உண்மையில் அது அனைத்து வைக்க வேண்டும் பட்டியலில் ஆரம்பத்தில் வழி. எனவே, நான் வகையான, அனைத்து மாற்ற வேண்டும் வரிசைப்படுத்தப்பட்ட பட்டியலை, எனவே நான் கூறுகள் எண் 2 அறை செய்ய. நான் எண் 6 பார்க்க. நான் 5 பின்னர் இருக்க வேண்டும் என்று பார்க்கிறேன். அதனால் நான் அங்கு வைத்தேன். இறுதியாக, நான் எண் 4 பார். நான் அதை கவனிக்கிறேன் 3 மற்றும் 5 இடையே இருக்கும். பின்னர் நான் அங்கு அதை வைத்து மாற்றம் மற்ற உறுப்புகள். பயன்? குமிழி வரிசையாக்கம். எனவே குமிழி வரிசையாக்கம் நீங்கள் என்ன அடிப்படையில் ஆகிறது போகிறீர்கள் நாங்கள் குமிழி அழைக்க என்ன செய்ய நீங்கள் பட்டியலில் செல்ல வகையான ஏனெனில், நான் காட்ட, அது உண்மையில் நல்லது நீங்கள் இந்த மாதிரி நீங்கள் ஒப்பிட்டு போகிறோம் அடுத்தடுத்த எண்கள். நீங்கள் மாற்ற போகிறோம் தங்கள் பதவிகளை அவர்கள் இல்லை என்றால் சரியான வரிசையில். எனவே அடிப்படையில், என்ன நடக்கிறது இங்கே நடக்கும், உதாரணமாக, நீங்கள் 8 மற்றும் 6 வேண்டும். நீங்கள் அந்த வரிசையில் தெரியுமா உண்மையில் சரியான 6 மற்றும் 5, இருக்கும்? எனவே நீங்கள் உத்தரவுகளை மாற்ற போகிறோம். நான் இங்கே 8 மற்றும் 4 பார்க்கிறேன். நான் அதையே செய்கிறேன். நான் மீண்டும் இடமாற்றம். இறுதியாக, 2 மற்றும் 8. நான் அவர்களை இடமாற்றம். இது குமிழி வரிசையாக்கம், ஏனெனில் என்று பிறகு இவை மீண்டும் ஒவ்வொரு, உண்மையில், பட்டியலில் பெரிய எண் அனைத்து பெறுகிறது பட்டியலை இறுதி செய்ய வழி. அந்த உணர்வு ஏற்படுத்தும்? அது மாற்ற வைத்திருக்கிறது ஏனெனில் மற்றும் வலது அது நகரும். சரி, இந்த இரண்டாவது மறு செய்கை இருக்கிறது. அதே விஷயம் இருக்க வேண்டும். நான் ஒரு இடமாற்று செய்ய வேண்டும் மற்றும் பின்னர் கடந்த ஒரு. எந்த பரிமாற்றங்கள் உள்ளன என்று நான் மற்றும் பட்டியல் பிரிக்கப்பட்டுள்ளது. குமிழி வரிசையாக்கம், நாம் அடிப்படையில் வைத்திருக்க பட்டியல் மூலம் சென்று மாற்றியமைக்கப்படுகிறது விஷயங்களை நான் செய்ய வில்லை என்று கவனிக்க வரை என்று மறு செய்கை செய்து எந்த பரிமாற்றங்கள், இது பட்டியலில் ஏற்கனவே வரிசையாக்கம் என்று அர்த்தம். பயன்? ஒரு கொஞ்சம் பேசலாம் நேரம் இயங்கும் பற்றி. எனவே நீங்கள் பிக் நினைவில் ஓ, ஒமேகா, மற்றும் தீட்டா? சரி? சரி, பிக் ஓ முதலில், என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: ஆமாம், அது ஒரு மோசமான என்று அதை தான் அதாவது இயக்க, எவ்வளவு திட்டம் எதிர்பார்க்க ரன் எடுக்க. போன்ற அடிப்படையில் of-- இந்த வழக்கில் n இல். உறுப்புகள் எண்ணிக்கை மிக மோசமான நிலையில் உள்ள பட்டியலில். போலவே, மோசமாக வழக்கில். குமிழி வரிசையாக்கம் எனவே, எடுத்துக்காட்டாக, நாங்கள் n சதுர பிக் ஓ வேண்டும். நாம் ஏன் இல்லை? ஏன் பப்பில் பிக் ஓ N சதுர வகை? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: ஆமாம், அதனால் மோசமான இருக்க வேண்டும் என்று நான் n மீண்டும் செய்ய வேண்டும். எனவே மீண்டும் ஒவ்வொரு போகிறது இறுதியில் பெரிய உறுப்பு கொண்டு பட்டியலில். எனவே மிக மோசமான நிலையில் நான் இல்லை என்று அந்த விஷயம் n முறை செய்ய. அந்த காலத்தில் ஒவ்வொரு, நான் வேண்டும் நான் ஒப்பிட்டு வேண்டும், ஏனெனில், n பரிமாற்றங்கள் செய்ய ஒவ்வொரு இரண்டு கூறுகள். அது சரி n அதனால் தான் அதை n முறை n தான் காரணம். பின்னர், தேர்வு வகையான கூட, n சதுர ஏனெனில், ஒவ்வொரு மறு செய்கை, நான் செய்ய வேண்டும் ஒவ்வொரு உறுப்பு பார்க்க பட்டியலில். பின்னர், சிறிய கண்டுபிடிக்க நான் வேண்டும் என்று அர்த்தம் n உறுப்புகள் மூலம் பாருங்கள். நான் காரணம் என்று n முறை செய்ய வேண்டும் நான் அனைத்து n உறுப்புகள் தேர்ந்தெடுக்க வேண்டும். ஒரு செருகும் வகையான N சதுர ஆகிறது மோசமான சூழ்நிலையில் ஏனெனில் , ஒரு, நான் நுழைக்க வேண்டும் n எண்கள், சரியான? எனவே நான் ஏற்கனவே நான் போகிறேன் என்று n மீண்டும் வேண்டும். ஆனால் நான் அந்த எண்கள் ஒவ்வொரு என்றால், எண்கள் அனைத்து பார்க்க வரிசைப்படுத்தப்பட்ட பட்டியலை அது அனைத்து வழி வைத்தது முன், என்று n ஸ்கொயர் இருக்கும் அதை n முறை தான் n மீண்டும் இருக்க வேண்டும், ஏனெனில். பயன்? என்ன ஒமேகா பற்றி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: இது சிறந்த வழக்கு சூழ்நிலையில் தான். எனவே நிறைய தடவை உள்ள, போல் சிறந்த வழக்கு சூழ்நிலையில் உள்ளது, வரிசையாக்க பட்டியலில் ஏற்கனவே வரிசையாக்கம் போது. எனவே, நீங்கள் உண்மையில் இல்லை எதையும் செய்ய. குமிழி வரிசையாக்கம் சிறந்த உள்ளது n, P.Eng. நீங்கள் ஏன் என்று தெரியுமா? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: ஆமாம், நீங்கள் கண்காணிக்க வேண்டும் தரவு ரேஷன் எந்த பரிமாற்றங்கள் இருந்தது அல்லது நீங்கள் ஏதாவது இல்லை என்றால், அமைக்க போன்ற ஒரு மறு செய்கை என்றால், அங்கு இருந்தது என்றால் உண்மை பட்டியலில் ஏற்கனவே, அடிப்படையில், வரிசைப்படுத்தப்பட்ட என்ன நடக்க போகிறது என்று எனக்கு போகிறேன் ஒவ்வொரு இரண்டு இடமாற்றம் செய்து அருகில் உறுப்புகள். நான் பார்க்க போகிறேன் எந்த பரிமாற்றங்கள் உள்ளன. நான் இப்போதே திரும்ப. எனவே அதை நான் செய்ய வேண்டும் என்று அர்த்தம் பட்டியலில் ஒரே நேரத்தில் செல்ல. நான் பார்க்க, ஏனெனில் அது n தான் n உறுப்புகள் இல். ஏன் தேர்வு வகையான N சதுர? ஆமாம், பட்டியலில், வரிசைப்படுத்தப்பட்ட கூட, ஐந்து தேர்வு வகையான ஒவ்வொரு மறு செய்கை, நான் குறைந்தபட்ச உறுப்பு தேர்ந்தெடுக்க வேண்டும். அதனால் நான் பார்க்க அவுட் இல்லை என்று அர்த்தம் வரிசையாக்கம் செய்யப்படாத அனைத்து கூறுகள் பட்டியலிட குறைந்தபட்ச கண்டறிய ஒவ்வொரு மறு செய்கை. அந்த உணர்வு ஏற்படுத்தும்? மற்றும் செருகும் வாளை ஏனெனில் n நான் நுழைக்க முயற்சி செய்கிறேன் என்று வழக்கு எண்கள் மற்றும் எண்கள் அனைத்தையும், நான் அவர்கள் நுழைக்க முயற்சி, நான் அவர்கள் அந்த பார்க்கிறேன் சரியான நிலையில் உள்ளன. நான் மற்ற சரிபார்க்க செல்ல வேண்டும் வரிசையாக்கம் செய்யப்படாத பட்டியலில் எண்கள். அதை n இருக்கும் அதனால் தான். பயன்? மற்றும் தீட்டா என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: என்ன, மன்னிக்கவும்? மீண்டும் அதை சொல்ல. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: நிச்சயமாக. அதனால் நீங்கள் மட்டும் தேர்வை பார்க்க முடியும் பிணைப்பை சேமிக்கப்படும் வகையான thetas வேண்டும். நீங்கள் மட்டும் தீட்டா வேண்டும், ஏனெனில் அது தான் பெரிய ஓ மற்றும் ஒமேகா இருவரும் அதே இருந்தால். சரி. இறுதியாக, பதிவு n உள்ள ஒன்றிணைப்பு வகையான. டான் கூறி, பின்னர், ஒன்றாக்க வகையான வகையான அதே போல் ஆகிறது என்று நீங்கள் இரும தேடல் செய்கிறீர்கள். எனவே நீங்கள் பெறலாம். நீங்கள் பாதியாக போகிறோம். பின்னர் நீங்கள் அவர்களை வெட்டி சிறிய பகுதிகளாக உள்ள. பின்னர் நீங்கள் அவர்களை ஒன்றிணைக்க. நீங்கள் சரியான, அந்த நினைவில்? சரி, அவர் சொன்னது போல. சரி, சுட்டிகள். எனவே ஒரு சுட்டிக்காட்டி என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: ஒரு முகவரி. சரி. நான் டேவிட் ஒரு கொத்து காட்டுகிறது என்று தெரிகிறேன் Binky வீடியோக்கள் மற்றும் பொருட்களை சுட்டிக்காட்டி ஒருவருக்கொருவர். ஆனால் நான் சுட்டிகள் என்று விரும்புகிறேன் வெறுமனே ஒரு முகவரி. எனவே அது போகிறது என்று ஒரு மாறி தான் ஒரு முகவரியை சேமித்து. அதனால் தான் இந்த சிறப்பு மாறி நான்கு பைட்ஸ் நீளமாக இருக்கும். எதையும் என்று சுட்டிக்காட்டி நினைவில் வைத்து கொள்ளுங்கள், நமது 32 பிட் நீண்ட எப்போதும் நான்கு பைட்டுகள் இயந்திரம் வழக்கு மிகவும் பயன்பாட்டிற்கான. அது தான் இடம் உள்ளது அது உள்ளே ஒரு மாறி. சரி, அடிப்படையில், இந்த நினைவகம் உள்ளது. எனவே நினைவகத்தை ஒவ்வொரு தொகுதி உண்மையில் ஒரு முகவரி எந்த லேபிள், slotty நினைவகம். அதனால் நான் இருக்க முடியும் என்று அர்த்தம் சுட்டும் ஒரு சுட்டிக்காட்டி இந்த முகவரிகள் எந்த. எனவே நாம் சுட்டிகள் பயன்படுத்த வேண்டும் ஏன் காரணம் நான் இடம் நினைவில் கொள்ள வேண்டும் என்றால் ஒரு குறிப்பிட்ட மாறி ஒரு நினைவகம் உள்ளது. உங்களுக்கு நினைவிருக்கிறதா அந்த ஒரு என்று நான் ஒரு செயல்பாடு வழக்குகள் நான் உண்மையில் வேண்டும் என்றால் நீங்கள் வேண்டும் மெய்யெண்களின் ஐந்து இடமாற்று, நான் உண்மையில் ஒரு சுட்டிக்காட்டி அனுப்ப வேண்டும். மாறி. உங்களுக்கு என்று நினைவிருக்கிறதா? வேறுபாடு இடையில் பெயர் என்ன? மதிப்பு மற்றும் அழைப்பு மூலம் அழைப்பு குறிப்பு, சரியான? ஆமாம், சரி. எனவே மதிப்பு அழைக்க. நீங்கள் ஒரு மாறி அனுப்ப போது நீங்கள் ஒரு மதிப்பு அனுப்பி வருகிறோம் செயல்படுகின்றன. எனவே நீங்கள் உண்மையில் அனுப்பும் மாறி ஒரு நகல். உங்கள் திட்டத்தை குறைவாக அக்கறை முடியவில்லை உண்மையில் அதே மாறி என்றால் பற்றி ஒரு பிரதியை செய்கிறது. மற்றும் குறிப்பு என்று பொருள் மூலம் அழைப்பு நான் உண்மையில் ஒரு நகலை அனுப்பி என்று மாறி சுட்டிக்காட்டி. எனவே அதை நான் அனுப்பி வைக்கிறேன் என்று அர்த்தம் என்று மாறி இடம். எனவே நான் இடம் இல்லை உணர மாறி, நான் அழைக்க போது செயல்பாடு சுட்டிகள், நான் உண்மையில் முடியலை முக்கிய என்று தரவு மாற்ற. பயன்? என்றாலும், சுட்டிக்காட்டி ஒரு பிரதியை, ஆகிறது சுட்டிக்காட்டி இன்னும் உண்மையான முகவரி நான் மாற்ற வேண்டும் என்று மாறி. பயன்? எனவே சுட்டிகள் உருவாக்கும். எப்போதும் சுட்டிக்காட்டி நினைவில் வைத்து கொள்ளுங்கள், அதை சுட்டி காட்டும் என்று வகை ஒரு நட்சத்திரம் பின்னர். பின்னர் நீங்கள் பெயர் வைத்து. எனவே நீங்கள் எப்போது என்று நினைவில் என்ன நட்சத்திரம், அதை ஒரு சுட்டிக்காட்டி தான் என்ன என்று மாறி நீங்கள் அந்த தட்டச்சு. எனவே இங்கே நட்சத்திரம், எடுத்துக்காட்டாக, அது தான் ஒரு சுட்டிக்காட்டி மற்றும் ஒரு முழு. பின்னர் எரிப்பதை நட்சத்திர சுட்டிக்காட்டி கரி நட்சத்திரம் மற்றும் முன்னும் பின்னுமாக. சரி? பார்வையாளர்கள்: நாம் என்ன வேண்டும் என்றால் ஒரு n க்கு சுட்டிக்காட்டி x நடிக்க. நான் x ஒரு சுட்டிக்காட்டி உருவாக்குகிறது தெரியும். இது ஒரு முழு எண் x அறிவிக்க? LUCAS: சரி, நீங்கள் n நட்சத்திர x சொல்லும் போது, நீங்கள் ஒரு ஒரு சுட்டிக்காட்டி உருவாக்கும் மாறி x. நீங்கள் x என்ற சுட்டிக்காட்டி உருவாக்கும். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: நான் n நட்சத்திர x என்று சொல்லும் போது, நான் ஏய், நினைவகம், நான் போகிறேன், என்று இந்த மூன்று பெட்டிகள் ஒன்று கிடைக்கும். நான் அந்த சொல்ல போகிறேன் இது, x போகிறது நடக்கிறது ஒரு சுட்டிக்காட்டி இருக்கும். சுட்டிகள் பற்றி சுவாரஸ்யமான ஏதாவது நாம் அவர்கள் இருக்கும் என்று ஆகிறது ஒரு 32 பிட் கணினியில் 4 பைட்டுகள். அதற்கு காரணம், ஏனெனில் ஆகிறது 4 பைட்டுகள் 32 பிட்கள் உள்ளன. 64 பிட்கள் உண்மையில் அந்த இயந்திரங்கள் சுட்டிகள் முகவரிகள் 64 பிட்கள் நீண்ட என்று. எனவே இது தான் அர்த்தம் என்று அளவு இயந்திரம் முகவரிகள் வித்தியாசமாக இருக்கிறது. எனவே Referencing மற்றும் Dereferencing. இரண்டு ஆபரேட்டர்கள் உள்ளன என்று நீங்கள் நினைவில் வைத்து கொள்ள வேண்டும். முதல் உம்மைக்குறி ஆகிறது. இரண்டாவது நட்சத்திரம். அந்த நட்சத்திரம் இந்த குழப்பி பெற ஏனெனில், அந்த நினைவில் இந்த வழக்கில், நீங்கள் n நட்சத்திர வேண்டும். அது ஒரு முழு விஷயம் தான். எந்த N விண்வெளி நட்சத்திரம் இருக்கிறது. எனவே அது வகை என்று பொருள். நீங்கள் போது நினைவில் வைத்து கொள்ளுங்கள், மாறி நட்சத்திர, நீங்கள் இருக்கிறீர்கள் வகை பற்றி. நீங்கள் பின்னர் தான் நட்சத்திர இருக்கும் போது மாறி பெயரை, அது என்று அர்த்தம் நீங்கள் சுட்டிக்காட்டி, dereferencing இது நீங்கள் தேடும் என்று பொருள் சுட்டிக்காட்டி, முகவரி கண்டுபிடித்து அது தான் சுட்டி அந்த முகவரிக்கு சென்று, எப்போது பார்த்து நீ அங்கு இல்லை. எனவே, நான் உங்களுக்கு என்று என் மாணவர்கள் சொல்கிறேன் நட்சத்திர, நீங்கள் தான் என்று யோசிக்க வேண்டும் உள்ளடக்கத்தை சுருக்கம். நீங்கள் ஒரு சுட்டிக்காட்டி வேண்டும் என்றால் நீங்கள் நட்சத்திர சுட்டிக்காட்டி, அதை தான் சுட்டிக்காட்டி உள்ளடக்கம். எனவே நீங்கள் அதை சுட்டி காட்டும் அதை போய் மற்றும் நிலையான உள்ளடக்கத்தை பாருங்கள். மற்றும் ampersand அதே ஆகிறது முகவரி போன்ற விஷயம். நான் போன்ற சோதிக்க ஒரு மாறி இருக்கிறது என்றால், நாம் ஒரு முழு எண்ணாக ஒரு சமம் நான் என்று சொல்கிறது 3-- நான் அந்த முகவரியை கண்டுபிடிக்க வேண்டும் என்றால் மாறி ஒரு நினைவகம், நான் என்ன செய்ய முடியும் ஒரு ampersand. எனவே இது ஒரு முகவரி. பயன்? எனவே இங்கே ஒரு எடுத்துக்காட்டு. இந்த எண்ணாக பி மற்றும் முழு எண்ணாக கேட்ச் காணவில்லை. ஒரு 3 வழிமுறையாக சமம், எனவே முழு எண்ணாக என்று நான் நினைவு போக போகிறேன். நான் ஒரு ஸ்லாட் கண்டறிய போகிறேன் இங்கே எண் 3 வைக்க. பின்னர் எண்ணாக ப 4 சமம். நான் அதையே செய்ய போகிறேன். நினைவகம் மற்றும் ஒரு எண்ணை வைத்து பெட்டிகள் ஒன்றில் 4. மற்றும் எண்ணாக 5 சமம். மற்றொரு பெட்டியில் கண்டறிய ஒரு எண் 5 வைத்து. அதனால் வெளியே இந்த வரி என்ன ஆகும்? n நட்சத்திர வருடத்திற்கு உம்மைக்குறி ஒரு சமம். எனவே, முதலில், N நட்சத்திர PA. அது என்ன செய்யும்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. LUCAS: சரி, இவ்வளவு n நட்சத்திர வருடத்திற்கு, முதல், வருடத்திற்கு ஒரு சுட்டிக்காட்டி அறிவிக்கிறது. பின்னர் அது மதிப்பு ஒதுக்கப்படுகிறது என்று சுட்டிக்காட்டி ஒரு முகவரி இருக்க வேண்டும். எனவே, ஒரு ampersand. பின்னர், நான் நட்சத்திர PB செய்தால், ஒரு நட்சத்திர PB என்ன? ஓ, மன்னிக்கவும். இது காணவில்லை. n நட்சத்திர PB. நான் நட்சத்திர பிசி அர்த்தம். நான் மிகவும் வருந்துகிறேன். அதே விஷயம். ஆனால் இப்போது நான் ஒரு சுட்டிக்காட்டி உருவாக்கும் AR நல்ல இருக்கிறேன் கேட்ச் பின்னர் ஒரு சுட்டிக்காட்டி பி மற்றும் வேண்டும். சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? LUCAS: ஆம். எனவே நீங்கள் நினைவகம் சென்று நீங்கள் சென்றால் பொதுஜன நியமிப்பி என்று பெட்டி, நீங்கள் உண்மையில் போகிறோம் ஒரு ஒரு முகவரியை பார்க்கவும். சரி? சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? LUCAS: ஆமாம், சுட்டிக்காட்டி ஒரு முகவரியை ஆகிறது. அதை எப்போதும் மறக்க மாட்டேன். இது மிக முக்கியமான போல் சுட்டிகள் பற்றி பகுதியாகும். சேமித்து முகவரி இருக்கிறது சில வேறுபாடுகளுக்கு. வேறு ஏதாவது? வேறு ஏதேனும் கேள்விகள்? சரி. எனவே சுட்டிகள் மற்றும் வரிசைகள். நினைவில் என்று நான் வரிசை 3 எண்ணாக போது, அடிப்படையில், நான் என்ன செய்கிறேன் நான் வகையான இருக்கிறேன் ஆகிறது , ஒரு சுட்டிக்காட்டி அறிவித்தார். எனவே வரிசை வகையான ஒரு ஒரு சுட்டிக்காட்டி இருக்கிறது நினைவகத்தில் குறிப்பிட்ட இடத்தில் இது நான் முழு மூன்று இடங்கள் ஒதுக்கப்பட்டுள்ளது. அந்த உணர்வு ஏற்படுத்தும்? நான் எண்ணாக வரிசை 3 செய்யும் போது, அதற்கு நான் என்ன இருக்கிறேன் செய்து, அடிப்படையில், மூன்று உருவாக்கி உள்ளது நினைவு இடங்கள். அதனால் நான் நினைவகம் மூன்று இடங்கள் கண்டுபிடிக்க. அதனால் நான், பின்னர், ஒரு நட்சத்திர வரிசை, அதை செய்தால் அடிப்படையில் வரிசை உள்ளடக்கம் என்பது, இது நான் போய், நான் சுட்டிக்காட்டி அழிக்க பொருள் அதை சுட்டி காட்டும் என்று அந்த இடத்திற்கு, நான் முதலிடத்தை வைத்தேன். பின்னர், நான் நட்சத்திர வரிசை பிளஸ் 1 செய்தால், அந்த வரிசையில் செய்து அதே விஷயம் நான் சென்று, அதாவது, ஒரு குறிகளுக்குள் அதை சுட்டி காட்டும் அந்த இடத்தில். பின்னர் பிளஸ் 1 முடியாதவை எனக்கு ஒரு நிலையை மாற்ற. அதனால் நான், உண்மையில், இந்த நிலையை செல்கிறேன் இரண்டாம் வைக்க. பின்னர், இறுதியாக, நான் போது செய்கிறேன் வரிசை பிளஸ் 2, நான் எங்கே போகிறேன் வரிசை தான் சுட்டி காட்டியது. பின்னர் நான் நினைவகம் தொகுதிகள் நகர்த்த. பின்னர் நான் இங்கே எண் மூன்று வைத்தேன். சரி? பார்வையாளர்கள்: எனவே நட்சத்திர வரிசை ஆகும் முதல் கட்டத்தில் கூறியுள்ளார். நீங்கள் தான், 1 சேர்க்க முடியும் நாங்கள் மட்டுமே உண்மையில் இருக்கிறோம் முதல் முகவரி ஆகிவிடுவேன். LUCAS: ஆமாம். நாம் ஏன், எடுத்துக்காட்டாக, வரிசை சொல்கிறோம் 0, வரிசை 1, மற்றும் வரிசை 2? நான், நீங்கள் ஏன் 0 செய்வது என்று 1, 2, 3 பதிலாக 1, 2, 3? காரணங்களில் ஒன்று, ஒரு கணினி ஆகும் மென்பொருள் தொடங்க விரும்பினால் 0 இருந்து எண்ணிக்கை. நீங்கள் வரிசை 0 செய்யும் போது, ஏனெனில் இரண்டு, ஆகிறது அது அணியின் செய்து அதே விஷயம் அதாவது பிளஸ் 0, நான் செல்கிறேன் அந்த நிலையில், நான் என்ன செய்ய எந்த நினைவக தொகுதிகள் தவிர்க்கவும். எனவே நான் எந்த நினைவக தொகுதிகள் நகர்த்த. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? LUCAS: எனவே அவர் என்ன கேட்டு செய்து வித்தியாசம் இந்த அல்லது malloc செய்து. வேறுபாடுகள் என்று ஒன்று முழு எண்ணாக வரிசை 3 ஒரு உருவாக்கும் ஆகிறது ஸ்டாக் வரிசை. நான் malloc செய்ய போது, அது குவியல் உருவாக்குகிறது. அந்த உணர்வு ஏற்படுத்தும்? எனவே எப்படி malloc உண்மையில் வேலை? எனவே நாம் ஏன் malloc பயன்படுத்த வேண்டும்? புள்ளிவிவரங்கள் உங்கள் தொகுப்பி வகையான அனைத்து நீங்கள் அறிவித்தார் மாறிகள். அவர் அனைத்து இடைவெளி உருவாக்குகிறது ஸ்டாக் அவர்கள். எனவே உங்கள் மாறிகள் அனைத்து போகிறீர்கள் எங்கோ ஸ்டேக் இருக்கும். எனவே இங்கே சூழ்நிலை மாறிகள் இருக்கிறது. அந்த மாறிகள் எனவே அடிப்படையில், விண்வெளி நினைவகத்தில் ஒதுக்கப்பட்டுள்ளது முறை தொகுக்கலாம். அது உங்கள் கணினியில் உள்ளது என்று அர்த்தம் அந்த மாறிகளின் தெரியும் முன்பு. என்ன மதிப்பு தெரிய வேண்டும் நீங்கள் அவர்களை வைக்க போகிறோம். ஆனால் அது எப்படி தெரிய வேண்டும் நீங்கள் வேண்டும் எவ்வளவு நினைவகம். ஆனால் இப்போது உதாரணமாக, என்று சொல்கிறேன் நீங்கள் ஒரு வரிசை உருவாக்குவது அல்லது ஒரு எடுத்து நீங்கள் எடுத்து என்று சரம் பயனர் இருந்து. உங்களுக்கு தெரியாது எப்படி நீண்ட சரம் உதாரணமாக, இருக்க போகிறது. எனவே நீங்கள் எத்தனை தெரியாது நினைவகம் தொகுதிகள் நீங்கள் சரியான ஒதுக்க? எனவே இது உண்மையில் பயன் இல்லை நீங்கள் 100 எழுத்துக்களை வைத்து சொல்ல. பின்னர் பயனர் 150 எழுதுகிறார் என்ன? நீங்கள் திருகப்படுமாறு போகிறோம். எனவே அடிப்படையில், நீங்கள் எப்படி உறுதியாக இருக்க முடியாது நீங்கள் ஒதுக்க வேண்டும் எவ்வளவு நினைவகம் போது நீங்கள் திட்டத்தை தொகுக்கலாம். நீங்கள் தான் இயக்க நேரம் என்று எனக்கு தெரியும். நீங்கள் குவியல் இல்லை அதனால் தான். எனவே குவியல் நினைவகம் வேண்டும் நீங்கள் போது ஒதுக்கீடு என்று நிரல் ஓடிக்கொண்டிருக்கும் காலம். எனவே அடிப்படையில், நீங்கள் malloc செய்ய போது, என்ன நீங்கள் நினைவகத்தை ஒதுக்கீடு செய்து நீங்கள், அதாவது, இயக்க, அந்த நேரத்தில் வலது தீர்மானிக்கும் என்று நீங்கள் அந்த நினைவு வேண்டும். நீங்கள் அதை ஒதுக்கீடு போது என்று தான். அந்த உணர்வு ஏற்படுத்தும்? எனவே ஸ்டாக் மாறிகள் உள்ளது நினைவில் என்று தொகுக்கும் நேரத்தில் உருவாக்கப்பட்டது. பின்னர் குவியல் மாறிகள் உள்ளது நீ போய் என உருவாக்கப்பட்ட என்று உதாரணமாக, ஐந்து malloc உடன். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? LUCAS: எனவே GetString ஆகிறது malloc அழைக்க போகிறார். எனக்கு malloc பற்றி பேசலாம், மற்றும் நான் GetString விளக்க வேண்டும். எனவே malloc அதே விஷயம் நினைவக ஒதுக்கீடு என. எனவே அதை ஒதுக்க நடக்கிறது குவியல் நினைவகத்தை. அது ஒரு சுட்டிக்காட்டி திரும்ப நடக்கிறது எங்கே என்று நினைவு ஒதுக்கீடு செய்யப்பட்டது. எனவே நீங்கள் செய்ய போது இங்கே எடுத்துக்காட்டாக க்கான n நட்சத்திர சுட்டிக்காட்டி. பின்னர் சுட்டிக்காட்டி, malloc சமம் அங்குல முறை 10 அளவு. நான் ஒரு சுட்டிக்காட்டி உருவாக்கும். பின்னர் நான் என்று சுட்டிக்காட்டி ஒதுக்க சுட்டிக்காட்டி என்று malloc மதிப்பு எனக்கு கொடுத்து வருகிறது. எனவே நான் கேட்கிறேன், malloc நீங்கள் ஒதுக்க முடியும் 10 முழு இடைவெளி. என்று சொல்லி என்ன. மற்றும் malloc மீண்டும் என்னை கொடுக்கிறது அந்த இடத்தில் சுட்டிக்காட்டி. பயன்? சரி. நான் மற்றும் GetString, அடிப்படையில், ஒரு செய்து நீங்கள் ஒதுக்க முடியும் அதனால் malloc அழைக்க இயக்க போது நினைவகம். எப்போதும் பூஜ்ய சரிபார்க்க நினைவில் malloc பூஜ்ய போகிறது ஏனெனில் அதை நினைவகத்தை ஒதுக்க முடியாது என்றால். நீங்கள் ஒரு கேலிக்குரிய கேட்க என்று சொல்கிறேன் நினைவக அளவு. உங்கள் கணினியில் இருக்க போவதில்லை அந்த ஒதுக்க முடியும். எனவே malloc தான் போகிறது பூஜ்ய திரும்ப. எனவே எப்போதும் என்றால் சரிபார்க்க நினைவில் நீங்கள் malloc இருந்து வந்தது என்று சுட்டிக்காட்டி இருக்கிறது பூஜ்ய அல்லது அது இல்லை என்றால், நீங்கள் போகலாம், ஏனெனில் ஒரு சுட்டிக்காட்டி dereferencing வேண்டும் மற்றும் பக்க தவறுகளை ஏற்படுத்தும். இறுதியாக, மறக்க வேண்டாம் உங்கள் இலவச நினைவகம். Malloc குவியல் உள்ள நினைவகம் உருவாக்கி உள்ளது. நீங்கள் நினைவக விடுவிக்க வேண்டும் திட்டம் முடிவடையும் முன். சரி, எனக்கு தான். மன்னிக்கவும், ராப். நன்றி. [கரவொலி] LUCAS: அணி கடந்த கேள்விகள் ராப் வரும் முன்? இல்லை? சரி? பார்வையாளர்கள்: நான் பார்க்க வில்லை இந்த ஒரு ஆன்லைன். நீங்கள் இன்னும் அதை பதிவேற்றிய? LUCAS: நான் டேவ் நினைக்கிறேன் விரைவில் அதை ஏற்றும். டேவ்: இது இடப்பட்டது. LUCAS: இது ஆன்லைன் இருக்க வேண்டும். பார்வையாளர்கள்: அது தான். LUCAS: இது வரை தான்? சரி. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? LUCAS: ஆமாம், நீங்கள் விடுவிக்க வேண்டும் அனைத்து குவியல் வைத்து என்று நினைவு. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? LUCAS: ஆம். நீங்கள் ஒரு கலாச்சாரம் malloc வேண்டும் என்று எந்த நேரத்தில், நீங்கள் இலவச கலாச்சாரத்தை வேண்டும் நீங்கள் பிறகு அந்த மாறி பயன்படுத்தி நிறுத்த. எனவே malloc மற்றும் இலவச உள்ளன எப்போதும் ஒன்றாக. தங்களது நண்பர்கள். ஆமாம். ராப்? ராப்: நான் விரைவில் செல்ல வேண்டும். மேலும் வீடியோ போட வேண்டும். நான் மைக் வேண்டும். சரி, வாரம் ஐந்து பொருள். நாங்கள் வேண்டும் முதல் விஷயம் ஸ்டாக் இல்லை. எனவே ஒரே ஒரு ஸ்டாக் இல்லை என்று நினைவில் செயலில் செயல்பாடு அழைப்பு ஒன்றுக்கு சட்டகம். நாம் ஒரு இரண்டாவது என்று பார்க்க வேண்டும். மேலும் உண்மையில் என்ன நினைவில் ஒவ்வொரு ஸ்டேக் சட்டத்தில் உள்ள போகிறீர்கள் எங்கள் செயல்பாடுகளை உள்ளூர் மாறிகள், கடந்து என்று வாதங்கள் எங்கள் ஒரு ஜோடி சேர்ந்து செயல்பாடுகளை, மற்ற விஷயங்களை நீங்கள் உண்மையில் செய்ய பற்றி கவலைப்பட வேண்டும். எனவே இங்கே ஒரு எடுத்துக்காட்டாக திட்டம் தான், அறிவிப்பு, முக்கிய திரும்பி printfing foo 4 மதிப்பு. foo தான் திரும்ப போகிறது பட்டியில் 4 கமா 6 மதிப்பு. மற்றும் பட்டையில் சில உள்ளூர் அமைக்க போகிறது 4 முறை 6 சமமாக மாறி n. பின்னர் n மீண்டும். எனவே முழுவதும் ஸ்டாக் பார்போம் இந்த திட்டத்தின் உண்மையான மறு செய்கை. எனவே எங்கள் ஸ்டாக் கீழே இருக்கிறது. ஸ்டேக் வளரும் என்பதை நினைவில் கொள்ளுங்கள். எங்கள் ஸ்டேக் கீழே எனவே, நாம் முக்கிய ஒரு ஸ்டேக் சட்டத்தில் இல்லை. நிரல் தொடங்குகிறது, முக்கிய எப்போதும் இருக்க போகிறது எங்கள் ஸ்டேக் கீழே. மற்றும் உள்ளே என்ன இருக்கிறது எங்கள் முக்கிய சட்ட குவியலாக? எனவே எந்த உள்ளூர் உள்ளன கூட முக்கிய மாறிகள் நான் முன்பு கூறியது போல நாம் argc மற்றும் வர்மா இடத்தை எடுத்து முக்கிய ஸ்டாக் சட்ட உள்ளே. இப்போது போகிறது எனவே பிரதான செயல்பாடு foo அழைக்க. என்று, foo போகிறது என்று அர்த்தம் அதன் சொந்த ஸ்டாக் சட்டத்தில் கிடைக்கும். எனவே இப்போது நாம் உள்ளே இருக்கும் செயல்பாடு foo. என்ன செல்ல வேண்டும் foo ஸ்டாக் சட்ட? சரி, foo, ஒரு வாதம் n உள்ளது. என்பதால், n 4 சமமாக என்ன முக்கிய foo வாதம் கடக்கிறது. எனவே இப்போது foo பட்டியில் அழைக்க போகிறேன். என்ன பொருட்டல்ல உள்ளே போகிறது அதன் 'ஸ்டாக் சட்ட? இது ஆறு சமமாக 4 y சமமாக x உள்ளது. என்று நாம் போகிறோம் என்று அனைத்து இல்லை பட்டியில், ஏனெனில் ஸ்டேக் சட்டத்தில் ஒரு உள்ளூர் மாறி n உள்ளது. மற்றும் n நாம் 24 சமமாக அமைக்க போகிறோம். எனவே இப்போது பட்டியில் n திரும்ப போகிறது. எனவே பட்டியில் 24 திரும்பிய ஸ்டாக் சட்ட foo. மற்றும் பார், இப்போது அந்த, திரும்பி, ஏனெனில் நாம் ஸ்டேக் சட்ட உறுத்தும் என்று அர்த்தம் ஸ்டேக் பொருட்டல்ல. பட்டியில் இருந்தது என்று அனைத்து நினைவக பயன்படுத்தி ஸ்டேக் ஆஃப் இப்போது. இப்போது, foo, போகும் முக்கிய 24 திரும்ப. அதனால் இப்போது, foo, நினைவகம் திரும்பிய என்று, foo அதன் 'பயன்படுத்தி ஸ்டாக் சட்ட சென்று. இப்போது, முக்கிய printf அழைக்க போகிறார். எனவே printf மற்றொரு செயல்பாடு ஆகும். நாம் printf அழைக்க போது, அது இருக்க போகிறது வைட்டமின் மற்றொரு அடுக்கு சட்ட செயல்பாடு அழைப்பு. என்ன நாம் printf கடந்து? என்று செல்ல என்ன நடக்கிறது அதன் ஸ்டாக் சட்ட. மிகவும் குறைந்தது, நாங்கள் கடந்து என்று சதவீதம் நான் n பின்சாய்வுக்கோடானது மற்றும் வாதம் 24. அதை ஸ்டேக் சட்டத்தில் தான் அதை இன்னும் வேண்டும் வைட்டமின் சில பயன்படுத்தி கொள்ள நடந்தால் உள்ளூர் மாறிகள். நாம் தெரியாது. ஆனால் அனைத்து printf என்று தான் செல்கிறது சட்ட குவியலாக. அது, தான் printf இயக்க நடக்கிறது. பின்னர் printf முடிந்துவிட்டது. இது வரும். இறுதியாக, முக்கிய செய்யப்படுகிறது. முக்கிய வரும். பின்னர் எங்கள் திட்டம் செய்யப்படுகிறது. சரி? பார்வையாளர்கள்: நீங்கள் பார்த்து இருக்கிறீர்களா [செவிக்கு புலப்படாமல்] வாதங்கள் [செவிக்கு புலப்படாமல்] அளவுருக்கள்? ராப்: எனவே ஒரு நுட்பமான வேறுபாடு உள்ளது வாதங்கள் மற்றும் அளவுருக்கள் இடையே. உண்மையில், பொதுவான பேச, மக்கள் முனைகின்றன அனைத்து நேரம் அவர்களை கலந்து. ஆனால் அளவுருக்கள் சாதாரண விஷயங்களை பெயர். எனவே argc மற்றும் argv உள்ளன முக்கிய அளவுருக்கள். வாதங்கள் என்ன நீங்கள் உண்மையில் உள்ளன அந்த வரையறைகளை கடந்து. எனவே அங்கு நான் 4 foo, 4 அழைக்க போது நான் கடந்து செல்லும் வாதம் ஆகும். மற்றும் உள்ளே அளவுரு N, foo, மதிப்பு 4 எடுக்கிறது 4 முதல் வாதம் இருந்தது. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: N தடை செய்ய ஒரு உள்ளூர் மாறி இருக்கிறது. N, இன்னும் foo உள்ளூர் ஆனால் இது foo ஒரு அளவுரு தான். இது ஒரு உள்ளூர் மாறி இல்லை. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: foo தான் அழைக்கிறார்கள் பட்டை மற்றும் என்ன பட்டியில் வருமானத்தை திரும்பி. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஆமாம், தான் பல பார்க்க பிரேம்கள் குவியலாக. சரி? பார்வையாளர்கள்: ஏன் foo என இருந்தது வைட்டமின் முன்? ராப்: ஏன் foo printf முன் அழைக்கப்பட்டார்? நான் இல்லை என்று எனவே, அதற்கு பதிலாக, ஏதாவது செய்ய எண்ணாக போன்ற x 4 foo சமம் பின்னர் x அச்சிடப்பட்டது. ஆனால், அதற்கு பதிலாக, நான் செயல்பாடு இணைந்து வைட்டமின் வாதம் அழைப்பு. ஆனால் நாம் உண்மையில் முடியாது நாங்கள் வரை printf அழைப்பு இயக்கவும் 4 foo என்ன கண்டுபிடிக்க. எனவே நாம் இந்த மதிப்பீடு செய்ய போகிறோம். அந்த முடிந்துவிட்டது முறை மட்டுமே போகிறீர்கள் திரும்பி வந்து இந்த மதிப்பீடு செய்ய. சரி? பார்வையாளர்கள்: இரு பொருட்டல்ல என்பதால் [செவிக்கு புலப்படாமல்] மதிப்பு, நாம் ஏன் [செவிக்கு புலப்படாமல்] இல்லை? ராப்: அவர்கள் முற்றிலும் எண்ணாக இருக்க வேண்டும். அந்த வழியாக பிடித்து பல சீட்டுகள். எனவே இது int பட்டியில் மற்றும் எண்ணாக இருக்க வேண்டும் அந்த இரு என்பதால், foo முழு திரும்பும். அவர்கள் போவதில்லை என்றால் வெற்றிடத்தை மட்டுமே ஆகிறது உண்மையான மதிப்புகள் திரும்ப. சரி? பார்வையாளர்கள்: நீங்கள் ஒரு வரி இருந்தது என்றால் மேலே திரும்ப, [செவிக்கு புலப்படாமல்]? ராப்: மீண்டும் மேலே ஒரு வரி? பார்வையாளர்கள்: ஆமாம். போன்ற printf மற்றும் [செவிக்கு புலப்படாமல்] செய்தால், அதை விட இரு மடங்கு அச்சிட வேண்டும்? ராப்: foo உள்ளே எனவே? நாங்கள் இங்கே ஒரு printf இருந்தது? பார்வையாளர்கள்: ஆமாம். ராப்: எனவே நாம் ஒரு printf உரிமை இங்கே, அதை ஒரு முறை அச்சிட வேண்டும். நாம் ஒரு முறை வலது foo அழைப்பு என்பதால் இங்கே, பிறகு நாம் printf அடிக்க வேண்டும். நாம் பட்டியில் அழைக்கிறேன். பின்னர், foo திரும்ப வேண்டும். அவ்வளவு தான். நாம் மட்டுமே இதுவரை சந்திக்கிறோம் ஒரு முறை printf. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்] நாம் முதலில் என்பதால், printf, foo அழைப்பு printf நினைத்தீர்கள் மற்றும் நாம் கடந்து வாதங்கள். ராப்: கோட்பாடு எனவே, அல்ல வைட்டமின் foo அழைப்பு? எனவே எந்த. கேட்ச் போகிறது என்று வெறும் பொருட்டு நாம் முன், இந்த விஷயங்கள் இயக்க , வாதங்கள் எல்லாம் ஒரு செயல்பாடு அழைப்பு செயல்பாடு வேண்டும் முற்றிலும் மதிப்பீடு. எனவே இந்த முற்றிலும் மதிப்பீடு? ஆமாம், அது ஒரு சரம் தான். அது ஒரு மதிப்பு இருக்கிறது. நாம் முற்றிலும் வேண்டும் இந்த மதிப்பீடு. இந்த இப்போது அனைத்து, செய்யப்படுகிறது முறை அதன் வாதங்கள் மதிப்பிடப்படுகிறது. இப்போது நாம் செய்ய முடியும் printf அழைக்க. சரி? பார்வையாளர்கள்: ஒரு கேள்வி. நீங்கள் ஒரு வெற்றிடத்தை செயல்பாடு உள்ளது என்றால், வேண்டும் நீங்கள் திரும்பி அரைக்காற்புள்ளி வேண்டும்? ராப்: நீங்கள் திரும்ப அரைக்காற்புள்ளி செய்ய நீங்கள் ஒரு வெற்றிடத்தை செயல்பாடு உள்ளது என்றால். சரி. எனவே இப்போது சில குவியல் பொருள். எனவே குவியல் நாம் சமாளிக்க போகிறோம் எப்படி இருக்கும் மாறும் நினைவக மேலாண்மை. இந்த நேரடியாக முரண்படுகின்றது நாங்கள் தானியங்கி அழைப்பு என்று ஸ்டாக் நினைவக மேலாண்மை. ஸ்டாக் எனவே, நீங்கள் உண்மையில் இல்லை எப்படி உள்ளூர் மாறிகள் சமாளிக்க தள்ளி அனைத்து ஆஃப் தெரித்து இந்த ஸ்டேக் பிரேம்கள் மற்றும் அனைத்து என்று பொருள். நீங்கள் அதை பற்றி கவலைப்பட வேண்டியது இல்லை. அது தானாக. எனவே குவியல் கையேடு உள்ளது. மற்றும் [செவிக்கு புலப்படாமல்] இந்த செயல்பாடுகளை இருந்து வருகிறது malloc மற்றும் இலவச. எனவே இங்கே மற்றொரு திட்டம் தான். நாங்கள் செய்கிறோம் அனைத்து mallocing ஆகிறது ஒரு முழு. நாம் நட்சத்திர x அதை சேமித்து. நிச்சயமாக, நாம் பார்க்க வேண்டும் x பூஜ்ய என்றால் பார்க்க. நாம் என்ன தான் அமைக்க போகிறோம் x 50 சுட்டி காட்டியது. , சுட்டி காட்டியது என்ன x அச்சிட அச்சு x, பின்னர் இலவசமாக x. எனவே எப்படி இந்த உண்மையில் பார்க்க போகிறோம் நாங்கள் எங்கள் ஸ்டேக் மற்றும் குவியல் பார்த்தால்? எனவே நாம் மீண்டும் ஆரம்பிப்போம். முன் எங்கள் ஸ்டேக் கீழே. உமக்கு நேரடியாக குவியல் என்பதை நினைவில் கொள்ளுங்கள் ஸ்டாக் எதிர்க்கிறது? எனவே நாம் செய்ய போகிறோம் அங்கு எங்கள் குவியல் மேல். எங்கள் ஸ்டேக் கீழே எனவே, நாம் வேண்டும் முக்கிய எங்கள் ஸ்டேக் சட்டத்தில். இது argc, argv இடைவெளி உள்ளது, மற்றும் நாம் இப்போது ஒரு உள்ளூர் மாறி x, இது ஒரு முழு எண்ணாக நட்சத்திர ஆகிறது. எனவே நாம் மீண்டும் கூறு போகிறோம் இந்த திட்டத்தின் மூலம். நாம் முதல் விஷயம் malloc ஒரு அழைப்பு. எனவே நாம் malloc ஒரு அழைப்பு. Malloc ஒரு செயல்பாடு ஆகும். இது ஒரு ஸ்டேக் சட்டத்தில் பெற நடக்கிறது. நாம் என்ன malloc கடந்து? என்று உள்ளே போக நடக்கிறது ஸ்டாக் சட்டகமானது. நாம் 4 எந்த n, அளவு கடந்து செல்லும். அதனால் malloc வேண்டும் நிறைவேற்றப்பட்டது. Malloc என்ன செய்ய? இது எங்களுக்கு குவியல் சில இடத்தில் ஈர்த்து. எனவே நாம் குவியல் போக போகிறோம். நாம் அடைய போகிறோம் குவியல் இருந்து 4 பைட்டுகள். எனவே தான் என்று கொடுக்க அனுமதிக்க ஒரு தன்னிச்சையான முகவரி. 0x123 வெறும் ஒரு பாசாங்கு குவியல் என்று முகவரி. அதனால் உள்ளே உண்மையில் என்ன இருக்கிறது முகவரி Ox123 நினைவகம் பகுதியில்? குப்பை கூளங்கள். எனவே நாம் எதையும் சேமித்து. இதுவரை நாம் அது தெரியும் எதுவும் இருக்க முடியாது. நீங்கள் அது பூஜ்யம் தான் கருதுவது கூடாது. அது பூஜ்யம் பெரும்பாலும் இருக்கிறது. எனவே இப்போது malloc,. நாம் போது malloc, என்ன செய்ய வேண்டும்? நாம் அது கொடுக்கிறது என்ன அமைக்கிறோம். நாம் சமமாக x அமைக்க என்ன அது திரும்பி உள்ளது. அதனால் என்ன, அது திரும்பி? என்று இருப்பதால், இது 0x123 திரும்பிய நினைவகம் தொகுதி முகவரி என்று வெறும் குவியல் ஒதுக்கீடு. எனவே 0x123 x இப்போது அமைக்க போகிறது திரும்ப 0x123 சமமாக இது, pictorially, நாம் அடிக்கடி ஒரு உண்மையான கொண்ட x என வரைய தொகுதி சுட்டிக்காட்டி அம்பு. ஆனால் x வெறும் அந்த முகவரியை சேமிக்கும். எனவே இப்போது நாம் x பூஜ்ய என்றால் சரிபார்க்க வேண்டும். அது, பூஜ்ய இல்லை. நாம், malloc வெற்றி என்று பாசாங்கு. எனவே இப்போது நட்சத்திர x 50 சமம். எனவே நட்சத்திர அர்த்தம் நினைவிருக்கிறது அந்த முகவரிக்கு சென்று. எனவே 0x123 நாம் போகிறோம் அந்த முகவரிக்கு சென்று. அதனால் அங்கு நமக்கு காட்டும். நாங்கள் அந்த முகவரியில் என்ன செய்கிறாய்? நாம் 50 சேமிக்கும். எனவே இந்த வரி பிறகு, என்ன ஆகிறது விஷயங்கள் போன்ற பார்க்க போகிறோம். எனவே இப்போது அது இனி தான் அங்கு குப்பை. இப்போது நாம் 50 என்று உள்ளது என்று அறிய குறிப்பிட்ட முகவரி, ஏனெனில் நாம் அதை அமைக்க. சரி? எனவே இப்போது நாம் f அச்சிட போகிறோம். எனவே, முதலில் நாம் நட்சத்திர x அச்சிட போகிறோம். எனவே நட்சத்திர x என்ன? மீண்டும், நட்சத்திர x சென்று பொருள் x சுட்டி காட்டியது என்று தான். எனவே x என்று 0x123 கோ சேமிக்கும். நாம் 50 கிடைக்கும். அதனால் f அச்சிட. மற்றும் அது 50 அச்சிட நடக்கிறது அர்த்தம். பின்னர் கொடுக்கிறது என்று. மற்றும் நாம் இரண்டாவது printf வேண்டும். நாம் இப்போது சதவீதம் ப இருக்கிறோம். நீங்கள் அதை பார்க்கவில்லை என்றால், அந்த நீங்கள் ஒரு சுட்டிக்காட்டி அச்சிட எப்படி. எனவே, சதவீதம் நான் இல்லை ஊ, ஏற்கனவே அந்த அனைத்து. எனவே சதவீதம் ப, ஒரு சுட்டிக்காட்டி அச்சிட. எனவே x ஒரு சுட்டிக்காட்டி இருக்கிறது. எனவே நாம் x தன்னை அச்சிட போகிறோம் என்றால், நாங்கள் உள்ளே உண்மையில் என்ன அச்சிடும் எனவே முதல் 0x123 இது x, அச்சு f 50 அச்சிட போகிறது. இரண்டாவது அச்சு f போகிறது ஆமாம் 0x123 அச்சிட? பார்வையாளர்கள்: நீங்கள் சதவீதம் பயன்படுத்த செய்கிறது x ஒரு சுட்டிக்காட்டி அச்சிட? ராப்: எனவே நீங்கள் சதவீதம் பயன்படுத்த x ஒரு சுட்டிக்காட்டி அச்சிட? எனவே, நீங்கள் ஆனால் சதவிகிதம் எக்ஸ் தான் பொதுவாக, போன்ற சில வேண்டும் என்றால் முழு மற்றும் நீங்கள் அச்சிட வேண்டும் அது ஒரு அறுபதின்ம என. நீங்கள் அதை செய்ய எப்படி என்று மட்டும் தான். அதேசமயம், சதவிகிதம் ஈ என்று தசம அச்சிட. நாங்கள் சதவீதம் கிடைக்கும் என்று தான் ஈ. நான் முழு எண் ஆகும். சதவீதம் ப குறிப்பாக ஆகிறது சுட்டிகள். எனவே x ஒரு சுட்டிக்காட்டி இருக்கிறது. நாம் சதவீத ப பயன்படுத்த வேண்டும். ஆனால் சதவிகிதம் எக்ஸ் வேலை முடியும். சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஆமாம். இந்த குறைந்தபட்சம் அப்படி அழைக்கிறது நான் இங்கே அதை சேர்க்க. ஆனால் இந்த இரண்டு வாதங்கள் இருப்பதாய் இந்த ஸ்டேக் சட்டத்தில் உள்ளே எந்த உள்ளூர் மாறிகள் சேர்த்து printf பயன்படுத்தி வேண்டும் நடக்கிறது. பின்னர் அடுத்த அழைப்பு இப்போது printf செய்ய வைட்டமின் உள்ளே ஸ்டேக் சட்டத்தில் இருக்கிறது சதவீதம் ப பின்சாய்வுக்கோடானது n என்ன x மதிப்பு 0x123 இது உள்ளது. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: இது ஏதாவது அச்சிட வேண்டும் இந்த மாதிரி தெரிகிறது. பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. ராப்: எனவே அது முகவரி வடிவத்தில் அது அச்சிடுகிறது. அது ஒரு முகவரியை தெரிகிறது. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஏன் என்ன? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஏன் இந்த சுட்டிக்காட்டி 4 பைட்டுகள்? எனவே, ஒரு மொத்தமாக உள்ளன இந்த முன் 0 இன். அது உண்மையில் 0x0000000123 தான். ஒரு 64 பிட் கணினியில், இருக்கும் மேலும் டோ ஒரு மொத்தமாக. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. ராப்: எனவே முதல் printf print-- போகிறது பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]. ராப்: ஆமாம், அது அச்சிட நடக்கிறது என்ன x சுட்டி காட்டியது. நட்சத்திர இது என்ன சொல்கிறது விஷயம் சுட்டி. அதை கைப்பற்றுகின்றனர். எனவே அது சுட்டி காட்டியது என்ன? 50. அதை கைப்பற்றுகின்றனர். நாம் அச்சிட போகிறோம் என்ன. அடுத்த ஒரு, அதேசமயம், நாங்கள் இருக்கிறோம் தான் தன்னை x அச்சிடுகிறது. F இன் உள்ளே என்ன? 0x123. சரி. பின்னர், இறுதியாக, நாம் இலவசமாக வேண்டும். நாம் என்ன விடுவிக்க கடந்து? நாம் x கடந்து செல்லும். நான் உண்மையில் காட்டப்படும் அந்த நேரத்தில் அதை ஸ்டேக் சட்டத்தில். எனவே நாம் மதிப்பு கடந்து 0x123 விடுவிக்க. எனவே இப்போது தெரியும், இலவச, அனைத்து உரிமை, நான் குவியல் வரை செல்ல வேண்டும் மற்றும் அந்த நினைவக இலவச. அது இனி பயன்படுத்தி என்ன முகவரி 0x123 உள்ளது. எனவே இலவச வெளியிட போகிறது குவியல் இருந்து என்று. இப்போது எங்கள் குவியல் மீண்டும் காலியாக உள்ளது. நாம் எந்த நினைவக கசிவை வேண்டும். இப்போது இலவச திரும்புவார்கள். என்று x இன்னும் 0x123 கவனிக்க. ஆனால் இப்போது செல்லுபடியாகும் நினைவகம் உள்ளது. நாம் இனி dereference x வேண்டும். சரி? பார்வையாளர்கள்: 0 பணிநீக்கம் திரும்பி இருக்கிறது? ராப்: 0 பணிநீக்கம் returen? ஆமாம். நாங்கள் அங்கு ஏனெனில் வைக்க நாங்கள் காற்று மீண்டும் ஒன்று உள்ளது. எனவே, ஆமாம், உதவுகிறது, தான் பதிலுக்கு 0 சேர்க்கிறது. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: எனவே இலவச x பின்னர், என்ன நடக்கிறது நாம் சுட்டிக்காட்டி dereference முயற்சி? இது ஒன்றும் தவறு என்று சாத்தியமாகும். நாம் இன்னும் 50 கிடைக்கும் என்று அது சாத்தியம். அந்த நினைவக என்று, சாத்தியம், தான் இப்போது வேறு ஏதாவது பயன்படுத்தப்படும். எனவே அது வரையறுக்கப்படாத நடத்தை தான். மற்றும் வரையறுக்கப்படாத எதுவும் பொருள் நடக்க முடியாது. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: இல்லை, அதனால் நீங்கள் ஒதுக்க வேறு ஏதாவது செய்ய x. எனவே இங்கே நாம் x சமம் கூறினார் malloc ஒன்று else-- malloc அளவு நிகழ்வை பின்னர் அந்த மூல தொகுதி நினைவகம் விடுதலை. நாம் உத்தியோகபூர்வமாக அது இழந்துள்ளனர். ஒரு நினைவக கசிவு உள்ளது. நாம் அனைத்து குறிப்புகள் இழந்துவிட்டேன் நினைவகம் என்று தொகுதி. எனவே நாம் எப்போதும் அதை விடுவிக்க முடியாது வழி இல்லை. சரி, அதனால் என்ன நடக்க 0 பொருள் திரும்ப. சரி, அடுக்கு வழிதல். இங்கே கருத்து என்ன? எனவே, நினைவில், குவியல் கீழே போகிறது. ஸ்டேக் வரை நடக்கிறது. எனவே இந்த விரிவுரை இருந்து எடுத்துக்காட்டாக, இருந்தது நான் அங்கு முக்கிய வெறும் போகிறது, நினைக்கிறேன் என்று இந்த செயல்பாடு foo அழைக்க மேல் மீண்டும் மீண்டும் தன்னை அழைக்க மீண்டும். எனவே பிரேம்கள் போகிறோம் குவியலாக அதே வேலை. எனவே நாம் முக்கிய தொடங்க போகிறோம் கீழே ஸ்டேக் சட்டத்தில் உள்ளது. பின்னர், முக்கிய foo அழைக்க போகிறது ஒரு ஸ்டாக் சட்டகமானது போகிறது. பின்னர் foo foo அழைக்க போகிறது மீண்டும், இது போகிறது மற்றொரு அடுக்கு சட்ட. பின்னர் மீண்டும், மீண்டும், மீண்டும், மீண்டும் வரை, இறுதியில், நாம் ரன் குவியல். இந்த நாம் எப்படி இருக்கிறது ஒரு அடுக்கு வழிதல். இந்த கட்டத்தில், நீங்கள் நொடி தவறு. அல்லது நீங்கள் உண்மையில் நொடி முன் தவறு என்று இந்த புள்ளி ஆனால் ஆமாம். பார்வையாளர்கள்: கோர் டம்ப் ஆகும் நொடி தவறு அதே? ராப்: எனவே நீங்கள் அடுக்கு பார்க்க வேண்டும் தவறு கோர் டம்ப். நீங்கள் ஒரு கோர் டம்ப் போது கிடைக்கும் நீங்கள் நொடி தவறு. மற்றும் அனைத்து ஒரு திணிப்பு தான் உங்கள் தற்போதைய நினைவக உள்ளடக்கங்களை எனவே நீங்கள் முயற்சி மற்றும் கண்டறிய முடியும் என்று ஏன் faulted. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: எனவே ஒரு அடுக்கு தவறு வழிமுறையாக ஒரு அடுக்கு வழிதல் இருக்கிறது. எனவே அவசியம் இல்லை. ஒரு அடுக்கு தவறு நீங்கள் என்று அர்த்தம் ஒரு வழியில் தொட்டு நினைவகம் நீங்கள் இருக்க கூடாது. எனவே அந்த நடக்கிறது ஒரு வழி, போது நாம் தொட்டு தொடங்க, வழிதல் குவியலாக நாங்கள் இருக்க கூடாது என்று ஒரு வழியில் நினைவகம். சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஒரு முடிவிலா சுழற்சியில் உள்ளே எனவே. போலவே, இந்த ஒரு சுழல்நிலை முடிவில்லா போல் இருக்கிறது லூப் மற்றும் நாம் மற்றொரு பெற ஸ்டாக் ஒவ்வொரு முறை மாட்ட. ஆனால் ஒரு வழக்கமான உள்ளே முடிவிலா one-- போது நன்றாக, கூட அச்சிட கூடாது f-- ஏதாவது செய்ய. என்ன. நாம் பெற போகிறது மற்றொரு அடுக்கு சட்ட. நாம் வளைவு வைக்க போகிறோம் இந்த ஒற்றை ஆணை மீது. ஸ்டாக் வளரும். ஒவ்வொரு சுழல்நிலை என்று உண்மை அழைப்பு எங்களுக்கு ஒரு ஸ்டேக் சட்டத்தில் கொடுத்து வருகிறது. நாம் ஒரு ஸ்டேக் வழிதல் அதனால் தான். சரி? பார்வையாளர்கள்: எனவே நீங்கள் பெற கூறினார் சுழற்சி மற்றும் பிறகு [செவிக்கு புலப்படாமல்]? ராப்: என்றால் அதே வட்டத்திற்கு உள்ளே எனவே ஒரு printf இருந்தது, நீங்கள் இன்னும் என்று நொடி தவறு. நான் விஷயங்களை குழப்ப விரும்பவில்லை. இது லூப் என்று. நீங்கள் ஒரு ஸ்டாக் பெற விரும்புகிறேன் வைட்டமின் ஐந்து மாட்ட. பின்னர் printf திரும்ப வேண்டும். பிறகு நீங்கள் மீண்டும் வளைய விட்டோம். நீங்கள் ஒரு ஸ்டாக் பெற விரும்புகிறேன் வைட்டமின் ஐந்து மாட்ட. அதை திரும்ப வேண்டும். ஒற்றை அடுக்கு சட்ட. எனவே நீங்கள் இந்த முடிவிலா பெறுவது ஸ்டாக் பிரேம்கள் ஈட்டுகின்றனர். பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஆமாம். எனவே இந்த அடுக்கு வழிதல் நடக்கிறது இவற்றில் எதுவுமே காரணம் foo அழைப்புகள் திரும்பும். நாம் திரும்ப என்றால், நாம் அப்படி ஸ்டாக் பிரேம்கள் இழந்து தொடங்க. பின்னர், நாம் ஸ்டேக் வழிதல் முடியாது. நீங்கள் ஒரு தளத்தை வழக்கு வேண்டும் அதனால் தான் உங்கள் தனிப்பட்ட செயல்பாடுகளை. சரி? பார்வையாளர்கள்: சாத்தியமான அளவு மற்றும் குவியல் அதே ஸ்டாக் அனைத்து திட்டங்கள்? ராப்: சுமார். ஸ்டாக் சாத்தியமான அளவு மற்றும் அனைத்து நிரல்களின் அதே குவியல்? சுமார். சில அமைத்தல் உள்ளது அங்கு ஸ்டாக் துவங்குகிறது மற்றும் அங்கு குவியல் தொடங்குகிறது. நீங்கள் ஒரு முழு நிறைய இல்லை நேர்ந்தால், உலக மாறிகள் விஷயங்கள், நீங்கள் போகலாம் சில இடத்தில் இருந்து எடுத்து உங்கள் குவியல் உள்ளது. ஒரு 64 பிட் கணினியில், நீங்கள் கிட்டத்தட்ட முடிவிலா நினைவகம் உள்ளது. இவ்வளவு இருக்கிறது. 32 பிட்கள் மற்றும் 64 பிட்கள், இடையே ஒரு குறிப்பிடத்தக்க வேறுபாடு உள்ளது. நீங்கள் இன்னும் ஒரு முழு நிறைய பெற போகிறோம் ஒரு 64 பிட், ஸ்டாக் மற்றும் குவியல் விண்வெளி அமைப்பு மேலும் அங்கு தான் அவர்கள் பயன்படுத்த முடியும் என்று முகவரிகள். ஆனால் ஒரு தனிப்பட்ட அமைப்பு, அது சாப்பிடுவேன் ஸ்டாக் கிட்டத்தட்ட அதே அளவு இருக்க மற்றும் குவியல் இடைவெளி. சரி. எனவே கடந்த விஷயம் தொகுப்பு ஆகும். அதனால் நீங்கள் இந்த செயல்முறை தெரிந்து கொள்ள வேண்டும். நான்கு பெரிய படிகள் உள்ளன. முதல் ஒரு வேண்டும் நினைவில் எளிதாக இருக்கும். முன் செயலாக்கம். அது முன் முன்னொட்டு உள்ளது. எனவே அது எல்லாவற்றையும் முன் வருகிறது. நினைவில் விஷயம் புல ஆகிறது. எனவே புல வரையறுக்கிறது மற்றும் புல அடங்கும் அந்த அனைத்து. அந்த அனைத்து முன் செயலி உள்ளன கட்டளைகளை. இந்த விஷயங்களை உள்ளன முன் செயலி கவனித்து கொள்கிறார். எனவே, ஒரு முன் செயலி என்ன செய்ய? இது உண்மையிலேயே ஒரு ஊமை விஷயம். திறன் இவை அனைத்தும் அனைத்து உள்ளன நகல், மற்றும் வெட்டு, மற்றும் ஒட்டு. எனவே புல நிலையான I0 டாட் மணி அடங்கும். செய்து என்ன? அது நிலையான I0 டாட் மணி வாட்டி பதிவு மற்றும் மேல் அதை ஒட்டி அது எங்கு புல அடங்கும் கூறுகிறது நிலையான I0 டாட் மணி. எந்த புல நாங்கள் இல்லை என்று வரையறுக்க பார்த்து, என்ன செய்கிறார் என்று? அதன் புல மதிப்பு நகல் என பேஸ்ட் வரையறுக்கப்படுகிறது என்று எங்கு நீங்கள் மதிப்பு பயன்படுத்தி வருகின்றனர். எனவே என்பதன் தான் உண்மையில் செய்கிறது எளிய உரை சார்ந்த செயல்பாடுகளை. இது ஸ்மார்ட் எதுவும் இல்லை. எனவே எல்லாவற்றையும் ஆகிறது சிக்கலான. எனவே இப்போது அந்த Preprocessor உள்ளது செய்து, நாம் உண்மையில் தொகுக்கலாம். எனவே ஒடுக்குவதற்கான என்ன அர்த்தம்? நாம் இப்போது சி குறியீட்டை நடக்கிறது சட்டசபை குறியீடு. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: ஆமாம், நாம் பிடித்து. எனவே ஒடுக்குவதற்கான. நாம் சட்டசபை கேட்ச் இருந்து போகிறோம். எனவே இந்த ஒரு உண்மையான மொழி மாற்றம். தன்னை ஒடுக்குவதற்கான இருந்து சென்று பொருள் அதிக அளவில் மொழி குறைந்த அளவில் மொழி. இ உயர் நிலை மொழியில் இருக்கிறது சட்டசபை ஒப்பிடும்போது. சட்டசபை என்ன? என்று அதன் வழிமுறைகளை, அழகான மிக, உங்கள் CPU செய்யப்பட்டது. ஆனால் உங்கள் கணினியில் இன்னும் இல்லை சட்டசபை புரியவில்லை. அது மட்டும் மற்றும் பூஜ்ஜியங்களாக புரிந்துகொள்கிறது. எனவே, அடுத்த கட்டமாக, கூடியிருந்தனர் இது இந்த வழிமுறைகளை இருந்து நம்மை கொண்டு உங்கள் CPU புரிந்துகொள்கிறது உண்மையில் அவர்களை மொழிபெயர்க்கிறது மற்றும் பூஜ்ஜியங்களாக. பைனரி சட்டசபை சி எனவே. ஆனால் நான் இன்னும் இயங்கக்கூடிய இல்லை. எனவே CS50 நூலகத்தில் நினைக்கிறேன். நாம் ஒரு பைனரி க்கான உங்களுக்கு வழங்கப்படும் GetString கொண்ட இந்த CS50 நூலகம், மற்றும் GetInt மற்றும் அனைத்து என்று. ஆனால் CS50 நூலகம் மற்றும் தன்னை செயற்படக்கூடிய உள்ளது. இது ஒரு முக்கிய செயல்பாடு இல்லை. இது பைனரி ஒரு கூட்டத்தை தான் நீங்கள் பயன்படுத்த முடியும் என்று. எனவே இணைக்கும் நாம் அனைவரும் ஒன்றாக கொண்டு எப்படி உள்ளது இந்த வெவ்வேறு பைனரி கோப்புகள் ஒரு உண்மையான இயங்கக்கூடிய ஒரு. நீங்கள் தட்டச்சு செய்யலாம் என்று ஒரு டாட் டாட் அவுட் குறைக்கிறது. எனவே இந்த கோப்பை போல் இருக்கிறது என்று நீங்கள் எழுதியது - என்ன உங்கள் திட்டம் ஆகிறது Ceaser டாட் கேட்ச். ஆனால் இப்போது அது தொகுக்கப்பட்ட பைனரி கீழே. எனவே Ceaser டாட் ஓ. இந்த எங்கள் CS50 பைனரி நூலகங்கள் ஆகிறது. அவர்கள் இணைந்து ஒரு இயங்கக்கூடிய ஒரு. சரி? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: எனவே முதல் அடங்கும், நினைவில், அடங்கும் உண்மையில் ஒரு புல முன் செயலி படி. ஆனால் அந்த தனி தான். நீங்கள் எந்த செயல்பாடுகளை பயன்படுத்தி இருந்தால், அந்த பின்னர் உங்கள் ஒற்றை கோப்பு வெளியே, இல்லை, நீங்கள் எதையும் இணைக்க தேவையில்லை நீங்கள் எல்லாம் வேண்டும் என்பதால். அந்த printf உள்ள இணைக்கப்பட்ட. நீங்கள் எப்போதாவது printf பயன்படுத்த வேண்டும் என்றால், அந்த விஷயம் என்று இணைக்க வேண்டும் நீங்கள் எழுத முடியவில்லை, ஏனெனில். மேலும், உண்மையில், printf தானாக இணைக்கப்பட்ட. நீங்கள் எப்படி தெரியும் கட்டளை வரியில் அல்லது போது நீங்கள் அதை பார்க்க, செய்கிறீர்கள் இணைப்பு கொண்ட கோடு எல் CS50, CS50 நூலகத்தில்? அப்படி printf, மற்றும் பொருட்களை, போகிறது தானாக இணைக்கப்பட்ட வேண்டும். எதையும் எந்த கேள்விகள்? பார்வையாளர்கள்: [செவிக்கு புலப்படாமல்]? ராப்: இணைக்கவோ? நாம் ஒரு மொத்தமாக வேண்டும் வெவ்வேறு பைனரி கோப்புகள். இந்த நியமன உதாரணம் நாம் பயன்படுத்தும் CS50 நூலகம் உள்ளது. நாம் தொகுக்கப்பட்ட மற்றும் நீங்கள் கொடுத்த இந்த CS50 நூலகம் பைனரி. நீங்கள் GetString பயன்படுத்த வேண்டும் உங்கள் திட்டத்தில். எனவே நீங்கள் போய் GetString பயன்படுத்த. ஆனால் என் பைனரி குறியீடு இல்லாமல் GetString, உங்கள் குறியீடு தொகுக்க போது கீழே, நீங்கள் உண்மையில் இயக்க முடியாது உங்கள் திட்டம் GetString சரம் என்பதால் இன்னும் முழுமையாக வரையறுக்கப்பட்ட. நீங்கள் என் பைனரி இணைக்க போது அது மட்டும் தான் என்று அனைத்து, இப்போது GetString கொண்டிருக்கிறது சரி, நான் உண்மையில், GetString இயக்கவும். என் கோப்பு முடிந்தது. நான் இந்த இயக்க முடியும். சரி? பார்வையாளர்கள்: மாற்ற பைனரி இயக்க வேண்டும்? நீங்கள் மற்ற இல்லை எனவே கூட நூலகங்கள், அது இன்னும் இருக்க முடியாது மொழிபெயர்க்க வேண்டும் [செவிக்கு புலப்படாமல்]? ராப்: எனவே இயங்கக்கூடிய பைனரி உள்ளது. அது ஒரு முழு இணைப்பதன் இருமை கொத்து. பார்வையாளர்கள்: நீங்கள் மிகவும் நன்றி. ராப்: பிரச்சனை இல்லை. வேறு ஏதேனும் கேள்விகள்? இல்லையெனில், நாங்கள் அமைக்க. சரி. நன்றி. [கரவொலி] பார்வையாளர்கள்: நன்றி. ராப்: ஆமாம்.