[సంగీతాన్ని] డేవిడ్ J. మలన్: అన్ని కుడి ఈ CS50 ఉంది మరియు ఈ వారం ఐదు ప్రారంభంలో ఉంది. ఇప్పటికీ, మీ సీటు పరిపుష్టులు కింద, మీరు ఏవీ లేదు. కానీ పైన, మీరు ఒక, ఈ కనుగొనేందుకు ఉండాలి మా అవగాహనకు కొద్దిగా టోకెన్ మీరు పెట్టే పని అన్ని పదిహేను యొక్క గేమ్ లోకి. కేవలం అతికొద్ది సర్కిల్ తొలగించండి కోసం ఆడడం ప్రారంభించాడు క్రింద తరగతి యొక్క మిగిలిన. సో గుర్తుచేసుకున్నారు, లేదా సెట్ సమస్య తెలుసు ఈ వారాంతంలో బయటకు వెళ్లి నాలుగు, మరొక ఆట వ్రాయటం కలిగిఉంటుంది. కానీ అది ఉంటుంది ఈ సమయంలో ఒక ఉపయోగించి అసలు గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్, ఒక వంటి పాఠ్య అంతర్ముఖాన్ని పదిహేను యొక్క గేమ్. మరియు ముందుకు మీరు ఉంటుందని గేమ్, మీరు ఇంకా ఈ తదుపరి చూడని ఉంటే, ఈ వంటి ఒక చిన్న ఏదో కనిపిస్తోంది. నా టెర్మినల్కు వెళ్లి వెళుతున్న ఇక్కడ GDB లో విండో. మరియు నేను ముందుకు వెళ్లి అమలు వెళుతున్న మీరు ప్రాప్యత చేయగల సిబ్బంది పరిష్కారం, యధావిధిగా నవీకరణ 50 నడుస్తున్న తరువాత. కానీ నేను ఒక చిన్న ఉంచారు వెళుతున్న రహస్య మోడ్, కొద్దిగా ఈస్టర్ గుడ్డు, ద్వారా, దేవుని రీతి అని పిలుస్తారు argv1 దేవుని పెట్టటం. మరియు నేను, నా సొంత ఆదేశాలు అనుసరించండి ఉంటుంది నా సొంత అది నడుస్తున్న సమస్య డైరెక్టరీ సెట్. కాబట్టి ఇప్పుడు మీరు ఒక పూర్తి వెర్షన్ చూడండి బ్రేక్అవుట్ యొక్క గేమ్. నిజానికి, ఈ సంఖ్య-చేతులు రీతి. కనుక ఇది నిజానికి వార్తలు - అయితే wowed మీరు కావచ్చు - దేవుని రీతి అమలు అందంగా చిన్నవిషయం బ్రేక్అవుట్, పదిహేను యొక్క గేమ్ వలె కాకుండా, ఇది మీరు కొన్ని చేయదలిచిన ఉండవచ్చు హ్యాకర్ ఎడిషన్ కోసం. బ్రేక్అవుట్ లో దేవుని సంతృప్తి పరుస్తుంది మోడ్ కేవలం, ఏమి అకారణంగా ఉంచడం? కేవలం సంసార అది సమాన తయారు సమాంతర స్థానం బంతి ఉంది. మరియు చాలా కాలం మీరు lockstep లో దీన్ని వంటి ఈ గేమ్ కదిలే బంతి అవుతుంది , ఎప్పుడూ, ఎప్పుడూ బంతి మిస్ ఎప్పుడూ మరియు మీరు ప్రతి గెలవాలని చేస్తాము. కానీ ఈ వారం యొక్క హ్యాకర్ ఎడిషన్ లో కేవలం దేవుని రీతి కన్నా ఎక్కువ ఉంది. ఇతర అసంఖ్యాక విశిష్టతలను ఉంది. వాటిలో, లేజర్లు. తద్వారా మీరు నిజంగా మీరు సహనం వస్తే ఇటుకలు డౌన్ షూటింగ్ మొదలు పెట్టవచ్చు మరియు కొన్ని ఇతరులు. మరియు అవ్వాలనుకుంటే ఎవరు మీరు యొక్క ఆ కోసం ప్రామాణిక వర్సెస్ హ్యాకర్ సామర్ధ్యాన్ని ఎడిషన్, నేను చూడగలరు ఈ వారం యొక్క హ్యాకర్ ఎడిషన్ ఉద్దేశపూర్వకంగా ఒక దేవుని కంటే, చెప్పటానికి, కొద్దిగా ఎక్కువ doable మోడ్ పదిహేను యొక్క గేమ్ తో. మీరు ఒక కధనాన్ని కోసం చూస్తున్న మరియు మీరు కనుక మీరు కొన్ని అదనపు ఫన్ కోసం చూస్తున్నారా లక్షణాలు ఆసక్తి ఉంటే డైవ్ చేయండి. ఇప్పుడు మరింత ఆచరణాత్మకంగా నాకు పాయింటు వీలు ఒక విషయం బయటకు అలాగే. మీరు కొన్ని ఇంకా లేకపోవచ్చు ఇది GDB, జరిమానా ఇది వ్యక్తిగతంగా చేరింది. కానీ ఇప్పుడు నిజంగా ఉపయోగిస్తారు పొందడానికి సమయం ఈ సాధనం ఈ మరియు సౌకర్యవంతమైన కు మీ జీవితాలను చేస్తుంది ఎందుకంటే చాలా సులభంగా, నిజంగా. GDB ఒక జంట రోబ్ ఉపన్యాసం ప్రతి వారాల క్రితం, గుర్తు ఆ GDB ఒక డీబగ్గర్ ఉంది. ఇది మీరు అమలు చేయనిస్తుంది ఒక సాధనం మీ కార్యక్రమం కానీ అడుగు, లైన్ ద్వారా దశను అమలు లైన్ ద్వారా, తద్వారా మీరు, చుట్టూ దూర్చు చేయవచ్చు మీరు విషయాలు జరగటం తద్వారా, తద్వారా మీరు ముద్రించవచ్చు ఆ వేరియబుల్స్ విలువలు. సంక్షిప్తంగా, మీరు మరిన్ని ఇస్తుంది printDef కంటే శక్తి చేస్తుంది. ఇప్పుడు ఆమోదం ఇంటర్ఫేస్ అందంగా మర్మమైన ఉంది. నలుపు మరియు తెలుపు అక్షర ఇంటర్ఫేస్ చాలా భాగం. ఆదేశాలను కొంతవరకు కఠినమైన మొదటి వద్ద గుర్తుంచుకోవడానికి. కానీ మీరు సగం పడుతుంది అయినప్పటికీ ఒక గంట, ఒక గంట, ఆ ముందస్తు ఉంచాలి అది లోకి సమయం పెట్టుబడి, నన్ను నమ్మండి. ఖచ్చితంగా సెమిస్టర్ చివరికి అది సేవ్ చేస్తుంది మరింత పరిమాణం మీరు ఒక క్రమంలో కంటే సమయం. సైన్ వారం ముటా త్వరగా మరియు బ్రేక్అవుట్ పరంగా, తెలిసిన మీరు మీరు చాలాకాలం చేయవచ్చు పంపిణీ కోడ్ లేదా మీ సొంత కోడ్ మీ Pst4 డైరెక్టరీ పురోగతిలో. మీరు GDB అమలు చేసే తెలుసు. / అద్భుతమైన. ఈ తెరవటానికి వెళ్తున్నారు ఈ వంటి ఒక విండో. నాకు నేనే ఎక్కువ ఇవ్వాలని లెట్ ఒక టెర్మినల్ విండో. ఆపై నేను ముందుకు వెళ్ళి వెళుతున్నాను మరియు, దానిని కేవలం అమలు కాదు. నేను మొదటి ఒక బ్రేక్ పాయింట్ సెట్ వెళుతున్న మీరు విరామం అనుమతిస్తుంది ఉపసంహరణలు, ఒక నిర్దిష్ట ప్రదేశం వద్ద అమలు. నేను వెళుతున్నాను విషయాలు సాధారణ ఉంచడానికి టైప్ చేసి కేవలం లైన్ ఒకటి విచ్ఛిన్నం ప్రధమ. నాకు నిజానికి ఈ విండో తిరిగి తెరిచి లెట్ అది ఒక సంతరించుకోనుంది ఎందుకంటే అక్కడ కొద్దిగా చిన్న. సో నేను ఇప్పుడు ఇక్కడ చేయ బోతున్నాను ఉంది నా టెర్మినల్ విండో తెరుచుకుంటుంది ఉంటే. అక్కడ మేము వెళ్ళి, న వస్తాయి. నేను డ్రాప్ బాక్స్ Pst4 తిరిగి వెళ్ళి కాబట్టి ఇప్పుడు మరియు GDB అమలు. / అద్భుతమైన ఎంటర్, గమనించవచ్చు నేను ఒక సెట్ విచ్ఛిన్నం వెళుతున్నాను రేఖ ఒక వద్ద ఒక బ్రేక్ పాయింట్. మరియు ఇప్పుడు నేను వెళ్ళడానికి వెళుతున్నాను ముందుకు మరియు రకం అమలు. మరియు నేను చేసినప్పుడు, ఏమీ గమనించవచ్చు ఏమి కనిపిస్తుంది. ఏ పాప్ అప్ ఉంది. ఏ గ్రాఫికల్ ఉంది ఇంకా యూజర్ ఇంటర్ఫేస్. నేను ఎందుకంటే కానీ అర్థమయ్యేలా వార్తలు వాచ్యంగా నా ప్రోగ్రామ్ లైన్ ఒకటి. మరియు, నేను వేగంగా ముందుకు చేసిన గమనించవచ్చు ప్రత్యేకంగా ఇప్పుడు 62, అన్ని ఎందుకంటే ఈ ఫైలు యొక్క ఎగువన stuff ఉంది వ్యాఖ్యానాలు మరియు స్థిరాంకాలు వంటి విషయాలు మరియు ఇప్పుడు విషయాలను రసహీనమైన. కాబట్టి ఇప్పుడు నేను, ప్రధాన లోపలి రెడీ ఇది పంక్తి 62 వద్ద, ఉంది. మరియు ఈ కేవలం పంపిణీ కోడ్, రీకాల్. నేను, అదే విధంగా, వెళ్ళి ఈ అప్ తెరిస్తే నా డ్రాప్ బాక్స్ డైరెక్టరీ Pst4 లోకి లోకి, breakout.c లోకి. మరియు నేను డౌన్ మరియు డౌన్ స్క్రోల్ డౌన్ మరియు ఉంటే, మరియు నాకు ముందుకు వెళ్లి ఆన్ వీలు నా లైన్ సంఖ్యలు. నేను క్రిందికి స్క్రోల్ నేను చూస్తారు ఏమి, ఒకవేళ లైన్ 62, సరిగ్గా లైన్ అని మేము పాజ్ చేసిన. ఈ లైన్ ఇక్కడ, 62, కాబట్టి మేము సిద్ధంగా ఉన్నాము పేరు. కాబట్టి ఇప్పుడు GDB లో, నేను ముందుకు వెళ్లి ఉంటే టైప్ ఇప్పుడు తదుపరి, అది జరగబోతోంది ఎంటర్ లైనును అమలు. మరియు voila, మేము కలిగి గ్రా విండో అని పిలుస్తారు. ఏమి ఒక GWindow తెలియని ఉంటే ఆందోళన కాదు, ఉంది. స్పెక్ వంటి, అది మిమ్మల్ని ప్రవేశపెడుతుంది బాగా రిహార్సల్ వీడియోల సంఖ్య స్పెక్ పొందుపరిచారు. కానీ ఇప్పుడు యొక్క ఈ ఒక తయారు చేద్దాము కొద్దిగా ఆసక్తికరమైన. నాకు ఈ విండో తరలిస్తుంది లెట్ వైపు కొద్దిగా. నాకు విండో కొద్దిగా తయారు చేద్దాము పెద్ద కాబట్టి నేను మరింత చూడగలరు. మరియు ఇప్పుడు నాకు ముందుకు వెళ్ళి తెలపండి మళ్ళీ తర్వాత ఏమి. మరియు నా ఇటుకలు ఉన్నాయి. నేను తదుపరి మళ్ళీ టైప్ ఉంటే ఇప్పుడు నేను బంతి. మరియు నేను తదుపరి మళ్ళీ టైప్ ఉంటే ఇప్పుడు నేను తెడ్డు చూడండి. మరియు అదృష్టవశాత్తూ ఈ gedit కాదు నిజంగా నాకు చూపిస్తూ సహకారం నేను మీరు ప్రతిదీ. కానీ ఇప్పుడు నేను తదుపరి మళ్ళీ ఉంటే, తదుపరి మళ్ళీ, నేను రెడీ! కొన్ని వేరియబుల్ ప్రకటించారు. మరియు నేను ఏదైనా ఒక ముద్రించవచ్చు ఈ అబ్బాయిలు యొక్క. ప్రింట్ ఇటుకలు, ముద్రలు జీవితాలను. మరియు ఇప్పుడు నేను కొనసాగితే తదుపరి, నేను ఉంటాం గమనించవచ్చు ఆ లూప్ యొక్క లోపల. కానీ కోడ్ అమలు కానుంది నేను ఆశించిన విధంగా. నేను ఈ ఫంక్షన్ తాకినప్పుడు, వేచి క్లిక్ కోసం, దీన్ని జరగబోతోంది ఇది వాచ్యంగా ఆ. నేను నియంత్రణను కోల్పోయారని అనిపించింది కార్యక్రమం. GDB నాకు మరొక ప్రాంప్ట్ ఇవ్వడం లేదు. కానీ ఆందోళన కాదు. నా గేమ్ వెళ్ళండి, ఎక్కడా క్లిక్ చేయండి. మరియు voila, ఇప్పుడు అది లైన్ 86 ఉపక్రమించాడు. మరలా, అది చివరికి, అమూల్యమైన వార్తలు డీబగ్గింగ్ సమస్యలకు. మీరు వాచ్యంగా ద్వారా దశను ఎందుకంటే మీ కోడ్, అవ్ట్ మరియు చాలా ముద్రణ విషయాలు, చాలా, చాలా. ఒంటరిగా కానీ ఇప్పుడు కోసం, ఆ టూల్స్ అందంగా చాలా మీరు పొందాలి. కనుక మనం ఒక పరిశీలించటం, కోర్సు యొక్క, మీరు ఇప్పుడు గ్రాఫిక్స్, అకస్మాత్తుగా అన్ని. మరియు ఇప్పుడు మన ప్రపంచం కొద్దిగా గెట్స్ ఆసక్తికరమైన. మరియు మీరు కొన్ని, బహుశా తెలుసు మేము ఈ కలిగి ఆన్లైన్ వీడియోలను మీరు చూడటం జరిగింది చేసిన లఘు చిత్రాలు సమస్య సెట్లలో భాగంగా. మరియు వారు, ఉద్దేశపూర్వకంగా, కాల్చి చేసిన ఒక తెల్ల నేపథ్యానికి వ్యతిరేకంగా. మరియు వాటిలో కొన్ని బోధన కలిగి లో కొంత టెక్స్ట్ గీయడం సభ్యులు భర్తీ చేసే స్క్రీన్ వాటిని వైపు. కానీ కోర్సు యొక్క, ఈ అన్ని ఆ లేదు వాస్తవ ప్రపంచంలో ఆసక్తికరమైన. ఈ ఒక తో కేవలం ఒక ఉపన్యాసం మంటపం పెద్ద తెలుపు స్క్రీన్ మరియు నేపథ్యంలో. మరియు మా అద్భుతమైన ఉత్పత్తి జట్టు విధమైన ప్రతిదీ అందమైన చూడండి చేస్తుంది యొక్క బయటకు పంట ద్వారా జరిగాక లేదా ఏదైనా ఇసుకతో మేము లేదా వద్దు. ఇప్పుడు ఈ వారం చైతన్యపరచటంలో మరియు నిజంగా, మీరు, చివరికి, వెళ్ళే పేరు కంప్యూటర్ సైన్స్ తో. కేవలం సమస్య తరువాత నాలుగు సెట్. కానీ మరొక కోర్సు లేదా ఒక మొత్తం తరువాత పాఠ్య ప్రణాళిక అద్భుతమైన అది ఏమి మీరు చెయ్యగలరు పరంగా ఈ రోజుల్లో చేయండి ముఖ్యంగా గ్రాఫిక్స్. మీరు కొన్ని చూసిన ఉండవచ్చు ఆన్లైన్ చుట్టూ ప్రవహించే. కానీ నేను కోసం, నేను మీరు చూపించు ఇష్టం ఆలోచన కేవలం ఒక నిమిషాల జంట, ఏమి ఒక సంగ్రహావలోకనం కంప్యూటర్ సాంకేతిక మరియు CGI, కంప్యూటర్ గ్రాఫిక్స్ ఈ రోజుల్లో చేయవచ్చు తెలిసిన పాట తో మరియు బహుశా చిత్రం. [MUSIC - లానా DEL RAY, "యువ మరియు అందమైన] SPEAKER 1: ఇది కేవలం కొద్దిగా అద్భుతమైన, బహుశా, ఎంత సర్వాంతర్యామిగా - [ప్రశంసలను] SPEAKER 1: నేను డౌన్లోడ్. కానీ, నేను నిజంగా అద్భుతమైన వార్తలు కేవలం సర్వాంతర్యామిగా సాఫ్ట్వేర్ మరియు కోడ్ మరియు ఎలా ఈ వంటి టూల్స్ అయి ఉన్నారు. సో ఆ దిశలో ఒక రుచి వార్తలు దీనిలో మీరు వెళ్ళవచ్చు. ఓహ్, no more ఉపకరణం నేడు. బాగా, వాస్తవానికి విషాద సమయం వార్తలు నేను చేయడానికి ప్రయత్నించాడు పాయింట్ ఇచ్చిన. అన్ని కుడి, కాబట్టి యొక్క ప్రారంభించటానికి వీలు Fusion మళ్ళీ. నాకు తర్వాత గుర్తు చేయి. అన్ని కుడి, మరియు మీరు ఒక పాడించి ఉండాలి మీరు ఒక వచ్చాం ఉంటే జనాంతికంగా ఇమెయిల్ ఆ వంటి గమనించవచ్చు. అన్ని కుడి, కాబట్టి గత వారం గుర్తు మేము తిరిగి తొక్క ఈ ప్రారంభించారు తరువాత స్ట్రింగ్ అని పిలుస్తారు. స్ట్రింగ్ యొక్క ఒక డేటా రకాన్ని గుర్తు CS50 లైబ్రరీ లో ప్రకటించింది. మరియు అది శిక్షణ చక్రాలు భాగంగా ఇప్పుడు టేకాఫ్ ప్రారంభం అవుతుంది. ఇది ప్రారంభ న ఉపయోగకరమైన భావనగా ఉంది. కానీ ఇప్పుడు అది మరింత పొందడానికి జరగబోతోంది ఆసక్తికరమైన మరియు మరింత శక్తివంతమైన నిజానికి, హుడ్ కింద చూడండి ఒక స్ట్రింగ్ కేవలం ఏమిటి, మేము చెప్పారు? అవును, కాబట్టి అది ఒక అని పిలవబడే చార్ * యొక్క. మరియు అక్కడ * అక్కడ సూచిస్తుంది చిరునామా రకమైన సంబంధం. అందువలన మీరు చార్ * అనవచ్చు మీరు కేవలం అర్థం దీని డేటా రకం ఒక వేరియబుల్ ఒక ఇప్పుడు పాయింటర్. అక్కడ స్టార్ ఉంది వాస్తవం కేవలం మీరు ఒక ప్రకటించుకున్నారు నిరూపించబడింది పాయింటర్ అని పిలుస్తారు. మరియు ఆ పాయింటర్ స్పష్టంగా కానుంది ఆఫ్ చిరునామా నిల్వ కోర్సు, ఒక చార్. ఇప్పుడు ఎందుకు ఈ అర్ధవంతం లేదు? బాగా, ఒక స్ట్రింగ్ ఏమిటి హుడ్ కింద? బాగా, కొంత సమయం కోసం మేము ఈ విధంగా చేసిన హుడ్ కింద ఒక స్ట్రింగ్ అని కేవలం h-ఇ-l-l-o, ఉదాహరణకు. కానీ మేము ఈ వంటి గురించి మాట్లాడారు చేసిన ముఖ్యంగా ఒక అర్రే ఉండటం. మరియు ఒక అర్రే అప్పుడు కొద్దిగా చూస్తారు ఈ ప్రతి, ఈ వంటి మరింత ఒక కాటు తీసుకొని. ఆపై మేము అక్కడ చెప్పారు చేసిన తిరిగి ఇక్కడ ప్రత్యేక ఏదో, బాక్ స్లాష్ 0, లేదా శూన్య చివరను. అన్ని ఈ సమయంలో, ఇక్కడ ఒక స్ట్రింగ్ ఉంది. కానీ నిజంగా, ఒక స్ట్రింగ్ నిజానికి ఒక చిరునామా. మేము చూస్తారు మరియు చిరునామాలు, తరచూ సాంప్రదాయకంగా 0x తో ముందు. 0x ఏమి సూచించడానికి లేదు? ఎవరైనా తెలుసా? కనుక ఇది కేవలం హెక్సాడెసిమల్ అర్థం. సో మీరు PST నుండి, నిజానికి, గుర్తు ఉండవచ్చు 1, నేను నమ్మకం, సన్నాహక ఒకటి ప్రశ్నలు నిజానికి గురించి అడిగినప్పుడు అదనంగా హెక్సాడెసిమల్ సంజ్ఞామానం బైనరీ మరియు దశాంశ. మరియు ఇక్కడ ప్రేరణ అని హెక్సాడెసిమల్ మీకు 16 కలిగి మీ పారవేయడం వద్ద అంకెలు. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, తరువాత ఒక ద్వారా, బి, సి, డి, ఇ, ఎఫ్. మరియు మీరు అన్ని ఆ కూడుట ఉంటే, మీరు 16 మొత్తం పొందుటకు. సో ఈ విరుద్ధంగా ఉంది మేము 10 ఉన్న దశాంశ, అంకెలు, తొమ్మిది ద్వారా 0. ఇది బైనరీ విరుద్ధంగా ఉంది మేము కేవలం 0 మరియు 1 ఉంటాయి. కానీ మీరు చేయవచ్చు రోజు ముగింపులో అదే సంఖ్యలకు ప్రాతినిధ్యం, కానీ కొంతవరకు భిన్నంగా. మరియు హెక్సాడెసిమల్ సాధారణం ఎందుకంటే దాన్ని మారుతుంది - మరియు మేము ఈ చూస్తారు తరువాత కోర్సు లో - కూడా మేము పొందుటకు సందర్భంలో వెబ్ ప్రోగ్రామింగ్ కు HTML మరియు రంగు సంకేతాలు, హెక్సాడెసిమల్ nice ఉంది. ప్రతి అంకెల ఎందుకంటే, మారిపోతాడు సంపూర్ణ నాలుగు బిట్స్ సూచిస్తుంది. చక్కగా పంక్తులు కాబట్టి అది కేవలం రకమైన అప్ మేము చివరికి చూస్తారు వంటి. సో ఈ కావచ్చు Ox123 లేదా ఏదో ఆ వంటి, సూచిస్తుంది చిరునామా 123 ఎక్కడా లోపల నా యొక్క కంప్యూటర్ యొక్క మెమరీ. కానీ కోర్సు యొక్క, కొన్ని సమస్యలు ఎదురవుతాయి ఎందుకంటే ఈ అంతర్లీన అమలు. మరియు నేను ఒక కత్తిపోటు పట్టింది గుర్తుచేసుకున్నారు ఈ వంటి ఒక ఫంక్షన్ అమలు - గత వారం డాష్ 0 డాట్ సి సరిపోల్చండి ఆ ఇది లాగా చూశారు అయినప్పటికీ కుడి, అది కేవలం సరిపోల్చండి లేదు రెండు రెమ్మలు సరిగ్గా. నేను దూరంగా ప్రధాన విసిరి చేసిన, మరియు నేను విసిరి చేసిన దూరంగా వ్యాఖ్యలు కేవలం లో దృష్టి ఇక్కడ ఆసక్తి ఆ కోడ్. ఇది బగ్గీ ఎందుకంటే అది ఎరుపు ఉంది. ఏ కారణం కోసం? బాగా, టాప్ అక్కడ వద్ద నేను ప్రకటించడంతో ఒక స్ట్రింగ్, ఏమి నిజంగా జరుగుతోందో హుడ్ కింద? బాగా, నాకు వెళ్ళి తెలపండి ఇక్కడ పరీక్షించి మరియు డ్రా. నేను, మళ్ళీ, డిక్లేర్డ్ స్ట్రింగ్ లు GetString. నేను ఇప్పుడు ముందుకు వెళ్ళి వెళ్లి వెబ్ ఇది నిజంగా ఏమి కోసం s డ్రా. ఇది ఇక్కడ ఒక చదరపు ఉండాలి జరగబోతోంది. మరియు నేను దావా వెళుతున్నాను 32 బిట్స్ అని. కనీసం ఇది సాధారణంగా, కనీసం CS50 న కంప్యూటర్లు చాలా ఉపకరణం. నేను s కాల్ వెళుతున్న. కానీ ఇప్పుడు గుర్తుకు మేము GetString అని. సో GetString తిరిగి, కోర్సు యొక్క, ఒక స్ట్రింగ్. H-ఇ-l-l-o వినియోగదారు రకాల ఎంటర్ ఉంటే స్ట్రింగ్ హలో తిరిగి కావాలి. మరియు ఆ స్ట్రింగ్, మేము కేవలం ఇలా, ముగుస్తుంది అప్ ఎక్కడా మీ కంప్యూటర్ యొక్క మెమరీ లో చివరిలో ఒక బాక్ స్లాష్ 0 తో. నేను శ్రేణి వంటి ఈ డ్రా చేస్తాము - లేదా అక్షరాలు ఆనుకొని బ్లాక్ - ఇది వాస్తవానికి. మరియు ఇప్పుడు, ఏమి GetString ఉంది నిజానికి తిరిగి? ఏమి తిరిగి చేశారు GetString ఉంది ఈ సమయంలో అన్ని? బాగా, మేము ముందు వారాల లో, చెప్పటానికి, అది ఒక స్ట్రింగ్ తిరిగి. కానీ సాంకేతికంగా, దేనిని స్పష్టంగా తిరిగి GetString? ప్రేక్షకులు: ఒక చిరునామా. SPEAKER 1: ఒక చిరునామా. ముఖ్యంగా అది చిరునామా తిరిగి ఇది సంసార చాలా మొదటి కాటు. నేను ఒక, రెండు, మూడు ఉపయోగించి ఉంచేందుకు ఇది అనుకూలమైన ఎందుకంటే. ఇది మొదటి చిరునామా తిరిగి స్ట్రింగ్ లో పాత్ర. మరియు మేము గత వారం చెప్పారు ఆ సరిపోతుంది. మేము ఎల్లప్పుడూ దొరుకుతుందని ఎందుకంటే పేరు స్ట్రింగ్ యొక్క ముగింపు కేవలం ద్వారా ఒక కోసం తో, బహుశా, అది పైగా సంభవింప లూప్ లేదా వంటి కాసేపు లూప్ లేదా ఏదో ఆ, కేవలం "బాక్ స్లాష్ 0" కోసం చూస్తున్న, ప్రత్యేక కాపలాదారుడు పాత్ర. ఆపై మేము తెలిసిన స్ట్రింగ్ పొడవు నిర్మాణము - ఈ సందర్భంలో - ఐదు. సాంకేతికంగా GetString ఏమి ఈ సందర్భంలో Ox123 తిరిగి ఉంది. సాంకేతికంగా అప్పుడు ఏమి ఉంది మేము, s లోపలి Ox123 నిల్వ. రోజు చివరిలో, కూడా ఈ అయితే కొత్త భావన, గమనికలు, వారు మీరు ఉంది కేవలం వేరియబుల్. కానీ వారు బిట్స్ నిల్వ జరిగిన ఉమ్మడిగా చిరునామా. సాంకేతికంగా అన్ని వారు గెట్స్ లు నిల్వ Ox123 ఉంది. మానవులు కానీ మేము - నేడు ఆఖరు సహా - నిజంగా, సాధారణంగా, శ్రమ వెళ్ళడం లేదు వాస్తవ చిరునామా ఏమిటి మెమరీ కొన్ని భాగం యొక్క. ఇది కేవలం వివరాలు తక్కువ స్థాయికి ఉంది తెలివైన ఆసక్తికరమైన ఉంటుంది. నేను ఈ దిద్దుబాటు రద్దుచెయ్యి వెళుతున్న. మరియు బదులుగా, మరింత ఉన్నత స్థాయి అని చెప్పడానికి మేము గమనికలు గురించి మాట్లాడటం చేసినప్పుడు నేను మరింత డ్రా వెళుతున్నాను తెలియచేసేటట్లు user-friendly బాణం అదే ఆలోచన మరియు దూరంగా తత్వాలు అసలు ఏమి వివరముల అంతర్లీన చిరునామా. మేము కోడ్ తిరిగి వెళ్ళండి ఇప్పుడు, ఏమి మేము స్ట్రింగ్ t ఉంటే గత వారం జరిగిన GetString సమానం? హలో బాగా, నేను మళ్ళీ ఉంటే, రకం నేను పొందుటకు వెళుతున్నాను ఈ సమయం మెమరీ మరొక భాగం. h-ఇ-l-l-o బాక్ స్లాష్ 0. కానీ నేను GetString అని ఎందుకంటే రెండవసారి - మరియు నేను చూడటం నుండి ఈ తెలుసు GetString కోసం సోర్స్ కోడ్ - కూడా అది హలో అని యాదృచ్చికంగా వార్తలు అయితే రెండుసార్లు టైప్, GetString కాదు ఆప్టిమైజ్ ప్రయత్నించండి వెళుతున్న మరియు తెలివైన ఉంటుంది. ఇది కేవలం మరొక భాగం పొందడానికి జరగబోతోంది ఇది కంప్యూటర్ నుండి మెమరీ మరొక చిరునామా వద్ద అవతరిస్తుంది. ఏకపక్ష కేవలం 456 చెప్పటానికి లెట్. ఆపై అది తిరిగి వెళ్తున్నారు? ఇది 456 తిరిగి జరగబోతోంది మరియు t లో నిల్వ. సో వాట్ నిజంగా న, జరుగుతుందో ఎడమచేతి వైపు నేను మరొక భాగం కలిగి ఉంటుంది మెమరీ, 32 బిట్స్ సాధారణంగా. మరియు అక్కడ Ox456 వెళ్ళడానికి వెళ్తున్నారు. కానీ మళ్ళీ, నేను ఈ ఆసక్తి లేదు ఇకపై నిర్దిష్ట సంఖ్యలో. నేను బొత్తిగా వెళుతున్న ఒక బాణం గా డ్రా. సో ఈ ఇప్పుడు ఒక కొత్త వివరణ ఉంది. కానీ అది అదే ఖచ్చితమైన ఆలోచన అన్ని ఈ సమయంలో జరుగుతున్న చేశారు. అందువలన కారణం అప్పుడు, ఈ మొదటి సరిపోల్చండి యొక్క వెర్షన్ బగ్గీ ఉంది గత వారం ఎందుకు? లు సమానం సమానం మీరు చేసినప్పుడు మీరు నిజంగా ఏమి t హుడ్ పోల్చడం కింద? మీరు చిరునామాలను పోల్చడం చేస్తున్నారు. మరియు కేవలం అకారణంగా, స్పష్టంగా, Ox123 సమాన Ox456 కు వెళ్ళడం లేదు. ఆ సంఖ్యలు ఆ బిట్స్ కేవలం భిన్నంగా ఉంటాయి. మరియు కనుక ఇది గత వారం చెప్పారు మీరు, వివిధ విషయాలను టైప్ కూడా పదాలు వెర్బేటమ్ అదే ఉన్నాయి. కాబట్టి మేము ఈ పరిష్కరించడానికి. లేమాన్ నియమాల్లో, పరిష్కారము ఏమిటి? ప్రేక్షకులు: ఒక ఫంక్షన్ ఉపయోగించండి. SPEAKER 1: ఒక ఫంక్షన్ ఉపయోగించండి. లేదా నక్షత్రాలు ఖచ్చితంగా చేరి, కానీ ఏమి ఒక ఫంక్షన్ ఉపయోగించడానికి? ప్రేక్షకులు: తీగలను పోల్చడం చేసేందుకు. SPEAKER 1: తీగలను పోల్చడం చేసేందుకు. ఇక్కడ ప్రాథమిక సమస్య నేను భావిస్తున్నట్టుగా ద్వారా నిర్వచిస్తారు తీగలను నాణ్యత వారి చిరునామాలు యొక్క పోలిక. మరియు ఖచ్చితంగా ఇప్పుడు ఒకసారి కేవలం మూగ వార్తలు మీరు ఏమి అర్థం హుడ్ కింద. నిజంగా చూడటానికి తీగలను పోల్చడం ఉంటే వారు ఒక మానవ విధంగా సమాన ఉన్నాము రెండు రెమ్మలు సమానంగా అనుకుంటున్నట్లు మేము వాటిని పాత్ర పోల్చి చూడాలి పాత్ర కోసం పాత్ర. ఇప్పుడు నేను చేసిన కాలేదు కలిగి ఈ చాలా మందమైన. కానీ చనువుగా, మేము లూప్ ఒక ఉపయోగించి. మరియు కేవలం లు బ్రాకెట్ సరిపోల్చండి t బ్రాకెట్ i వ్యతిరేకంగా i. t బ్రాకెట్ వ్యతిరేకంగా లు బ్రాకెట్ i ప్లస్ 1 i ప్లస్ 1, మొదలగునవి, లోపల లూప్ రకమైన. మరియు నేను ఏ రెండు అక్షరాలు గుర్తించడం ఉంటే తేడా, లేదా నేను ooh అని తెలుసుకోవటం ఉంటే, s ఉంది t కంటే t కంటే తక్కువ లేదా ఎక్కువ నేను వెంటనే, తప్పుడు చెప్పగలను వారు అదే కావు. కానీ నేను s మరియు t ద్వారా పొందుటకు మరియు చెప్పుకోవాలంటే అదే, అదే, అదే, అదే, అదే, ముగింపు రెండు రెమ్మలు, నేను చెప్పగలను నిజమైన, వారు సమానం. బాగా, అదృష్టవశాత్తూ, సంవత్సరాల క్రితం ఎవరైనా మాకు ఆ కోడ్ రాశారు. మరియు వారు StrComp అని స్ట్రింగ్ సరిపోల్చండి కోసం. మరియు అది ఒక చిన్న కౌంటర్ కూడా అయితే ఆ ఉంటే సహజమైన, StrComp 0 తిరిగి రెండు రెమ్మలు, s మరియు t ఒకటే. కానీ అది ప్రతికూల విలువ తిరిగి ఉంటే లు లేదా t అక్షర ముందు ఉండాలి ఇది వచ్చి ఉండాలి ఉంటే సానుకూల విలువ t అక్షర తర్వాత. మీరు ఎప్పుడైనా ఏదో క్రమం మీరు అనుకుంటే, ఇది StrComp ఉపయోగపడే హాజరవుతారు. ఇది కేవలం చెప్పటానికి లేదు ఎందుకంటే ఏ లేదా అవును, సమాన లేదా. ఇది మీరు క్రమం స్ఫూర్తిని పెంచుతుందని ఒక నిఘంటువు మైట్ ఇష్టం. StrComp సో, s కామా t సమానం 0 అంటే సమానంగా తీగలను నిజంగా సమానం. ఎవరైతే అతడ్ని ఈ ఫంక్షన్ రాశాడు ఎందుకంటే సంవత్సరాల క్రితం బహుశా లూప్ ఉపయోగించిన ఆ వంటి లేదా ఒక సమయంలో లూప్ లేదా ఏదో మళ్ళీ పాత్రలను దగ్గరవడానికి మళ్లీ మళ్లీ. కానీ సమస్య రెండు ఇక్కడ ఉద్భవించాయి. ఈ copy0.c ఉంది. మరియు ఎరుపు లో రెండు అది పొరపాట్లు ఎందుకంటే. మరియు మేము ఇక్కడ ఏం చేసావ్? Well, మొదట నేను GetString అని. మరియు నేను s లో తిరిగి విలువ నిల్వ. సో ఇది చాలా అదే వార్తలు చిత్రం ఈ టాప్ భాగం. కానీ ఆ తర్వాత వస్తుంది? బాగా, నాకు ముందుకు వెళ్లి వదిలించుకోవటం వీలు ఈ మొత్తం బంచ్ ఆఫ్. మేము అక్కడ కేవలం సమయం లో రివైండ్ చేస్తాము ఇప్పుడు అనుగుణంగా ఇది s, కలిగి లైన్ అప్ అక్కడ ఒక. నేను తనిఖీ. లు సమానం ఉంటే 0 సమానం. ఇప్పుడు, ఒక శీఘ్ర వైపు నోటు, ఉన్నప్పుడు GetString 0 తిరిగి ఉండవచ్చు? తగినంత మెమరీ లేదు వార్తలు. కుడి? ఇది, ఈ ఏమి జరుగుతుందో అని అరుదైన వార్తలు ఖచ్చితంగా ఆ కంప్యూటర్లో లేదా megs వందల వచ్చింది RAM కూడా వేదికలను. కానీ, సిద్ధాంతం లో, తిరిగి 0, ముఖ్యంగా యూజర్ సహకారం లేదు. మీరు కలిగి నటిస్తారు మార్గాలను ఉంది ఇన్పుట్ ఏదైనా మరియు ట్రిక్ తిరిగి లోకి GetString సమర్థవంతంగా 0. సో ఆ కోసం తనిఖీ జరగబోతోంది. మీరు ఏ మొదలుపెట్టారు ఉంటే ఎందుకంటే , ఇప్పటికే విభజన లోపాలుగా పొందుటకు - ఇది బహుశా ఒక మూలంగా ఉంది కొన్ని నిరాశ - ఆ ఎల్లప్పుడూ ఫలితం మెమరీ సంబంధిత లోపం. ఏదో మీరు ఒక సంబంధించి గందరగోళంలో మీరు గ్రహించడం లేదు కూడా పాయింటర్, ఒక పాయింటర్ ఉంది. సో మీరు విభజన ప్రేరిత ఉండవచ్చు ఉపయోగించి వారం ఒక నాటికి లోపాలుగా లూప్ లేదా కాసేపు ఒక వంటి ఏదో చాలా దూరం వెళ్ళి లూప్ మరియు వ్యూహం కొన్ని అర్రే యొక్క సరిహద్దులను దాటి ఆ మీరు వారంలో రెండు, డిక్లేర్డ్ ప్రత్యేక. మీరు కూడా సమస్య చేసి ఉండవచ్చు బ్రేక్అవుట్ తో నాలుగు సెట్. మీరు బహుశా చూడని అయినప్పటికీ కోసం పంపిణీ కోడ్ ఏ నక్షత్రాలు బ్రేక్అవుట్, దాన్ని చేస్తుంది ఆ GRect మరియు GOval మరియు ఇతర విషయాలు, ఆ నిజానికి గమనికలు ఉన్నాయి హుడ్ కింద. మాకు వంటి కానీ స్టాన్ఫోర్డ్,, చర్మము యొక్క విధమైన ఆ వివరాలు కనీసం గ్రంథాలయాల కోసం ప్రయోజనాల, చాలా మేము వంటి స్ట్రింగ్ మరియు చార్ * కోసం. కానీ GRect మరియు GOval మరియు ఆ యొక్క అన్ని మీరు అబ్బాయిలు ఉంటాయి లేదా విషయాలు ఉపయోగించారు ఈ వారం చివరకు మెమరీ చిరునామాలు. మీరు కేవలం తెలియదు. అది బహుశా, అప్పుడు ఆశ్చర్యకరమైన కాదు మీరు కొన్ని పైగా ట్రిప్ ఉండవచ్చని విభజన లోపాలుగా. కానీ, ఇప్పుడు ఇక్కడ ఆసక్తికరమైన ఏమిటి మేము మేము 0 తనిఖీ తర్వాత ఉంటే స్ట్రింగ్ t లు గెట్స్. బాగా, నాకు t డిక్లేర్ వీలు. నేను, ఒక చదరపు గా డ్రా వెళుతున్నాను 32 బిట్స్, దానిని కాల్. ఆపై నేను వెళుతున్నాను లు గెట్స్. బాగా, ఆ అర్థం ఏమిటి? బాగా, అది ఆలోచించడం కొద్దిగా కష్టం గురించి వారీగా చిత్రం. కానీ వీలు యొక్క గురించి ఆలోచించడం x యొక్క లోపల ఏమి? ఈ వేరియబుల్ లోపల వాచ్యంగా ఏమిటి? విలువ Ox123. కేవలం నేను ఉన్నప్పుడు స్ట్రింగ్ t లు గెట్స్, ఆ వాచ్యంగా సంఖ్య తీసుకుంటాయి s లో, ఇది Ox123 మరియు అది Ox123 చాలు. లేదా చిత్రాల యొక్క నేను రకమైన వియుక్త దూరంగా ఆ వివరాలు నుండి ఉంది వాచ్యంగా చేయడం ప్రభావం ఈ అలాగే. కాబట్టి ఇప్పుడు, గత వారం తిరిగి ఆలోచించినప్పుడు మేము పెట్టుబడిదారీ T. నేను బయలుదేరింది T బ్రాకెట్ 0 చేసింది. బాగా, అది ఒక T బ్రాకెట్ 0, వార్తలు అయినప్పటికీ పాయింటర్, మీరు అయితే చికిత్స చేయవచ్చు అది ఒక చదరపు తో, ఒక శ్రేణి యొక్క బ్రాకెట్ నొటేషన్. సో ఇక్కడ T బ్రాకెట్ 0? బాగా, అది h వార్తలు. అందువలన మేము కోడ్ యొక్క లైన్ ఉపయోగించినప్పుడు, ఆ సి type.h లో ఇది రెండు ఎగువ, శీర్షికా ఫైలును, ఆ పేరు యొక్క ఇది ప్రకటించబడిన. మీరు ఈ H. క్యాపిటల్స్ కానీ యొక్క చేస్తున్నారు కోర్సు, ఆ అదే ఖచ్చితమైన h వార్తలు లు లోపలి మాట్లాడటానికి. అందువలన ఇప్పుడు మీరు లేదా మార్చబడ్డాయి క్యాపిటల్స్ అసలు మరియు రెండు కాపీ అని పిలుస్తారు. మీరు ఒక కాపీని లేదు ఒక మానవ అది అనుకుంటున్నారో ఆ విధంగా. ఇక్కడ పరిష్కారము, ఏమి ఉంది copy1.c గత వారంలో? విధులు, కాబట్టి మేము నిజానికి అనుకొనుట స్ట్రింగ్ కాపీ. మరియు ప్రాథమికంగా, మేము ఏమి చేయాలి స్ట్రింగ్ కాపీ చేయడానికి ఏమి? బాగా, ఇక్కడ ఈ ఆకుపచ్చ వెర్షన్ లో నేను ఇది చాలా తక్కువ స్థాయి చేయబోవడం. విధులు నిజానికి ఉన్నాయి వారు ఈ సహాయం కాలేదు. కానీ చాలా ప్రాథమిక ఒక, మరియు అత్యంత తెలిసిన ఒక, కనీసం, వెంటనే ఉంటుంది మనకు తెలిసిన, క్రింది ఉంది - కాబట్టి మొదటి పంక్తిలో ఒక ఆకుపచ్చ కోడ్ ఇప్పుడు. నేను చార్ * వంటి s తిరిగి వ్రాసారు. ఎలాంటి క్రియాత్మక ఉంది అక్కడ తేడా. నేను CS50 లైబ్రరీ దూరంగా విసిరి మరియు నేను, ఒక చార్ * ఏ పిలుస్తూ వెబ్. ఇప్పుడు డాట్, డాట్, డాట్, ఉన్నాయి ఎందుకంటే కాదు కొన్ని దోష పరిశీలన మళ్ళీ గురించి మాట్లాడటానికి ఆసక్తికరమైన. కాబట్టి ఇప్పుడు t ప్రకటిస్తారు. ఇది చాలా ఒక చార్ * ఉంది. సో నేను న కొద్దిగా చదరపు ఆకర్షించింది ముందు వంటి స్క్రీన్. కానీ కుడి వైపు, malloc, మేము మెమరీని కేటాయించాల్సిన చెప్పాడు. సో మెమరీ కొన్ని భాగం కేటాయించుటకు. మరియు మేము నిజానికి ఎన్ని బైట్లు చేయండి కేటాయించుటకు కావలసిన, అది అనిపించడం లేదు? బాగా, s యొక్క స్ట్రింగ్ పొడవు. అది హలో అని, కాబట్టి ఉంటే ఐదు అవతరిస్తుంది. మేము h-ఇ-l-l-o చెప్పటానికి చేస్తాము. ఐదు బైట్లు సో. కానీ అప్పుడు 1 ప్లస్, ఎందుకు 1? 0 పాత్ర. మేము ఈ వ్యక్తి కోసం గది వదిలి లేకపోతే మేము అనుకోకుండా ఒక పరిస్థితి సృష్టించవచ్చు స్ట్రింగ్ పేరు h-ఇ-l-l-o. తరువాత సమయం GetString ఉంది , అని మరియు నేను ఉదాహరణకు, టైప్ డేవిడ్, D-a-v-i-d, కంప్యూటర్ వెళ్తున్నారు లు నిజానికి అనుకొనే h-ఇ-l-l-o-d-a-v-i-d ఉంది ఎందుకంటే ఆ పదాల మధ్య లో విచ్ఛిన్నం సంఖ్య. కనుక మనం ఆ విరామం అవసరం. కాబట్టి మేము ఐదు వద్దు. మేము ఆరు బైట్లు కావలసిన. మరియు బైట్లు నేను. కానీ అది చార్ యొక్క నిజంగా సమయం పరిమాణం యొక్క. సాంకేతికంగా చార్ దాదాపు ఉంది ఒకే బైట్. కానీ కేవలం మా కోడ్ పోర్టబుల్ చేయడానికి, కాబట్టి అది పనిచేస్తుంది కాబట్టి, మాట్లాడటం వివిధ కంప్యూటర్ల కూడా వారు వాటిని ఉంటే క్రింద కొంతవరకు భిన్నంగా హుడ్, నేను సాధారణంగా వెళుతున్న చార్ యొక్క చెప్పటానికి పరిమాణం తద్వారా నా కోడ్ ఎల్లప్పుడూ పని. మరియు నేను దానిని మళ్ళీ కంపైల్ చెయ్యండి లేదు నేను నా కంప్యూటర్ అప్గ్రేడ్ లేదా ఉపయోగించడానికి ఎందుకంటే కొన్ని వివిధ వేదిక. నేను 6 రెట్లు పొందాను 1 నిర్మాణము ఇది ఒక చార్. తద్వారా అంటే malloc అనుకొనుట నాకు ఆరు బైట్లు ఇవ్వాలని. నిజానికి చేయడం ఆ ఏమిటి? బాగా, నాకు ఇక్కడ సమయంలో తిరిగి వెళ్లండి వీలు మేము కథలో ఉన్నాయి అక్కడ. నేను ఇక్కడ తిరిగి వెళ్ళి ఉంటే, నేను డిక్లేర్డ్ చేసిన t అనే చార్ *. నేను ఇప్పుడు ఆరు బైట్లు కోసం malloc అని చేసిన. మరియు ఇప్పుడు నేను ఆ ఆరు డ్రా వెళుతున్నాను కేవలం శ్రేణి ముందు వంటి బైట్లు. కానీ నేను నిజానికి ఏమి తెలియదు ఈ శ్రేణిలో. మీరు మెమరీని కేటాయించాల్సిన ఉంటే దాన్ని చేస్తుంది ఆ మీరు కొన్ని ఉంది విశ్వసిస్తున్నాను కాదు అక్కడ వాల్యూ. ఇది ఏదో ఉపయోగించిన కాలేదు వేరే కొన్ని ఇతర చర్య, కొన్ని ఇతర మీరు రాశారు కోడ్ లైన్. కనుక మనం సాధారణంగా ఈ చెత్త కాల్ చేస్తాము విలువలు మరియు, బహుశా, వాటిని డ్రా ప్రశ్నార్థకాలుగా, కేవలం సూచించే మేము అక్కడ నిజానికి ఏమి తెలియదు. మరియు ఆ చాలా కాలం మేము ఏ పెద్ద ఒప్పందం వార్తలు ఆ తిరిగి రాస్తుంది తగినంత స్మార్ట్ ఉంటాయి చెత్త సంఖ్యలు విలువలు లేదా మనం శ్రద్ధ ఆ అక్షరాలు. సో ఈ విషయంలో నేను చేసేది చచ్చేది? బాగా, నా లైన్ కోడ్ తదుపరి, నేను నాలుగు. నేను 0 పొందుటకు INT, n గెట్స్ s యొక్క స్ట్రింగ్ పొడవు. లూప్ కాబట్టి తెలిసిన. నేను, కంటే తక్కువ లేదా n సమానం ఇది సాధారణంగా ఎక్కువ. కానీ ఈ సమయంలో అది ఉద్దేశపూర్వకంగా వార్తలు. నేను + +, మరియు అప్పుడు నేను కేవలం చేయండి t బ్రాకెట్ i s గెట్స్. నా చిత్రం ఈ కనిపిస్తుంది కాబట్టి t నిల్వ ఈ క్షణం, ఉంది మెమరీ యాదృచ్చిక భాగం యొక్క చిరునామా వీటి విలువలు తెలియని. కానీ వెంటనే నేను t బ్రాకెట్ చేస్తాను ఇక్కడ నాకు ఉంచుతుంది 0. మరియు అక్కడ ఏమి డ్రా విధానం ముగిసిపోయే? మేము h పెట్టటం ముగింపు. ఆ లు బ్రాకెట్ 0 ఏమి ఎందుకంటే. మరియు తర్వాత అదే విషయం ఇ, మరియు l, మరియు l, మరియు ఓ. n, ఎందుకు నేను ద్వారా అప్ వెళ్ళి వచ్చింది n కు సమాన? 0 పాత్ర కారణంగా. సో కేవలం అప్పుడు, స్పష్టంగా, నేను నిజానికి కు తుడుచు సంసార ఈ చెత్త విలువలు మరియు తరువాత నిజానికి లో డ్రా నేను ఆశించిన ఏమి, ఈ లు బ్రాకెట్ 1, 2, ఉంది 3, 4, అదనంగా ఆ వెనుకంజలో లో కొత్త పాత్ర. అందువలన ఇప్పుడు మేము, డాట్ గత కొనసాగినట్లయితే ఈ సరైన వెర్షన్ లో డాట్, డాట్ మరియు మూలధన t బ్రాకెట్ 0 నేను చేస్తాను, యొక్క కోర్సు, క్యాపిటల్ అవుతుంది ఈ ఇక్కడ వ్యక్తి, ఇది సందర్భానుసారంగా, చివరికి గోల్. సో ఆ అన్ని పాయింటర్ గా. మరియు మీరు వారాల కోసం వాటిని ఉపయోగించి పరిష్కరించగలుగుతున్నాము ఇప్పుడు తీగలను సందర్భంలో. కానీ హుడ్ కింద వారు ఉన్నారు కొద్దిగా క్లిష్టమైన. కానీ మీరు ఈ వాటిని గురించి అనుకుంటే చిత్రాల రూపం వారు ఉన్నట్లు చెప్పిన ప్రతిపాదనలను వారు బహుశా ఆ భయానకంగా లేదు మొదటి మొదటి చూపులో అనిపించవచ్చు ఉండవచ్చు, ప్రత్యేకంగా కొత్త సిన్టాక్సుతో. గమనికలు ఏ ప్రశ్నలు, తీగలను, లేదా అక్షరాలు? అవును? ప్రేక్షకులు: మీరు వెళ్లవచ్చు [వినబడని] కు? SPEAKER 1: ఖచ్చితంగా. ప్రేక్షకులు: మీ ఆఖరి వస్తాయి కనుక ఎలా లైన్, మీరు ఒక * t లేవు మరియు ఒక * s లైన్ లో? మీరు ప్రస్తావించిన లేదు - SPEAKER 1: అమ్మో, ఒక నిజంగా మంచి ప్రశ్న. ఎందుకు నేను ఒక * t మరియు A * S లేదు? ఎందుకంటే మా వంటి క్లుప్తంగా, గత వారం, ఫంక్షన్ మార్పిడి, నేను ఆ సమయంలో అని పేర్కొన్నారు మీరు ఒక పాయింటర్ అంటే పొందాను మేము మీరు అక్కడికి వెళ్లేందుకు ఇది భౌతికంగా వేదిక పై, వాస్తవానికి ఉంది స్టార్ ఆపరేటర్లు ఉపయోగించడానికి. ఇది హాజరవుతారు ఈ స్క్వేర్ బ్రాకెట్ సంజ్ఞామానం మేము వాక్యనిర్మాణ కాల్ చేస్తాము ఏమిటి కేవలం ఒక సెక్సీ మార్గం ఇది చక్కెర, అది యొక్క సంక్షిప్త లిపి సంకేతం అని మీరు వర్ణించే దాన్ని ఖచ్చితంగా ఏమి. కానీ అది ఒక చిన్న మరింత స్పష్టమైన వార్తలు. మరియు తయారీ ప్రమాదం ఈ మరింత అనిపించవచ్చు అది ఉండాలి కంటే సంక్లిష్టంగా, ఏమి నిజంగా ఇక్కడ జరగబోతోంది ఇలా - నేను అర్థం * t చెప్తారు ఉంటే వెళ్ళండి చిరునామా t నిల్వ. సో వాచ్యంగా, నిల్వ t ఉంటే ఆ h యొక్క చిరునామా ప్రారంభంలో, * t అంటే ఇక్కడకి. ఇప్పుడు, t బ్రాకెట్ 0 అర్థం ఏమిటి? అదే ఖచ్చితమైన విషయం. ఇది కేవలం ఒక చిన్న మరింత వినియోగదారు వ్రాయడానికి స్నేహపూర్వక. కానీ నేను ఇంకా పూర్తి కాదు. నేను * t * s గెట్స్ చెప్పలేము. ఎందుకంటే నేను ఏమి అవుతుంది? నేను h, h, h, h, h తెస్తుంది ఇష్టం మొత్తం విషయం అంతటా. కుడి? * T ఎందుకంటే t లో చిరునామా వెళ్ళండి. అయితే లూప్ యొక్క లోపల ఉన్నాము. ఏ విలువ నేను, పెంచడం చేస్తున్నాను కోర్సు యొక్క, ప్రతి పునరావృతం న? i. కానీ అవకాశం ఉంది ఇక్కడ, కుడి? ఇది సంతరించుకోనుంది వంటి ఈ అనిపిస్తుంది అయినప్పటికీ కొద్దిగా మరింత ఆధునిక చదరపు బ్రాకెట్ సంజ్ఞామానం కంటే మేము కొంత సమయం కోసం ఉపయోగించిన - నాకు నా h మార్పు దిద్దుబాటు రద్దుచెయ్యి వీలు - ఈ ఇప్పుడు ఒక చిన్న పొందడానికి మాత్రం ఫ్యాన్సియెర్స్, ప్రాథమిక ఆలోచన, ఉంటే * t ఇక్కడ అర్థం మరియు * t కేవలం t లో చిరునామా వెళ్ళండి. కానీ t లో చిరునామా ఏమిటి? మేము ఉపయోగించి ఉంచేందుకు సంఖ్య? Ox456 వంటి, యొక్క ఆ బాగు వీలు కేవలం చర్చ కొరకు. బాగా, నేను ఇ వద్ద పొందుటకు కావాలా t స్ట్రింగ్, నేను, కు వెళ్లాలని మీరు అనుకుంటున్నారా ముఖ్యంగా, 456. లేదా బదులుగా, 457. నేను ఒక జోడించడానికి అవసరం. కానీ నేను ఆ చేయవచ్చు? T, నేను డ్రాయింగ్ ఉంచండి అయినప్పటికీ ఎందుకంటే ఇప్పుడు ఒక బాణం వంటి, అది కేవలం ఒక యొక్క సంఖ్య, Ox456. మరియు నేను ఒక జోడించడానికి, లేదా మరింత ఉంటే సాధారణంగా, నేను నేను ఆ నేను చేర్చిన నేను ఖచ్చితంగా పేరు నిజానికి పొందుటకు. నేను నిజానికి దీన్ని ఉంటే - మరియు ఈ అని పిలుస్తారు ఏమి ఉంది పాయింటర్ అంక - నేను ఈ లైన్ తొలగించవచ్చు. స్పష్టముగా, ఇది, నేను స్వచ్చమైన మరియు అనుకుంటున్నాను చదవడానికి కొంచెం యూజర్ ఫ్రెండ్లీ. కానీ ఈ తక్కువ సరైనది. కోడ్ యొక్క ఈ లైన్ ఇప్పుడు ఉపయోగిస్తోంది పాయింటర్ అంక. ఇది వెళ్ళండి మాట్లాడుతూ లో తరువాత చిరునామా - t ప్రారంభంలో ఉంది సంసార, ఇది ఇది ప్రారంభంలో t ప్లస్ i, ఉంది గొప్ప ఇది, 0. ఆ t ప్రారంభంలో అంటే ఎందుకంటే ప్లస్ 1, ప్లస్ 2, ప్లస్ 3, మొదలగునవి. లు మరియు అదే ఒప్పందం. ఈ కోసం సో వాక్యనిర్మాణ చక్కెర. కానీ అర్థం ఏమి నిజంగా జరగబోతోంది హుడ్ కింద, నేను, వాదిస్తుంది లోనే మరియు నిజానికి ఉపయోగపడుతుంది. అది కాదు ఇప్పుడు అర్థం ఎందుకంటే మరింత మేజిక్ జరగబోతోంది హుడ్ కింద. చాలా ఉన్నట్లు వెళ్ళడం లేదు మేము మీ కోసం చర్మము వెనుకకు చేసే పొరలు. ఈ సి ఉంది. మరియు ఈ ప్రోగ్రామింగ్ ఉంది. ప్రశ్న నిజంగా మంచి. అన్ని కుడి, కాబట్టి ఇది బగ్గీ ఉంది నేను ముందు సూచిస్తున్నట్లు కార్యక్రమం. స్వాప్ పొరపాట్లు ఉంది. పని అనిపించింది ఉంటే. కేవలం పాలు వలె మరియు గుర్తుచేసుకున్నారు నారింజ రసం - నేను ప్రారంభమైన నేటి ప్రదర్శన త్రాగటం. సో కేవలం నారింజ రసం మరియు వంటి పాలు, మేము ఒక ఉపయోగించడానికి కలిగి లేదు తాత్కాలిక వేరియబుల్, tmp, ఒక పట్టుకోండి తాత్కాలికంగా తద్వారా మేము అప్పుడు అనుకొనుట బి అప్డేట్ దాని విలువ మార్చడానికి మరియు. కానీ ఈ ఫంక్షన్, మేము చెప్పాడు, లేదా ఈ ఈ ఫంక్షన్ ఉంది దీనిలో కార్యక్రమం వ్రాసిన తప్పు దోషపూరిత ఉంది, ఎందుకు? అవును? ప్రేక్షకులు: [వినబడని]. SPEAKER 1: సరిగ్గా, ఉన్నప్పుడు మీరు swap కాల్ - లేదా మరింత సాధారణంగా, మీరు అత్యంత ఏదైనా ఫంక్షన్ కాల్ - ఆ ఫంక్షన్ కు వాదనలు ఉంటే ఆదిమ, మాట్లాడటానికి, ints మరియు అక్షరాలు మరియు డబుల్స్ మరియు తేలటం, విషయాలు లేకుండా నక్షత్రాలు, మీరు ఒక కాపీని లో వెళుతున్నాయి వాదన. X 1 మరియు y 2 కనుక, ఒక వెళ్తున్నారు 1 ఉండాలి మరియు బి 2 అవతరిస్తుంది. కానీ వారు వివిధ భాగాలు ఉంటుంది చేయబోతున్నామని ముక్కలు, వివిధ భాగాలు యొక్క నిల్వ చేయడానికి జరిగే మెమరీ ఒకే విలువలు. సో ఈ కోడ్ పరిపూర్ణ సూపర్ ఉంది ఒక అండ్ బి ఇచ్చిపుచ్చుకోవడం వద్ద. ఇది ఇచ్చిపుచ్చుకోవడం ఏ బావుంటుంది - - గత వారం యొక్క ఉదాహరణలో x మరియు y. మళ్ళీ, వారు ఉన్నారు తప్పు పరిధి. ఇప్పుడు, మేము ఈ ఫిక్సింగ్ గురించి ఎలా వెళ్ళి వచ్చింది? మేము ఫంక్షన్ నిరూపించాలి కొద్దిగా uglier చూడండి. కానీ మళ్ళీ, భావిస్తారు ఈ కేవలం అర్థం. మరియు వాస్తవానికి,, నిలకడ కోసం, నాకు తెలపండి దానికి సమానంగా కాబట్టి ఒక విషయం మార్చడానికి మేము కేవలం ఏమి. నేను గత వారం పేర్కొన్న అది లేదు అది వెళ్ళే పట్టింపు. నిజానికి, సాధారణంగా మీరు చాలు వేరియబుల్ పేరు ప్రక్కన ఉన్న నక్షత్రం. కానీ అది ఒక చిన్న సులభంగా ఉంటుందనుకుంటున్నాను పక్కన * పరిగణలోకి దాని అర్ధం డేటా రకం ఒక పాయింటర్ వార్తలు ఈ సందర్భంలో ఒక పూర్ణాంకానికి. నేను ఇక్కడ సో వాట్ చేస్తున్న? నేను ఒక Int ఇవ్వాలని లేదు మాట్లాడుతూ వెబ్ మరొక Int తరువాత, వాటిని ఒక అండ్ బి కాల్. నాకు ఒక Int యొక్క చిరునామా ఇవ్వండి. నాకు మరొక Int యొక్క చిరునామా ఇవ్వండి. ఆ ఒక అండ్ బి చిరునామాలు కాల్. ఆపై * సంజ్ఞామానం డౌన్ ఉపయోగించి క్రింద, ఆ చిరునామాలు ప్రతి వెళ్ళండి గా గాని అవసరం లేదా దాని విలువ సెట్. కానీ ఇక్కడ ఒక మినహాయింపు ఉంది. ఎందుకు నేను tmp పక్కన ఒక * లేదు? ఎందుకు నేను ఉదాహరణకు, ఈ లేదు? నేను అన్ని వెళ్ళాలి వంటి ఇది అనిపిస్తుంది బయటకు మరియు మొత్తం విషయం సరి. అవును? ప్రేక్షకులు: [వినబడని]. SPEAKER 1: నేను డిక్లేర్డ్ లేదు ఒక స్ట్రింగ్ గా tmp. సో ఈ, ఈ సందర్భంలో, డిక్లేర్ ఉంటుంది ఒక tmp ఒక Int యొక్క చిరునామా కు. కానీ, నేను మీరు చాలా ఏమి కాదు కారణాలు జంట కోసం. ప్రేక్షకులు: మీరు వాటిని మార్పిడి వద్దు. SPEAKER 1: సరిగ్గా, నేను మార్పిడి వద్దు tmp తో ఏదైనా. tmp కేవలం వారం ఒక విషయం. నేను మీరు అన్ని ఒక చరరాశి కొన్ని సంఖ్య నిల్వ. నేను కూడా చిరునామాలను లక్షపెట్టరు ఈ సమయంలో. నేను 32 బిట్స్ అవసరం లేదా కాబట్టి ఒక Int నిల్వ. మరియు నేను ఆ 32 బిట్స్ లో ఉంచాలి కావలసిన సంసార మాట్లాడటానికి, ఒక లేదు, కానీ కేవలం ఖచ్చితమైన ఉండాలి, ఒక వద్ద ఏమిటి. ఒక ఒక చిరునామా ఉంటే, * ఒక అర్థం ఎందుకంటే అక్కడ వెళ్ళి విలువ 1 పొందుటకు. ఉదాహరణకు, గత వారం యొక్క ఉదాహరణలో లేదా బి విషయంలో 2 విలువ పొందుటకు. సో వాట్ నిజంగా జరగబోతోంది? నాకు అవుతుంది ఇక్కడ ఒక చిత్రం డ్రా లెట్ నేటి భాగంగా కాకుండా బాధించటం. కానీ ఈ కనిపిస్తుంది కొంతకాలంగా కోసం. ఈ, నేను క్లెయిమ్, మీ కంప్యూటర్ యొక్క ఉంది మెమరీ మీరు ఒక పరిగెడతారు కనిపిస్తుంది కార్యక్రమం, ఏ కార్యక్రమం. మీరు అగ్రభాగాన ఒక అమలు చేసేటప్పుడు మీ కంప్యూటర్ యొక్క RAM యొక్క - కాబట్టి అనుకుంటున్నారో మీ ఈ దీర్ఘ చతురస్రం, నిజంగా, కంప్యూటర్ యొక్క RAM మెమరీ, అన్ని 101 అది బిలియన్ల బైట్లు, అన్ని రెండు బిలియన్ బైట్లు, ఇది అన్ని రెండు గిగాబైట్ల, మీరు పరిమాణం సంసార, యొక్క ఒక దీర్ఘ చతురస్రం వలె డ్రా వీలు. మీరు ఒక ప్రోగ్రామ్ అమలు చేసినప్పుడు మరియు నేను వాదించారు Microsoft Word లేదా Chrome వంటి ఆ వంటి లేదా ఏదైనా, ఆ బిట్స్ Microsoft లేదా Google రాశారు - ఆ కార్యక్రమాల సందర్భాలలో - మీ కంప్యూటర్ యొక్క మెమరీ లోడ్ చేయబడతాయి వారు మరింత అమలు పేరు త్వరగా మరియు ఫెడ్ CPU లోకి, ఇది కంప్యూటర్ మెదడుల్లో ఉంది. మరియు TAM వారు చాలా వద్ద నిల్వ చెయ్యబడ్డాయి మీ ప్రోగ్రామ్ యొక్క టాప్, మాట్లాడటానికి. ఇతర మాటలలో, ఈ ఒక భాగం ఉంది మెమరీ, మీరు డబుల్ క్లిక్ చేసినప్పుడు Microsoft Word, బిట్స్ వచ్చి హార్డు డ్రైవు ఆఫ్. వారు RAM లోకి లోడ్ చేసుకోవాలని. మరియు మేము అగ్రభాగాన వాటిని అప్ బలంగా త్రోయు చేస్తాము సందర్భానుసారంగా ఈ దీర్ఘచతురస్ర. బాగా, మీ మెమరీ మిగిలిన వివిధ కారణాలరీత్యా ఉపయోగిస్తారు. అగ్రభాగాన మీరు ప్రారంభించడం చూడండి డేటా మరియు డేటా uninitialize. ఈ తో, చాలా భాగం, చేయాలి స్థిరాంకాలు లేదా ప్రపంచ వేరియబుల్స్ ఆ విలువలను కలిగి. ఆ మరొక సమయం మరింత. అప్పుడు మీరు ఇది కుప్ప కలిగి మేము తిరిగి వచ్చి ఉంటుంది. కానీ దిగువన ఉండే భాగం ముఖ్యంగా ప్రస్తుతం సంబంధించి. ఇది అని పిలవబడే స్టాక్ వార్తలు. సో కేవలం ఇక్కడ అత్యధిక ఏ D హాల్ లో ఇష్టం క్యాంపస్, మీరు ఆ trays కలిగి కేవలం ఇది ప్రతి ఇతర పైన స్టేక్ మీరు ఆహారం మరియు whatnot ఉంచవచ్చు. ఒక కంప్యూటర్ వ్యవస్థ లో స్టాక్ చాలా పోలి ఉంటుంది. మేము లో ఉపయోగిస్తాయి ట్రే అయితే తప్ప భోజనశాల, కోర్సు యొక్క, ఉద్దేశించబడింది విషయాలు trays తీసుకుని లేదా ఫ్రేమ్లను - మేము వాటిని కాల్ వీలుగా - కంప్యూటర్ లో మెమరీ కలిగి ఉపయోగిస్తారు వేరియబుల్స్ మరియు విలువలు. సో వాట్ నిజంగా న వెళ్తాడు హుడ్ కింద? బాగా, నేను కుదుపు వీలు ఇక్కడ తెరకు. మరియు లెట్ యొక్క కేవలం దృష్టి ఒక క్షణం దిగువ భాగాన్ని. ఈ నా దిగువన భాగం ఉంటే కంప్యూటర్ యొక్క మెమరీ దాన్ని మారుతుంది నేను ఫంక్షన్ ప్రధాన కాల్ - ఇది, స్పష్టముగా, జరుగుతుంది స్వయంచాలకంగా నాకు - నేను మెమరీ భాగం పొందుటకు నా RAM దిగువన మాట్లాడటానికి. ప్రధాన వార్తలు పేరు మరియు ఈ ఉంది స్థానిక వేరియబుల్స్ వెళ్ళండి. పేరు argc మరియు argv ఉండవచ్చు ఇది వెళ్ళి, మరియు ఏ వేరియబుల్స్ నేను ప్రధాన లోపలి డిక్లేర్. వారు దిగువన ముగింపు నా కంప్యూటర్ యొక్క RAM యొక్క. ఇప్పుడు ప్రధాన కాల్స్ ఒక ఫంక్షన్ ఊహించు స్వాప్ వంటి, అది చివరి వారం చేసింది? బాగా, మేము ముఖ్యంగా, ఒక కొత్త ట్రే చాలు మెమరీ నా భాగం లో కొత్త ఫ్రేమ్,. మరియు నేను ఈ విధంగా వర్ణించాడు వెళుతున్న స్వాప్ ఫంక్షన్ చెందిన. ఇప్పుడు స్వాప్ లోపల ఏమి? బాగా, గత వారం యొక్క కార్యక్రమం ఆధారంగా మరియు మేము కేవలం నుండి ఒక సారాంశంలో చూసింది ఒక, స్వాప్ యొక్క ఫ్రేమ్ లోపలి లేదా స్వాప్ యొక్క ట్రే, ఏమి వేరియబుల్ ఉన్నాయి? బాగా, a మరియు b. ఆ, దాని స్థానిక వాదనలు ఎందుకంటే ఇంకా మూడవ, tmp. సో నిజంగా, నేను ఈ గీయవచ్చు కొద్దిగా ఎక్కువ సజావుగా. నాకు ముందుకు వెళ్లి లేబుల్ దిద్దుబాటు రద్దుచెయ్యి లెట్. మరియు మీరు ఏమి నాకు క్లెయిమ్ వీలు? ఒక బహుశా ఇక్కడ వదులుకోవడానికి వెళ్తున్నారు. B ఇక్కడ వదులుకోవడానికి వెళ్తున్నారు. మరియు tmp ఇక్కడ వదులుకోవడానికి వెళ్తున్నారు. ఇప్పుడు, ఆర్దరింగ్ వాటిని కొద్దిగా భిన్నంగా. కానీ సందర్భానుసారంగా ఈ ఆలోచన. మరియు కేవలం సమిష్టిగా, ఏమిటి మేము స్వాప్ యొక్క ఫ్రేమ్ కాల్, లేదా చేస్తాను భోజనాల హాల్ ట్రే. ప్రధాన మరియు అదే ఒప్పందం. కానీ నేను ఆ పునర్ కాదు. కానీ ఆ పేరు argc మరియు argv మరియు ఏ x మరియు y వంటి దాని స్థానిక వేరియబుల్స్ అలాగే ఉండవచ్చు. కాబట్టి ఇప్పుడు నిజంగా ఏం పరిగణలోకి మీరు swap కాల్ చేసినప్పుడు. మీకు swap కాల్ చేసినప్పుడు, అమలు కోడ్ ఈ, మీరు, అక్కడ మీరు బగ్గీ వెర్షన్, a మరియు b వంటి x మరియు y యొక్క కాపీలు. నేను ఇప్పుడు ఈ డ్రా అలా ఉంటే తెరపై - ఈ వద్ద మంచి పొందడానికి వచ్చింది - నేను నాకు చెప్పడం జరిగినది కథ కాబట్టి , ఈ బగ్గీ వెర్షన్ లో ఉన్నప్పుడు మేము సాహిత్యపరంగా ఒక అండ్ బి లో ప్రయాణిస్తున్న మార్పిడి కాల్ పూర్ణాంకాల వంటి, ఏమి నిజంగా జరుగుతున్నది? బాగా, ఏమి నిజంగా జరుగుతున్నది ఈ. నాకు ముందుకు వెళ్లి కేవలం దిద్దుబాటు రద్దుచెయ్యి లెట్ ఇక్కడ కొన్ని స్థలాన్ని క్లియర్. సో ఈ నా కంప్యూటర్ యొక్క మెమరీ ఉంది. నేను కలిగి ఉంటే, ఉదాహరణకు - నిజానికి వీలు యొక్క ఈ విధంగా చేయండి - నేను ఈ నిల్వ, x చెప్పడము ఉంటే కేవలం గత వారం వంటి విలువ 1. మరియు ఈ విలువ నిల్వ, y ఉంది 2 కేవలం గత వారం ఇష్టం. మరియు ఈ, నేను స్వాప్ కాల్ చేసినప్పుడు, ప్రధాన ఉంది తద్వారా ఒక మరియు నేను ఇవ్వకుండా బి మరియు tmp, నేను వాదించారు వెళుతున్న ఈ ఒక ఉంది మరియు ఈ 1. ఈ బి ఉంది. ఈ 2. ఈ tmp అంటారు. మరియు ప్రారంభంలో, కొన్ని చెత్త విలువ నిజానికి ఇది ఒక నిల్వ, వరకు ఇది 1. అప్పుడు నేను ముందుకు వెళ్లి మార్చడానికి ఏమి ఉండాలి? B యొక్క విలువ. అందువలన ఇప్పుడు నేను ఇక్కడ రెండు. ఆపై మేము బి tmp గెట్స్ అన్నారు. మళ్ళీ, ఒక వివేకం తనిఖీ కేవలం, మూడవ ఇక్కడ కోడ్ లైన్ కేవలం ఈ ఉంది ఒక, బి tmp గెట్స్. అందువలన చివరగా, నేను ఏమి చెయ్యాలి? నేను ముందుకు వెళ్లి బి ఉండాలి మార్చడానికి కావలసిన tmp విలువ 1 ఇది ఉంది. నేను మళ్ళీ tmp తాకే లేదు. కానీ ఇప్పుడు, సమస్య వెంటనే మార్పిడి ఉంది తిరిగి, అది ఇవ్వడానికి కాదు ఎందుకంటే కొన్ని విలువ వెనుకకు, తిరిగి ఉంది ప్రకటన అది స్పష్టంగా. నిజానికి ఏం జరుగుతున్నది? బాగా, ముఖ్యంగా ఈ మెమరీ - OK, స్పష్టంగా ఎరేజర్ ఇష్టపడ్డారు ఒక సమయంలో కేవలం ఒక్క వేలితో - కేవలం అదృశ్యమవుతుంది. ఇప్పుడు వాస్తవానికి ఇది కాదు ఎక్కడైనా వెళ్ళడం. కానీ మీరు అది ఆలోచించవచ్చు ఇప్పుడు ప్రశ్నార్థకాలుగా. అది ఇకపై ఎందుకంటే నిజానికి ఉపయోగంలో. మరియు ఏమీ ఆ విలువలతో చేయబడుతుంది. కాబట్టి గ్రీన్ వెర్షన్ విషయంలో ఈ కోడ్, బదులుగా ఏమి ఉండటం ఉంది స్వాప్ వెళ్ళిపోయారు? సో చిరునామాలు. సో x యొక్క చిరునామా మరియు y యొక్క చిరునామా. మేము ఈ కథ ఒక చివరి తిరిగి చెప్పటం సమయం, మరియు నేను నిజానికి, మళ్ళీ స్వాప్ డ్రా కానీ గమనికలు తో, ఈ, ఒక ఉండటం బి ఉండటం, మరియు ఈ ఉండటం tmp, ఏమిటి నిజానికి ఈ ఆకుపచ్చ ఒక నిల్వ నేను ప్రయాణిస్తున్న వెబ్ పేరు నా కోడ్ వెర్షన్ చిరునామాలలో? ఇది x ఒక పాయింటర్ చేస్తాడు. కాబట్టి నేను ఒక బాణం గీయవచ్చు. కానీ యొక్క అదే అనియత ఉపయోగించడానికి అనుమతిస్తున్నట్లు ముందు ఉదాహరణకు. లెట్ యొక్క ఈ అని Ox123 వంటి ఏదో. మరియు ఈ Ox127 అవతరిస్తుంది ఎందుకంటే ఇది ఎందుకంటే నాలుగు బైట్లు అవే ఒక Int, కాబట్టి Ox127. మళ్ళీ, నేను కొన్ని స్వేచ్ఛకు తీసుకొని వెబ్ సంఖ్యలు. వారు దానికన్నా ఎక్కువ చిన్న ఉన్నాము నిజానికి వేరొక క్రమంలో మరియు. కానీ ఎంత నిజం ఇప్పుడు భిన్నంగా ఉంటుంది. కానీ నేను ఈ ఆకుపచ్చ కోడ్ ఉపయోగించినప్పుడు మరియు నేను Int tmp * ఒక వస్తుందా. , ఈ క్రింది వాటిని తీసుకోవాలని * సాధనంగా ఒక ఉందని పరిష్కరించేందుకు మరియు దానికి వెళ్ళండి ఇది 1. మరియు ఆ నేను tmp చాలు ఏమిటి. ఇంతలో, కోడ్ యొక్క తదుపరి లైన్ లో ఇక్కడ, * ఒక బి గెట్స్, ఆ అర్థం ఏమిటి? బాగా, * ఒక, ఇక్కడ వెళ్ళి గెట్స్ * బి, ఇది అక్కడ వెళ్ళి అర్ధం. మరియు అక్కడ విలువ చాలు అంటే. చివరగా, కోడ్ యొక్క చివరి పంక్తి కేవలం * బి tmp గెట్స్ అన్నారు. సో బి చెప్పారు అక్కడ వెళ్ళి అది తిరిగి రాస్తుంది ఈ సందర్భంలో, తెలుస్తోంది tmp , మళ్ళీ, 1 ఉండాలి. మరియు ఈ ఎందుకు ఆకుపచ్చ వెర్షన్ మా కోడ్ రచనలు, ఎరుపు అయితే వెర్షన్ ఎప్పటికీ. ఎలా దానిని అన్ని కేవలం దిమ్మల మెమరీ నిర్వహించేది మరియు అది ఎక్కడ ఉంది నిజానికి మీ ఉంచుతారు కంప్యూటర్ యొక్క RAM. మరియు ఇప్పుడు కోసం, ఆ విషయాలు ఒకటి స్టాక్ కోసం వాడుతున్నారు ఆ. నమూనా ప్రశ్నలు? గమనికలు పైన? లేదా స్వాప్? అన్ని కుడి, కాబట్టి malloc, రీకాల్, ఈ వంటి ఏదో చేశారు. ఈ సూపర్ సాధారణ ఉదాహరణ. మరియు ఈ అని Binky చాలా అయినప్పటికీ, మాకు పరిచయం త్వరగా, తరగతి చివరలో. Dammit, అక్కడ మేము మళ్ళీ వెళ్ళి. సో ఈ ఉదాహరణ అని గుర్తు ఆ Binky అయినప్పటికీ, మాకు పరిచయం కొంతవరకు త్వరగా తరగతి చివరలో. మరియు ఇక్కడ మేము నిజంగా malloc ఉపయోగిస్తారు రెండవ సారి. మొదటిసారి ఎందుకంటే మేము దీనిని ఉపయోగించాడు కావలసినంత RAM సృష్టించడానికి, కావలసినంత RAM కేటాయించుటకు ఒక స్ట్రింగ్ నిల్వ. ఈ సమయం Binky ఇది సాధారణ ఉంచింది. కనుక ఇది కేవలం నిల్వ వార్తలు ఒక Int, స్పష్టంగా. మరియు ఆ పూర్తిగా మంచిది. ఇది, స్పష్టముగా, కొద్దిగా అదృష్టము వార్తలు ఒక Int కేటాయించుటకు malloc ఉపయోగించడానికి. కానీ నిక్ యొక్క స్ ఎ క్లెమేషన్ యొక్క పాయింట్ ఉంది నిజంగా కేవలం ఏమి కథ చెప్పండి జరుగుతుంది లేదా ఏమి లేదు మీరు మెమరీ భావం. సో ఈ సందర్భంలో, ఈ కార్యక్రమం కొన్ని విషయాలు చేసింది. ఇక్కడ మొదటి సందర్భంలో, అది ప్రకటించాడు ఒక పాయింటర్ ఒక పూర్ణాంకానికి x అనే. ఇది అప్పుడు ఒక పాయింటర్ ప్రకటించాడు ఒక పూర్ణాంకానికి y అని. ఇది అప్పుడు, x లో ఏమి నిల్వ? ఇప్పుడు ఎవరో. ప్రకారం x నిల్వ కావాలి అంటే ఈ కార్యక్రమం యొక్క మూడవ పంక్తి? ప్రేక్షకులు: [వినబడని]. SPEAKER 1: Well, కాదు చాలా బైట్లు, ప్రతి చెప్పటానికి. ఇప్పుడు మరింత ఖచ్చితమైన ఉండాలి. X లో ఏం నిల్వ కావాలి? ఒక చిరునామా, నేను విన్న అనుకుంటున్నాను. సో malloc ఏమి తిరిగి లేదు? malloc behaviorally కేటాయిస్తాడు మెమరీ భాగం. కానీ ఎలా మీరు దానిని ప్రాప్తి ఇవ్వాలని లేదు? ఇది ఏమి తిరిగి? మొదటి బైట్ యొక్క చిరునామా మెమరీ భాగం. ఇప్పుడు, ఈ సూపర్ సులభం. ఇది కేవలం ఒక బైట్ యొక్క, అంటే మేము తిరిగి పొందడానికి చిరునామా మొత్తం విషయం యొక్క చిరునామా. సో అప్పుడు x నిల్వ చిరునామా మెమరీ యొక్క భాగం యొక్క. ఇంతలో, ఏమి తదుపరి జరుగుతుంది? సో నిజానికి, యొక్క ముందుకు వెళ్ళి వీలు మరియు ఈ అవ్ట్ నిజమైన ఫాస్ట్ డ్రా. మేము ఇక్కడ తెరకు వెళ్ళి కనుక మేము ఈ ఆడతాయి Int * x మరియు Int * y నాకు ఏమి జరుగుతుందో? నేను కేవలం చేయాలని జరగబోతోంది వాదించారు ఈ వంటి ఏదో మరియు x కాల్, మరియు ఈ మరియు y కాల్. ఇంతలో, కోడ్ యొక్క మూడవ లైన్ ఒక Int యొక్క పరిమాణం కేటాయించుటకు వెళుతున్న, ఇది నిర్మాణము - నేను అన్నారు క్షమించండి ఉంటే - నేను ఒక Int ఉద్దేశించబడింది ఒక ముందు ఒక విలక్షణమైన కంప్యూటర్ నాలుగు బైట్లు. CS50 ఉపకరణం కనీసం. సో ఈ కేటాయించుటకు వెళ్తున్నారు అది తెలిసిన? ఎక్కడా బయటకు ఇక్కడ. మరియు ఈ కొన్ని నిల్వ ఉంది చిరునామా ఆక్స్, తెలిసిన? కానీ తిరిగి పొందడానికి జరగబోతోంది ఆ చిరునామా. కానీ మేము చిత్రాల ఈ డ్రా చేస్తాము ఆ మాదిరిగా ఒక బాణం. ఇప్పుడు రాబోయే లైన్ లో * x 42 గెట్స్. * X లేమాన్ పరంగా అర్థం ఏమిటి? అక్కడికి వెళ్ళడానికి. ఆ చిరునామా వెళ్ళండి. లేదా ఇతర పదాలు లో, అనుసరించండి బాణం మరియు 42 చాలు. కానీ అప్పుడు చెడు ఏదో జరిగింది Binky సరైన? లైనును ఇక్కడ ఐదు గుర్తు, * వై గెట్స్ 13, నిజానికి ఇది దురదృష్ట సంఖ్య, మాకు ఏమి చేసింది? బాగా, * వై అంటే అక్కడ వెళ్ళి. బాగా, ఈ ఇచ్చిన చేయలేదు ఒక విలువ ఇంకా, కుడి? కోడ్ y ఉండటం లేదు దేని initialized. మేము x initialized ఉన్నాయి ఒక చిరునామాకు. కానీ y టాప్ ప్రకటించాయి. కానీ అప్పుడు ఒక సెమికోలన్, విలువ నిజానికి అది చాలు జరిగినది. సో ఈ కాల్ ఫెయిర్ ఒక చెత్త విలువ. ఎవరు ఉంది ఏమి తెలుసు? ఇది ఉపయోగించే బిట్ల అవశేషాలు వార్తలు లో కోడ్ యొక్క కొన్ని మునుపటి లైన్ ద్వారా నా కార్యక్రమం. నేను అక్కడ వెళ్ళి అని కనుక, ఈ, వంటిది నేను ఈ బాణం ఉన్న సంఖ్య ఆలోచన ఉంది వదులుకోవడానికి వెళుతున్న. మీరు సాధారణంగా మరియు ఆ విభజన లోపంగా పొందుటకు. మీరు అనుకోకుండా dereference ఉంటే, ఈ విధంగా చేసిన మాట్లాడటం, లేదా కాదు అని ఒక చిరునామా వెళ్ళండి నిజానికి ఒక చట్టబద్ధమైన చిరునామా, చెడు విషయాల జరిగే. మరియు ఆ ఏమి జరిగిందో ఖచ్చితంగా ఉంది Binky ఆలోచించడం. సో గుర్తుకు ఆ నిక్ అని కథ ఇక్కడ చెప్పడం అదే ఆలోచన ఏమి వంటి నేను యొక్క భ్రాంతిని డ్రా చేసిన అక్కడ బోర్డులో సుద్ద. X మరియు Y నిర్ధారించబడిన. అప్పుడు మేము యొక్క పరిమాణం కేటాయించిన ఒక Int మరియు x లో నిల్వ. అప్పుడు మేము తదుపరి లైన్ * x. ఈ నిక్ యొక్క మాయా చిన్నకర్ర ఉంది dereferencing యొక్క. మెమరీ లో 42 చాలు x ద్వారా ఎత్తి చూపారు. కానీ ఈ పేరు విషయాలు భయంకరమైన తప్పు జరిగింది. కుడి? మేము dereference y ప్రయత్నించాడు. కానీ y కుడి, కొన్ని బోగస్ విలువ కలిగి? దిగువన ఎడమ చేతిలో ఆ బాణం మూలలో, కాదు నిజానికి ఏదైనా గురిపెట్టి. ఇది నేను చేస్తున్న రకంగా బోర్డు మీద ఇక్కడ చేసింది. సో చెడు విషయాల జరిగే విభజన ఈ సందర్భంలో తప్పు, లేదా Binky తప్పు. కానీ మేము అప్పుడు x చేయడం ద్వారా ఆ పరిష్కరించడానికి ఉంటే y గెట్స్ ఎలా కథ మార్పు చేస్తుంది? Well, నేను x లేకపోతే ఆ y, గెట్స్ మాట్లాడుతూ సమర్ధవంతంగా అదే ఈ సంసార, ఆక్స్-ఏదో , ఇక్కడ అదే అవతరిస్తుంది దున్నేందుకు ఏదో. లేదా చిత్రాల మేము ఒక బాణం డ్రా చేస్తాము. ఇక్కడ Binky బోర్డు మీద, తరువాతి లైన్ తో కోడ్, * వై అక్కడ వెళ్ళి అర్ధం. అక్కడ ఎక్కడ ఉంది? ఇది ఇక్కడ అర్థం. మరియు మేము 13 అని అప్ డేట్ చేసినప్పుడు ఇది కేవలం వెళుతున్న మరియు ఉంటుంది ఇప్పుడు ఇక్కడ 13 వ్రాయడం. కావున బహుశా పూర్తిగా మొదటి చూపులో నేరుగా. కానీ రీక్యాప్ మరియు అదే పరిభాషలో ఉపయోగించడానికి ఆ Binky కాబట్టి, ఇక్కడ ఉపయోగించి జరిగినది మొదటి రెండు, గమనికలు కేటాయించుటకు x మరియు y, కానీ pointees. మరియు pointees ఒక కాదు సాధారణంగా ఈ పదాన్ని ఉపయోగించారు. కానీ పాయింటర్ ఖచ్చితంగా ఉంది. కానీ అది చూపారు చేయబడిన ఏమిటి Binky యొక్క పరిభాషాప్రకరణంలో వద్ద. కోర్సు యొక్క ఈ తదుపరి లైన్, ఒక Int pointee కేటాయిస్తాడు. సో మెమరీ భాగం - I పైగా డ్రా కుడి చేతి అక్కడ వైపు - మరియు సెట్ x సమాన దానికి మార్చాలి. ఈ dereferences x 42 నిల్వ ఇది వద్ద గురిపెట్టి ఆ మెమరీ. ఆపై ఈ, కోర్సు యొక్క, ఒక చెడ్డ విషయం. Y గురిపెట్టి లేదు ఎందుకంటే ఇంకా ఏదైనా వద్ద. ఇది పరిష్కరిస్తుంది. సో ఈ ఇప్పటికీ బగ్గీ కార్యక్రమం. మేము వీస్తున్న మీరు కేవలం ఎందుకంటే లైన్ మరియు విధంగా కోడ్ లైన్, బాగా ఓహ్, అది క్రాష్ వీలు. ఒక చెడ్డదని. ఆడ్స్ కార్యక్రమం కేవలం వెళుతున్న ఉన్నాయి ఆ లైన్ వద్ద పూర్తిగా నిలిపివేయడం మంచిది. మీరు తొలగించడానికి అయితే క్రాష్ గత రెండు తో లైన్ మరియు భర్తీ మీరు కేటాయించవచ్చు అక్కడ పంక్తులు - పాయింటర్ అప్పగించిన ఉపయోగించి - y పాయింట్ t వంటి x మార్చాలి. ఆపై మీరు dereference చాలా సురక్షితమైన మార్గంగా లో వై. సో ఇక్కడ ఈ మాకు వదిలి లేదు? బాగా, హుడ్ కింద ఎత్తి మారుతుంది CS50 లైబ్రరీ లో, గమనికలు ఉన్నాయి ఉపయోగిస్తారు. మరియు మేము నిజానికి చర్మము ప్రారంభించగలరు దీర్ఘ ముందు తిరిగి పొర. కానీ, చాలా ఒక వ్యక్తీకరణ మారుతుంది మీరు కొన్ని, తెలిసిన కావచ్చు ముఖ్యంగా మరింత సౌకర్యవంతమైన, ఒక ప్రజాదరణ పొందిన ఆ నిజానికి వెబ్సైట్, లేదా స్టాక్ ఓవర్ఫ్లో, ఈ రోజుల్లో. కానీ ఈ నిజానికి చాలా ఉంది సాంకేతిక అర్థం. మేము ఇప్పుడు ఒక కుప్ప ఉంది ఏమి. ఇది trays యొక్క స్టాక్ వంటిది ఒక భోజనశాల లోపల. లేదా లోపల మీ కంప్యూటర్ యొక్క మెమరీ ఆ ఫ్రేమ్ దాని క్రియలు ద్వారా ఉపయోగిస్తారు. బాగా, అది మారుతుంది ఆ కారణంగా చాలా సాధారణ అమలు మెమరీ మరియు అని పిలవబడే న ఫ్రేమ్లను స్టాక్ మీరు నిజంగానే నియంత్రణ పట్టవచ్చు సులభంగా ఒక కంప్యూటర్ వ్యవస్థ యొక్క. మీరు ఒక వ్యవస్థ హాక్ ఉంటే ప్రజలు మా కోడ్ వ్రాయలేదు వంటి బాగా. మాకు వంటి వ్యక్తులు రాళ్లను ఉపయోగిస్తే మెమరీ లేదా ఉపయోగం శ్రేణుల - మరింత సాధారణంగా - కానీ కొన్నిసార్లు తనిఖీ మర్చిపోతే మా అర్రే యొక్క సరిహద్దులు మీరు వాటిని వంటి మీ కొన్నిసార్లు కలిగి, మరియు iterated చాలా చివర ఒక అర్రే గత మార్గం. ఉత్తమ సందర్భంలో, మీ ప్రోగ్రామ్ కేవలం నాశనం. విభజన లోపంగా, రకమైన చికాకు యొక్క. గొప్ప కాదు, కానీ అది తప్పనిసరిగా కాదు అత్యంత చెడ్డ విషయం. కానీ మీ ప్రోగ్రామ్ నిజమైన న నిజానికి ఉంటే వినియోగదారులు 'కంప్యూటర్లు, అది నడుస్తున్న ఉన్నట్లయితే ఒక వెబ్ సైట్ లో నిజమైన యాదృచ్ఛిక ప్రజలు ఇంటర్నెట్ తెలియజేసినందుకు, కొట్టే ఉంటాయి మీ కోడ్ లో చెడు విషయాల ప్రేరేపించడానికి ఉంది ఎందుకంటే సాధారణంగా ఒక మంచి విషయం ఇది తీసుకోవాలని అవకాశం అంటే కంప్యూటర్ నియంత్రణ. మరియు ఈ చూడండి కానుంది గుప్తమైన కొద్దిగా. కానీ నేను మీతో భయ ఇష్టం ఆలోచన ఇక్కడ ఈ గత ఉదాహరణకు. ఇక్కడ కోడ్ ఉదాహరణకు. మరియు ఒక మంచి వికీపీడియా ఉంది ద్వారా నడుస్తాడు వ్యాసం మరింత వివరంగా ఈ. నేను క్రింద కాలింగ్ ప్రధాన కలిగి 1 argv లో ప్రయాణిస్తున్న foo. మరియు కేవలం చేయగలరు అని అమలు మరియు పాస్ ఏకపక్ష ఇన్పుట్. ఆపై foo టాప్ నిర్ధారించే ఒక స్ట్రింగ్ అంగీకరించడం, లేదా మరింత వంటి ఖచ్చితంగా, ఒక చార్ *. ఇది అప్పుడు అక్షరాలు యొక్క ఒక అర్రే ప్రకటించాడు. అది ఒక బఫర్, మరింత సాధారణంగా, కాల్ పరిమాణం 12. సో 12 అక్షరాలు సరిపోని చేయవచ్చు సి అని అర్రే యొక్క. మరియు అది, ఈ కొత్త ఫంక్షన్ ఉపయోగిస్తుంది నూతన కష్టం కాదు , మెమరీ నకలు అర్థం. ఇది ఉంది, బార్ నుండి మెమరీ నకలు వేరియబుల్ గత n, సంసార యూజర్ సి లోకి argv 1 టైప్ చేసిన. ఎన్ని బైట్లు? బార్ యొక్క స్ట్రింగ్ పొడవు. సో ఇతర పదాలు లో, వినియోగదారు రకాల ఉంటే లో h-ఇ-l-l-o ఎంటర్, స్ట్రింగ్ పొడవు హలో ఐదు ఉంది. సో ఆ బైట్ల ఐదు పొందుటకు వెళ్తున్నారు సి అని అర్రే, కాపీ ఇది పరిమాణం 12 ఉంది. ఒక ఎక్కువ కాలం లో కానీ వినియోగదారు రకాల 13 అక్షరాలు లేదా 14 ఆ పదం అక్షరాలు లేదా 100 అక్షరాలు లేదా ఎక్కువ? ఎక్కడ వారు వెళ్తున్నారు? బాగా, ఆ ఫ్రేమ్, ఆ ట్రే భోజనాల హాల్ స్టాక్ లో, వారు అక్కడ వెళ్ళడానికి చేయబోతున్నామని. మరియు అది కేవలం తిరిగి రాయటం ఆరంభమవుతుంది ఇప్పటికే ఇతర stuff ఆ స్టాక్ న, నిండిన స్టాక్, మాట్లాడటానికి. సో చిత్రాల, అది ఈ విధంగా భావిస్తారు. ఈ కేవలం ఒక రంగుల వెర్షన్ చిత్రాన్ని మేము డ్రాయింగ్ చేసిన. దిగువన, ప్రధాన ఉంది, చెప్పటానికి చేసుకుందాం. మరియు పైన, మీరు ఇప్పుడు ఏమి చూడటానికి ఫ్రేమ్, రంగు కోసం, ఇప్పుడు కోడ్ చేయబడ్డ foo అని ఫంక్షన్. కానీ గురించి ఇక్కడ ఆసక్తికరమైన ఏమిటి foo ఇక్కడ దాని ఫ్రేమ్ ఉంది. కనుక ఇది కేవలం నేను వంటి డ్రా లో కానీ కాంతి నీలం చేసింది. మరియు ఇప్పుడు ఈ పేరు సి బ్రాకెట్ 0 వెళ్తాడు. మరియు ఈ సి బ్రాకెట్ పేరు ఉంది 11 వదులుకోవడానికి వెళ్తున్నారు. ఇతర మాటలలో, అది జరుగుతుంది ఒక చదరపు వంటి ప్రాతినిధ్యం అవుతుంది. కానీ మీరు కేవలం బైట్లు plopping ఉంచుకుంటే డౌన్ - లేదా అక్షరాలను - వారు అంతం చేయబోతున్నామని అప్ స్థానంలో 0 అన్ని మార్గం అప్ 11 ఎందుకంటే అది ఇండెక్స్ 0 లో. కానీ 13 వ పాత్ర పేరు ఉంది వదులుకోవడానికి వెళుతున్న? 14 పేరు ఏమిటి? 50 వ పాత్ర పేరు వార్తలు వదులుకోవడానికి వెళుతున్న? ఇది డౌన్ కొనసాగించడాన్ని జరగబోతోంది. మేము తీసిన చేసిన అయినప్పటికీ ఎందుకంటే స్టాక్ తో చిత్రం, ఎదుగుతున్న చిరునామాలు, దాన్ని చేస్తుంది, నుండి వెళ్ళి చిన్న చిరునామాలు, చిన్న పెద్ద చిరునామాలకు గమనికలు. కనుక ఇది కేవలం అప్ వెళుతున్న మరియు తాజాగా ఉంచుతుంది. అయితే వినియోగదారు రకాల హలో, ఆ గొప్ప. సంఖ్య బగ్, సమస్య, ప్రతి ఒక్కరూ యొక్క సురక్షిత. కానీ మేము చేస్తాము ఏమి వినియోగదారు రకాల ఉంటే పటిష్టమయిన కోడ్ కాల్, ప్రాతినిధ్యం సామాన్యముగా ఒక, దాడి, దాడి, దాడి, దాడి, ఏమి జరుగుతుంది? బాగా, ఉంటే ఇన్పుట్ ఆ యూజర్ లో టైప్ కొన్ని అనుకూల కాదు అక్షరాలు లేదా అప్రియమైన స్ట్రింగ్. ఇది నిజానికి క్యారెక్టర్ల వరుసను వార్తలు మీరు ఇది కంపైల్ ఉంటే, ఇది నిజానికి కోడ్. దీనికి కోడ్ ఆ తొలగిస్తే అన్ని మీ హార్డు డ్రైవు ఫైళ్లను లేదా స్పామ్ పంపుతుంది ఆ వంటి లేదా ఏదో. ఇక్కడ కీలక ఏమిటి గమనించవచ్చు అని చెడు వ్యక్తి తగినంత అదృష్ట వస్తే మెమరీ ఎరుపు భాగం తిరిగి రాస్తుంది - నేను కానీ నా చిత్రం డ్రా లేదు ఇక్కడ ఈ వికీపీడియా చిత్రం ఉంది - దాని పిలవబడే తిరిగి చిరునామా. చేసినప్పుడు ఆహార తిరిగి, స్వాప్ వచ్చినప్పడు, ఎలా కంప్యూటర్ నుండి వెళ్ళడానికి తెలుసు ఇక్కడ ఇక్కడ డౌన్? లేదా పైన టెక్ విభాగంలో, ఎలా అది స్వాప్ నుండి వెళ్ళడానికి తెలుసు కోడ్ - 0 మరియు 1 యొక్క ఆ స్వాప్ కంపోజ్ - తిరిగి ప్రధాన కు? ఒక అని పిలవబడే తిరిగి చిరునామా ఉంది అదే స్టాక్ ఫ్రేమ్ లో, నిల్వ అదే ఫలహారశాల ట్రే. చెడు వ్యక్తి తగినంత తెలివైన ఉంది కనుక దాడి కోడ్ చాలు, దాడి కోడ్, దాడి కోడ్, మరియు తగినంత అదృష్ట పొందుటకు - కు - తరచుగా విచారణ మరియు లోపం ద్వారా , ఎర్ర తిరిగి చిరునామా తిరిగి రాస్తుంది చిరునామా మరియు ప్రకటనను అగ్రభాగాన. 0835C080 గమనించవచ్చు. ఇది కోసం వెనుకకు అప్ టాప్ వ్రాసిన కారణాలు మేము బహుశా సందర్శించండి చేస్తాము. ఇది సంఖ్య. చెడు వ్యక్తి తగినంత అదృష్ట లేదా గెట్స్ ఉంటే ఎరుపు తిరిగి రాస్తుంది తగినంత స్మార్ట్ ఉంది యొక్క చిరునామాతో మెమరీ వాదనను అతను లేదా ఆమె ఏదో కలిగి కోడ్ మీ కంప్యూటర్ లోకి, దీని అంచనా కోడ్ తిరిగి వెళ్తున్నారు వెంటనే foo వంటి అమలు చేయబడుతుంది? చెడు వ్యక్తి యొక్క కోడ్. ఈ దాడి కోడ్ సో, AAA, మళ్ళీ, వాటిని స్పాం పంపించటానికి, అన్ని ఫైళ్లను తొలగించండి ఉండవచ్చు మీ హార్డు డ్రైవు. కానీ ఏ నిజమైన స్టాక్ ఓవర్ఫ్లో ఉంది ఉంది, లేదా ఒక బఫర్ పారిపోవడం, లేదా ఒక ఓవర్ఫ్లో దాడి స్వీకరించేందుకు. మరియు ఇది చాలా, చాలా సాధారణ వార్తలు లో రాసిన ప్రోగ్రామ్లను ఈ రోజు సి, సి + +, మరియు కొన్ని ఇతర భాషలు. ఆ భయపెట్టే సూచనలో, మేము చేస్తాము ఒక జోక్ తో ముగించాలి. [నవ్వు] బుధవారం మీరు చూడండి. తదుపరి CS50 వద్ద - నేను ఈ రోజు డిస్క్ దీపాలు అల్ అవ్ట్ రెడీ కానీ వేచి, కొవ్వు రహిత పాలు, సగం ఫోన్ పుస్తకం, నారింజ రసం నేను ఈ రోజు తాగుతూ ఆ. USB కేబుల్, ఒక రెంచ్. [సంగీతాన్ని]