[இசை] டேவிட் ஜே MALAN: சரி. [சிரிப்பு] மீண்டும் வருக. இந்த CS50 உள்ளது. இந்த வாரம் ஐந்து இறுதியில். மற்றும் இப்போது வரை, நாம் அழகான மிகவும் வைத்திருக்கிறேன் வழங்கப்பட்டது எடுத்து வருகிறது என்று அங்கு நீங்கள் இந்த ஒடுக்கி, கணகண வென்ற சப்தம், உள்ளது இந்த வழி மூலம் நாடுவதன் மற்ற கருவி என்று எப்படியோ கொள்ளுங்கள் என்று மாயமாக உங்கள் மூல குறியீடு மாற்றுகிறது பொருள் குறியீடு, பூஜ்ஜியங்களைக் மற்றும் ஒருவர் மீது உங்கள் கணினி CPU, மத்திய செயலாக்க அலகு, உண்மையில் அறிகிறது. என்று ஒரு எண் வெளியே ஆனால் வீச்சு இந்த தொப்பி கீழே நடக்கிறது உள்ளீடு மற்றும் வெளியீடு இடையே. நான் நாம் சதை முன்மொழிய விரும்புகிறேன் இன்னும் கொஞ்சம் விரிவாக எடுத்து அந்த அவுட் இந்த நான்கு படிகள், என்று ஏதாவது முன் செயலாக்கம், ஏதாவது நாம் பார்த்த அந்த தொகுக்கப்பட்ட,, என்று ஏதாவது கூடியிருந்தனர் என்று, மற்றும் ஏதாவது இணைக்கும் என்று. எனவே இப்போது வரை, எமது சில திட்டங்கள், நாங்கள் தீவிர அடங்கும் இருந்தது. மேலும் சமீபத்தில் சில கூர்மையான கிடைத்தது மாறா வரையறுக்கிறது. அது மாறிவிடும் அந்த விஷயங்கள் என்று புல சின்னம் அல்லது முன்னொட்டாக பவுண்டு சின்னமாக முன் செயலி இருக்கிறது கட்டளைகளை. என்று தான் அது என்று ஒரு ஆடம்பரமான வழி உண்மையில் அந்த குறியீடு ஒரு வரி வேறொன்றாக மாற்றப்படுகிறது கணினி கூட மாற்ற முயற்சி உங்கள் பூஜ்ஜியங்களைக் மற்றும் தான் ஒரு திட்டம். உதாரணமாக, கூர்மையான தரமான உள்ளடக்கியது நான் / ஓ. ம, அழகான மிகவும் சென்று பொருள் மேலே, கோப்புகளை உள்ளடக்கங்களை அடைய stdio.h மற்றும் அங்கு அவர்களுக்கு ஒட்டவும். எனவே எந்த பூஜ்ஜியங்களைக் மற்றும் சொந்தங்களுக்கு இன்னும் அந்த நேரத்தில். அது உண்மையில் ஒரு மாற்று இருக்கிறது. என்று அழைக்கப்படும் போது முடிந்துவிட்டது முன் செயலாக்க நிலை, நீங்கள் உண்மையில் குறிப்பாக கணகண வென்ற சப்தம் இயக்க அல்லது பெரும்பாலான சந்தர்ப்பங்களில் செய்ய. அதனால் இதெல்லாம் நடக்கிறது முதல் தானாக இதுவரை. பின்னர் தொகுப்பு படி வருகிறது. ஆனால் நாம் மிகையாக எளிமைப்படுத்தப்பட்ட தொகுப்பு. ஒரு திட்டம் ஒடுக்குவதற்கான உண்மையில் என்றால் , சி போன்ற ஏதாவது இருந்து அதை எடுத்து மூல குறியீடு நாம் கீழே, எழுதி ஏதோ சட்டசபை அழைக்கப்படும். சட்டமன்ற மொழி கீழ் நிலையில் உள்ளது மொழி என்று, அதிர்ஷ்டவசமாக, நாம் தான் மிகவும் வேண்டிய நேரத்தை இந்த செமஸ்டர் எழுத. ஆனால் இது மிகவும் குறைந்த அளவில் தான் நீங்கள் உண்மையில் எழுத தொடங்க அந்த உணர்வு சேர்க்க மற்றும் கழித்தால் மற்றும் பெருக்கவும் ஏற்ற நினைவகம் மற்றும் சேமிக்க நினைவகம், மிகவும் அடிப்படை வழிமுறைகளை ஒரு கணினி, தொப்பி கீழே, உண்மையில் அறிகிறது. இறுதியாக, கூடியிருந்தனர் என்று மொழி எடுக்கிறது நாங்கள் தான் என்று பூஜ்ஜியங்களைக் மற்றும் நெருங்கியவர்களிடம் இதுவரை விவரிக்கும். உண்மையில் இறுதியாக, என்று அழைக்கப்படும் இருக்கிறது கட்டம் இணைக்கும், நாம் தருகிறேன் ஒருங்கிணைக்கிறது இது ஒரு கணம், பார்க்க உங்கள் பூஜ்ஜியங்களைக் மற்றும் பூஜ்ஜியங்களைக் கொண்டு தான் மற்றும் முன் தான் மற்ற மக்கள் நீங்கள் உருவாக்கிய. இந்த சூப்பர் எளிய நிரல் கருதுகின்றனர். இது வீக் 1 இருந்து. அது, உலக வணக்கம், என்றார் திரையில். நாம் கணகண வென்ற சப்தம் மூலம் இந்த இயங்கின. அல்லது நாம் அதை செய்ய இயங்கின இது கணகண வென்ற சப்தம் இயங்கின. மற்றும் நேரத்தில் outputted எங்கே சில பூஜ்ஜியங்களைக் மற்றும் தான். அங்கே அவுட் ஆனால் வீச்சு ஒரு இடைநிலை படி. நான் இங்கு சென்றால் - அடடா, இல்லை இன்னும் அவரை பார்க்க விரும்புகிறேன். நான் என் உபயோகப்பொருள் இங்கு சென்றால் நான் hello.c, இங்கே திறந்து அதே திட்டம். என்ன நான் என் முனையத்தில் செய்ய போகிறேன் இங்கே சாளரம் நான் போகிறேன் , கணகண வென்ற சப்தம் ரன் விட வேண்டும் இது அனைத்து நான்கு தானியங்க எங்களுக்கு அந்த படிகளை. நான் கணகண வென்ற சப்தம்-S செய்ய மற்றும் உள்ளிட பின் hello.c பின்னர். நான் ஒரு ஒளிரும் வரியில் கிடைக்கும் மீண்டும், இது நல்லது. இப்போது சற்று பெரிய சாளரத்தில், நான் இங்கே செய்து gedit திறந்து போகிறேன். நான், ஒரு கோப்பை திறந்து போகிறேன் வெளியே விட்டபடி, hello.s இந்த அழைக்கப்படுகிறது என்று சட்டசபை மொழி கொண்டுள்ளது நான் முன்னர் குறிப்பிட்டது. இந்த சட்டமன்ற என்று என்ன இருக்கிறது மொழி, மிகவும் குறைந்த நிலை அறிவுறுத்தல்கள் என்று உங்கள் இன்டெல் CPU அல்லது என்ன அது உள்ளே தான் இருக்கிறது அறிகிறது. மற்றும் MOV நடவடிக்கை ஆகும். அழைப்பு இல்லை , மிக குறைந்த அளவில் செயல்பாடு அழைப்பு. துணை கழித்தால் உள்ளது. நீங்கள் உள்ளே ஒரு குறிப்பிட்ட CPU கொண்டிருக்கும் போது உங்கள் கணினியில், என்ன செய்கிறது ஆனால் தனிப்பட்ட, மற்றும் பிற CPU கள் சந்தை, இது அறிவுறுத்தல்கள் அது புரிந்து பெரும்பாலும் எப்படி திறமையான இது சில நிறைவேற்றி உள்ளது எவ்வளவு வேகமாக, ஆகிறது அந்த அறிவுறுத்தலை. இப்போது இதை பற்றி மேலும் அறிய, நீங்கள் எடுக்க முடியும் கல்லூரியில் அடுத்த வீழ்ச்சி CS61. ஆனால் இங்கு நாம் ஒரு சில, உதாரணமாக, வேண்டும் நன்கு இருக்கும் என்று அடையாளங்கள். hello.c திட்டத்தின் பெயர். . உரை - வட்டி மிகவும் அங்கு இல்லை இப்போது, நினைவு உரை அங்கு உள்ள பகுதி, திங்கள் என, உள்ளது நினைவகம் உங்கள் நிரல் உண்மையில் முடிகிறது. அதனால் குறைந்தது தெளிவற்ற தான் அங்கு பழக்கமான. இங்கே, நிச்சயமாக, ஒரு குறிப்பும் இல்லை எங்கள் முக்கிய செயல்பாடு. கீழே உருட்டுதல், இந்த விஷயங்களை பார்க்கவும் என பதிவேடுகளை, மிக சிறிய துகள்களாக உங்கள் உண்மையான CPU இன் நினைவக உள்ளே. நான் கூட கீழே இருந்தால், மேலும், நான் ஒருவித பார்க்கிறேன் ஆஸ்கி மறைமுக குறிப்பிடவில்லை. மற்றும், உண்மையில், அந்த சரம், இல்லை ஹலோ, கமா, உலக. எனவே நீண்ட கதை குறுகிய, இந்த வருகிறது , தானாகவே, நீங்கள் நடக்கிறது தொப்பி கீழே இந்த நேரத்தில் அனைத்து. என்ன நடந்துகொண்டிருக்கிறது உண்மையில் முறை ஆகும் நீங்கள் கணகண வென்ற சப்தம் ரன், அல்லது மூலம் , நீங்கள் முதலில் போகிறது, செய்ய மூல குறியீடு இருந்து, சட்டசபை மொழி என்று அழைக்கப்படும். பின்னர் கணகண வென்ற சப்தம் இந்த சட்டசபை மாற்றப்படும் கீழே பூஜ்ஜியங்களைக் மற்றும் நெருங்கியவர்களிடம் மொழி. இந்த நாம் ஆரம்பித்தது என்று ஸ்லைடு உள்ளது வாரத்தில் 0 எங்கள் விவாதம் - பின்னர் அந்த வாரத்தில் 1. பின்னர் இறுதியாக, அந்த பூஜ்ஜியங்களைக் மற்றும் சொந்தங்களுக்கு பூஜ்ஜியங்களைக் மற்றும் ஒருவர் இணைந்து அந்த நூலகங்கள் இருந்து நாம் எடுத்து ஸ்டாண்டர்ட் I / O அல்லது போன்றவை வழங்கப்பட்டது சரம் நூலகம் அல்லது CS50 நூலகம். எனவே இந்த படத்தை வரைவதற்கு பார்வை, நாங்கள் hello.c வேண்டும். அது, நிச்சயமாக, printf பயன்படுத்துகிறது உலக ஹலோ சொல்ல செயல்பட. தொகுப்பு படி அதை கீழே எடுக்கிறது அந்த கோப்பு நாம் கூட, hello.s பார்த்தேன் பொதுவாக நீக்கப்பட்டது என்று கூட தானாகவே. ஆனால் அந்த சட்டமன்ற குறியீடு தான் நடுத்தர படியில். பின்னர் நாங்கள் அசம்ப்ளியை போது நீங்கள் மொழி, அதனால் பேச, என்று அந்த பூஜ்ஜியங்களைக் மற்றும் தான் கிடைக்கும். எனவே நாம் இன்று திறம்பட உள்ள காண்பிக்க என்ன வழங்கப்பட்டது நாங்கள் எடுத்து வருகிறோம், மூல குறியீடு சென்று பொருள் குறியீடு மறுக்க வேண்டும். ஆனால் இறுதியாக, இப்போது அதே படம் - அதை செய்ய உதைத்துவிட்டு நாம் இடது புறம். மற்றும் கவனத்தில் என்று மேல் அங்கு நான் stdio.h குறிப்பிடப்பட்டுள்ளது. என்று நாம் சேர்க்கப்பட்டுள்ளது என்று ஒரு கோப்பு கிட்டத்தட்ட எல்லா ல் நாம் எழுதப்பட்ட. என்று யாருடைய உள்ளடக்கங்கள் கோப்பு நகல் ஒட்டியது செய்து, திறம்பட உங்கள் குறியீடு மீது. ஆனால் அது, ஒரு கணினியில் மாறிவிடும் கணினி எங்காவது, மறைமுகமாக ஒரு இருக்கிறது யாரோ ஆண்டுகளுக்கு எழுதினார் stdio.c கோப்பு முன்பு என்று அனைத்து செயல்படுத்துகிறது அறிவித்தார் என்று செயல்பாடுகளை stdio.h ல். இப்போது உண்மையில் அது அநேகமாக இல்லை அல்லது உங்கள் Mac அல்லது உங்கள் கணினியில் CS50 பயன்பாட்டிற்கான ஒரு மூல சி குறியீடு உள்ளது. யாரோ ஏற்கனவே தொகுக்கப்பட்ட மற்றும் சேர்க்கப்பட்டுள்ளது . ஓ பொருள் குறியீடு கோப்பு அல்லது. ஒரு ஒரு பகிர்ந்து நூலகம் என்பது கோப்பு, என்று முன் நிறுவப்பட்டு உங்களுக்கு முன் தொகுக்கப்பட்ட. ஆனால் உண்மையில் உள்ளது என்று நினைக்கிறேன் இணையாக நமது கணினி stdio.c மீது கணகண வென்ற சப்தம் கொண்டு. உங்கள் குறியீடு தொகுக்கப்பட்ட மற்றும் கூடியிருந்த. stdio.c 'கள் குறியீடு தொகுக்கப்பட்டு கூடியிருந்த, இந்த மிக கடந்த என்று இங்கு, விலக, நாம் எப்படியாவது வேண்டும் இணைப்பு, அதனால் பேச, உங்கள் பூஜ்ஜியங்களைக் மற்றும் சொந்தங்களுக்கு ஒன்று அவரது பூஜ்ஜியங்களைக் மற்றும் ஹெட்லைட்களாக இறுதியில் அந்த எளிய நிரல் ஹலோ கூப்பிட்டேன். அதனால் தான் மந்திரம் தான் இதுவரை நடந்து வருகிறது. இந்த எடுக்க தொடரும் ஐந்து செயல்முறைகள் வழங்கப்பட்டது, ஆனால் உணர ஓரு விவரங்கள் நிறைய இருக்கிறது அங்கு கீழே நடக்கிறது. இந்த செய்கிறது என்ன உங்கள் இன்டெல் உள்ளே கொண்டு கணினி குறிப்பாக தனித்துவமான. அதனால் குறிப்பு, நீங்கள் விரும்பினால் செய்ய இந்த வெள்ளிக்கிழமை மதிய எங்களுக்கு சேர, போக செய்ய வழக்கமான இடத்தில் cs50.net/rsvp வேண்டும், 1:15 PM, இந்த வெள்ளி. இப்போது ஒரு சில அறிவிப்புகள். நாம் சில நல்ல செய்தி இருக்கிறது. நாம் சில மோசமான செய்தி இருக்கிறது. இங்கே சில நல்ல செய்தி தொடங்க. [GROANING] சரி. சரி, அது, தொழில்நுட்ப விடுமுறை இது எங்களுக்கு மிகவும் ஒரு பரிசு இல்லை. நிச்சயமாக ஆனால் பின்னர் கெட்ட செய்தி. [GROANING] நான் நிறைய நேரம் செலவிட்டு இந்த அனிமேஷன்களின். [சிரிப்பு] ஒரு ஆய்வு அமர்வு அங்கு இருக்கும் இந்த திங்கள் வரும். அதை 5:30 pm இருக்க போகிறது. நாம் அனைவரும் இந்த விவரங்கள் நீங்கள் ஞாபகப்படுத்துவோம் நிச்சயமாக இந்த மின்னஞ்சல் வழியாக நாட்கள் நேரம் ஒரு சில இணைய. இது படம்பிடிக்கப்பட்டு கிடைக்க செய்யப்படும் விரைவில் அதன் பின்னர். நீங்கள் செய்ய முடியாது என்றால், அந்த திங்கள் இரவு ஸ்லாட், கவலைப்பட வேண்டாம். பிரிவுகள் வரும் வாரம் கூட சாப்பிடுவேன் வினாடி வினா மதிப்புரை கவனம். உங்கள் பகுதியில் இது திங்கள், இருந்தால் உண்மையில் பல்கலைக்கழக விடுமுறை, நாம் இன்னும் பிரிவில் சந்திக்க. நீங்கள் வெறுமனே என்று செய்ய முடியாது என்றால் பிரிவு போகிறோம் என்பதால் விட்டு, அது நல்லது. ஒரு ஞாயிறு அல்லது செவ்வாய் பிரிவில் அல்லது கலந்து ஜேசன் பிரிவில் இசைக்கு-ல், இது தான் ஆன்லைனில் கிடைக்கும். எனவே, இன்னும் கெட்ட செய்தி. எனவே பாடத்திட்டங்கள் படி, நாம் அடுத்த வெள்ளி விரிவுரை. ஆனால் நல்ல செய்தி - தெளிவாக, நான் இந்த அதிக நேரம் செலவிட்டார். [சிரிப்பு] நாங்கள் வெள்ளிக்கிழமை விரிவுரைகள் அடுத்த ரத்து செய்கிறேன். எனவே எங்களுக்கு ஒரு பரிசு, நீ உண்மையில் ஒரு நல்ல ஓய்வுக்கான ல் முடியும் இந்த வாரம் எனவே இரண்டு வாரங்களுக்கு இடையே. எந்த விரிவுரைகள் அடுத்த வாரம், ஒரு சிறிய மிகவும் நீங்கள் இருக்க வேண்டும், அது சிறிய புதிர், பெருகிய முறையில் உற்சாகமாக. எனவே இப்போது நம் கவனத்தை திருப்பினால் நாம் உண்மையில் இன்னும் காட்சி என்று ஒன்று மேலும் அற்புதமான மற்றும் மேடை அமைக்க அடிவானத்தில் இருக்க போகிறது என்ன வாரங்களில் நேரம் வெறும் இரண்டு. முதல் புதிர் பின்னர், நாம் திரும்ப வேண்டும் எங்கள் பிரச்சனை செட் மற்றொரு கவனத்தை டொமைன் குறிப்பிட்ட பிரச்சனை, என்று பொதுவாக ஆய்வுத்துறை அல்லது பாதுகாப்பு. இந்த பிரச்சினையை உண்மையில், பாரம்பரியம் தொகுப்பு எனக்கு ஒன்று முழுவதும் நடக்க சக அல்லது காஸ் கற்பித்தல் சில புகைப்படங்களை எடுத்து வளாகம் அடையாளம் ஆனால் அல்லாத வெளிப்படையான மக்கள், பின்னர் இடங்களில், அல்லது விஷயங்களை, ஒவ்வொரு ஆண்டும் நான் எப்படியோ தற்செயலாக நீக்க நிர்வகிக்க அல்லது டிஜிட்டல் மீடியா கார்டு சிதைக்க என்று நம் கேமரா உள்ளே இருக்கிறார். ஆனால் பெரிய விஷயமல்ல. நான் முன்னே சென்று அடைப்பை ஏற்படுத்த முடியும் என் கணினியில் என்று. நான், இது ஒரு தடயவியல் படத்தை உருவாக்க முடியும் பூஜ்ஜியங்களைக் நகல் மூலம், பேச வேண்டும் அந்த நினைவக அட்டை தான் உண்டு, என்பதை அதன் ஒரு SD அட்டை அல்லது சிறிய ஃபிளாஷ் அட்டை அல்லது நீங்கள் அறிந்த நீங்கள் என்ன. பின்னர் நாம் வெளியே கொடுத்துவிடலாம். அதனால் மற்ற மத்தியில் முன்னோக்கி சவால், நீங்கள் விஷயங்களை, எழுத வேண்டும் ஒரு மொத்தமாக குணமடைய சி குறியீடு எனக்கு JPEG படங்கள் மற்றும் வெளிப்படுத்தினார் இருக்கும் அந்த மக்கள், இடங்கள், அல்லது விஷயங்கள். நாம் இந்த பிரச்சனையில், பேசுகிறேன் அமைக்கவும் மற்றும் நாட்களில் பற்றி, வர பொதுவாக கிராபிக்ஸ். நாம், ஒரு நிச்சயமாக அவர்கள் பயன்படுத்திய உடைத்து ஐந்து. வழங்கப்பட்டது ஆனால் நீங்கள் அப்படி எடுத்து இந்த உயர் மட்ட கருத்துக்கள் உள்ளது செவ்வக மற்றும் ovals பற்றி. ஆனால் தொப்பி கீழே பிக்சல்கள் உள்ளன. நீங்கள் தொடங்க வேண்டும் அந்த பற்றி நினைத்து. அல்லது நீங்கள் P-தொகுப்பு 4 யோசிக்க வேண்டும் க்கான உங்கள் செங்கற்கள் இடையே இடைவெளி பற்றி, எப்படி விரைவில் நீங்கள் பந்து முழுவதும் நகரும் திரையில் உடைத்து. எனவே இந்த கருத்து உள்ளது என்று உங்கள் திரையில் புள்ளிகள் ஏற்கனவே நாடகம் வரும். இப்போது நீங்கள் பார்க்க என்ன, எனினும், என்ன நீங்கள் ஒரு கணினி திரையில் கிடைக்கும். நீங்கள் எப்போதாவது சில நல்ல அல்லது பார்த்தோம் என்றால் மோசமான தொலைக்காட்சி, பிரச்சனைகளுக்கும் அவர்கள் அழகாக அதிகம் technophobes போன்ற பார்வையாளர்களை சிகிச்சை யார் உண்மையில் செய்கிறது நிறைய கம்ப்யூட்டிங் பற்றி. அதனால் அதை போலீசார் மிகவும் எளிதானது சொல்ல துப்பறியும், நீங்கள் எனக்கு அந்த சுத்தம்? அல்லது வலது, அதிகரிக்க? மேம்படுத்த உள்ள Buzz வார்த்தை போல பெரும்பாலான எந்த குற்றம் தொடர்பான நிகழ்ச்சி. நீங்கள் மிகவும் எடுக்க என்றால் உண்மை என்ன ஒரு சந்தேக தடுமாறுவதும் படம் மோசமான ஒன்று, நீங்கள் முடியாது அதை அதிகரிக்க. நீங்கள் எண்ணற்ற பெரிதாக்க முடியாது. நீங்கள் ஒருவரின் என்ற கற்றையை பார்க்க முடியாது என்று உறுதி யார் கண் இருந்தபோதிலும் குறிப்பிட்ட குற்றம், தொலைக்காட்சியில் இந்த வழக்கம். அதனால் அந்த ஊக்குவிக்க நாம் என்று வரவிருக்கும் பிரச்சினை ஒரு கண்ணோட்டம் கொண்ட அமைக்க சில நிகழ்ச்சிகளில் இது உங்களுக்கு தெரிந்திருந்தால் இருக்கலாம். [மறுஒளிபரப்பு வீடியோ] -சரி. இப்போது, நீங்கள் நன்றாக செல்லலாம். அதை நிறுத்து. என்று மீண்டும் இயக்கவும். ஒரு நிமிடம், காத்திரு. வலது போக. -இருக்கின்றன. என்று நிறுத்தப்படலாம். திரை முழு. -சரி. என்று நிறுத்தப்படலாம். யா, என்று எழுந்து-வருபவைகளை இறுக்கமாக்கு? அந்த பையன் மீது, திசையன் மீண்டும் சக்கரம் மூலம். இந்த இடத்தில் சரியான இங்கே-பெரிதாக்கு. -உடன் சரியான உபகரணங்கள், படிமமாக்கப்படுகின்றன விரிவாக்கப்பட்டு கூரான. -என்ன என்று? அது ஒரு விரிவாக்கம் திட்டம் தான். -முடியுமா நீங்கள் எந்த வரை என்று தெளிவாக? -எனக்கு தெரியாது. அதை மேம்படுத்த வேண்டும். பகுதி-6-அதிகரிக்கவும். நான் விரிவாக மேம்படுத்தப்பட்ட மற்றும் - நான் அதிகரிக்க போதுமான இருக்கிறது என்று நான் நினைக்கிறேன். என் திரையில் அதை வெளியிட. அவள் கண்ணில் பிரதிபலிப்பு-அதிகரிக்கவும். இதை வழியாக இயக்க-விடு வீடியோ மேம்பாடு. -எட்கர், இந்த அதிகரிக்க முடியும்? On-வை. நலன் இந்த பிரதிபலிப்பு வேலை. -யாரோ பிரதிபலிப்பு. -பிரதிபலிப்பு. ஒரு பிரதிபலிப்பு-இல்லை மனிதனின் முகம். -பிரதிபலிப்பு. -இருக்கின்றன ஒரு பிரதிபலிப்பு தான். கண்ணாடியில ல் பெரிதாக்குக. -நீங்கள் ஒரு பிரதிபலிப்பு பார்க்க முடியும். -முடியுமா நீங்கள் இங்கிருந்து படத்தை அதிகரிக்க? -முடியுமா நீங்கள் அவனை இங்கே அதிகரிக்க? -முடியுமா நீங்கள் அதை அதிகரிக்க? -முடியுமா நீங்கள் அதை அதிகரிக்க? -முடியுமா நாம் அதிகரிக்க? -முடியுமா நீங்கள் அதை அதிகரிக்க? இரண்டாவது On-பிடித்துக்கொண்டு, நான் அதிகரிக்க வேண்டும். கதவை ல் பெரிதாக்குக. -எக்ஸ் 10. -பெரிதாக்கு. [சிரிப்பு] உள்ளே-நகர்த்து நிறுத்த, காத்திருங்கள். -நிறுத்து. அது இடைநிறுத்தம். சுமார் ஒரு 75 டிகிரி-சுழற்று செங்குத்து தயவு செய்து. [சிரிப்பு] பகுதி மீண்டும்-நிறுத்து, மற்றும் கதவை பற்றி மீண்டும். ஒரு படத்தை enhancer-Got அந்த படங்கள் எப்படி முடியும்? -ஒருவேளை நாம் பிரதீப் சென் பயன்படுத்தலாம் முறை ஜன்னல்கள் மீது பார்க்க. -இந்த மென்பொருள் கலை மாநில உள்ளது. -சின்னம் மதிப்பு ஆஃப் ஆகிறது. -உடன் சரியான சேர்க்கையை வழிமுறைகளின். -அவர் வெளிச்சம் வழிமுறைகளை எடுத்து அடுத்த நிலை மற்றும் நான் அவற்றை பயன்படுத்த முடியும் இந்த புகைப்படத்தை அதிகரிக்க. On-பூட்டு மற்றும் z-அச்சு பெரிதாகும். -அதிகரிக்கவும். -அதிகரிக்கவும். -அதிகரிக்கவும். -உறைதல் மற்றும் மேம்படுத்தும். [END மறுஒளிபரப்பு வீடியோ] டேவிட் ஜே MALAN: அதனால் பிரச்சனை அமை 5 அங்கே மேலே உள்ளது என்ன. நாம் விரைவில் ஒரு நல்ல புரிதல் கிடைக்கும் போது, ஏன் நீங்கள் ஒரு நமது அந்த வழியில் மேம்படுத்த முடியாது. ஆனால் முதல், நம்முடைய கவனத்தை திருப்பி நாம் நாங்கள் அங்கு கட்டுமான தொகுதிகள் சில அந்த கதையை சொல்ல முடியும் இருக்க வேண்டும். எனவே இந்த படத்தை வரைந்தார் என்று நினைவு திங்கள் மற்றும் சிறிது கடந்த வாரம். இந்த விஷயங்கள் அமைப்பை விவரிக்கிறது உங்கள் கணினியின் நினைவகத்தில் போது சில இயங்குவதாக. மேலே உள்ள தொழில்நுட்ப பிரிவு, திரும்ப, குறிக்கிறது உண்மையான பூஜ்ஜியங்களைக் மற்றும் நெருங்கியவர்களிடம் உங்கள் திட்டத்தை உருவாக்கும். அங்கு, அந்த கீழே, சில துவக்கப்படும் அல்லது uninitialized தரவு, இது வழக்கமாக அல்லது மாறிலிகள் போன்ற விஷயங்களை குறிக்கிறது சரங்களை அல்லது உலக மாறிகள் முன்கூட்டியே அறிவித்தார். அங்கு குவியல், ஆனால் நாம் வருகிறேன் மீண்டும் ஒரு பிட் ல் என்று. பின்னர் ஸ்டாக் இருக்கிறது. மிகவும் தட்டுக்களில் ஒரு ஸ்டேக் போன்ற நினைவு இடத்தில் உணவு விடுதியில், இந்த அடுக்கியிருப்பது மற்றும் போதெல்லாம் அடுக்கியிருப்பது நீங்கள் ஒரு திட்டம் என்ன? அடுக்கிற்கு என்ன பயன்? அப்படியா? செயல்பாடு அழைப்பு. நீங்கள் ஒரு செயல்பாடு என்று எந்த நேரத்தில், அது அதன் நினைவகம் பேருக்கு கொடுக்கப்பட்ட உள்ளூர் மாறிகள் அல்லது அதன் காரணிகள். மற்றும் pictorially, நாங்கள் பார்க்கிறோம் என்று ஒவ்வொன்றும் ஒரு தொடர்ச்சியான செயல்பாடு, என்று அழைப்புகளை பி அழைப்புகள் சி அழைப்புகள் டி, அவர்கள் ஸ்டாக் மீது அடுக்கியிருப்பது செய்து. மற்றும் அந்த துண்டுகள் ஒவ்வொரு க்குள் நினைவக அடிப்படையில் ஒரு தனிப்பட்ட நோக்கம் உள்ளது அந்த விழாவில், இது, நிச்சயமாக, நீங்கள் கையில் விரும்பினால் சிக்கல் உள்ளது ஒரு செயல்பாடு இருந்து மற்றொரு ஒரு துண்டு செய்ய நீங்கள் அதை விரும்பவில்லை என்று தரவு மாற்றம் செய் அல்லது மாற்ற. எனவே செயல்படுத்த எங்கள் தீர்வு என்ன ஒரு ஸ்டேக் மூலம் குறிப்பிடப்படுகின்றன ஒரு செயல்பாடு உள்ளே நினைவக மாற்ற சட்டத்திற்கு மற்றொரு ஸ்டேக் பிரேம்? எப்படி ஒருவர் அந்த இரண்டு பேச்சு செய்ய? எனவே சுட்டிகள் அல்லது முகவரிகள் மூலமாக, அங்கு இது, மீண்டும், நான் விவரிக்க ஒரு குறிப்பிட்ட நினைவக, மூலம் வழி கடி எண், குறிப்பாக மதிப்பு காணலாம். அதனால் தான் நாங்கள் தொடர்ந்து கடந்த முறை நினைவு ஒரு இடத்தில் கதை பார்த்து மிகவும் தரமற்ற திட்டம். இந்த திட்டம் ஒரு சில தரமற்ற உள்ளது காரணங்கள், ஆனால் மிகவும் கவலை ஒன்று அது என்ன சரிபார்க்க முடியவில்லை, ஏனெனில்? ஆமாம், அது உள்ளீடு சரிபார்க்க முடியவில்லை. மன்னிக்கவும்? 12 எழுத்துக்களை விட இருந்தால். மிகவும் புத்திசாலித்தனமாக, memcopy அழைக்கும் போது, இது, பெயர் குறிப்பிடுவதை போல, வெறும் அதன் இரண்டாவது வாதம் இருந்து பிரதிகள் நினைவகம் அதன் முதல் விவாதத்தில். மூன்றாவது வாதம், மிகவும் நன்றாக உள்ளது, நீங்கள் இல்லை என்று சோதிக்க இந்த வழக்கில், நீளம் அதிகமாக நகலெடுக்க பார், எழுத்துக்கள் எண்ணிக்கை, இலக்கு நோக்கி, இந்த உள்ளது வரிசை சி ஆனால் பிரச்சனை என்று சி தன்னை போதுமான பெரிய இல்லை என்றால் என்று கையாள? நீங்கள் எண்ணிக்கை நகலெடுக்க போகிறோம் நீங்கள் கொடுக்கப்பட்டுள்ளது என்று பைட்டுகள். ஆனால் நீங்கள் உண்மையில் இன்னும் என்ன வேண்டும் நீங்கள் அறை விட பைட்டுகள்? சரி, இந்த திட்டம் மிகவும் முட்டாள் தனமாக தான் கண்மூடித்தனமாக அது என்ன எடுத்து செல்கிறான் கொடுக்கப்பட்ட, ஹலோ பின்சாய்வுக்கோடானது 0 சரம் குறுகிய பெரும் என்றால் போதும், ஐந்து எழுத்துகள் போன்ற. ஆனால் உண்மையில் 12 எழுத்துக்கள் தான் அல்லது 1,200 எழுத்துக்கள், நாம் கடந்த முறை பார்த்தேன் நீங்கள் முற்றிலும் போகிறோம் என்று நினைவக மேலெழுதும் என்று உனக்கு சொந்தம் இல்லை. மற்றும் மோசமான நிலை, நீங்கள் மேலெழுதும் என்று நாம் என்று அங்கு சிவப்பு பகுதி முகவரி திரும்பி - இது தான் அங்கு கணினி தானாக, நீங்கள், பின்னால் விட்டு காட்சிகளை, tucks ஒரு 32 பிட் மதிப்பு என்று அது என்ன முகவரி அது நினைவூட்டுகிறது திரும்ப போது foo, இந்த மற்ற செயல்பாடு, இயக்கும் செய்யப்படுகிறது. அதை வகையான ஒரு ரொட்டி ரொட்டிதுணுக்கு தான் இது கொடுக்கிறது. நீங்கள், திறன், அந்த மேலெழுதும் என்றால் நீங்கள் கெட்ட பையன் என்றால், முடியும் என்று சாத்தியமுள்ள எடுத்துக்கொள்ள ஒருவரின் கணினி. நீங்கள் மிகவும் உறுதியாக தருகிறேன் பெரும்பாலான சந்தர்ப்பங்களில் அதை செயலிழக்க. இப்போது இந்த சிக்கல் அதிகரித்துள்ளது நாம் நினைவக பற்றி பேச ஆரம்பித்துவிட்டார்கள் என பொதுவாக மேலாண்மை. மற்றும் malloc, நினைவக ஒதுக்கீடு, ஒரு நாம் ஒதுக்க முடியும் என்று செயல்பாடு நாங்கள் முன்கூட்டியே தெரியாது போது நினைவகம் நாம் சில வேண்டும் என்று. அதனால், உதாரணமாக, நான் திரும்பி சென்றால் இங்கே உபயோகப்பொருள் வேண்டும். நான், கடந்த முறை hello2.c இருந்து திறந்து பார்த்து இது இங்கே இந்த திட்டம், நினைவு இது போன்ற ஒரு சிறிய ஒன்று, மூன்று கோடுகள் - உங்கள் பெயர், பின்னர் சரம் பெயர், மாநில இடது, getstring சமம். பின்னர் நாம், அதை அச்சிட பயனர் பெயர். இந்த ஒரு சூப்பர் எளிய நிரல் இருந்தது. தெளிவாக இருக்கும், எனக்கு முன்னே செல்லலாம் மேலும் ஹலோ-2 செய்ய. நான் டாட் சாய்வு ஹலோ-2 செய்ய போகிறேன். உங்கள் பெயரை குறிப்பிட - டேவிட். உள்ளிடவும். டேவிட் வணக்கம். அதை சரி செய்ய தெரிகிறது. ஆனால் என்ன உண்மையில் நடக்கிறது இங்கே தொப்பி கீழே? முதல் நாம் சில அடுக்குகள் தலாம். சரம் நமக்கு ஒரு பொருளாகும் என்ன உணர்ந்து? சார் நட்சத்திரம். எனவே அது இன்னும் சிறிது கமுக்கமான செய்யலாம் ஆனால் இன்னும் தொழில்நுட்ப சரியான இந்த என்று அதாவது ஒரு எரிப்பதை நட்சத்திரம், இருக்கிறது பெயர், ஆம், ஒரு மாறி உள்ளது. ஆனால் என்ன பெயர் கடைகளில் முகவரி ஒரு சிறிய விநோதமாக ஒரு எரிப்பதை, நான் ஒரு சரம் திரும்ப பெற காரணம். நான் பல வருகிறது எழுத்துகள் ஒரு எரிப்பதை இல்லை. ஆனால் நிச்சயமாக, நீங்கள் மட்டுமே முதல் வேண்டும் நினைவில் எரிப்பதை முகவரி எங்கே ஏனெனில் ஏன் முழு சரம்? நீங்கள் எப்படி கண்டுபிடிக்க செய்ய முடிவு சரம் தொடக்கத்தில் தெரிந்தும்? பின்சாய்வுக்கோடானது பூஜ்யம். அதனால் அந்த இரண்டு துப்பு நீங்கள் கண்டுபிடிக்க தொடக்கத்தில் மற்றும் இறுதிக்குள் எந்த சரம் அவர்கள் மிகவும் நீண்ட, இருக்கிறது சரியாக உள்ள அமைக்கப்பட்டது டெர்மினேட்டர், அந்த பின்சாய்வுக்கோடானது பூஜ்யம். ஆனால் இந்த getstring அழைக்கிறார். மற்றும் அது getstring மாறிவிடும் அனைத்து இந்த நேரம் வகையான வருகிறது நமக்கு துரோகம். அது, நிச்சயமாக இருக்கும், இந்த தொழிலாளர் செய்து பயனர் ஒரு சரம் பெற. ஆனால் அந்த நினைவு எங்கே வரும்? நாங்கள் இங்கே படத்தை மீண்டும் சென்று என்றால் ஒரு இருந்து வரையறை விண்ணப்பிக்க நேரம் முன்பு, அந்த ஸ்டேக் எங்கே செயல்பாடுகள் என்று அழைக்கப்படும் போது நினைவகம், செல்கிறது என்று தர்க்கம் மூலம், நீங்கள் getstring அழைக்க போது, பின்னர் நான் தட்டச்சு D-A-V-i-D, Enter எங்கே D-A-V-i-D பின்சாய்வுக்கோடானது பூஜ்யம் அடிப்படையில், சேமிக்கப்படும் கதையை நாம் இதுவரை எங்களிடம்? அது போல் என்று ஸ்டாக், சரியான? நீங்கள் சரம் கிடைக்கும் என்று நீங்கள் ஒரு get ஸ்டாக் நினைவகத்தை சிறிய துண்டு. எனவே அது D-A-V-i-D காரணங்கள் உள்ளது பின்சாய்வுக்கோடானது பூஜ்யம் சேமிக்கப்படுகிறது அங்கு அடுக்கில். ஆனால் மீண்டும் getstring, ஒரு நிமிடம் அந்த சரம், அதனால் பேச, அதாவது இது உணவு விடுதியில் இருந்து தட்டில் தான் ஸ்டாக் எடுத்து வருகிறது. மற்றும் நாம் விரைவில் ஒரு கடந்த கால கூறினார் விழாவில் வருமானம், மற்றும் நீங்கள் எடுக்க ஸ்டாக் இனிய தட்டில், அதனால் பேச, என்ன நீங்கள் எச்சங்கள் பற்றி நினைத்து கொள்ளலாம் அந்த நினைவு? நான் அப்படி கேள்வி மதிப்பெண்கள் அவற்றை redrew அவர்கள் திறம்பட ஆக காரணம் தெரியவில்லை மதிப்புகள். போது சில அவர்கள் பயன்படுத்தும் அடுத்த செயல்பாடு என்று அழைக்கப்படுகிறது. வேறுவிதமாக கூறினால், நாம் நடக்க வேண்டும் சேமிக்க வேண்டும் - நான் ஒரு விரைவான படம் வரைய வேண்டும் இங்கே அடுக்கை. நாங்கள் கீழே வரைய வேண்டும் நடக்க என்றால் என் நினைவக பிரிவு, மற்றும் நாம் சொல்ல வேண்டும் இந்த நினைவு இடத்தில் உள்ளது முக்கிய மற்றும் ஒருவேளை ARG கேட்ச் மற்றும் ஆக்கிரமிக்கப்பட்டு ARG V திட்டத்தில் வேறு எதையும், getstring அழைக்கப்படும் போது, முன்கூட்டிய getstring பெறுகிறார் இங்கே நினைவக ஒரு துண்டின். பின்னர் D-A-V-i-D எப்படியோ இந்த விழாவில் நிறைவடைகிறது. நான் oversimplify போகிறேன். ஆனால் அது கருதி நாம் அதன் D-A-V-i-D என்று பின்சாய்வுக்கோடானது பூஜ்யம். இந்த பல பைட்டுகள் பயன்படுத்தப்படுகின்றன getstring ஐந்து சட்டம். ஆனால் விரைவில் getstring வருமானம் என நாம் கடந்த முறை என்று இந்த நினைவகம் இங்கு அனைத்து ஆகிறது - woops! - அனைத்து திறம்பட அழித்து விடுகிறது. நாம் கேள்வி இப்போது இந்த யோசிக்க முடியும் மதிப்பெண்கள் தெரியும் யார் காரணம் என்ன என்று நினைவகம் ஆக நடக்கிறது. உண்மையில், நான் அடிக்கடி செயல்பாடுகளை அழைக்க getstring வேறு. மற்றும் விரைவில் நான் வேறு சில அழைக்க என getstring விட செயல்பாடு, ஒருவேளை இல்லை நாம் பார்த்து இந்த குறிப்பிட்ட திட்டம் ஆனால் வேறு சில, நிச்சயமாக வேறு சில நேரத்தில் விழாவில் வழங்கப்பட்ட கூடும் ஸ்டாக் இந்த அடுத்த இடத்தில். அதனால் அந்த getstring கடைகளில் இருக்க முடியாது ஸ்டாக் உள்ள D-A-V-i-D நான் ஏனெனில் உடனடியாக அதை அணுக இழக்க. ஆனால் நாம் அவர்கள் getstring தெரியும் மட்டுமே என்ன கொடுக்கிறது? அது திரும்பி எனக்கு ஆறு எழுத்துக்கள். இது உண்மையிலேயே என்ன திரும்பி வருகிறார் நாம் கடந்த முறை முடிவுக்கு? முதல் முகவரி. எனவே எப்படியாவது, நீங்கள் getstring என போது, இது நினைவகம் ஒரு துண்டின் ஒதுக்கீடு சரம் பயனர்கள் வகை மற்றும் அது பின்னர் திரும்பி முகவரி. அதை நீங்கள் எப்போது வேண்டும் என்று மாறிவிடும் இந்த நினைவகத்தை ஒதுக்க செயல்பட வழி மற்றும் எனப்படும் நபர் திரும்ப அந்த விழாவில், முகவரி நினைவகம் என்று துண்டின், நீங்கள் முற்றிலும் மணிக்கு ஸ்டேக் அதை வைக்க முடியாது கீழே, ஏனெனில் செயல்படவில்லை இது தான் மிக உன் ஆக போகிறது விரைவில், அதனால் ஒருவேளை நீங்கள் யூகிக்க முடியும் நாம் அநேகமாக அது டாஸில் போகிறோம் அதற்கு பதிலாக, என்று அழைக்கப்படும் குவியல். எனவே உங்கள் நினைவகத்தில் கீழே இடையே அமைப்பு மற்றும் உங்கள் நினைவகத்தில் மேல் அமைப்பு பிரிவுகளில் ஒரு மொத்தமாக இருக்கிறது. ஒரு அடுக்கு, மற்றும் உரிமை அதை மேலே குவியல் உள்ளது. மற்றும் குவியல் தான் ஒரு வித்தியாசமான துண்டின் உள்ளது செயல்பாடுகளை பயன்படுத்த வேண்டாம் என்று நினைவு அவர்கள் அழைக்கப்படும் போது. அது போது, நீண்ட கால நினைவாற்றல் பயன்படுத்தப்படும் நீங்கள் ஒரு செயல்பாடு சில அடைய வேண்டும் நினைவகம் மற்றும் அதை முடிக்க முடியும் அது கட்டுப்பாட்டை இழந்து இல்லாமல். இப்போது நீங்கள் ஒருவேளை உடனடியாக முடியவில்லை இந்த என்பதை பார்க்க ஒரு சரியான வடிவமைப்பு அமைய. உங்கள் நிகழ்ச்சியில் நினைவக ஒதுக்கீடு போன்ற ஸ்டாக், அல்லது நீங்கள் அழைக்க என மேலும் இன்னும் செயல்பாடுகளை, அல்லது நீங்கள் ஒதுக்க போன்ற என இனிய malloc கொண்ட குவியல் மீது நினைவகம் getstring செய்து, என்ன தெளிவாக தவிர்க்க முடியாத பிரச்சனை இருக்கிறது? வலது. உண்மையில் போல் இந்த அம்புகள் ஒருவரை ஒருவர் சுட்டிக்காட்டும் நன்றாக போடு இல்லை. உண்மையில், நாங்கள் மிகவும் விரைவாக செயலிழக்க முடியும் வழிகளில் எந்த எண்ணை ஒரு திட்டம். உண்மையில், நான் வேண்டும் என்று இந்த தற்செயலாக ஒரு முறை செய்து. அல்லது இல்லை என்றால், அதை செய்வோம் வேண்டுமென்றே இப்போது. எனக்கு முன்னால் சென்று விரைவில் சூப்பர் எழுத ஒரு திட்டம் dontdothis.c என்று. இப்போது நான் இங்கே சென்று வருகிறேன் கூர்மையான stdio.h அடங்கும். விழாவில் foo எடுத்து அறிவிக்க நாம் இல்லை வாதங்கள், இது நிரப்பப்படாத நன்கு என குறிக்கப்படுகிறது. மற்றும் foo செய்ய போகிறது மட்டும் தான் அநேகமாக இல்லை இது அழைப்பு foo, புத்திசாலியான யோசனை, ஆனால் அது இருக்கும். ENT முக்கிய வெற்றிடத்தை. இப்போது முக்கிய போகிறது மட்டும் தான் செய்ய அத்துடன் foo அழைக்கிறது. மற்றும் கிக்ஸ், நான் போக போகிறேன் முன்னால் இங்கே இருந்து ஹலோ "printf சொல்ல foo. " சரி. நான் எந்த தவறும் செய்ய வில்லை என்றால், Dontdothis டாட் சாய்வு செய்ய. மற்றும் நாம் ஒரு பெரிய சாளரத்தில் அதை செய்ய - டாட் சாய்வு, dontdothis. வா. அச்சச்சோ. வெளிப்படையாக, நீங்கள் இதை செய்ய முடியும். அடக்கடவுளே. சரி. காத்திருக்கவும். நிற்க. நாங்கள் செய்தது - நாம் செய்ய அதை பயன்படுத்த. [SIGHS] எனக்கு தெரியும், ஆனால் நான் நினைக்கிறேன் அந்த நீக்கப்பட்டது. ஓ, அப்படியா. அடக்கடவுளே. இந்த ராப் தீர்க்க. என்ன? அது மிகவும் எளிது. ஆமாம், நாங்கள் தேர்வுமுறை அணைக்கப்பட்டது. சரி, பாய் நிற்க. இப்போது நான் நன்றாக உணர்கிறேன். சரி. சரி. எனவே இந்த மீள்தொகுப்பானது நாம் - நீங்கள் dontdothis செய்ய. நீங்கள் இந்த மறுபெயர் வேண்டும் ஒரு நொடியில் dothis.c. அங்கு நாம். நன்றி. சரி. அதனால் நான் அச்சிடும் என்று உண்மையில் ஏதாவது ஒரு உண்மையில் இருந்தது செயல்முறை குறைந்து, இதன் மூலம் நாம் அந்த போயிருப்பேன். சரி. ப்பூ! என்ன உண்மையில் நடக்கிறது? ஒரு ஒதுக்கி அங்கு காரணம்,, என்பது உள்ளீடு வகையில் எதையும் செய்து வெளியீடு மெதுவாக இருக்கும், ஏனெனில் நீங்கள் பாத்திரங்களை எழுத வேண்டும் திரையில், இது உருட்டும் வேண்டும். எனவே நீண்ட கதை குறுகிய, நான் உண்மையில் இருந்தது மிகவும் பொறுமையிழந்து நடந்தது, நாம் வேண்டும் அத்துடன் இந்த முடிவு காணப்படும். நான் அச்சு அப்களை ஒரு சவாரி கிடைத்தது, இப்போது அந்த நாம் இப்போதே அதை பார்க்க. ஏன் இப்படி நடக்கிறது. சரி, நிச்சயமாக எளிமையான விளக்கம்,, என்று foo தராது வேண்டும் தன்னை அழைத்து வேண்டும். இப்போது பொதுவான வார்த்தைகள், இந்த மறுநிகழ்வு உள்ளது. நாம் ஒரு ஜோடி வாரங்கள் நினைத்தேன் முன்பு குவிப்பு நல்லது. மறுநிகழ்வு இந்த மந்திர வழி கினார் சூப்பர் உங்களை வெளிப்படுத்தும். இது இயங்குகிறது. ஆனால் அனைத்து முக்கிய அம்சம் இருக்கிறது நாம் பேசிவிட்டீர்கள் சுழல் திட்டங்கள் பற்றி பார்த்து இதுவரை, எந்த அவர்கள் என்ன நேர்ந்தது? சில வன் குறியீட்டு இது ஒரு அடிப்படை விஷயத்தில், சில சூழ்நிலைகளில் என்று வழக்கு தெளிவாக இது foo, அழைக்க வேண்டாம் இங்கு வழக்கு. என்ன உண்மையில் நடக்கிறது இந்த படத்தை பொறுத்தவரை? நன்றாக, போது முக்கிய foo, அது அழைப்பு நினைவகம் ஒரு துண்டு பெறுகிறது. Foo foo அழைத்தால், அதை பெறுகிறார் நினைவகம் ஒரு துண்டு. Foo foo அழைத்தால், அது ஒரு துண்டு பெறுகிறது. அது ஒரு துண்டு பெறுகிறது. அது ஒரு துண்டு பெறுகிறது. Foo திரும்பி ஏனெனில். நாங்கள் அந்த ஒரு அழித்தலை ஸ்டாக் இருந்து பிரேம்கள். எனவே, குவியல் மூலம் ஊதுகிறாய் யார் என்ன வேறு தெரியும், மற்றும் குறிப்பிட நாம் ஒரு எல்லைக்கு overstepping நினைவக பகுதி என்று அழைக்கப்படும். பிரிவு தவறான சென்று பிழை. அதனால் தான் தீர்வு தெளிவாக இதை செய்யாதே. ஆனால் பெரிய சம்மந்த என்று, ஆம், இல்லை முற்றிலும் சில எல்லை இல்லை இது எப்படி, வரையறுக்கப்பட்ட கூட நீங்கள் ஒரு அழைக்க முடியும் பல செயல்பாடுகளை திட்டம், எத்தனை முறை ஒரு செயல்பாடு தன்னை அழைக்க முடியும். நாம் மறுநிகழ்வு போதிக்க செய்தது கூட இந்த முக்கியமான மந்திர விஷயம் ஒரு சிக்மா ஐந்து முன்பு வாரங்கள் ஜோடி செயல்பாடு, மற்றும் போது நாங்கள் தரவு கிடைக்கும் கட்டமைப்புகள் மற்றும் CS50, நீங்கள் மற்ற பார்க்கிறேன் இது விண்ணப்பங்கள், அது இல்லை அவசியம் சிறந்த விஷயம். ஒரு விழாவில் தன்னை அழைக்கும், ஏனென்றால், ஒரு அடிப்படை இருக்கிறது என்றால், தன்னை அழைப்பு வழக்கு, நீங்கள் அடிப்படை வழக்கு ஹிட் என்றால் 1,000 அழைப்புகள் அல்லது 10,000 அழைப்புகள், மூலம் நீங்கள் அறையில் ரன் அவுட் என்று நேரம் உங்கள் அழைக்கப்படும் ஸ்டேக் மற்றும் வெற்றி பற்றி நினைவகம் வேறு சில பிரிவுகளை. அது ஒரு வடிவமைப்பு வர்த்தக பரிமாற்றம் ஆகும் நேர்த்தியுடன் இடையே இடையே உங்கள் குறிப்பிட்ட உறுதித்தன்மை செயல்படுத்தல். எனவே மற்றொரு தீங்கு அல்லது இல்லை நமக்கு என்ன மற்றொரு gotcha இதுவரை செய்து. நான் getstring அழைத்த போது - எனக்கு ஹலோ-2 மீண்டும் செல்லலாம். , நான் getstring போன் செய்கிறேன் என்று பாருங்கள் இது ஒரு முகவரி திரும்பி வருகிறார். மற்றும் இன்று நாம் கூறும் அந்த முகவரி குவியல் இருந்து வருகிறது. இப்போது நான் வெளியே அச்சிடும் அந்த முகவரியில் சரம். ஆனால் நாம் என்று getstring எதிர். நாம் ஒரு செயல்பாடு calll வேண்டும் அங்கு நீங்கள் கையை திரும்ப ungetstring, என்று நினைவு. ஆனால் வெளிப்படையாக நாம் அநேகமாக இருந்திருக்க வேண்டும். ஏனெனில் நாம் கணினி கேட்டு கொள்கிறோம் என்றால் இப்படி ஒருவர் நினைவகத்தை, மூலம் வழி getstring ஆனால் நிச்சயமாக, அது திரும்ப கொடுக்க முடியாது அதுவும் வழிவகுக்கும் கட்டப்படுகிறது நாம் நினைவகம் ரன் அவுட் அதனால் பிரச்சினைகள். உண்மையில், இந்த ஐந்து பார்க்க முடியும் அதன் பயன்பாடு புதிய கருவி பிரச்சினைகள் தட்டச்சு செய்ய ஒரு சிறிய ரகசிய உள்ளது. ஆனால் எனக்கு முன்சென்று வரை ஸ்பிளாஸ் நாம் ஒரு நொடியில் திரையில். நான் போய் Valgrind இயக்க போகிறேன் அதன் முதல் கட்டளை அளவுருவான வரி வாதம் பெயர் அந்த திட்டம் ஹலோ-2. மற்றும் துரதிருஷ்டவசமாக அது வெளியீடு atrociously உள்ளது எந்த நல்ல காரணத்திற்காக சிக்கலான. அதனால் நாம் அனைவரும் அந்த குழப்பம் பார்க்க. டேவிட் என் பெயர் குறிப்பிட உள்ளது. அதனால் நிரல் உண்மையில் இயங்கும். இப்போது நாம் இந்த வெளியீடு கிடைக்கும். எனவே Valgrind ஒத்த GDB செய்ய ஆவி. இது தன்னிச்சையாக ஒரு பிழை இல்லை. ஆனால் அது ஒரு நினைவக சரிபார்ப்பு தான். இது உங்கள் ரன் என்று ஒரு திட்டம் இருக்கிறது நிரல் நீங்கள் கேட்டு நீங்கள் சொல்ல நினைவக கணினி மற்றும் ஒருபோதும் அதை ஒப்படைத்தார் மீண்டும், இதனால் நீங்கள் அந்த பொருள் ஒரு நினைவக கசிவு. மற்றும் நினைவு கசிவுகள் மோசமான இருக்க முனைகின்றன. நீங்கள் கணினி பயனர்கள் உள்ளது ஒருவேளை நீங்கள் என்பதை உணர்ந்தேன் Mac அல்லது ஒரு PC. நீங்கள் எப்போதும் உங்கள் கணினியில் பயன்படுத்தப்படும் மற்றும் பல துவக்கப்பட்டால் போது நாட்கள், அல்லது நீங்கள் நிறைய கிடைத்துவிட்டது இயங்கும் திட்டங்கள், மற்றும் மட்டமான விஷயம் ஒரு அரைக்கும் நிறுத்த தாமதப்படுத்தி, அல்லது குறைந்தது ஏனெனில் அது, பயன்படுத்த சூப்பர் எரிச்சலூட்டும் தான் எல்லாம் சூப்பர் மெதுவாக வந்தது. இப்போது அந்த காரணங்கள் பல இருக்க முடியும். இது ஒரு முடிவிலா சுழற்சியில், ஒரு பிழை இருக்க முடியும் ஒருவரின் குறியீடு, அல்லது, இன்னும் எளிமையாக, அதை நீங்கள் இன்னும் பயன்படுத்தி என்று நிரூபனமானால் உங்கள் விட நினைவகம், அல்லது முயற்சி, கணினி உண்மையில் உள்ளது. ஒருவேளை சில திட்டத்தில் ஒரு பிழை இருக்கிறது நினைவக கேட்டு வைக்க என்று. ஆண்டுகள் உலாவிகளில் பேர்போன இருந்தன இந்த, இன்னும் நினைவக கேட்டு ஆனால் அதை திரும்ப ஒப்படைத்தார். நிச்சயமாக, நீங்கள் ஒரு வரையறுக்கப்பட்ட இருந்தால் நினைவக அளவு, நீங்கள் கேட்க முடியாது இன்னும் எண்ணற்ற பல முறை அந்த நினைவு சில. அதனால் நீங்கள் கூட, இங்கே பார்க்க என்ன மீண்டும் Valgrind ஒரு வெளிப்பாடு ஆகும் ஏறெடுத்தும் பார்க்க வேண்டும் அனாவசியமாக சிக்கலான முதல், இந்த சுவாரஸ்யமான பகுதி. குவியல் - வெளியேறவும் பயன்பாட்டில். இங்கு எவ்வளவு நினைவகம் கேட்டேன் மணிக்கு குவியல் பயன்படுத்தப்பட்டது என் திட்டம் வெளியேறிவிட்டது - ஒரு தொகுதி ல் வெளிப்படையாக ஆறு பைட்டுகள். அதனால் நான் என் கைகளை அசைப்பது போகிறேன் என்ன ஒரு தொகுதி உள்ளது. மேலும், இது ஒரு துண்டின் இருக்கிறது என்று துண்டின் தொழில்நுட்ப சொல். ஆறு பைட்டுகள் ஆனால் - ஆறு பைட்டுகள் என்ன இன்றும் பயன்பாட்டில் இருந்தன? சரியாக. D-A-V-i-D பின்சாய்வுக்கோடானது பூஜ்ஜியம், ஐந்து கடிதம் பெயர் பிளஸ் உள்ள டெர்மினேட்டர். எனவே இந்த திட்டத்தை கவனித்தனர் Valgrind என்று நான் மூலம், வெளிப்படையாக, ஆறு பைட்டுகள் கேட்டார் getstring வழியில், ஆனால் ஒருபோதும் அவற்றை திரும்ப கொடுத்தது. உண்மையில், இது இருக்கலாம் என் திட்டம் மூன்று அல்ல வெளிப்படையாக என்றால் கோடுகள், ஆனால் இது 300 வரிகளை தான். நாம் உண்மையில் மற்றொரு கட்டளையை கொடுக்க முடியும் வரி வாதத்தை Valgrind செய்ய இது மிகவும் நீளமான செய்ய. அதை நினைவில் கொள்ள ஒரு சிறிய எரிச்சலூட்டும் இருக்கிறது. ஆனால் நான் செய்தால் - நாம் பார்ப்போம். கசிய - அதை கசிய - கூட எனக்கு ஞாபகம் இல்லை அது கையை என்ன. - கசிவு-காசோலை முழு சமம். இங்கும், நன்றி. - கசிவு-காசோலை முழு சமம். உள்ளிடவும். அதே இயங்குவதாக. மீண்டும் டேவிட் தட்டச்சு. இப்போது நான் இன்னும் கொஞ்சம் விரிவாக பார்க்க. ஆனால் குவியல் சுருக்கத்தை கீழே, இது நான்கு ஒத்ததாக உள்ளது - ஆ, இந்த நல்ல வகையான உள்ளது. இப்போது Valgrind உண்மையில் பார்க்க என் குறியீடு உள்ள கடினமான ஒரு சிறிய. இது, வெளிப்படையாக, என்று கூறுகிறார் வரியில் malloc - நாங்கள் வெளியே பெரிதாக்கவும். இந்த வரி - நாம் என்ன வரி பார்க்க வேண்டாம். ஆனால் malloc முதல் குற்றவாளி. Malloc ஒரு வலைப்பதிவு உள்ளது. சரி? சரி, இல்லை. வலது? நான் getstring என்று. getstring வெளிப்படையாக malloc அழைப்பு விடுக்கின்றது. அதனால் என்ன குறியீடு வரிசையில் வெளிப்படையாக உள்ளது கொண்ட தவறு இந்த நினைவக ஒதுக்கீடு? நாம் யார் malloc எழுதியது என்று நினைத்து நீண்ட போதும், அது தான் சுற்றி வருகிறது அவர்களது தவறு. அது அநேகமாக என்னுடையது. cs50.c உள்ள getstring - ஒரு அதனால் கணினியில் எங்காவது தாக்கல் - வரிசையில் 286 குற்றவாளி என தெரிகிறது. இப்போது cs50 வருகிறது என்று கருதி நாம் எனவே நேரம் கண்ணியமான அளவு, சுற்றி நாம் தப்பில் விழாத உள்ளன. அதனால் அதை getstring உள்ள அநேகமாக இல்லை பிழை உள்ளது, ஆனால் மாறாக அந்த ஹலோ-2.c வரி 18. எனவே ஒரு பார்க்கலாம் அந்த வரிசையில் 18 என்ன. ஓ. எப்படியாவது இந்த வரி அவசியம் இல்லை தரமற்ற, இயல்பில், ஆனால் அதை காரணம் அந்த நினைவக கசிவு பின்னால். அதனால் சூப்பர் வெறுமனே, என்ன உள்ளுணர்வுரீதியில் என்று இங்கு தீர்வு? நாம் நினைவு கேட்கிறாய் என்றால், அவர்கள் அதை திரும்ப கொடுத்து, அந்த ஒரு தெரிகிறது பிரச்சனை காரணமாக நேரம் என் கணினி மீது நினைவகம் ரன் அவுட் என்று, மெதுவாக இருக்கும் கீழே, கெட்ட விஷயங்களை, நன்றாக, நடக்க கூடும் எளிய உள்ளுணர்வு தீர்வு என்ன? அதை திரும்ப கொடுக்க. எப்படி என்று நினைவு மிச்சப்படுத்த? நன்றாக, அதிர்ஷ்டவசமாக அது மிகவும் எளிது வெறும் இலவச பெயர் சொல்ல. நாம் முன்பு இதை. ஆனால் நீங்கள் அடிப்படையில் யோசிக்க முடியும் malloc எதிர் போன்ற இலவச. இலவச எதிரானது நினைவக ஒதுக்கீடு. எனவே இப்போது எனக்கு இந்த மீள்தொகுப்பானது நாம். ஹலோ-2 செய்ய. என்னை மீண்டும் இயக்க வேண்டும். ஹலோ-2 டேவிட். அது வேலை செய்ய தெரிகிறது அதே வழியில். ஆனால் நான் Valgrind திரும்பி சென்று மீண்டும் இயக்க வேண்டும் என் புதிதாக மீது அதே கட்டளை தொகுக்கப்பட்ட திட்டம், தட்டச்சு முன்பு என் பெயர் - நல்லவங்க. குவியல் சுருக்கம் - - வெளியேறவும் பயன்பாட்டில் பூஜ்யம் தொகுதிகள் பூஜ்யம் பைட்டுகள். இந்த சூப்பர் நல்ல, அனைத்து உள்ளது குவியல் தொகுதிகள் விடுதலை. எந்த கசிவை சாத்தியம். எனவே, பிரச்சனை இல்லை அமை 4, வரும் ஆனால் பிரச்சனை அமை 5, ஆய்வுத்துறை கொண்டு மற்றும் முன்னோக்கிய, இந்த ஒரு மாறும் உங்கள் சரியான அளவீடு நீங்கள் இல்லையா திட்டம், அல்லது நினைவு கசிவுகள் இல்லை. ஆனால் அதிர்ஷ்டவசமாக, நீங்கள் காரணம் இல்லை அவர்கள் உள்ளுணர்வுடன், இதன் மூலம் சிறிய திட்டங்கள் எளிதாக, விவாதிக்கக்கூடிய, ஆகிறது ஆனால் பெரிய திட்டங்கள் கடினமாக, , அந்த பெரிய திட்டங்கள், Valgrind நீங்கள் அடையாளம் உதவ முடியும் குறிப்பிட்ட பிரச்சனை. ஆனால் மற்றொரு பிரச்சனை என்று எழும் என்று. , இது, என்னை இங்கே இந்த கோப்பு திறந்து விட மீண்டும், ஒரு சற்றே எளிய உதாரணம். ஆனால் நாம் என்ன கவனம் இந்த திட்டம் இல்லை. இந்த memory.c அழைக்கப்படுகிறது. நாம் இந்த பிறகு இன்று பதிவு செய்கிறேன் இன்றைய மூல குறியீடு ZIP. நான் ஒரு விழாவில் என்று கவனிக்க வாதங்கள் மற்றும் எடுக்கும் என்று F எதுவும் கொடுக்கிறது. வரி 20 ல், நான் வெளிப்படையாக ஒரு பிரகடனம் ஒரு முழு எண்ணாக அது x அழைப்பு சுட்டிக்காட்டி. நான் ஒதுக்க நான் திரும்பி உள்ளது malloc மதிப்பு. மற்றும் நான் எவ்வளவு பைட்டுகள், தெளிவாக இருக்க வேண்டும் நான் அநேகமாக malloc இருந்து திரும்ப பெற இந்த சூழ்நிலையில்? அநேகமாக 40. நீ எங்கே இருந்து கிடைத்தது? சரி, நீங்கள் ஒரு முழு எண்ணாக பெரும்பாலும் என்று நினைவு என்றால் 4 சி, குறைந்தபட்சம் அது உள்ளது சாதனம், முறை 4 10 வெளிப்படையாக 40 ஆகிறது. எனவே malloc ஒரு முகவரி திரும்பி வருகிறார் ஒரு நினைவகம் துண்டின் மற்றும் சேமித்து என்று x ல் இறுதியாக உரையாற்ற. எனவே, தெளிவாக இருக்க என்ன பிறகு நடக்கிறது? சரி, என்னை மீண்டும் மாற அனுமதிக்க இங்கே எங்கள் படத்திற்கு. எனக்கு என் கீழே வரைய வேண்டாம் கணினியின் நினைவகம், எனக்கு முன்னே செல்லலாம் மற்றும் முழு செவ்வக வரைய என்று என் ரேம் அனைத்து பிரதிபலிக்கிறது. நாம் சொல்ல வேண்டும் என்று ஸ்டேக் கீழே உள்ளது. மற்றும் ஒரு உரை பிரிவில் இருக்கிறது uninitialized தரவு. ஆனால் நான் சுருக்கம் அந்த போகிறேன் விட்டு டாட், டாட் டாட் மற்ற விஷயங்கள். நான் இந்த பார்க்கவும் போகிறேன் மேல் குவியல் என. பின்னர் இந்த படத்தை கீழே, முக்கிய பிரதிநிதியாக, நான் போகிறேன் இது ஒரு துண்டுகள் நினைவக கொடுக்க ஸ்டாக் இல்லை. F, நான் அதை ஒரு துண்டு கொடுக்க போகிறேன் ஸ்டாக் நினைவகத்தை. இப்போது, நான் என் ஆலோசிக்க வேண்டும் மீண்டும் மூல குறியீடு. முக்கிய உள்ளூர் மாறிகள் என்ன? வெளிப்படையாக எதுவும், அந்த துண்டு உள்ளது திறம்பட காலியாக அல்லது கூட பெரிய நான் அதை வரையப்பட்ட போல. ஆனால் F ல், நான், ஒரு உள்ளூர் மாறி உள்ளது இது X என்றழைக்கப்படுகிறது. நான் போய் F கொடுக்க போகிறேன் அது x அழைப்பு நினைவக ஒரு துண்டின். , 10 முறை 4 இப்போது malloc என்று அங்கு malloc 40, மிகவும் நினைவு வரும்? நாம் ஒரு படம் வரையப்பட்ட இப்படி. ஆனால் அதை திறம்பட என்று நினைக்கிறேன் நாம் எனவே, ஒரு, இங்கு வரும், இரண்டு, மூன்று, நான்கு, ஐந்து. இப்போது நான் இந்த 40 வேண்டும். அதனால் நான் பரிந்துரைக்கும் டாட், டாட், டாட் செய்கிறேன் இன்னும் நினைவு இருக்கிறது என்று குவியல் இருந்து திரும்பி வரும். இப்போது முகவரி என்ன? நாம் எமது தன்னிச்சையான தேர்வு என எப்போதும் முகவரி - இது அநேகமாக நடக்கிறது கூட Ox123, முற்றிலும் வேறுபட்ட ஒன்று இருக்க வேண்டும். என்று முதல் பைட் என்ற முகவரி நான் malloc கேட்டுக்கொண்டிருக்கிறேன் நினைவக என்று. எனவே குறுகிய, ஒருமுறை வரிசையில் 20, முடிக்கிறது உண்மையில் என்ன இங்கே x உள்ளே சேமிக்கப்படும்? Ox123. Ox123. மற்றும் எருது சுவையற்ற. அதை தான் இங்கே பொருள் ஒரு ஹெக்சாடெசிமல் எண். ஆனால் என்ன சாவி நான் கடையில் நான் என்ன என்று x ல், ஒரு உள்ளூர் மாறி உள்ளது. ஆனால் அதன் தரவு வகை, மீண்டும், ஒரு முழு எண்ணாக ஒரு முகவரி. சரி, நான் Ox123 சேமிக்க போகிறேன். ஆனால் மீண்டும், சற்று என்று இருந்தால், நான் உருட்டும் போது, தேவையில்லாமல் சிக்கலான மீண்டும், இந்த விட்டு சுருக்கம் முடியும் மிகவும் நியாயமான மற்றும் என்று x ஒரு நினைவகம் என்று துண்டின் என்று சுட்டிக்காட்டி. சரி. இப்போது கையில் கேள்வி பின்வரும் உள்ளது - வரி 21, அவ்வாறு மாறினால், தரமற்ற உள்ளது. ஏன்? மன்னிக்கவும்? அதை இல்லை - ஒருமுறை என்று. சரி, அதை இலவசமாக இல்லை. அதனால் இரண்டாவது ஆனால். அதனால் மற்ற ஆனால் குறிப்பாக ஒரு இருக்கிறது வரி 21 மணிக்கு. சரியாக. குறியீடு இந்த எளிய வரி ஒரு உள்ளது தாங்கல் வழிதல், ஒரு இடை மிஞ்சு. ஒரு இடை நினைவகத்தில் வெறுமனே ஒரு துண்டின் அர்த்தம். ஆனால் நினைவகம் என்று துண்டின் அளவு உள்ளது 10, 10 முழு எண்கள், எந்த பொருள் என்றால் நாம் தொடரியல் சர்க்கரை பயன்படுத்தி அதை குறியீட்டு வரிசை குறிமுறையின், சதுர அடைப்புக்குறிக்குள், நீங்கள் அணுக x அடைப்புக்குறி 0 x அடைப்புக்குறி 1 x, அடைப்புக்குறி டாட், டாட், டாட். x அடைப்புக்குறி 9 மிகப்பெரிய ஒன்றாகும். நான் x அடைப்புக்குறி 10, அதனால் நீங்கள் எங்கே நான் உண்மையில் நினைவகத்தில் போகிறேன்? சரி, நான் 10 எண்ணாக இருந்தால் - நாம் உண்மையில் அனைத்து வரைய இங்கே இந்த வெளியே. அதனால் முதல் ஐந்து இருந்தது. இங்கு மற்ற ஐந்து ints தான். எனவே x அடைப்புக்குறி 0 இங்கே. x அடைப்புக்குறி 1 இங்கே. x அடைப்புக்குறி 9 இங்கே. x அடைப்புக்குறி 10 இங்கே, இது, நான் சொல்கிறேன், பொருள் வரி 21 ல், கணினி வைக்க பல இடங்களில்? எண் 0 எங்கே? நல்லது, அது, ஆமாம் 0 இருக்கிறது. ஆனால் உண்மையில் அதன் 0 ஒரு தற்செயல் வகையான உள்ளது. இது பல இருக்க முடியும் 50, நாம் கவலை எல்லாம். ஆனால் நாங்கள் x அடைப்புக்குறி அதை வைத்து முயற்சி இந்த இது 10, கேள்வி குறி, வரையப்பட்ட இது ஒரு நல்ல விஷயம் அல்ல. இந்த திட்டம் நன்றாக வல்லமை விளைவாக செயலிழக்க. இப்போது, அது முன்னோக்கி சென்று பார்ப்போம் இந்த என்றால் உண்மையில், என்ன நடக்கும். நினைவக செய்ய, பின்னர் கோப்பு memory.c அழைக்கப்படுகிறது. நாம் முன்னோக்கி சென்று ரன் நிரல் நினைவகம். நாம் அதிர்ஷ்டம் கிடைத்தது, உண்மையில், அது தெரிகிறது. நாம் அதிர்ஷ்டம் கிடைத்தது. ஆனால் நாம் இப்போது Valgrind ரன் என்றால் நாம் பார்ப்போம். முதல் பார்வையில், என் திட்டத்தை வல்லமை செய்தபின் சரியான தெரிகிறது. ஆனால் உடன் Valgrind என்னை இயக்க அனுமதிக்க - கசிவு-காசோலை நினைவக முழு சமம். இப்போது நான் இந்த ரன் போது - சுவாரஸ்யமான. தவறான நேரத்தில் அளவு 4 எழுத memory.c வரிசையில் 21. Memory.c வரிசையில் 21 எந்த ஒரு? ஓ, சுவாரஸ்யமான. ஆனால் காத்திருக்க. அளவு 4, குறிப்பிடும் அந்த என்ன? நான் ஒரே ஒரு, எழுத ஆனால் அதை அளவு 4 தான். ஏன் 4? அது ஒரு முழு எண்ணாக, ஏனெனில் அது மீண்டும், நான்கு சி, உள்ளது. எனவே Valgrind ஒரு பிழை இல்லை என்று நான், என் குறியீடு மணிக்கு விரைவான பலத்த அடிகளுக்கு, இல்லை. ஒருவேளை உங்கள் TF என்று அல்லது இல்லை என்று. ஆனால் உறுதியாக இல்லை என்று Valgrind என்ன நாம் கூட, அங்கு ஒரு தவறு செய்துவிட்டேன் நாம் அதிர்ஷ்டம் கிடைத்தது, எனினும் கணினி முடிவு, ம்ம், நான் செயலிழக்க செய்ய போவதில்லை நீங்கள் ஒரு பைட், ஒரு தொட்டது தான் நீங்கள் இல்லை என்று நினைவகம் int மதிப்பு உண்மையில் சொந்த. நன்றாக, இங்கே தரமற்ற வேறு என்ன. முகவரி - இந்த ஒரு பைத்தியம் தேடும் முகவரி ஹெக்சாடெசிமல் ல். நான் எங்காவது குவியல் இருக்கிறது என்று தானே அர்த்தம் அளவு 40 ஒரு தொகுதி பின்னர் பூஜ்ய பைட்டுகள் ஒதுக்கப்பட்ட. என்னை இங்கே பெரிதாக்கவும் பார்க்கிறேன் என்றால் இந்த ஒரு சிறிய இன்னும் பயனுள்ளதாக இருக்கும். சுவாரஸ்யமான. 40 பைட்டுகள் நிச்சயமாக இழந்தது 1 இழப்பு சாதனை 1. மீண்டும், மேல் வார்த்தைகள் இங்கே பயனுள்ளதாக இருக்கும். ஆனால், உயர்த்தி கோடுகள் அடிப்படையில் அங்கு நான் அநேகமாக கவனம் செலுத்த வேண்டும் என் மற்றொரு பிழை கவனத்தை? Memory.c ஒரு வரி 20 தெரிகிறது. நாம் வரி 20 திரும்பி போக அப்படி இருந்தால், அந்த நீங்கள் முந்தைய அடையாளம் என்று ஒரு. இது தரமற்ற அவசியமில்லை. ஆனால் நாம் இந்த அதன் விளைவுகள் எதிர்மறையாக. அதனால் நான் எப்படி குறைந்தது சரி அந்த தவறுகளில் ஒன்று? நான் வரி 21 க்கு பிறகு என்ன செய்ய முடியும்? நான், x இன் இலவச செய்ய என்று நினைவு திரும்ப கொடுக்க. நான் இந்த பிழை எப்படி சரி செய்வது? நான் கண்டிப்பாக செல்ல வேண்டும் எந்த தூரம் 0 விட. என்னை முயற்சி இந்த மீண்டும் இயக்க அனுமதிக்க. மன்னிக்கவும், கண்டிப்பாக செல்ல எந்த தூரம் 9 விட. நினைவு கொள்ளுங்கள். Valgrind என்னை மீண்டும் இயக்கவும் அனுமதிக்கவும் ஒரு பெரிய சாளரத்தில். இப்போது பாருங்கள். நல்லவங்க. அனைத்து குவியல் தொகுதிகள் விடுதலை. எந்த கசிவை சாத்தியம். மற்றும் இங்கு மேலே, எந்த குறிப்பும் இல்லை தவறான உரிமை எந்த. வெறும் பேராசை, மற்றும் நாம் செய்ய பார்த்தால் மற்றொரு ஆர்ப்பாட்டம் நோக்கம் போகக்கூடாது - நான் ஒரு கணம் முன்பு அதிர்ஷ்டம் கிடைத்தது. இந்த 0 என்ற உண்மையை ஒருவேளை உள்ளது தேவையில்லாமல் தவறான. வெறும் 50, சற்றே தன்னிச்சையான செய்வோம் எண், நினைவக டாட் சாய்வு நினைவக செய்ய - இன்னும் அதிர்ஷ்டம் கிடைக்கும். எதுவும் நொறுங்கியதில். நான் ஏதாவது செய்ய வேண்டும் முட்டாள், நான் 100 செய்ய. , எனக்கு நினைவு ரீ நாம் டாட் சாய்வு நினைவக - மீண்டும் அதிர்ஷ்டம் கிடைத்தது. எப்படி சுமார் 1,000? அப்பால் ints, தோராயமாக, அங்கு நான் இருக்க வேண்டும்? நினைவக செய்ய - அடக்கடவுளே. [சிரிப்பு] சரி. அது இனி சுற்றி போடுகிறாய் வேண்டாம். நினைவக மீண்டும் இயக்கவும். அங்கு நாம். சரி. எனவே வெளிப்படையாக நீங்கள் குறியீட்டு 100,000 ints நீங்கள் இருந்திருக்க வேண்டும், அங்கு அப்பால் நினைவகம், கெட்ட விஷயங்கள் நடக்கின்றன. இந்த வெளிப்படையாக அல்ல ஒரு வன், வேகமாக ஆட்சி. நான் விசாரணை பயன்படுத்தி இருந்தது மற்றும் பிழை பெற. ஆனால் இந்த, ஏனெனில், நீண்ட கதை குறுகிய உள்ளது உங்கள் கணினியின் நினைவகம் பிரிக்கப்பட்டுள்ளது இந்த விஷயங்களை பிரிவுகளை என்று. சில நேரங்களில், கணினி உண்மையில் நீ இன்னும் சிறிது நினைவக கொடுத்துள்ளது நீங்கள் கேட்பதை தவிர. ஆனால் திறன், அது வெறும் எளிதாக மேலும் நினைவக கிடைக்கும் ஆனால் நீங்கள் சொல்ல நீங்கள் அதை ஒரு பகுதியை போகிறது என்று. நீங்கள் சில நேரங்களில் அதிர்ஷ்டம் கிடைத்தால், எனவே, நீங்கள் தொட முடியும் அந்த நினைவு உனக்கு சொந்தம் இல்லை. நீங்கள் எந்த உத்தரவாதமும் இல்லை என்று என்ன மதிப்பு நீங்கள், அங்கு தங்குவேன் வைத்து, ஏனெனில் கணினி இன்னமும் இல்லை நினைக்கிறார்கள் உன், ஆனால் அது அவசியமில்லை போகவில்லை நினைவகத்தின் மற்றொரு பிரிவில் அடிக்க கணினி மற்றும் ஒரு தவறு போன்ற தூண்ட இங்கே ஒரு. சரி. பின்னர் எந்த கேள்விகளுக்கும் நினைவகம்? சரி. மணிக்கு, பின்னர், தான் இங்கே பார்க்கலாம் நாங்கள் எடுத்து வருகிறோம் ஒன்று சில நேரம் வழங்கப்பட்டது, இது cs50.h. என இந்த கோப்பில் உள்ளது எனவே இந்த கோப்பு உள்ளது. இந்த ஒரு மொத்தமாக உள்ளன மேலே உள்ள கருத்துக்கள். நீங்கள் இந்த என்றால் பார்த்து நீங்கள் உபயோகப்பொருள் மீது சுற்றி கதையை. ஆனால் அது, அந்த நேரத்தில் மாறிவிடும் நாம் ஒரு சரம் பயன்படுத்த பயன்படுத்தும் போது பொருள், நாம் அறிவித்தார் ஒரு வழிமுறையாகும் என்று பொருளாகும் இந்த இருந்தது வகை வரையறை typedef முக்கிய,. நாம் அடிப்படையில் சொல்கிறீர்கள், செய்ய எரிப்பதை நட்சத்திர ஒத்த சரம். அதாவது மூலம் அடுக்கு என்று அழைக்கப்படும் இந்த பயிற்சி சக்கரங்கள் உருவாக்கப்பட்டது சரம். இப்போது இங்கே ஒரு முன்மாதிரி இருக்கிறது getchar ஐந்து. நாம் முன்னர் பார்த்த, ஆனால் அந்த உண்மையில் என்ன அது. getchar , வாதங்கள் இல்லை எடுக்கும் ஒரு எரிப்பதை கொடுக்கிறது. getdouble, வாதங்கள் இல்லை எடுக்கிறது இரட்டை கொடுக்கிறது. getfloat வாதங்கள் இல்லை, மீண்டும் எடுக்கிறது ஒரு மிதவை, மற்றும் முன்னும் பின்னுமாக. getint இங்கே உள்ளது. getlonglong இங்கே உள்ளது. மற்றும் getstring இங்கே உள்ளது. அவ்வளவு தான். இந்த ஊதா வரி மற்றொரு Preprocessor உள்ளது ஏனெனில் உத்தரவு இது ஆரம்பத்தில் ஹேஸ்டேகை. சரி. எனவே இப்போது எனக்கு cs50.c. கொண்டு செல்லலாம் நாம் இந்த நீண்ட பேச மாட்டேன். ஆனால் நீங்கள் என்ன ஒரு பார்வை கொடுக்க இந்த நடக்கிறது நேரம், எனக்கு செல்லலாம் - நாம் getchar செய்கிறது. எனவே getchar பெரும்பாலும் கருத்துக்கள் உள்ளது. ஆனால் இது போல். இந்த உண்மையான செயல்பாடு உள்ளது நாங்கள் தான் என்று getchar வழங்கப்பட்டது எடுத்து உள்ளது. நாம் இந்த ஒரு பயன்படுத்த கூட பெரும்பாலும், நீங்கள் எப்போதும், அதை குறைந்த பட்சம் தான் ஒப்பீட்டளவில் எளிமையான. எனவே இது ஒரு எடுத்து தகுந்தது இங்கே உள்ள விரைவு. எனவே getchar, ஒரு முடிவிலா சுழற்சியில் உள்ளது வேண்டுமென்றே மிகவும் வெளிப்படையாக. அது அழைப்பு - இந்த ஒரு வகையான உள்ளது குறியீடு நன்றாக மறுபயன்பாடு நாம் எழுதினார். இது getstring அழைப்பு விடுக்கின்றது. அது என்ன காரணம் ஒரு எரிப்பதை பெற என்ன? சரி, நீங்கள் ஒரு பெற முயற்சிக்கலாம் முழு பயனர் இருந்து உரை வரி மற்றும் பின்னர் ஒரு பார் அந்த கதாபாத்திரங்கள். வரி 60 ல், இங்கு ஒரு சிறிய விஷயம் ஒரு நல்லறிவு காசோலை பிட். Getstring உள்ள திரும்பினார் என்றால் இது தொடர வேண்டாம். ஏதோ தவறு நடந்துவிட்டது. இப்போது இந்த ஓரளவு எரிச்சலூட்டும் ஆனால் ஒருவேளை சி எரிப்பதை அதிகபட்சம் மரபு பிரதிநிதித்துவப்படுத்துகிறது என்ன தான் அதன் பெயர் அடிப்படையில்? இது ஒரு நிலையான இருக்கிறது. அது எண் மதிப்பை போல் நீங்கள் பிரதிநிதித்துவம் முடியும் எரிப்பதை மிகப்பெரிய ஒருவேளை எண் இது ஒரு கடி, மிக பெரிய எண்ணை நீங்கள் இது 255, எட்டு பிட்கள் பிரதிநிதித்துவம் பூஜ்ஜியத்தில் இருந்து தொடங்கி. அதனால் நான் போது, இந்த விழாவில், இந்த பயன்படுத்த ஏனெனில், இந்த குறியீடு எழுதி ஏதாவது getchar தவறு செல்கிறது ஆனால் என்றால் வாழ்க்கையில் அதன் நோக்கம் ஒரு திரும்ப உள்ளது கரி, நீ எப்படியாவது நீங்கள் இருக்க வேண்டும் அந்த பயனர் அடையாளங்களில் ஏதோ தவறு நடந்துவிட்டது. நாம் வெற்று திரும்ப முடியாது. அது வெற்று ஒரு சுட்டிக்காட்டி என்று மாறிவிடும். மீண்டும், getchar உள்ளது ஒரு எரிப்பதை திரும்ப. அதனால் மாநாட்டில், ஏதோ போனால் தவறு, நீங்கள் ப்ரோக்ராமர், அல்லது, தான் இந்த விஷயத்தில், எனக்கு நூலகம் கொண்டு, நான் ஒரு வெறும், நீங்கள் தன்னிச்சையாக முடிவு ஏதாவது தவறு நடந்தால், நான் போகிறேன் உண்மையிலேயே இது எண் 255, திரும்ப நாங்கள், பயனர் தட்டச்சு முடியாது முடியாது மூலம் குறிப்பிடப்படுகின்றன பாத்திரம் நாம் ஏனெனில் எண் 255 ஒரு அதை திருட ஒரு என்று அழைக்கப்படும் காவலாளி மதிப்பு ஒரு பிரச்சினை பிரதிநிதித்துவம். இப்போது அது மாறிவிடும் என்று பாத்திரம் 255 நீங்கள் தட்டச்சு செய்து ஏதாவது அல்ல உங்கள் விசைப்பலகை, அது பெரிய விஷயமல்ல. பயனர் அறிவிப்பு இல்லை என்று நான் இந்த பாத்திரம் திருடப்பட்டது. ஆனால் நீங்கள் எப்போதாவது ஒரு இல் பக்கங்களை பார்க்க வேண்டும் ஒரு கணினி அமைப்பு சில குறிப்பு , என்று தொடர்ந்து இது போன்ற அனைத்து தொப்பிகளை பிழை இந்த நிலையான வலிமையை சந்தர்ப்பங்களில் திரும்பி இருக்கிறது, இதை செய்தேன் என்று அனைத்து சில மனித ஆண்டுகளுக்கு முன்பு தன்னிச்சையாக முடிவு இந்த சிறப்பு மதிப்பு மற்றும் திரும்ப இது விஷயத்தில் ஒரு நிலையான அழைப்பு ஏதாவது தவறு நடந்தால். இப்போது மாய இங்கு நடக்கிறது. முதல், நான் வரி 67 ல் பிரகடனம் இரண்டு எழுத்துக்கள், C1 மற்றும் C2. பின்னர் வரி 68 ல், உண்மையில் அங்கு நினைவூட்டுவதாக என்று குறியீடு ஒரு வரி எங்கள் நண்பர் printf, கொடுக்கப்பட்ட அது மேற்கோளில் சதவீதம் Cs இருக்கிறது. ஆனால் என்ன நடக்கிறது இங்கே கவனிக்க. sscanf சரம் ஸ்கேன் என்றால் - ஒரு வடிவமைக்கப்பட்ட ஸ்கேன் பொருள் சரம், ஆகவே sscanf. இதற்கு என்ன அர்த்தம்? அதை நீங்கள் ஒரு சரம் sscanf கொடுக்க வேண்டும் என்பதாகும். மற்றும் வரி என்ன இருக்கிறது உள்ளே பயனர் வகையான நீங்கள் ஒரு வடிவம் சரம் போன்ற sscanf கொடுக்க வேண்டும் என்ன scanf சொல்கிறது இந்த நீங்கள் பயனர் உள்ளே தட்டச்சு செய்து நம்பிக்கையுடன் நீங்கள் கடந்து இரண்டு முகவரிகள் இந்த வழக்கில் நினைவகம் துகள்களாக,, நான் இரண்டு பெட்டிகள் ஏனெனில். எனவே நான் அதை முகவரி கொடுக்க போகிறேன் C1 மற்றும் C2 என்ற முகவரி. நீங்கள் ஒரு செயல்பாடு என்று நினைவு சில மாறி முகவரி, என்ன சம்மந்த? அந்த செயல்பாடு விளைவாக என்ன செய்ய முடியும் இது ஒரு முகவரி கொடுக்கும் மாறி, என எதிர்ப்பு மாறி தன்னை? அது சரி, அதை மாற்ற முடியாது? நீங்கள் யாராவது ஒரு உடல் ஒரு வரைபடம் இருந்தால் முகவரி, அவர்கள் அங்கு சென்று செய்ய முடியும் அவர்கள் அந்த முகவரியில் என்ன. இங்கே ஒரே யோசனை. நாம் sscanf, இரண்டு முகவரிக்கு அனுப்ப வேண்டும் கூட நினைவகம் துகள்களாக, இந்த சிறிய நினைவகம், C1 மற்றும் C2 சிறிய துகள்களாக, ஆனால் நாம், அதை அவர்கள் முகவரியை சொல்ல sscanf அதை மாற்ற முடியும். வாழ்க்கையில் sscanf நோக்கம் எனவே, நாங்கள் படிக்க வேண்டும் மனிதன் பக்கம், படிக்க என்ன பயனர் தட்டச்சு, கொண்ட பயனர் நம்புகிறேன் ஒரு எழுத்தை தட்டச்சு மற்றும் ஒருவேளை மற்றொரு பாத்திரம், மற்றும் என்ன பயனர் தட்டச்சு, முதல் எழுத்து செல்கிறது இங்கு, இரண்டாவது பாத்திரம் இங்கு செல்கிறது. இப்போது, ஒரு ஒதுக்கி, இந்த, நீங்கள் என்று மட்டுமே, ஆவணங்களை இந்த தெரியும் நான் அங்கு ஒரு காலி இடத்தில் வைத்து என்பதை நான் கவலைப்பட மாட்டேன் என்று அர்த்தம் என்றால் பயனர் விண்வெளி பட்டியில் ஒரு சில பலி அவன் அல்லது அவள் ஒரு எடுக்கும் முறை முன் பாத்திரம், நான் புறக்கணிக்க போகிறேன் எந்த வெள்ளை விண்வெளி. அதனால், நான் தெரியும் ஆவணங்கள். இரண்டாவது% கேட்ச் இல்லை என்று வெள்ளை இடத்தை தொடர்ந்து உண்மையில் வேண்டுமென்றே. நான் கண்டறிய முடியும் விரும்பினால் பயனர் வரை திருகப்படுகிறது அல்லது ஒத்துழைக்க வில்லை. நான் பயனர் மட்டுமே தட்டச்சு என்று நம்பிக்கையுடன் ஒரு எழுத்தை, எனவே நான் நம்பிக்கையுடன் என்று sscanf மட்டுமே திரும்ப போகிறது மதிப்பு 1 நான் படித்து விட்டால், மீண்டும், ஏனெனில் ஆவணங்கள், sscanf நோக்கம் ல் வாழ்க்கை எண்ணிக்கை திரும்ப உள்ளது பூர்த்தி செய்யப்பட்ட மாறிகள் பயனர் உள்ளீடு. நான் இரண்டு மாறிகள் நிறைவேற்றப்பட்டது முகவரிகள், C1 மற்றும் C2. நான், எனினும், நம்பிக்கை ஒன்று மட்டுமே அவர்களை கொலை ஏனெனில் என்றால் sscanf வருமானத்தை 2, மறைமுகமாக என்ன தர்க்கரீதியாக சம்மந்த? பயனர் ஒருமுறை கொடுக்க வில்லை என்று பாத்திரம் போல நான் சொன்னேன் அல்லது அவள். அவர்கள் ஒருவேளை மணிக்கு தட்டச்சு குறைந்தது இரண்டு எழுத்துக்கள். நான் அதற்கு பதிலாக இரண்டாவது இல்லை என்றால் % கேட்ச், நான், ஒரு கொண்டிருந்த வெளிப்படையாக இன்னும் உள்ளுணர்வு என்று அணுகுமுறை, நான் ஒரு முதல் பார்வையில் என்று, நீங்கள் கண்டறிய முடியும் போவதில்லை பயனர் நீங்கள் இன்னும் கொடுத்து இருந்தால், நீங்கள் உண்மையில் வேண்டும் விட உள்ளீடு. எனவே இது ஒரு மறைமுகமான வடிவம் பிழை சோதனை என்ற. ஆனால் நான் இங்கே என்ன கவனிக்க. ஒருமுறை நான் எனக்கு ஒரு கொடுத்தார் என்று தெரியும் பாத்திரம், நான் செய்து, வரி விடுவித்து getstring எதிர், இது இதையொட்டி நான் திரும்பி பின்னர் malloc பயன்படுத்துகிறது, மற்றும் சி 1, நான் நம்பிக்கை என்ற கதாபாத்திரம் பயனர் வழங்கப்படுகிறது மட்டுமே வழங்கப்படும். எனவே, ஒரு விரைவான மட்டுமே glimpsed, ஆனால் getchar எந்த கேள்விகள்? நாம் மற்றவர்களுக்கு சில வருகிறேன். சரி, எனக்கு முன்னால் சென்று இதை செய்ய நாம் - வெறும் ஊக்குவிக்க, இப்போது நினைக்கிறேன் எங்கள் ஒரு வாரம் பிளஸ் நேரம் விவாதம், இந்த structs.h என்று ஒரு கோப்பு உள்ளது. மீண்டும், இது ஒரு சுவை உள்ளது மேலே உள்ளது என்று ஏதாவது. ஆனால் அறிவிப்பு என்று நிறைய இந்த கருத்துக்கள் உள்ளது. என்னை முன்னிலைப்படுத்த நாம் மட்டும் இப்போது சுவாரசியமான பகுதி. typedef - அதே சொல் மீண்டும் அங்கே. typedef நாம் சரம் அறிவிக்க பயன்படுத்த சிறப்பு தரவு வகை. நீங்கள் புதிய உருவாக்க typedef பயன்படுத்தலாம் போது இல்லை என்று தரவு வகைகள் சி கண்டுபிடிக்கப்பட்டது. உதாரணமாக, int சி எரிப்பதை வருகிறது சி இரட்டை சி வருகிறது வருகிறது ஆனால் ஒரு மாணவர் இல்லை கருத்து இல்லை. மற்றும் இன்னும் அது இருக்கும் அழகான பயனுள்ளதாக இருக்கும் சேமித்து ஒரு நிரல் எழுத முடியும் ஒரு மாறி, ஒரு மாணவர் அடையாள அட்டை இலக்கம், அவர்களது பெயர், அவர்களது வீட்டில். வேறு வார்த்தைகளில் சொன்னால், மூன்று துண்டுகளாக தரவு, ஒரு முழு எண்ணாக ஒரு மாதிரி சரம் மற்றும் மற்றொரு சரம். Typedef கொண்டு, என்ன அழகான சக்திவாய்ந்த இருக்கிறது இந்த மற்றும் முக்கிய sturct பற்றி கட்டமைப்பு, நீங்கள், 2013 ப்ரோக்ராமர், உண்மையில் உங்கள் சொந்த வரையறுக்க முடியாது ஆண்டுகள் இல்லை என்று தரவு வகைகள் முன்பு ஆனால் உங்கள் நோக்கங்களுக்காக பொருத்தமாக. அதனால் இங்கு, 19 மூலம் வரிகளை 13 ல், நாங்கள் போல், ஒரு புதிய தரவு வகை பிரகடனம் ஒரு முழு எண்ணாக, ஆனால் அதை மாணவர் அழைப்பு. உள்ளே இந்த மாறுபாட்டின் போகிறது ஒரு முழு எண்ணாக, ஒரு சரம், - மூன்று விஷயங்கள் இருக்கும் ஒரு சரம். எனவே நீங்கள் உண்மையில் என்ன நினைக்க முடிகிறது இது கூட, இங்கு நடந்தது ஒரு இன்று ஒரு தெளிவுபடுத்தல் ஒரு பிட், ஒரு மாணவர் அடிப்படையில் நடக்கிறது இப்படி இருக்க வேண்டும். அதன் ஒரு துண்டின் இருக்க போகிறது ஒரு ஐடி கொண்டு நினைவகம், ஒரு பெயர் துறையில், மற்றும் ஒரு வீட்டில் துறையில். நாம் அந்த துகள்களாக பயன்படுத்த முடியும் நினைவகம் மற்றும் அவற்றை அணுக பின்வருமாறு. நான் struct0.c சென்றால், இங்கே ஒரு உள்ளது ஒப்பீட்டளவில் நீண்ட, ஆனால் தொடர்ந்து குறியீடு முறை, என்று இந்த புதிய தந்திரம் பயன்படுத்துகிறது. எனவே முதல், எனக்கு உங்கள் கவனம் இருக்கட்டும் மேலே உள்ள சுவாரஸ்யமான பகுதிகள். கூர்மையான மாணவர்கள் 3 வரையறுக்கிறது, அறிவிக்கிறது ஒரு நிலையான என்று மாணவர்கள் மற்றும் ஒதுக்குகிறது அது தன்னிச்சையாக எண் 3, அதனால் நான் பயன்படுத்தி மூன்று மாணவர்கள் வேண்டும் இப்போது இந்த திட்டம். இங்கு முதன்மை வருகிறது. மற்றும் அறிவிப்பு, எப்படி நான் அறிவிக்கிறேன் மாணவர்கள் ஒரு வரிசை? சரி, நான் அதே இலக்கணத்தை பயன்படுத்தும். வார்த்தை மாணவர் வெளிப்படையாக புதிய ஆகும். ஆனால் மாணவர், வர்க்கம், அடைப்புக்குறி மாணவர்கள். எனவே துரதிருஷ்டவசமாக நிறைய இருக்கிறது இங்கு விதிமுறைகளை மறுபயன்பாடு என்ற. இந்த ஒரு எண். இந்த மூன்று சொல்லி இருக்கிறது. வர்க்கம் நான் விரும்புகிறேன் என்ன மாறி அழைக்க. நான் அதை மாணவர்கள் அழைக்க முடியும். ஆனால் வர்க்கம், இது ஒரு வர்க்கம் அல்ல பொருள் சார்ந்த ஜாவா வகையான வழி. அது மாணவர்கள் ஒரு வர்க்கம் தான். ஒவ்வொரு உறுப்பு தரவு வகை அந்த வரிசையில் மாணவர் உள்ளது. இந்த ஒரு சிறிய வித்தியாசமாக ஏதாவது சொல்லி இருந்து இது போன்ற, இது தான் - எனக்கு மூன்று மாணவர்கள் கொடுக்க சொல்கிறேன் அந்த வரிசையில் வர்க்கம் அழைக்க. சரி. இப்போது இங்கே ஒரு நான்கு சுழற்சி இருக்கிறது. இந்த பையனின் பழக்கமான - செயல்படுத்துதல் அப் பூஜ்ஜியத்தில் இருந்து மூன்று. இங்கு தொடரியல் புதிய துண்டு தான். திட்டம், என்னை நிரல் நடக்கிறது இது ஒரு மாணவர் கொடுக்க மனித, ஒரு முழு எண்ணாக இது ஐடி. இங்கு நீங்கள் எந்த தொடரியல் தான் மணிக்கு ஐடி துறையில் ஏதாவது சேமிக்க இடம் வர்க்கம் அடைப்புக்குறி முதலாம் எனவே இந்த தொடரியல் புதிய அல்ல. இது எனக்கு எட்டாவது கொடுக்க வேண்டும் வகுப்பில் மாணவர். ஆனால் இந்த சின்னம், புதிய ஆகும். இப்பொழுது வரை, நாம், டாட் பயன்படுத்தப்படும் இந்த குறைந்தபட்சம் உள்ள குறியீடு. இதன் பொருள் என அழைக்கப்படும் struct செல்ல ஒரு மாணவர் அங்கு ஏதாவது வைத்து. இதேபோல், இந்த அடுத்த வரியில், 31, செல்ல முன்னோக்கி வைக்க என்ன பயனர் வகையான இங்கே ஒரு பெயர் மற்றும் அவர்கள் ஒரு செய்ய வீடு, அதே விஷயம், முன்சென்று . வீட்டில் வைத்து. எனவே இந்த திட்டம் என்ன செய்கிறது இறுதியில் செய்ய? நீங்கள் அங்கு ஒரு சிறிய டீஸர் பார்க்க முடியும். எனக்கு முன்னால் சென்று structs 0 செய்ய நாம் டாட் சாய்வு struct 0, மாணவர் அடையாள 1, டேவிட் மாதர், மாணவர் அடையாள 2 என்று. ராப் கிர்க்லாண்ட், மாணவர் அடையாள 3. லாரன் Leverit - இந்த திட்டத்தை நான் மட்டும் தான், இது, வெறும் முற்றிலும் தன்னிச்சையான உள்ளது நான், இந்த தரவு ஏதாவது செய்ய வேண்டும் நான் எப்படி எங்களிடம் இப்போது structs பயன்படுத்த, நான் தான் இருக்கிறது இங்கு இந்த கூடுதல் லூப். நான் மாணவர்கள் அணி மீது செயல்படுத்துதல். நான் எங்கள், ஒருவேளை இப்போது நன்கு நண்பர், பயன்படுத்தப்படும் சரத்திற்கு, stircomp ஒப்பிட்டு காசோலை 8 மாணவர் வீடு மாதர் சமமாக? அதனால் என்றால், நான் ஏதாவது அச்சிட தன்னிச்சையாக விரும்புகிறேன், ஆம், அது. ஆனால் மீண்டும், எனக்கு வாய்ப்புகள் கொடுக்கும் மற்றும் பயன்படுத்த மீண்டும் பயன்படுத்துவதற்கு இந்த புதிய டாட் மீண்டும். எனவே யார் சரி, யார் கண்டது? ஒரு மாணவர் திட்டத்தை கொண்டு வருகிறது ஓரளவு தன்னிச்சையாக, ஆனால் அது மாறிவிடும் நாம் பயனுள்ள விஷயங்களை செய்ய முடியும் என்று இந்த உதாரணமாக பின்வருமாறு. இது மிகவும் சிக்கலான struct உள்ளது சி ல் இது, ஒரு டஜன் அல்லது அதற்கு மேற்பட்ட துறைகள் இருக்கிறது சற்றே மிகுந்த அளவில் மாறுபாடாக பெயரிடப்பட்டது. ஆனால் நீங்கள் எப்போதாவது ஒரு கிராபிக்ஸ் கேள்விப்பட்டேன் என்றால் படங்கள் என கோப்பு வடிவம், BMP, அதை மாறிவிடும் என்று பிட்மா கோப்பு வடிவம் அழகான இந்த என்று தெரிகிறது. இது ஒரு முட்டாள்தனமான சிறிய ஸ்மைலி முகத்தை தான். அதை நான் காண்பிக்க என்று ஒரு சிறிய படம் தான் அழகான பெரிய நான் ஒவ்வொரு பார்க்க முடியும் தனிப்பட்ட புள்ளிகள் அல்லது பிக்சல்கள். நாம் ஒரு பிரதிநிதித்துவம் முடியும் அவுட் இப்போது, வீச்சு எண் 0, சொல்ல, கறுப்பு புள்ளி. எண் 1 மற்றும் ஒரு வெள்ளை புள்ளி. எனவே வேறு வார்த்தைகளில் கூறுவதானால், நீங்கள் விரும்பினால் ஒரு வரைய முகம் மற்றும் அந்த படத்தை சேமிக்க கணினி, அதை பூஜ்ஜியங்களைக் சேமிக்க மற்றும் போதுமான அளவில் இப்படி இருக்க வேண்டும் என்று தான், அங்கு, மீண்டும், தான் வெள்ளை மற்றும் பூஜ்ஜியங்களைக் கருப்பு உள்ளன. மற்றும் ஒன்றாக, நீங்கள் திறம்பட இருந்தால் தான் மற்றும் பூஜ்ஜியங்களைக் என்ற சுற்றிக்கட்டு ஒரு, நீங்கள் ஒரு வேண்டும் பிக்சல்கள் கட்டம், மற்றும் நீங்கள் அமைக்க வேண்டும் அவர்களை வெளியே, நீங்கள் ஒரு அழகான வேண்டும் சிறிய ஸ்மைலி முகம். இப்போது, படங்கள் கோப்பு வடிவமைப்பு, BMP உள்ளது திறம்பட அந்த தொப்பி கீழே, ஆனால் இன்னும் பிக்சல்கள் குடிகாரன் என்று நீங்கள் உண்மையில் நிறங்கள் பிரதிநிதித்துவம் முடியும். ஆனால் நீங்கள் இன்னும் அதிநவீன போது BMP மற்றும் JPEG மற்றும் GIF போன்ற கோப்பு வடிவங்கள் இது நீங்கள், அந்த நன்கு இருக்கும் வட்டில் கோப்புகளை பொதுவாக மட்டும் பூஜ்ஜியங்களைக் மற்றும் பிக்செல்களுக்கும் தான், ஆனால் அவர்கள் அதே சில மெட்டாடேட்டா வேண்டும் - உண்மையில் இல்லை என்ற அர்த்தத்தில் மெட்டா தரவு ஆனால் அது பயனுள்ளதாக இருக்கிறது. எனவே இங்கே இந்த துறைகள் குறிப்பாய், மற்றும் நாங்கள் பி தொகுப்பில் இன்னும் விரிவாக இந்த பார்க்கிறேன் 5, அந்த பூஜ்ஜியங்களைக் மற்றும் தான் என்று முன் ஒரு படத்தில் பிக்சல்கள் பிரதிநிதித்துவம் மெட்டா ஒரு கொத்து போல் இருக்கிறது பட அளவு மற்றும் பட அகலம். நான் சில பறிக்கிறோம் நான் கவனிக்க இங்கு தன்னிச்சையான விஷயங்கள் - அகலம் மற்றும் உயரம். பிட் எண்ணிக்கை மற்றும் வேறு சில விஷயங்கள். எனவே, ஒரு கோப்பில் சில மெட்டாடேட்டா இருக்கிறது. ஆனால் கோப்புகளை தீட்டப்பட்டது எப்படி புரிந்து மூலம் இந்த வழியாக வெளியே, நீங்கள் உண்மையில் முடியும் பின்னர் படங்களை கையாள, படங்களை மீட்க வட்டு இருந்து, படங்களை மறுஅளவிடுகிறது. ஆனால் நீங்கள் அவசியம் முடியாது அவற்றை மேம்படுத்தும். நான் ஒரு புகைப்படம் தேவை. அதனால் நான் பார்த்த, இங்கே ஆர்.ஜே. திரும்பி சென்றார் சில நேரம் முன்பு திரையில். நான் இங்கு சிறப்புக்குறிப்பு திறந்து என்றால், இந்த நீங்கள் என்ன பெரிதாக்க முயற்சி என்றால் நடக்கிறது மற்றும் ஆர்ஜே அதிகரிக்க. அவர் உண்மையில் எந்த நல்ல கிடைக்கவில்லை. இப்போது சிறப்புக்குறிப்பு இது ஒரு மங்கலான வகையான உள்ளது சிறிது, வெறும் விரிவுரை செய்ய ஆர்ஜே குறிப்பாக இல்லை என்பது உண்மை நீங்கள் பெரிதாக்கவும் போது மேம்பட்ட அது இந்த வழியில் செய்தால், சதுரங்கள் பார்க்க? ஆமாம், நிச்சயமாக நீங்கள் பார்க்க முடியும் ஒரு ப்ரொஜெக்டர் இல் சதுரங்கள். என்று நீங்கள் மேம்படுத்தும் போது நீங்கள் என்ன. ஆனால் புரிதலில் எப்படி நம் ஆர்.ஜே. அல்லது ஸ்மைலி முகத்தை செயல்படுத்தப்படுகிறது நம்மை நாம் உண்மையில் கையாளும் குறியீடு எழுத இந்த விஷயங்கள். மற்றும் நான், நான் இந்த குறிப்பு முடிவுக்கு நினைத்தேன் ஒரு 55 வினாடிகள், அந்த அதிகரிக்க நான் மாறாக தவறான சொல்ல, தைரியம். [மறுஒளிபரப்பு வீடியோ] -அவன் பொய் சொல்கிறான். என்ன பற்றி, எனக்கு தெரியாது. -நாம் என்ன தெரியுமா? அதாவது 9:15 ரே Santoya மணிக்கு ஏடிஎம் இருந்தது. -ஆக கேள்வி என்ன அவர் 9:16 மணிக்கு செய்து கொண்டிருந்தார்? -படப்பிடிப்பு ஒன்பது மில்லிமீட்டர் ஏதாவது மணிக்கு. ஒருவேளை அவர் துப்பாக்கி சுடும் பார்த்தேன். அல்லது அவருடன் வேலை. -காத்திருங்கள். ஒரு போக. -நீங்கள் என்ன பார்க்க வேண்டும்? , முழு திரையில் தனது முகத்தை-கொண்டுவா. அவரது கண்ணாடிகள். -இருக்கின்றன ஒரு பிரதிபலிப்பு தான். அதாவது Neuvitas பேஸ்பால் அணியின். அவர்களின் சின்னம் தான். -அவர் தான் யார் பேசுவது அந்த ஜாக்கெட் அணிந்து. [END மறுஒளிபரப்பு வீடியோ] டேவிட் ஜே MALAN: இந்த சாப்பிடுவேன் சிக்கல் அமை 5 இருக்கும். நாங்கள் அடுத்த வாரம் நீங்கள் பார்ப்போம். ஆண் உரையாளர்: அடுத்த CS50 நேரத்தில். [கிரிக்கெட் பாடும்] [இசை]