[సంగీతాన్ని] డేవిడ్ J. మలన్: అన్ని కుడి. ఈ CS50, మరియు ఈ వీక్ 2 ముగింపు. నేడు కాబట్టి, మేము చేయబోతున్నామని మా రూపాన్ని కొనసాగించడానికి మేము విషయాలు ప్రాతినిధ్యం ఎలా hood-- దూరంగా కదిలే కింద పూర్ణాంకాల వంటి సంఖ్యలు నుండి మరియు ఫ్లోటింగ్ పాయింట్ విలువలు మరియు తీగలను దృష్టి సారించడం మరియు చివరికి మరింత ఆసక్తికరమైన కార్యక్రమాలు. కానీ మేము కూడా పరిశీలించి చేస్తాము డొమైన్ నిర్దిష్ట సమస్యలను జంట ప్రథమ వీటిలో గూఢ పాల్గొన్న ఉంటుంది, సమాచారం స్క్రాంబ్లింగ్ యొక్క కళ, మీరు ఇక్కడ పైన చూడండి రేడియో ఆర్ఫన్ అన్నీ యొక్క ఒక చిత్రం ఒకప్పటి నుండి రహస్య డికోడర్ రింగ్. ఈ నిజానికి చాలా ప్రాచీనమైన రూపం మరియు cryptopgraphy చైల్డ్ ఫ్రెండ్లీ రూపం ఈ రింగ్ రెండు disks-- ఉంది అనగా ఒక లోపల మరియు వెలుపల. మరియు ఆ ఒకటి మీరు తిరిగే ముఖ్యంగా వంటి అక్షరాలు వరుసలో ఇతర అక్షరాలతో Z ద్వారా ఇతర మాటలలో ఎ ద్వారా B వంటి, మీరు వాచ్యంగా వర్ణమాల రొటేట్ చేయవచ్చు, తద్వారా మాపింగ్ నుండి పైకి వస్తున్న అక్షరాలు అక్షరాలు, కాబట్టి మీరు ఒక రహస్య సందేశాన్ని పంపడానికి కావలెను అన్నీ వంటి ఎవరైనా, మీరు రాస్తుంది అప్పుడు రొటేట్ మరియు మీ సందేశం డౌన్ అక్షరాలు, అనగా మీరు అర్థం ఉంటే మీరు బదులుగా ఏమంటారంటే ", ఒక" సే "B" మీరు చెప్పే అర్థం "B" మీరు బదులుగా "సి" సే - లేదా ఏదో కొంచెం తెలివైన ఆ కంటే ఆపై, చివరకు, చాలా కాలం అన్నీ ఈ డికోడర్ ఉంది వంటి రింగ్, ఆమె సందేశం డీకోడ్ చేయవచ్చు. ఇప్పుడు, మీరు, నిజానికి, గుర్తుకు ఈ మే చాలా ప్రసిద్ధ చిత్రం లో వాడినట్లు సమయంలో ప్రకటన nauseum పోషిస్తుంది క్రిస్మస్ సీజన్. యొక్క ఇక్కడ ఒక లుక్ తీసుకుందాం. Ralphie పార్కర్: "అది ఉండండి సారాంశం అన్ని తెలిసిన రాల్ఫ్ పార్కర్ దీన్ని నియమించబడ్డారు అని లిటిల్ ఆర్ఫన్ అన్నీ సీక్రెట్ సభ్యుడు సర్కిల్ మరియు అన్ని హక్కు ఉంది గౌరవాలు మరియు ప్రయోజనాలు అందుకు సంభవించే. " Ralphie పార్కర్ (వ్యాఖ్యానించడానికి): లిటిల్ ఆర్ఫన్ అన్నీ సంతకం. Countersigned పియర్ ఆండ్రీ! సిరా. గౌరవాలు మరియు ప్రయోజనాలు, ఇప్పటికే తొమ్మిది సంవత్సరాల వయసులో. [సంగీతాన్ని] [రేడియో అరుపులు] Ralphie పార్కర్: న కమ్. దానితో పొందండి లెట్. నేను అన్ని ఆ జాజ్ అవసరం లేదు రవాణాదారులు మరియు పైరేట్స్ గురించి. రేడియో అనౌన్సర్: రేపు వినండి ముగింపు సాహస కోసం రాత్రి బ్లాక్ పైరేట్ షిప్. ఇప్పుడు, సమయం అన్నీ యొక్క వార్తలు మీరు సభ్యులకు సీక్రెట్ మెసేజ్ సీక్రెట్ సర్కిల్ యొక్క. పిల్లలు, సభ్యులు మాత్రమే గుర్తుంచుకో అన్నీ సీక్రెట్ సర్కిల్ అన్నీ యొక్క రహస్య సందేశాన్ని డీకోడ్ చేయవచ్చు. గుర్తుంచుకోండి, అన్నీ మీరు ఆధారపడి ఉంటుంది. B-2 మీ సూదులు సెట్ చెయ్యండి. ఇక్కడ message-- 12, 11, 2-- Ralphie పార్కర్ (వ్యాఖ్యానించడానికి): నేను నా మొదటి రహస్య సమావేశంలో అన్నారు. రేడియో అనౌన్సర్: --25, 14, 11, 18, 16 Ralphie పార్కర్ (వ్యాఖ్యానించడానికి): ఓహ్, పియరీ గొప్ప వాయిస్ టునైట్ ఉంది. నేను ఈరాత్రి యొక్క తెలియజేయగలరా సందేశం నిజంగా ముఖ్యమైనది. రేడియో అనౌన్సర్: --3, 25. ఆ అన్నీ ఆమె నుంచి సందేశం యొక్క. ఎవరికీ లేదు గుర్తుంచుకోండి. [Panting] Ralphie పార్కర్ (వ్యాఖ్యానించడానికి): తొంభై సెకన్లు తరువాత, నేను రెడీ మాత్రమే గదిలో ఇల్లు ఎక్కడ తొమ్మిది ఒక బాయ్ గోప్యతా మరియు డీకోడ్ కూర్చుని కాలేదు. ఆహ్. "బి" [Chuckles] Ralphie పార్కర్ (వ్యాఖ్యానించడానికి): నేను తరువాత వెళ్లారు. "E." మొదటి పదం "ఉండండి." అవును! ఇది ఇప్పుడు సులభంగా దాగి ఉంది. "యు" [Chuckles] రాండి పార్కర్: ఆవ్, Ralphie న వస్తాయి. నేను వెళ్ళి చూడాలి! Ralphie పార్కర్: నేను, కుడి డౌన్ Ma ఉంటాం. గీ whiz ఉంది. "టి" "ఓ" "ఖచ్చితంగా ఉండండి కు. "ఏమి" నిర్ధారించుకోండి "? లిటిల్ ఆర్ఫన్ అన్నీ ఏమిటి చెప్పడానికి ప్రయత్నిస్తున్నారు? ఏమి "నిర్ధారించుకోండి"? తల్లి: Ralphie, రాండి వెళ్ళి తీరవలసినదే. మీరు రండి కనిపిస్తుంది? Ralphie PARKER: అన్ని కుడి, అమ్మ! నేను బయట ఉంటాము! Ralphie పార్కర్ (వ్యాఖ్యానించడానికి): నేను ఇప్పుడు దగ్గరగా పొందారు. టెన్షన్ భయంకరమైన ఉంది. ఇది ఏమిటి? గ్రహం యొక్క విధి సంతులనం లో ఆగిపోవచ్చు. తల్లి: Ralphie, రాండి వెళ్ళి వచ్చింది! Ralphie PARKER: నేను కుడి ఉంటాం అవుట్ బిగ్గరగా క్రయింగ్ కోసం! Ralphie PARKER (వ్యాఖ్యానించడానికి): దాదాపు అయిపోయినట్లే! నా వేళ్ళు వెళ్లింది! నా మనసు ఒక ఉక్కు ట్రాప్ ఉంది. ప్రతి చిన్న రంధ్రము వైబ్రేటెడ్. ఇది దాదాపు స్పష్టమైంది! అవును! అవును! అవును! అవును! Ralphie పార్కర్: "ఖచ్చితంగా ఉండండి మీ Ovaltine తాగడానికి. " Ovaltine? ఒక crummy వాణిజ్య? [సంగీతాన్ని] Ralphie పార్కర్: ఒక తిరుగుబోతు కుమారుడు. [నవ్వుతూ] డేవిడ్ J. మలన్: ఆ తర్వాత ఉంది కాబట్టి ఏ గూఢ లిపి వద్ద ఒక సంగ్రహావలోకనం దీన్ని ఒక కోసం కావచ్చు ఒకప్పటి నుండి త్రాగడానికి. సో శీఘ్ర ప్రకటన. మీరు ఈ ఉచిత ఉంటే శుక్రవారం 1:15 pm, చేస్తాను CS50 కోసం మాతో చేరండి చెయ్యాలనుకుంటే భోజనం, ఇక్కడ ఈ URL కు అధిపతి. మొదటి మొదటి యధావిధిగా సర్వ్ వస్తాయి. కానీ కాలక్రమేణా, మేము నిర్ధారించుకోండి చేస్తాము పాల్గొనేందుకు చేయాలనుకుంటున్న అత్యంత ఎవరైనా షెడ్యూల్ వారీగా ఉండవచ్చు. కాబట్టి తీగలను. మేము Zamyla-- వీరిలో కలిగి మీరు ఇప్పుడు ఎక్కువగా కలుసుకున్న సమస్య సెట్ లో 1-- దీని పేరు ఆ విధంగా పలుకుతున్నారు. మరియు మీరు ఆమె పేరు టైప్ అనుకుందాం ఆ కంప్యూటర్ ప్రోగ్రామ్ GetString వంటి ఏదో ఉపయోగించి. తిరిగి క్రమంలో ఆ కీస్ట్రోక్, ఎలా మేము ఒక సూచిస్తున్న గురించి ఏం చేస్తావు స్ట్రింగ్, ఒక పదం, ఒక పేరా, లేదా ఈ ఇక్కడ వంటి బహుళ అక్షరాలు? మేము గురించి చివరిసారి మాట్లాడారు పూర్ణాంకాల మరియు సమస్యలు ఆ పూర్ణాంక ఓవర్ఫ్లో ఉత్పన్నమయ్యే మరియు ఫ్లోటింగ్ పాయింట్ విలువలు మరియు సమస్యలు ఖచ్చితత్వము లోపల తలెత్తుతాయి. తీగలను తో, మేము కనీసం ఒక బిట్ మరింత వశ్యత కలిగి strings-- ఎందుకంటే కేవలం నిజ ప్రపంచం లో ఒక అందంగా ఏకపక్ష పొడవు ఉంటుంది. ప్రెట్టీ చిన్న, అందమైన కాలం. అయితే అప్పుడు, మేము చేయబోతున్నామని కనుగొనేందుకు కంప్యూటర్లు కొన్నిసార్లు ఆ మెమరీ మరియు కూడా అమలు ఒక పెద్ద తగినంత స్ట్రింగ్ నిల్వ. కానీ ఇప్పుడు కోసం, యొక్క ఆలోచించడం ప్రారంభిద్దాం ఈ పెట్టెల్లో ఏదో ఒక స్ట్రింగ్ ఇక్కడ. కాబట్టి ఆరు ఇటువంటి బాక్సులను, ఇది ప్రతి ఒక పాత్ర లేదా సూచిస్తుంది "చార్." C-H ఒక r-- ఉంది - కాబట్టి "చార్" గుర్తుచేసుకున్నారు C. లో అంతర్నిర్మిత డేటా రకాలు ఒకటి ఏ మంచిది మీరు ఉపయోగించే ఉంది ఆ విధమైన ఒక బిల్డింగ్ బ్లాక్, ఒక పజిల్ ముక్క, మీరు రెడీ ఉంటే, ఒక ఏర్పాటు మేము చేస్తాము అని డేటా పెద్ద రకం ఒక "స్ట్రింగ్." కాల్ ఇప్పుడు, ఏమి ఆలోచిస్తున్నారో గురించి ఉపయోగకరంగా ఉంది ఈ విధంగా తీగలను వంటి విషయాల గురించి? సరే, మేము ఆ అవుతుంది నిజానికి ఈ నిర్మాణం పరపతి స్వకీయమైన అక్షరాలు యాక్సెస్ ఒక అందమైన సూటిగా విధంగా. నేను ముందుకు వెళ్లి సృష్టించడానికి వెళుతున్న అనే ఫైల్ "stringzero.c," కావలసిన ఏ కానీ మీరు కాల్ చేయవచ్చు. మరియు కోర్సు యొక్క వెబ్ సైట్ లో ఉంది ఇప్పటికే ముందుగానే ఈ ఉదాహరణ, కాబట్టి మీరు అవసరం లేదు ప్రతిదీ టైప్ చేయండి. నేను ముందుకు వెళ్ళడానికి వెళుతున్న మరియు మొదటి Int ప్రధాన గర్జన చేయండి. మరియు కొన్ని రోజుల్లో, మేము వేరుగా బాధించటం మొదలు పెడతారేమో ఇది ఎందుకు, ఇక్కడ తప్ప ఉంది ప్రధాన పక్కన, మొదలగునవి పూర్ణాంకానికి ఉంది. కానీ ఇప్పుడు కోసం, యొక్క చెయ్యనివ్వండి కాపీ పేస్ట్ చెయ్యండి. నేను s అనే స్ట్రింగ్ డిక్లేర్ వెళుతున్న. నేను నుండి తిరిగి వెళుతున్న ఏ యూజర్ రకాల GetString. ఈ సాధారణ అవతరిస్తుంది కార్యక్రమం, ఏ సూచనలను, నేను గుడ్డిగా వెళుతున్న యూజర్ తెలుసని ఆశించే ఏమి సాధారణ ఉంచడానికి దీన్ని. ఇప్పుడు నేను లూప్ ఒక కలిగి వెళుతున్న. మరియు నా లూప్ యొక్క లోపల నేను ఉన్నాను నేను సున్నా గెట్స్ పూర్ణాంకానికి కలిగి జరగబోతోంది. మరియు నేను, మళ్ళీ, కేవలం ఒక ఆచారం లెక్కింపు కోసం ఒక ఇండెక్స్ వేరియబుల్, కానీ నేను కావలసిన కాల్ కాలేదు. నేను బాగా than-- తక్కువ చేయ బోతున్నాను Zamyla యొక్క పేరు ఆరు అక్షరాలు పొడవుగా ఉంది. నేను కష్టపడి వెళుతున్న ఇప్పుడు అక్కడ కోడ్. ఆపై నేను ++. ఇప్పుడు ఈ కర్లీ లోపలి కలుపులు నేను printf చేయ బోతున్నాను మరియు నేను ఒక ప్రింట్ మీరు ఒక సమయంలో పాత్ర. కాబట్టి నేను% సి ఉపయోగించాలి వెళుతున్న బహుశా మొదటిసారి. ఆపై నేను ప్రతి ముద్రించడానికి కావలసిన దాని సొంత లైన్ పాత్ర. కాబట్టి నేను ఒక ఉంచారు వెళుతున్న చిన్న బాక్ స్లాష్ n ఉన్నాయి. దగ్గరగా కోట్. ఇప్పుడు నేను ఇక్కడ ఏదో చేయాలనుకుంటున్నారా. నేను ముద్రించాలా కావలసిన స్ట్రింగ్ లో నిర్దిష్ట లేఖ, లు, నేను iterating ఉన్నాను వంటి ఆరు మీద సున్నా నుండి. ఇతర మాటలలో, నేను కావలసిన s యొక్క i'th పాత్ర ప్రింట్. ఇప్పుడు నేను ఈ ఎలా చేయవచ్చు? చాలా బాగా బాక్సులను వంటి ఇక్కడ ఈ ప్రాతినిధ్యం, రకం, బాక్సింగ్ భావన అప్ మాయాజాలం అక్షరాలను మీరు అదేవిధంగా ఆ చేయవచ్చు పదము కేవలం పేర్కొనడం ద్వారా సి లో, నేను పాత్ర i'th s యొక్క ముద్రించాలా కావలసిన. చదరపు బ్రాకెట్లలో ఉపయోగించి మీ కంప్యూటర్ యొక్క కీబోర్డ్ పై ఒక యుఎస్ కీబోర్డ్ పై ఉండే సాధారణంగా మీ రిటర్న్ కీ పైన. కాబట్టి ఈ సరైన కాదు ఇంకా, మీరు గమనించి ఉండవచ్చు. కానీ నేను రకమైన వెళుతున్న గుడ్డిగా ఇక్కడ ముందుకు పిలిచింది. నేను స్ట్రింగ్ 0 తయారు చేయ బోతున్నాను. నేను దీన్ని ముందు కానీ, ఉంటే చూసేలా మేము కొన్ని సాధారణ తప్పులను ముందుగా కాదు. ఈ సంకలనం ఉండబోతుంది? లేదు, నేను విషయాలు మొత్తం బంచ్ లేదు నేను. లైబ్రరీస్ నేను విన్నాను. కాబట్టి శీర్షిక ఫైళ్లు ఇది నేను ఇక్కడ జోడించండి అనుకుంటున్నారా? అవును. ప్రేక్షకులు: మీరు అవసరం ప్రామాణిక I / O [వినబడని] డేవిడ్ J. మలన్: బాగోలేదు. నేను ప్రామాణిక I / O అవసరం. ఏమి ప్రయోజనం నేను ప్రామాణిక I / O అనుకుంటున్నారు? Printf కోసం. కాబట్టి stdio.h ఉన్నాయి. మరియు మీరు కూడా నేను ఉన్నాయి ప్రతిపాదించారు ఏ కారణం కోసం CS50 లైబ్రరీ? తీగలను కలిగి. కాబట్టి మేము చూస్తారు CS50 యొక్క లైబ్రరీ చేస్తోంది ఒక స్ట్రింగ్ యొక్క ఈ భావన సృష్టించడానికి. కానీ ఇప్పుడు కోసం, మీరు కేవలం ఆలోచించవచ్చు అది ఒక వాస్తవ డేటా రకం వంటి. కాబట్టి ఒక చిన్న శుభ్రం తెలుస్తోంది. ఇప్పుడు నేను ముందుకు వెళ్ళడానికి వెళుతున్న నిజానికి స్ట్రింగ్ 0 తయారు చెయ్యాలి. సంకలనం. కాబట్టి ఆ బావుంటుంది. కాబట్టి మనం జూమ్ నాకు తెలియజేయండి ./string0 మరింత సన్నిహితంగా ఏం చూడటానికి. ఎంటర్. Z-A-M y-L-A ఎంటర్. మరియు మేము Zamyla యొక్క పేరు ముద్రించిన చేసిన. కాబట్టి ఆ అందంగా బావుంటుంది. కాబట్టి ఇప్పుడు యొక్క ముందుకు తెలియజేయండి మరియు మళ్ళీ ఈ కార్యక్రమం అమలు, మరియు Daven యొక్క పూర్తి పేరు టైప్ చేయండి. సర్ప్రైజ్, ఆశ్చర్యం. ఎంటర్. అయ్యో. మేము Daven యొక్క ముద్రిత లేదు సరిగ్గా పూర్తి మొదటి పేరు. ఇప్పుడు ఈ స్పష్టమైన ఉండాలి ఎందుకంటే ఏమి గతాన్ని, విధమైన, స్టుపిడ్ నిర్ణయానికి? అవును, నేను హార్డ్ కోడెడ్ నా లూప్ ఆరు లోపల. ఇప్పుడు నేను పెట్టిన మాత్రమే ఎందుకంటే నేను Zamyla యొక్క పేరు తెలుసు ఆరు అక్షరాలు కానుంది. కానీ ఖచ్చితంగా ఈ కాదు ఒక సాధారణ పరిష్కారం. అది అవుతుంది కాబట్టి మేము డైనమిక్ చెయ్యవచ్చు ఒక స్ట్రింగ్ యొక్క పొడవు గుర్తించడానికి strlen అనే ఫంక్షన్ కాల్. మళ్ళీ, ఉద్దేశపూర్వకంగా క్లుప్తమైన అనే టైప్ దానిని మరింత సౌకర్యవంతంగా తయారు. కానీ ఆ పర్యాయపదంగా వార్తలు ఒక స్ట్రింగ్ యొక్క పొడవు పొందడానికి. నేను నా టెర్మినల్ తిరిగి వెళ్ళడానికి వెళుతున్న విండో మరియు కంపైలర్ తిరిగి అమలు. కానీ అది నన్ను పదాన్ని. నిస్సందేహంగా లైబ్రరీ ఫంక్షన్ ప్రకటించారు const-- పూర్ణాంకానికి సైన్ చేయని రకం strlen నేను కోల్పోయింది వెబ్. పూర్తిగా. కాబట్టి, ముఖ్యంగా మీ కళ్ళ మెరుపు ప్రారంభం ఈ వంటి లోపం సందేశాలను దృష్టితో నిజాయితీగా మొదటి కొన్ని పదాలపై. మేము సమస్య లో తెలిసిన లైన్ 8, ఇక్కడ సూచించిన. మరియు అది స్ట్రింగ్ 0.c ఉంది. పరిపూర్ణంగా ప్రకటించారు లైబ్రరీ strlen చర్యను. కాబట్టి ఆ సాధారణంగా అన్నారు దోష సందేశాలు నమూనా. నిస్సందేహంగా ఏదో ప్రకటించారు. కాబట్టి చిన్న లో, నేను కనిపించింది ఏమి కలిగి ఇక్కడ, 8 లైన్ సంబంధించి చేసారు. కావచ్చు పరిష్కారం ఏమిటి సరి మీరే strlen ఉపయోగించే ఎప్పుడూ చేసిన ఉంటే? ప్రేక్షకులు: వేరే లైబ్రరీ పార్ట్? డేవిడ్ J. మలన్: పార్ట్ వేరే లైబ్రరీ. ఇది ప్రకటిస్తారు కాబట్టి, మాట్లాడటానికి. ఇది కొన్ని ఫైల్ లో ప్రస్తావించబడింది stdio.h మరియు cs50.h. కంటే ఇతర ఇప్పుడు ఇక్కడ ఇది నిర్వచించబడింది? నిజాయితీగా ఉండటానికి, మీరు కేవలం కలిగి మీ తల ఎగువ ఆఫ్ ఈ తెలుసు, లేదా మీరు ఈ google మరియు కనుగొనేందుకు. లేదా ఈ తెలుసు, నేను CS50 లో ప్రారంభించబడ్డాయి చేసిన టెర్మినల్ కార్యక్రమం, ఉపకరణం ఇది కేవలం పెద్ద, పూర్తి స్క్రీన్ వెర్షన్ ఏమి gedit యొక్క విండో దిగువన ఉంది. మరియు అది ఒక అక్కడ ఉండే అవుతుంది అని అదేవిధంగా క్లుప్తమైన ఆదేశం, మీరు టైప్ ఉంటే ఇక్కడ మాన్యువల్, మనిషి మరియు ఒక ఫంక్షన్ యొక్క పేరు, ఎంటర్ నొక్కండి మీరు బొత్తిగా తిరిగి పొందుతారు అద్భుత డాక్యుమెంటేషన్. ఇది సాధారణంగా కేవలం టెక్స్ట్ వార్తలు ఈ వంటి కొంత కనిపిస్తోంది. ఇది కొద్దిగా అధిక వార్తలు మొదటి చూపులో. కానీ స్పష్టముగా నేను వెళుతున్న నా కళ్ళ మెరుపు తెలియజేయండి మరియు మాత్రమే భాగంగా దృష్టి నేను క్షణం పట్టించుకోనట్లు. ఇది ఈ ఉంది. ఏ నిర్మాణాత్మకంగా కనిపిస్తోంది ఏదో నేను పరిచయం ఉన్నాను. నిజానికి మనిషి పేజీ, కాబట్టి మాట్లాడటం ఇత్సెల్ఫ్ ఏమి శీర్షిక ఒక ఫంక్షన్ దాఖలు వంటి strlen నిర్వచిస్తారు. కాబట్టి నేను gedit ఇప్పుడు తిరిగి వెళ్ళడానికి వెళుతున్న. నేను ముందుకు వెళ్ళడానికి వెళుతున్న మరియు ఇక్కడ #include లో చేర్చండి మరియు ఫైల్ సేవ్. నేను తెర క్లియర్ వెళుతున్న కంట్రోల్ L మీరు వొండరింగ్ ఉంటే. మరియు నేను తిరిగి అమలు వెళుతున్న string.0, ఈ సమయంలో కూర్చింది. ./string.0 Zamyla. ఆ నాకు వెళ్ళి తెలపండి పని అనిపించింది ముందుకు మరియు డావెన్పోర్ట్ తో తిరిగి. ఎంటర్. మరియు, చాలా, పని అనిపించింది. కాబట్టి మేము, ఈ కంటే కొద్దిగా మెరుగ్గా చేయవచ్చు అయితే, మేము చక్కనైన విషయాలు ప్రారంభించవచ్చు కేవలం ఒక చిన్న బిట్ అప్. నేను నిజానికి వెళుతున్న ఇప్పుడు మరొక విషయం పరిచయం. నేను ముందుకు వెళ్ళడానికి వెళుతున్న మరియు వేరే ఫైల్ లో ఈ సేవ్. నేను కాల్ వెళుతున్న ఈ ఫైలు string1.c కేవలం కోడ్ స్థిరంగా ఉండాలి మీరు ఆన్లైన్ కనుగొనేందుకు చేయగలరు. మరియు యొక్క దృష్టి తెలియజేయండి సరిగ్గా అదే కోడ్. ఇది నేను చేసిన అవుతుంది టేకింగ్కు రకమైన మంజూరు నిజానికి నా ల్యాప్టాప్ అని, మరియు టర్న్ లో, CS50 ఉపకరణం మెమరీ చాలా, చాలా ఉంది RAM, స్పేస్ యొక్క బైట్లు చాలా దీనిలో నేను తీగలను నిల్వ చేయవచ్చు. కానీ వాస్తవంలో నేను దీర్ఘ టైప్ తగినంత, మరియు తగినంత కీస్ట్రోక్, నేను సిద్ధాంతం రకం మటుకే ఎక్కువ అక్షరాలు లో నా కంప్యూటర్ కంటే భౌతికంగా మెమరీ ఉంది. మరియు ఈ సమస్యాత్మకంగా ఉంది. మచ్ ఒక పూర్ణాంకానికి మాత్రమే వంటి సిద్ధాంతంలో, కాబట్టి అధిక లెక్కింపు, మీరు మాత్రమే చాలా పాత్రలు క్రామ్ చేయవచ్చు మీ కంప్యూటర్ యొక్క RAM లేదా యాధృచ్ఛిక లోకి యాక్సెస్ మెమరీ. నేను మంచి ముందుగా చేసింది ఈ సమస్య కూడా ఇది ఒక అరుదైన కావచ్చు అయితే మూలలో కేసు, మాట్లాడటానికి. తరచుగా జరిగే లేదు జరిగిఉంటుంది. ఇది జరుగుతుంది మరియు ఉంటే నేను లేదు ముందుగా మరియు దాని కోసం కార్యక్రమం, నా ప్రోగ్రామ్ ఏమి తెలుసు చేయడు. సంసార రీబూట్, ఫ్రీజ్ వ్రేలాడదీయు. ఏదో జరిగే ఊహించి. నేను ఏమి వెళుతున్న ఇప్పుడు, అప్పటినుండీ నిజంగా, ఎప్పుడూ గుడ్డిగా నేను ముందు ఉంది లు వంటి వేరియబుల్ ఉపయోగించడానికి ఆ తిరిగి విలువ కేటాయించబడిన GetString వంటి కొన్ని ఇతర చర్య, నేను ఖచ్చితంగా తయారు వెళుతున్న దాని విలువ చెల్లదు. కాబట్టి నేను చదివి కలిగి నుండి మాత్రమే తెలుసు GetString కోసం CS50 యొక్క డాక్యుమెంటేషన్, చివరికి మేము వద్ద మీరు అభిప్రాయపడుతున్నారు చేస్తాము ఆ GetString ఒక ప్రత్యేక చిహ్నం తిరిగి అన్ని లో NULL, N-U-L-L అని ఏదో తప్పు జరిగితే ఉంటే, క్యాప్స్. కాబట్టి సాధారణంగా, అది ఒక స్ట్రింగ్ తిరిగి. కానీ అది n-U-L-L-- తిరిగి లేకపోతే ఉంటే మేము చివరికి నిజంగా ఏమి చూస్తారు మాత్రమే అర్థం means-- ఏదో చెడు జరిగింది. ఇప్పుడు ఈ చాలా స్క్రాచ్ లో వంటి, అర్థం, నేను సి లో ఇక్కడ ఒక పరిస్థితి తనిఖీ చేయవచ్చు లు సమాన NULL లేదు ఉంటే. మీరు ముందు ఈ చూడని ఉంటే కాబట్టి, కేవలం అంటే ఈ సమానంగా లేదు. కనుక ఇది వ్యతిరేకంగా వార్తలు రీకాల్ సమాన సమానం, ఒకే భిన్నంగా ఉంది అప్పగించిన ఇది సమానం. సమాన లేదు చేస్తే NULL, అప్పుడు మాత్రమే చేయండి నేను కోడ్ యొక్క ఈ పంక్తులు అమలు కావాలి. కాబట్టి ఇతర మాటలలో, నేను గుడ్డిగా డైవ్ ముందు మరియు iterating ప్రారంభం పైగా, మరియు అది చికిత్స అది ఒక క్రమం ఉంది అయితే అక్షరాలు, నేను, మొదటి తనిఖీ వెళుతున్న ఒక నిమిషం వేచి, ఖచ్చితంగా కాదు ఉంది ఈ ప్రత్యేక విలువ సమానంగా శూన్య? అది ఉంటే, చెడు విషయాల జరుగుతుంది ఎందుకంటే. ఇప్పుడు కోసం, ఆ చెడు విషయాలు ఊహించుకోవటం మీ ప్రోగ్రామ్ క్రాష్ అంటే జరుగుతున్న, మరియు మీరు తప్పనిసరిగా తిరిగి కాదు. కాబట్టి స్పష్టముగా, అది uglier కనిపిస్తోంది. అది రకమైన వద్ద మెరుపు ఇప్పుడు గందరగోళంగా అనిపిస్తుంది. కానీ ఈ మరింత అవుతుంది దీర్ఘ ముందు తెలిసిన. కానీ నేను ప్రపోజ్ వెళుతున్న ఇప్పుడు ఒక ఇతర అభివృద్ధి. ఆ ఖచ్చితత్వం అభివృద్ధి ఉంది. నా కార్యక్రమం ఎందుకంటే ఇప్పుడు మరింత సరైనది అరుదైన సందర్భంలో సరిపోదు మెమరీ , నేను పోరాడతాను ఉనికిలో ఉంది, మరియు నేను ఏమీ చేస్తాము. నేను కనీసం క్రాష్ కాదు. కానీ ఇక్కడ ఒక తుది వెర్షన్ తెలియజేసేలా. మరియు ఒక ఫైల్ string2.c అని. నేను పేస్ట్ వెళుతున్న కేవలం ఒక క్షణం ఒకే కోడ్, మరియు నేను ఈ హైలైట్ వెళుతున్న కేవలం ఒక క్షణం ఇక్కడ లైన్ 11,. ఇప్పుడు రియాలిటీ స్మార్ట్ కంపైలర్లు ఉంది గణగణమని ద్వని చేయు మాకు ఈ పరిష్కరించడానికి కాలేదు వంటి తెర వెనుక మా ఎప్పుడూ తెలియకుండా. కానీ యొక్క ఈ గురించి ఆలోచించటం తెలియజేయండి ప్రాథమికంగా ఒక సమస్యాత్మక డిజైన్ వంటి. కోడ్ యొక్క ఈ లైన్, కోర్సు యొక్క, ఉంది చెప్పారు, కొన్ని వేరియబుల్ నేను 0 to ప్రారంభించడం. ఆ అందమైన సూటిగా ఉంది. మళ్ళీ ఈ ఏమిటి ప్రకటన, ఇక్కడ నేను చేస్తున్న, ++? మేము ముందు చూసిన, కానీ మేము చేసిన నిజంగా దాని గురించి మాట్లాడరు. ప్రేక్షకులు: నేను పెంచడం. డేవిడ్ J. మలన్: పెంచడం ఐ. ద్వారా ప్రతి మళ్ళా న, ఈ లూప్, ప్రతి చక్రం, మీరు ఒక ద్వారా నేను పెంచడం చేస్తున్నారు. కాబట్టి అది పెద్ద, పెద్ద గెట్స్, మరియు లూప్ ఆగిపోతుంది వరకు పెద్దది. అది ఎలా ముగించాలని లేదు? Well ఈ మధ్య ఉంది మేము ముందు ఉపయోగించిన ఇది పరిస్థితి. మీరు చూసిన పి సెట్ లో walkthroughs. కానీ ఈ సామెత ఏమిటి? కింది లూప్ చేయండి కాలం నేను ఏమి కంటే తక్కువగా ఉంటుంది? ప్రేక్షకులు: స్ట్రింగ్ యొక్క పొడవు. డేవిడ్ J. మలన్: స్ట్రింగ్ యొక్క పొడవు. కనుక ఇది అందంగా సజావుగా అనువదిస్తుంది ఆ కోణంలో ఆంగ్లంలోకి. ఇప్పుడు సమస్య ప్రతిసారీ నేను సిద్ధాంతంలో, ఈ లూప్ ద్వారా iterate, నేను ఈ ప్రశ్న అడగడం. నేను s యొక్క స్ట్రింగ్ పొడవు కంటే తక్కువ? నేను s యొక్క స్ట్రింగ్ పొడవు కంటే తక్కువ? ఇప్పుడు నేను ప్రతి మళ్ళా న మారుతున్న? ఇది. ++ లద. కాబట్టి ప్రతి మళ్ళా నేను పెద్ద పెరిగిపోతుంది. కానీ లు పెద్ద పొందడానికి, లేదా చిన్న, లేదా అన్ని వద్ద మారుతున్న? నం డిజైన్ పరంగా, గొడ్డలి ఒకటి కాబట్టి ఇది పాటు మేము కోడ్ విశ్లేషించడానికి ప్రయత్నించండి తరగతి లో, ఈ స్టుపిడ్ రకం భావిస్తాడు. మీరు వాచ్యంగా లాగ, ప్రతి మళ్ళా న ఈ లూప్ యొక్క అడుగుతూ మళ్ళీ అదే ప్రశ్న భీకర, మళ్ళీ, మళ్ళీ, మరియు వాచ్యంగా ఇది ఎప్పుడూ మార్చడానికి వెళ్తున్నారు. నేను తాకడం లేదు ఉంటే కనీసం మరియు లు విషయాలు మార్చడానికి ప్రయత్నిస్తున్న. కాబట్టి నేను ఈ కంటే కొద్దిగా మెరుగ్గా చేయవచ్చు. నేను ఏమి వెళుతున్న కాదు కేవలం ఒక వేరియబుల్ నేను ప్రకటించాలని కానీ రెండవ వేరియబుల్ నేను ఏకపక్ష చేస్తాము కానీ సంప్రదాయకంగా, N కాల్. N కు సమాన అప్పగించుము s యొక్క స్ట్రింగ్ పొడవు. మరియు ఇక్కడ, నేను వెళుతున్న కాబట్టి, ఒక తెలివైన చిన్న ఆప్టిమైజేషన్ చేయండి రోజు చివరిలో, ఆ మాట్లాడటం ఏ మరింత సరైన లేదా తక్కువ సరైనది ముందు కంటే. కానీ అది ఒక మంచి డిజైన్. నిజానికి నేను ఉపయోగించి నేను తక్కువ సమయం, తక్కువ CPU సైకిళ్లకు, కాబట్టి అదే సమాధానం, మాట్లాడటం ప్రశ్న, కానీ కేవలం ఒకసారి. సాధారణ ఏదైనా ప్రశ్నలు అభివృద్ధి సూత్రం ఒక ప్రోగ్రామ్ యొక్క సామర్థ్యం, ​​చెప్పటానికి? అవును? ప్రేక్షకులు: మీరు ఎందుకు చేయండి [వినబడని] ఉపయోగించాలి? డేవిడ్ J. మలన్: మంచి ప్రశ్న. సో ఎందుకు మేము చివరిలో ++ ఉంచగలను నేను బదులుగా నేను ప్రారంభంలో? ఈ సందర్భంలో, అది ఉంది ఎలాంటి క్రియాత్మక ప్రభావం. మరియు సాధారణంగా, నేను ఉంటాయి నొటేషన్ ఆపరేటర్లు ఉపయోగించడానికి అది ఒక చిన్న మరింత స్పష్టమైన వార్తలు తద్వారా ఆపరేషన్ జరుగుతున్న ఉన్నప్పుడు. ఆ తెలియని కోసం, మరొక ఉంది మీరు ++ i do అనగా ప్రకటనలు. ఈ క్రియాశీలకంగా ఈ సందర్భంలో సమానమైన గత్యంతరం లేదు ఎందుకంటే ఆ incrementation చుట్టూ. కానీ మీరు అప్ రావచ్చు కేసులు మరియు లైన్స్ ఆఫ్ కోడ్ దీనిలో ఒక తేడా చేస్తుంది. కనుక సాధారణంగా, మేము లేదు కూడా ఈ గురించి మాట్లాడండి. స్పష్టముగా ఎందుకంటే, అది మీ చేస్తుంది కోడ్ శృంగారపరంగా మరియు విధమైన, slicker మరియు తక్కువ అక్షరాలు. కానీ వాస్తవంలో, అది చాలా కష్టం ఉంది నేను నా మనస్సు మూసివేయాలని కూడా, అనుకుంటున్నాను కొన్నిసార్లు అది చుట్టూ, క్రియల క్రమం. జనాంతికంగా, కాబట్టి మీరు నిజంగా, ఈ నచ్చలేదు కూడా ఈ రకమైన సెక్సీ అయితే చూస్తున్న, మీరు కూడా చేయవచ్చు నేను + = 1, వీటిలో uglier వెర్షన్ నొటేషన్ incrementation ఒకే ఆలోచన. నేను ఈ మరియు మీరు చెప్పే దానిని ఎగతాళి ఉండాలి, కానీ మీరు కోడ్ చూడటానికి వస్తారు దీర్ఘ ముందు అందమైన ఏదో. [నవ్వు] డేవిడ్ J. మలన్: రైట్? అవును. మధ్యలో ప్రశ్న. ప్రేక్షకులు: మీరు Int n చెప్పటానికే అవసరం? డేవిడ్ J. మలన్: మీరు చేయండి పూర్ణాంకానికి n చెప్పడానికి అవసరం లేదు. మేము ఇప్పటికే పూర్ణాంకానికి చెప్పారు ఎందుకంటే కాబట్టి, మీరు మళ్ళీ చెప్పాను అవసరం లేదు. క్యాచ్ n కు కలిగి ఉంది నేను అదే డేటా రకం. కాబట్టి ఇక్కడ కేవలం ఒక సౌలభ్యం ఉంది. అవును. ప్రేక్షకులు: మీరు వెళ్ళి కాదు ముద్రణ పాత్ర యొక్క బ్రాకెట్ నేను మళ్లీ? డేవిడ్ J. మలన్: ఖచ్చితంగా. సో% సి, చివరి నుండి గుర్తుకు సమయం, కేవలం ఒక ప్లేస్హోల్డర్ ఉంది. ఇది ఇక్కడ ఒక చార్ ఉంచారు అనగా. బాక్ స్లాష్ n, కోర్సు యొక్క, కేవలం అంటే ఇక్కడ ఒక లైన్ బ్రేక్ ఉంచారు. , ఇప్పుడు, ఆకులు కాబట్టి కొత్త వాక్యనిర్మాణం యొక్క ఈ ముక్క. మరియు ఈ అక్షరాలా పట్టుకొను చెబుతున్నారు స్ట్రింగ్ s అనే పొందండి వెళ్ళి దాని i'th పాత్ర, మాట్లాడటానికి. నేను i'th పాత్ర చెప్పడం ఉంచేందుకు ఎందుకంటే ఈ లూప్ యొక్క ప్రతి మళ్ళా న మేము ప్రింటింగ్ ఉంటాయి అయితే ఉంది అవుట్, మొదటి లు బ్రాకెట్ 0, ఒక ప్రోగ్రామర్ అనవచ్చు వంటి. అప్పుడు అప్పుడు, బ్రాకెట్ 1 ఉంది బ్రాకెట్ 2, అప్పుడు 3, 4. కానీ వాస్తవానికి అది ఒక వేరియబుల్, కాబట్టి నేను కేవలం నేను దీన్ని వ్యక్తం. కీ, అయితే, గ్రహించడం ఉంది, మీరు లేదు చేసిన ముఖ్యంగా ఈ ప్రపంచానికి acclimating చేశారు ప్రోగ్రామింగ్, మేము అన్ని యొక్క చూడాలి, సున్నా నుండి లెక్కించడానికి కనిపిస్తుంది ఇప్పుడు సున్నా నుండి లెక్కింపు ప్రారంభించండి. ఎందుకంటే తీగలను, మొదటి అక్షరం Zamyla లో z కొరకు మంచి లేదా అధ్వాన్నంగా కోసం నగర సంఖ్య సున్నా వద్ద జీవించును. All right, కాబట్టి నన్ను తీసుకుని తెలియజేయండి ఇక్కడ Zamyla మాకు తిరిగి మరియు నిజంగా ఏమి జరగబోతోంది చూడండి హుడ్ కింద. కాబట్టి రకం కాస్టింగ్ యొక్క ఈ భావన ఉంది. మీరు నిజంగా ఉండవచ్చు ఇప్పటికే ఈ వాయించాడు బహుశా హ్యాకర్ కొరకు పి ఎడిషన్లో సెట్. అయితే, ఈ రకం కాస్టింగ్ కేవలం సూచిస్తుంది సి సామర్థ్యం మరియు కొన్ని ఇతర భాషలు మరొక డేటా రకం మార్చవచ్చు. ఇప్పుడు మేము ఈ ఎలా చూడండి ఉండవచ్చు అందంగా సూటిగా? కాబట్టి, ప్రారంభంలో ఈ రీకాల్ ఉంది ఆంగ్ల అక్షరమాల యొక్క. మరియు సందర్భం నుండి, రీకాల్ వంటి ఒక వారం క్రితం ASCII ఉంది. అమెరికన్ స్టాండర్డ్ కోడ్ ఇన్ఫర్మేషన్ ఇంటర్చేంజ్. ఏ కేవలం ఒక నిజంగా దీర్ఘ మార్గం అక్షరాల నుంచి మాపింగ్ చెప్పడం సంఖ్యలు, మరియు సంఖ్యలు నుండి అక్షరాలు. కాబట్టి ఇక్కడ ఎం, డాట్ డాట్ ద్వారా డాట్, లైన్లను, రీకాల్, అప్ న దశాంశ సంఖ్య 65. మరియు మేము మాట్లాడరు స్పష్టంగా ఈ గురించి కానీ ఖచ్చితంగా పోలి ఉంది చిన్నబడి అక్షరాలు సంఖ్యలు. నిజానికి, ఉన్నాయి. ప్రపంచ కొన్ని సంవత్సరాల నిర్ణయించుకుంది క్రితం కొద్దిగా, ఒక చిన్న, 97 అవతరిస్తుంది. మరియు లిటిల్ బి అన్నారు మొదలగునవి 98 సాధించాల్సిన. మరియు ఏ ఇతర కీ కోసం మీ కీబోర్డ్, ఉంది బిట్స్ ఇదే నమూనా చేస్తాడు. లేదా సమానమైనప్పుడు, ఒక దశాంశ సంఖ్య. కాబట్టి చేతిలో ప్రశ్న అప్పుడు, మేము ఎలా ఉంది నిజానికి హుడ్ కింద ఈ చూడండి? నేను మళ్ళీ gedit వెళ్ళి వెళుతున్న. మరియు బదులుగా రకం కంటే మొదటి నుంచి ఈ ఒక, నేను ముందుకు వెళ్ళడానికి వెళుతున్న మరియు కేవలం ఏదో తెరుచుకుంటుంది నేటి కోడ్ నుండి ASCII సున్నా అని. మరియు ASCII సున్నా ఈ కనిపిస్తోంది. కాబట్టి యొక్క ఈ చుట్టూ మా మనస్సులలో వ్రాప్ వీలు. కాబట్టి మొదటి, నేను వ్యాఖ్యానించారు చేసిన నైస్ ఇది కోడ్. ఇది అక్షరాలా ఎందుకంటే ఏమి ఆశిస్తారో నాకు చెప్పడం, పెద్ద అక్షరాలు ఒక మ్యాపింగ్ ప్రదర్శించడానికి. ఇప్పుడు నేను చాలా తెలియదు ఏమి నేను ఆ అర్ధం, కాబట్టి యొక్క కారణమును తెలియజేయండి. ఇంగ్లీష్ లో, బహుశా కొంతవరకు techie ఇంగ్లీష్, ఏ లైన్ 18 కనిపిస్తుంది మాకు చేస్తూ? కేవలం 18 తీరతారు. ఇది ఏమిటి ప్రేరిపిత యొక్క? అది ఇక్కడ ఆఫ్ వదలివేయడానికి జరగబోతోంది? ప్రేక్షకులు: A లూప్. డేవిడ్ J. మలన్: ఒక లూప్. మరియు ఎన్ని సార్లు ఉంది iterate వెళుతున్న ఆ? ప్రేక్షకులు: [వాయిసెస్ INTERPOSING] ఆరు సార్లు. డేవిడ్ J. మలన్: ఆరు సార్లు. ప్రేక్షకులు: 26 సార్లు. డేవిడ్ J. మలన్: 26 సార్లు. అవును, సారీ. 26 సార్లు. ఎందుకు? సరే, ఒక చిన్న అసహజ, కానీ నేను 65 నుండి లెక్కింపు ప్రారంభించారు చేసిన. ఏ అదృష్టము, కానీ తప్పు కాదు. ఇది చెప్పడానికి ప్రతి చెడు కాదు. నేను ఏమి చేస్తున్నానో మాత్రమే ఎందుకంటే, ఈ ఉదాహరణ కోసం, నేను రకమైన ఎదురు చూడడం వెబ్ ఆ రాజధాని A 65. ఇప్పుడు ఈ చాలా సొగసైన ఉంది మార్గం హార్డ్ కోడ్ రకం, దీన్ని రహస్యమైన విలువలు ఎవరూ ఎప్పుడూ గుర్తుంచుకోవాలి భావిస్తున్నారు. కానీ ఇప్పుడు కోసం, నేను ఉన్నాను అని గుర్తించలేకపోతే 65 ప్లస్ 26 ద్వారా ఈ అప్ చేయడం. స్పష్టంగా నేను కూడా ఇష్టం లేదు ఎందుకంటే నా తల లో అంకగణిత చేయడానికి. కాబట్టి నేను కంపైలర్ దీన్ని తెలియజేస్తాము. కానీ అప్పుడు ప్రతి లూప్ లో, ప్రతి మళ్ళా లూప్ యొక్క, నేను పెంచడం చేస్తున్నాను. కాబట్టి ఇప్పుడు ఈ ఒక చిన్న గుప్తమైన కనిపిస్తోంది. కానీ మేము ప్రాథమిక భవనం కలిగి ఉండాలి తో బ్లాక్స్ అర్థం. % సి ఒక చార్ కోసం కేవలం ఒక ప్లేస్హోల్డర్ ఉంది. % I ఒక పూర్ణాంకానికి కోసం ఒక ప్లేస్హోల్డర్ ఉంది. మరియు అది ద్వారా ఈ ఉపయోగించి ఆ బయటకు వస్తాడు కొత్త సింటాక్సు, ఈ parenthetical, కాబట్టి మాట్లాడటం, ఒక డేటా రకాన్ని కనుక ఒక కుండలీకరణాలు లోపలి, నేను చికిత్స కంపైలర్ బలవంతం చేయవచ్చు నేను ఒక పూర్ణాంకం ఉంది, కానీ ఒక చార్ వంటి. అందుచేత నాకు పాత్ర చూపిస్తున్న ఆ సంఖ్యను సమానం. డౌన్ ఇక్కడ ఇప్పుడు, ఈ కోడ్ చాలా చక్కని ఒకేలా ఉంది. నేను కేవలం అనుకున్నారు సూపర్ స్పష్టమైన వాస్తవం నేను 97 వద్ద మొదలు చేస్తున్నాను అని, ఇది ఒక చిన్న ఉంది. 26 మరింత లేఖలను న. నేను, మళ్ళీ doing-- చేస్తున్నాను నేను కాస్టింగ్, మాట్లాడటానికి. లేదా టైప్ కాస్టింగ్ నేను, మాట్లాడటానికి. ఒక చార్ ఒక పూర్ణాంకానికి నుండి. కాబట్టి ముగింపు ఫలితంగా అవతరిస్తుంది, స్పష్టముగా, సమాచారం మేము ఇప్పటికే తెలుసు. నేను చేయడానికి వెళుతున్న ASCII-0 C Dot కాదు dot--. విచారణ, మీరు బహుశా చేసిన తప్పు నేను కేవలం అనుకోకుండా చేశాడు. ASCII-0 చేయండి. ఇప్పుడు నేను ./ascii-0 చేయ బోతున్నాను. నేను జూమ్, మరియు దురదృష్టవశాత్తు చేస్తాము ఇది తెరపై స్క్రోల్ జరగబోతోంది. కానీ మేము ఒక మొత్తం చార్ట్ ఇక్కడ చూడండి 97 ఒక మాన, 98 బి పటాలు, మరియు మేము మరింత స్క్రోల్ ఉంటే ఒక, కోర్సు, 65 పటములు. కాబట్టి ఈ అని చెప్పటానికి మాత్రమే మేము ఏమి బోధనలు చేసిన, ఈ సమతుల్యత, అక్కడ ఉంది వాస్తవానికి నిజానికి కేసు. కాబట్టి ఈ యొక్క శీఘ్ర సవరణ. నాకు ASCII-1.c తెరుచుకుంటుంది లెట్. మరియు విధమైన ఈ తెలివైన గమనించవచ్చు , ఈ వివరణ. ఈ ASCII-1.c, మరియు ఈ వెర్రి విషయం గమనిస్తారు. మరియు ఈ నిజంగా గుండె గెట్స్ ఏమి కంప్యూటర్లు చేస్తున్నారు. ఇంకా మనం మానవులు చూపనుండగా letters-- పరంగా లెక్కలోనికి నేను ఆలోచిస్తూ మొదలు లేదు, అన్ని కుడి ఒక అప్పుడు బి, భౌతిక వస్తువులు లెక్కించడానికి ఆ ఉపయోగించడానికి. మీరు ఖచ్చితంగా నేను కావలసిన చెప్పగలను అని కొన్ని వేరియబుల్ ప్రారంభించడం సి కానీ నేను ఈ ఏదైనా అని ఉండవచ్చు కాబట్టి సి రాజధాని A. కు initialized ఉంది రోజు చివరిలో, కంప్యూటర్ ఎందుకంటే మీరు నిల్వ ఏమి పట్టించుకోరు, అది మాత్రమే మీరు ఎలా పట్టించుకుంటారు ఆ సమాచారాన్ని ప్రదర్శించడానికి. మీరు కంప్యూటర్ అనుకుంటున్నారు ఎలా బిట్ల ఆ నమూనా అనువదించేందుకు? కాబట్టి ఈ ఏదో నేను కాదు సాధారణంగా సిఫార్సు చేస్తున్నాము ఉంటుంది. ఇది నిజంగా కేవలం ఒక ఉదాహరణ వార్తలు చెప్పేటప్పుడు మీరు ఖచ్చితంగా చెయ్యవచ్చు ఒక చార్ ఒక పూర్ణాంకం ప్రారంభించడం. ఎందుకంటే కింద ఒక చార్ యొక్క హుడ్, కోర్సు యొక్క, 0 నుండి 255 వరకు కేవలం ఒక సంఖ్య. సో మీరు ఖచ్చితంగా చెయ్యవచ్చు ఒక పూర్ణాంకానికి యొక్క లోపల ఉంచండి. మరియు ఈ కూడా ఉంది చూపించే మేము ఆ ఒకటి నుండి మార్చగలదు ఇక్కడ మరొక టైప్ చివరికి అదే విషయం ప్రింటింగ్. నిజానికి, ఈ నేను online-- పరిష్కరిస్తారు ఇక్కడ, మళ్ళీ, ఈ చెప్పాలో అర్థం జరిగినది. నాకు ఆన్లైన్ ఈ శుభ్రం లెట్, మరియు మేము చేస్తాము అవసరమైన ఒక ఆన్లైన్ walkthrough లో చూడండి, అక్కడ ఉద్దేశించబడింది. సరే. ఇప్పుడు పాల్గొన్న గత ఉదాహరణకు ఒక యొక్క అండ్ బి యొక్క ఆపై మేము చేస్తాము ఒక గీత అప్ విషయాలు తీసుకుందాం. ఒక యొక్క అండ్ బి యొక్క మరియు సో కాప్ను సి యొక్క మరియు సమాన వాటి, లెట్స్ ఇక్కడ, ఈ ఉదాహరణ పరిశీలించి. మరో కోడ్ ఉదాహరణ. మేము ఆ ఒకటి తెరిచి చేస్తాము ఇప్పటికే చేసిన, మేము అలా టైపు లేదు అన్ని మొదటి నుండి బయటకు. మరియు ఊహించి గమనించవచ్చు మేము బహుళ శీర్షిక ఉపయోగించి చేస్తున్నారు ఇది మధ్య ఫైళ్లు, మా కొత్త స్నేహితుడు, String.h. ఇప్పుడు ఈ మొదటి వద్ద, కనిపిస్తోంది చూపులో, ఒక చిన్న గుప్తమైన. కానీ మేము కారణం కాదు లేదో యొక్క చూసేలా ఇక్కడ జరగబోతోంది ఏమి ద్వారా. మొదటి నేను వినియోగదారు నుండి ఒక స్ట్రింగ్ పొందండి మరియు నేను ఒక వేరియబుల్ అని స్ట్రింగ్ ఉంచండి అని. ముందు నుండి అతికించండి. లైన్ 22 లో, నేను స్పష్టంగా ఉన్నాను వేటి చేయడం నేను iterating ఉన్నాను, ఒక క్షణం క్రితం చేశాడు s లో అక్షరాల కంటే. మరియు ఇక్కడ కొత్త ఉపాయాలు ఉపయోగించి స్ట్రింగ్ పొడవు, చిన్న ఆప్టిమైజేషన్ n లో స్ట్రింగ్ పొడవు భద్రపరిచే, కాకుండా మళ్ళీ కాల్ strlen కంటే, మళ్ళీ, మళ్ళీ. మరియు కేవలం నేను n కంటే తక్కువ అని తనిఖీ. ఇప్పుడు ఇక్కడ, తెచ్చుకున్నా ఒక చిన్న ఆసక్తికరమైన. కానీ అది కేవలం ఒక అప్లికేషన్ ఇదే కొత్త ఆలోచన. ఇంగ్లీష్ చేస్తుంది ఏమిటి నేను య లు బ్రాకెట్? ప్రేక్షకులు: ప్రతి కౌంటింగ్ పాత్ర [వినబడని]. డేవిడ్ J. మలన్: ప్రతి పాత్ర కౌంటింగ్. మరియు మరింత క్లుప్తమైన, లు బ్రాకెట్ నేను ఏమి సూచిస్తాయి? అని మీరు అంటున్నారు. ఇక్కడ స్పాట్ ఉంచగలమని లేదు. ప్రేక్షకులు: Well-- డేవిడ్ J. మలన్: పదాన్ని ఉంటే is-- చేస్తే స్ట్రింగ్ starts-- ఇది Zamyla ఉంది ప్రేక్షకులు: --you వ్యవహరించే అక్షరాలు separately-- డేవిడ్ J. మలన్: గుడ్. సరిగ్గా. చదరపు బ్రాకెట్ సంజ్ఞామానం మీరు అనుమతిస్తుంది వ్యక్తిగతంగా ప్రతి పాత్ర యాక్సెస్ చెయ్యడానికి, కాబట్టి యొక్క బ్రాకెట్ 0 అవతరిస్తుంది స్ట్రింగ్ లో మొదటి పాత్ర. లు బ్రాకెట్ 1 అవతరిస్తుంది మొదలగునవి రెండవ, మరియు. కాబట్టి ప్రశ్న నేను అడగడం, ఇక్కడ, ఈ పరిస్థితి లో ఏమి ఉంది? లు ఎక్కువ i'th పాత్ర కంటే ఎక్కువ లేదా సమాన ఒక చిన్న కు? మరియు ఈ ఇక్కడ అర్థం ఏమి లేదు డబుల్ ampersands తో? ప్రేక్షకులు (కలిసి): మరియు. డేవిడ్ J. మలన్: మరియు. ఇది ఈ కేవలం సమానమైన వార్తలు. మరియు సి ఒక కీవర్డ్ కాదు, మీరు కలిగి ఉపయోగం annoyingly, ఆంపర్సండ్ చిహ్నం ఆంపర్సండ్ చిహ్నం. మరియు ఈ, దానికి అడుగుతున్నారు ఉంది పాత్ర i'th s యొక్క కంటే తక్కువ లేదా సమానం z చిన్న కు? మరియు తిరిగి, ఇక్కడ ఎక్కడ వార్తలు అంతర్లీన అవగాహన ఒక అమలు కంప్యూటర్ అర్ధమే. నేను లేనప్పటికీ, ఆ ప్రకటన డాట్ డాట్ డాట్ అక్కడ, చిన్న లో z ద్వారా ఒక వంటివి కనిపిస్తోంది అప్ అప్ 97 నుండి అన్ని ఆనుకొని విలువలు. మరియు పెద్ద ఒకే 65 వద్ద మొదలు. కాబట్టి తాత్కాలిక, అప్పుడు, ఆ ఆంగ్లంలో ఉంది మీరు వివరిస్తారు ఎలా 24 చేస్తున్నది లైన్? అవును? ప్రేక్షకులు: 24 న అది చూడటానికి తనిఖీ అని ప్రతి పాత్ర ఒక చిన్న ఉంది. డేవిడ్ J. మలన్: ఇది లేదో తనిఖీ ప్రతి పాత్ర ఒక చిన్న అక్షరం ఉంది. కాబట్టి మరింత క్లుప్తమైన ఉంది చిన్న యొక్క యొక్క i'th పాత్ర? అంటే మనం ఉన్నాము అంతే తార్కికంగా ఇక్కడ వ్యక్తం, ఒక చిన్న cryptically, కానీ చివరికి అందంగా సూటిగా. పాత్ర చిన్న i'th లు ఏమి ఉంది? అలా అయితే, ఇక్కడ ఉన్న విషయాలు కొద్దిగా మనస్సు వంచి పొందండి కేవలం ఒక క్షణం అలా అయితే వెళ్ళి ముందుకు మరియు ఒక పాత్ర ప్రింట్. కాబట్టి ఈ కేవలం ఒక ప్లేస్హోల్డర్, కానీ ఏ పాత్ర? ఎందుకు నేను బ్రాకెట్ నేను చేస్తున్న మైనస్ ఇక్కడ ఈ వ్యక్తీకరణ? బాగా ఇక్కడ నమూనా గమనించవచ్చు. వాస్తవ సంఖ్యలు చాలా పట్టింపు లేదు. కానీ 97 అని గమనించవచ్చు ఎంత దూరంలో 65 నుండి? ప్రేక్షకులు: 32. డేవిడ్ J. మలన్: 32. ఎలా దూరంగా 66 నుండి 98 ఉంది? ప్రేక్షకులు: 32. డేవిడ్ J. మలన్: బిగ్ సి నుండి లిటిల్ సి? 32. కాబట్టి నుండి 32 హాప్ ఉంది మరొక లేఖ. కాబట్టి స్పష్టముగా నేను అనుకొనుట ఆ ఈ సులభతరం. కానీ అప్పుడు నేను రకమైన హార్డ్ కోడింగ్ చేస్తున్నాను ఈ తక్కువ స్థాయి అవగాహన ఏ రీడర్ ఎప్పుడూ అని అర్థం అన్నారు. కాబట్టి నేను అది సాధారణీకరించడం వెళుతున్న, నేను తెలుసు చిన్న అక్షరాలను పెద్దవిగా ఉంటాయి. నేను రాజధాని అక్షరాలు ఉంటాయి తెలుసు చిన్న విలువలు, చిత్రంగా. కానీ ఈ సమర్ధవంతంగా సమానం లు బ్రాకెట్ నేను నుండి 32 వ్యవకలనం మాట్లాడుతూ. ఈ సందర్భంలో కాబట్టి అక్షరాలు, లేఖ ఉంటే ఒక చిన్న నిర్మాణము ఒక, మరియు నేను 32 వ్యవకలనం, ఏ ప్రభావం కలిగి లేదు, గణితశాస్త్ర ఒక చిన్న? ప్రేక్షకులు: Capitalizes-- డేవిడ్ J. మలన్: ఇది క్యాపిటల్ అక్షరాలలో. నిజానికి, ఈ ఎందుకు మా కార్యక్రమం సున్నా చూపడంలో అంటారు. ఈ కార్యక్రమం గాని ఒక లేఖ క్యాపిటల్, అది ఉంటే తనిఖీ తర్వాత నిజానికి ఒక చిన్న అక్షరం. లేకపోతే, లైన్ 30 లో, నేను దానిని ఏమి లేదు ఇది నేను ఉన్నాను ఒక చిన్న అక్షరం కాదు ఒక నిర్దిష్ట వద్ద చూడటం లూప్ లో మళ్ళా. జస్ట్ దాన్ని ప్రింట్. కాబట్టి స్టఫ్ మారదు కూడా చిన్న కాదు. మీరే పరిమితం చెయ్యి చిన్న z ద్వారా కొద్దిగా. ఇప్పుడు ఈ చాలా రహస్య ఉంది. కానీ రోజు చివరిలో, ఈ ఎలా మేము ఒకసారి ఒక సమయం మీద, ఉంది విషయాలు అమలు వచ్చింది. నేను బదులుగా చూపడంలో తెరిస్తే ఒకటి, ఓహ్ గాడ్ ధన్యవాదాలు. ఒక ఫంక్షన్ ఉంది ఎగువ అని చెయ్యవచ్చు మేము అది ఇప్పుడే చేశాం ప్రతిదీ పూర్తి తక్కువ స్థాయిలో. ఇప్పుడు ఎగువ ఆసక్తికరమైన ఉంది ఇది ఒక ఫైల్ లో ప్రకటించింది ఎందుకంటే, మరియు మీరు మాత్రమే ఈ తెలుస్తుంది డాక్యుమెంటేషన్ తనిఖీ ద్వారా, లేదా తరగతి, పేరు లో, సే, చెప్పారు పిలువబడే ఒక ఫైల్ ctype.h లో ఉనికిని చాటుకుంటుంది. కాబట్టి ఈ మాది మరొక కొత్త స్నేహితుడు. మరియు ఎగువ ఖచ్చితంగా చేస్తుంది ఉంది దాని పేరు సూచిస్తుంది ఏమి. మీరు మధ్య, ఒక వాదన గా, పాస్ చేయవచ్చు ఈ కుండలీకరణాలు కొన్ని పాత్ర. నేను i'th పాత్ర లో పాస్ వెళుతున్న మా ఫాన్సీ కొత్త గుర్తులను ఉపయోగించి వార్తలు చదరపు బ్రాకెట్లలో పాల్గొన్న. మరియు ఒక అంచనా తీసుకోవాలని, తిరిగి ఏమి ఉంది ఎగువ విలువ స్పష్టంగా అన్నారు అని? ఒక రాజధాని లేఖ. ఒక రాజధాని లేఖ. కాబట్టి నేను చిన్నబడి లో పాస్ ఉంటే, ఆశాజనక, ఎగువ నిర్వచనం ద్వారా, అది ఒక తిరిగి వెళుతున్న లేకపోతే పెద్ద స అది ఒక చిన్న అక్షరం లేకుంటే మొదటి స్థానంలో, నేను కేవలం దాన్ని ప్రింట్. నిజానికి, గమనించి ఇక్కడ రెండవ స్నేహితుడు. కేవలం ఎగువ ఉంది వరకు, కానీ, దిగువ ఇది నిజానికి నాకు ఆ ప్రశ్నకు సమాధానం. ఇప్పుడు ఈ విషయాలు రాశారు ఎవరైతే, 10s సంవత్సరాల క్రితం, మీరు ఏమి తెలుసు? ఎగువ అమలు మరియు ఉంది ఈ వంటి కోడ్ ఉపయోగించి తక్కువ. కానీ మళ్ళీ, స్థిరమైన దూరంగా abstracting ఈ ఆలోచన, విధమైన, తక్కువ స్థాయి అమలు వివరాలు. మరియు ప్రజలు భుజాల మీద నిలబడి ఎవరు ఫంక్షన్లను ఉపయోగించి, మాకు ముందు వచ్చింది ఎగువ మరియు, దిగువ ఇది అద్భుతంగా తగినంత చక్కగా ఉన్నాయి వారు ఏమి చెప్పటానికి పేరు పెట్టబడ్డాడు ఒక అద్భుతమైన రూపావళి పాటించేలా. ఇప్పుడు, నేను చదివితే ఆ అవుతుంది కోసం మనిషి పేజీ, ఎగువ చెబుతాను నేను ఏదో తెలుసుకోవడానికి. కాబట్టి మనిషి Toupper. ఇది కాస్త అధిక. కానీ నోటీసు, ఇక్కడ ఆ ప్రస్తావన వార్తలు నేను వాడాలి శీర్షికా ఫైలును. జనాంతికంగా, ఎందుకంటే ఈ నాటికి తప్పుదారి, ఫంక్షన్ ints బదులుగా అక్షరాలు ఉపయోగించే దోష పరిశీలన కారణాల కోసం. కానీ మేము బహుశా వచ్చి చేస్తాము ఆ భవిష్యత్తు. కానీ ఎగువ మార్పిడులను, ఇక్కడ, గమనించి వీలైతే లేఖ సి అప్పర్కేస్ కు. కాబట్టి ఆ అందంగా సూటిగా ఉంది. ఇప్పుడు యొక్క కొద్దిగా మరింత నిర్దిష్ట ఉండాలి తెలియజేయండి. యొక్క భాగంగా చూద్దాం తిరిగి విలువ కింద మనిషి పేజీ. తిరిగి విలువ ఉంది కన్వర్టెడ్ లేఖ యొక్క. లేదా C ఉంటే మార్పిడి , సాధ్యం కాదు సి అసలు ఇన్పుట్ ఉంది. నేను నుండి, ఇక్కడ నుండి తెలుసు ఎగువ వాదన. కాబట్టి ఈ తాత్కాలిక ఏమిటి? తిరిగి విలువ ఉంది కన్వర్టెడ్ లేఖ యొక్క, లేదా సి, అసలు అక్షరం ఉంటే మార్పిడి సాధ్యం కాదు. ఏం అభివృద్ధి అందువలన నేను చెయ్యవచ్చు నా కోడ్ యొక్క రూపకల్పన చేయడానికి? అవును? ప్రేక్షకులు: మీరు వేరే తొలగించవచ్చు. డేవిడ్ J. మలన్: నేను చెయ్యవచ్చు ఇంకా ప్రకటన తొలగించండి, మరియు కేవలం ఇంకా ప్రకటన. ప్రేక్షకులు: మీరు [వినబడని] తొలగించవచ్చు. డేవిడ్ J. మలన్: నేను చెయ్యవచ్చు మొత్తం ఫోర్క్ తొలగించడానికి రోడ్డు, ది else ఉంటే పూర్తిగా. కాబట్టి నిజానికి నాకు తెరవడం అనుమతిస్తాయి ఈ ఆఖరి వెర్షన్ ఉంటే,-2 పెట్టుబడి మరియు ఎంత గమనిస్తారు మీరు సెక్సీ, ఇప్పుడు కోడ్ పెరిగిపోతుంది ఉంటుంది, ఆ నేను కొన్ని నుండి తగ్గింది చేసిన ఏడు లేదా కేవలం నాలుగు పంక్తులు, నేను ఉద్దేశించిన కార్యాచరణను కేవలం ఎగువ కాల్, లు బ్రాకెట్ i, మరియు ప్రింటింగ్ లో ప్రయాణిస్తున్న అవుట్, ప్లేస్హోల్డర్% సి, నిర్దిష్ట పాత్ర. ఇప్పుడు నిస్సందేహంగా, ఒక బగ్ ఉంది, లేదా ఒక బగ్ కనీసం ప్రమాదం, ఈ కార్యక్రమంలో. కాబట్టి కేవలం తిరిగి రావాలని అంతకుముందు తాత్కాలిక కు, నేను బహుశా కూడా ఏమి చెయ్యాలి ఈ ప్రోగ్రామ్ ఇది మరింత శక్తివంతంగా తయారు, ఏ విధంగా ఉంది కనుక అది చెయ్యవచ్చు కూడా అరుదైన సందర్భాల్లో, క్రాష్? ప్రేక్షకులు: NULL కాదు నిర్ధారించుకోండి. డేవిడ్ J. మలన్: NULL కాదు నిర్ధారించుకోండి. కాబట్టి నిజంగా, ఈ సూపర్ చేయడానికి సరైన, నేను వంటి ఏదో చెయ్యాలి అప్పటి NULL, లేకపోతే ముందుకు వెళ్ళడానికి మరియు అమలు కోడ్ యొక్క ఈ పంక్తులు, ఇది నేను అప్పుడు ఆ వంటి, ఇండెంట్ ఆపై నా దగ్గర కలుపు ప్రవేశపెట్టింది. కలిసి రెండు ఆలోచనలు వేయడం సో గుడ్. అవును? ప్రేక్షకులు: మీరు ఉపయోగించవచ్చు ఒక బదులుగా, లూప్? డేవిడ్ J. మలన్: కుడ్ నేను ఒక డో సమయంలో లూప్ చేయండి? ప్రేక్షకులు: --you నిర్ధారించుకోవాలి మీరు నిజంగా [వినబడని]. డేవిడ్ J. మలన్: కుడ్ మీరు ఒక డో ఉపయోగించడానికి? చిన్న సమాధానం, ఏ. మీరు చేయబోతున్నారు ఎందుకంటే మరొక కార్నర్ కేసు పరిచయం. స్ట్రింగ్ సున్నా పొడవు ఉంటే. ఉదాహరణకు, నేను కేవలం హిట్ ఎప్పుడూ Zamyla టైప్ లేకుండా, ఇవ్వండి. నేను తిరిగి ఒక వాస్తవ మీరు చేతితో వెళుతున్న స్ట్రింగ్, మేము చివరికి చూస్తారు మరియు, ఆ సున్నా అక్షరాలు ఉన్నాయి. ఇది ఇప్పటికీ ఒక స్ట్రింగ్ అది కేవలం చిన్న సూపర్ ఉంది. కానీ మీరు అయితే ఒక డో ఉంటే, మీరు గుడ్డిగా చూడాలని ఏదో ఒకటి చేయాలని ప్రయత్నించండి ఆ స్ట్రింగ్ గౌరవించడం, మరియు ఏమీ లేదు చేస్తాడు. ప్రేక్షకులు: Well, మీరు చేస్తే [వినబడని] s-- అయితే డేవిడ్ J. మలన్: ఓహ్ నేను చూస్తాను, ఉంచేందుకు వినియోగదారు నుండి ఒక స్ట్రింగ్ పొందుతున్నాను. కాబట్టి చిన్న సమాధానం, మీరు మరియు ఒత్తిడి తీవ్రతకు తట్టుకొవటానికి వాటిని మీరు ఒక స్ట్రింగ్ ఇవ్వాలని మెమరీలో సరిపోయే తగినంత చిన్న. నిక్షేపంగా. నేను లేదు ఎంచుకున్నాడు. వారు నాకు స్ట్రింగ్ నేను ఇవ్వాలని లేకపోతే మీరు నేను వదిలిపెట్టడం చేస్తున్నాను, నేను ఇచ్చే వెబ్. కానీ ఖచ్చితంగా, ఆ పనికి, మీరు ఖచ్చితంగా ఆ పని చేయడు. లైబ్రరీ శీర్షిక ఫైళ్లు అని మేము ఇప్పుడు ఇక్కడ ఉన్నాయి, ఇవి తెలిసి. ప్రామాణిక I / O, cs50.h, string.h, ctype.h, మరియు, నిజానికి, ఇతరులు ఉన్నారు. మీరు కొన్ని కనుగొన్నారు math.h. గణిత లైబ్రరీ కానీ నాకు, ఇప్పుడు, మీరు పరిచయం తెలియజేయండి ఈ వనరు ఆ CS50 సిబ్బంది, Davin, మరియు రాబ్, మరియు గాబే ప్రత్యేక కలిసి నిలబెట్టాయి. ఆ వెంటనే లింక్ చేస్తుంది కోర్సు యొక్క వెబ్సైట్. ఇది CS50 సూచన అని. కేవలం మీరు ఒక శీఘ్ర ఇవ్వాలని ఏ కింది దానిని రుచి, పనిచేస్తుంది. నాకు reference.cs50.net వెళ్ళనిస్తున్నారని. మీరు ఎడమ వైపు చూస్తారు అఖండమైన జాబితా పక్క సి తో వచ్చిన విధులను. కానీ క్షణం నేను శ్రద్ధ ఉంటే, strlen వంటి ఏదో గురించి, నేను అక్కడ టైపు చేయవచ్చు. ఇది జాబితా డౌన్ వేరు నేను పట్టించుకోనట్లు కేవలం ఏమి. నేను క్లిక్ వెళుతున్న. మరియు ఇప్పుడు, ఎడమ మీరు మేము ఆశిస్తున్నాము ఏమి చూస్తారు మరింత సూటిగా, మానవుడు ఎలా స్నేహపూర్వక వివరణ ఈ ఫంక్షన్ పనిచేస్తుంది. ఒక స్ట్రింగ్ యొక్క పొడవు రిటర్న్స్. ఇక్కడ ఒక సంక్షిప్తముగా ఇక్కడ, మీరు ఎలా శీర్షికా ఫైలును పరంగా దీనిని ఉపయోగిస్తారు, మరియు ఏ ఫంక్షన్ పరంగా దాని వాదనలు పరంగా కనిపిస్తోంది. మరియు ఇక్కడ, రాబడి ఒక స్ట్రింగ్ యొక్క పొడవు. కానీ మరింత సౌకర్యవంతమైన మీరు యొక్క ఆ కోసం, మీరు నిజంగా, ఎక్కువ comfy క్లిక్ చేయవచ్చు మరియు ఈ యొక్క కంటెంట్లను పేజీ, ఇప్పుడు, మారుతుంది ఏమి డిఫాల్ట్ విలువలు మీరు మనిషి పేజీ ఉపయోగించి పొందండి. CS50, ఇతర పదాలు లో సూచన ఒక సూక్ష్మీకరణ విద్యార్థులకు సిబ్బంది ద్వారా మనిషి పేజీలు. ముఖ్యంగా, ఆ తక్కువ సౌకర్యవంతమైన మరియు మధ్య లో కాబట్టి మీరు మూసివేయాలని ప్రయత్నించండి లేదు మీ మనస్సు చుట్టూ, స్పష్టముగా, కొన్ని చాలా గుప్తమైన వాక్యనిర్మాణం కొంత డాక్యుమెంటేషన్. కాబట్టి గుర్తుంచుకోండి రోజులు వస్తాయి. ఇక్కడ, మళ్ళీ, ఒక Zamyla ఉంది. ఇప్పుడు అని ఒక ప్రశ్న అడగండి లెట్ కొంచెం మానవ అందుబాటులో. అయిన చాంగ్ ధన్యవాదాలు, మరింత ఏనుగులు ప్రింటింగ్ గత కొన్ని రోజులు నాన్స్టాప్. మేము ఇవ్వాలని అవకాశం కలిగి దూరంగా వాటిని కనీసం ఒక. మేము కేవలం ఒక స్వచ్చంద పొందలేరు ఉంటే తెరపై డ్రా మీద వచ్చిన. ఎలా ఇక్కడ గురించి? అప్ న వస్తాయి. మీ పేరు ఏమిటి? ALEX మొత్తం అలెక్స్. డేవిడ్ J. మలన్: అలెక్స్. అన్ని కుడి. అలెక్స్, అప్ న వస్తాయి. మేము చూడబోతున్నారు మీ ఇక్కడ తెరపై వ్రాతతో. అన్ని కుడి, మీరు ఎవరిని బాగుంది. ALEX మొత్తం నైస్ మీరు కలిసే. డేవిడ్ J. మలన్: అన్ని కుడి. కాబట్టి, సూపర్ సాధారణ వ్యాయామం. బార్ అధిక కాదు నేడు ఒక ఏనుగు తీసుకురావాలి. మీరు GetString పాత్ర పోషిస్తున్నారు. మరియు నేను మీరు చెప్పడానికి వెళుతున్న మీరు సంపాదించిన చేసిన స్ట్రింగ్. మరియు, మీరు ఆ అనుకుందాం GetString, అని చేయబడ్డాయి. మరియు మానవ, నాకు ఇష్టం Zamyla, Z-A-M y-L-A లో టైప్. జస్ట్ ముందుకు వెళ్ళి న Zamyla రాయడానికి స్క్రీన్ మీరు సంపాదించిన అయితే వంటి మరియు మెమరీలో ఎక్కడో నిల్వ. అనేక ఉంటుంది ఏమి కోసం లీవింగ్ గది సరే ఇతర words--, కొనసాగించడాన్ని. [నవ్వు] కాబట్టి Zamyla, బాగోలేదు. కాబట్టి ఇప్పుడు అనుకుందాం మీరు ఆ, GetString, మళ్ళీ అంటారు. అందువల్ల, మనం వద్ద మీరు అందించే కీబోర్డ్, మరొక పేరు బెలిండా తో. అన్ని కుడి. ఇప్పుడు తదుపరి సమయంలో GetString ఉంది అని, నేను, గాబే లాగ టైప్ G-a-b-E. మీరు నిజంగా వేస్తున్నాము గుండె రాండమ్ యాక్సెస్ మెమరీ వరకు. ఇది ప్రతిదీ గీయడం పూర్తిగా యాదృచ్చికంగా. సరే. [నవ్వు] ALEX మొత్తం క్షమించండి నా చేతిరాత చెడ్డది. డేవిడ్ J. మలన్: కాదు, సరే. మరియు ఎలా రాబ్ R-O-B గురించి. సరే. గుడ్. కాబట్టి మీరు పాటించాల్సిన ముందుగా లేదు రకం ఈ విధంగా విషయాలను బద్ధం. కానీ మేము ఈ పని చేయవచ్చు. కాబట్టి మీరు పడుకొని గురించి ఎలా వెళ్ళి వచ్చింది మెమరీలో ఈ అక్షరాలు అవుట్? ఇతర మాటలలో, మేము అనుకుంటే ఈ దీర్ఘచతురస్రాకార నలుపు తెర ఒక సూచనగా కంప్యూటర్ యొక్క RAM, లేదా మెమరీ. మరియు ఆ RAM కేవలం రీకాల్ బైట్లు యొక్క మొత్తం బంచ్, మరియు బైట్లు బిట్స్ పూర్తి బంచ్ ఉంటాయి. మరియు బిట్స్ ఏదో ఉంటాయి సాధారణంగా, అమలు కొన్ని రూపాల హార్డ్వేర్ విద్యుత్. కాబట్టి ఆ విధమైన వార్తలు మేము గురించి మాట్లాడారు చేసిన పొరలు మంజూరు కోసం మరియు ఇప్పుడు పడుతుంది. మీరు ఎలా వెళ్ళి వచ్చింది పేరు రాయడానికి నిర్ణయించి రాబ్ వర్సెస్ గాబే వర్సెస్ Zamyla వర్సెస్ బెలిండా? ALEX మొత్తం నేను చేసియున్నారు మీరు నాకు చెప్పారు ఆ ఆజ్ఞాపించాలని. డేవిడ్ J. మలన్: ఆ నిజం. కానీ మీరు ఎక్కడ ఉంచాలి పరిపాలించిన బెలిండా యొక్క పేరు మరియు గాబే యొక్క పేరు? ALEX మొత్తం నథింగ్? డేవిడ్ J. మలన్: [నవ్వుతూ] కాబట్టి పనిచేస్తుంది, ఆ మంచిది. కాబట్టి కంప్యూటర్లు కొద్దిగా ఉన్నాయి కంటే మరింత సక్రమమైన. కాబట్టి మేము అక్కడ ఉండడానికి implement-- ఉన్నప్పుడు నిజానికి మేము కేవలం ఒక క్షణం కోసం వంటి ఏదో అమలు ఒక కంప్యూటర్ లో GetString, Zamyla చాలా చక్కని వేసాడు ఉండవచ్చు వంటి మీరు అక్కడ తెరపై చేశాడు. మరియు గమనించే కీ ఏమిటి ఇక్కడ, అలెక్స్ చేసిన దానికి ఒక సరిహద్దును రకమైన ఉంది ఈ పదాల్లోని మధ్య, కుడి? మీరు వ్రాసే లేదు Z-A-M y-L-a-b-E-L-i-n-D A-G-A B-- ఇతర మాటలలో, కొన్ని రకం ఉంది కనబడే సరిహద్దును, విధమైన యాదృచ్ఛిక అంతరం ఈ వివిధ పదాల మధ్య. కానీ ఎందుకంటే మంచి వార్తలు మనం మానవులు ఇప్పుడు చెయ్యవచ్చు ఇవి ఆ ఆలోచించడం నాలుగు వేర్వేరు తీగలను. ఇది కేవలం ఒక క్రమంలో కాదు అక్షరాలు మా. కాబట్టి ఒక కంప్యూటర్, అప్పుడు, మరోవైపు, Zamyla వంటి స్ట్రింగ్ పడుతుంది, ఆ అక్షరాలు ప్రతి చాలు మెమరీ బైట్ లోపల. కానీ ఆ సంఖ్య, చాలా పెద్దది కోర్సు యొక్క, ఆరు అక్షరాల కంటే. RAM యొక్క మొత్తం బంచ్ ఉంది. కాబట్టి ఇకమీదట, ఈ బాక్సులను గ్రిడ్ అన్నారు ఏమిటి చేద్దామంటావోయ్ కేవలం ప్రాతినిధ్యం తెరపై ఇక్కడ చేసింది. మరియు ఇప్పుడు, అలెక్స్, మేము మీరు ఒక అందిస్తున్నాయి చేయవచ్చు నీలం లేదా చాంగ్ నుండి ఒక నారింజ ఏనుగు. ALEX మొత్తం నేను ఒక నీలం ఏనుగు తీసుకొని వెళ్తాము. డేవిడ్ J. మలన్: ఒక నీలం ఏనుగు. కాబట్టి చప్పట్లు పెద్ద రౌండ్, అలెక్స్ కోసం ఇక్కడ, మేము అనుకొనుట ఉంటే. [చప్పట్లు] ALEX: ధన్యవాదాలు. డేవిడ్ J. మలన్: ధన్యవాదాలు. కాబట్టి తాత్కాలిక ఉంది, అయినప్పటికీ నమూనా రకమైన ఇక్కడ, కాలక్రమేణా మార్చారు బోర్డు మీద, ఈ ఉంది వివిధ పదాల్లో ఒకటిగా సరిహద్దుగా అలెక్స్ మాకు వచ్చింది. ఇప్పుడు కంప్యూటర్లు, స్పష్టముగా, ఇదే పని చేయడు. వారు రకమైన plop కాలేదు ఎక్కడైనా RAM లో తీగలను. ఇక్కడ, ఇక్కడ పైగా, ఇక్కడ, డౌన్ ఇక్కడ డౌన్. వారు ఖచ్చితంగా ఆ పని చేయడు. కానీ, వాస్తవానికి, ఆ బహుశా ఉత్తమ ప్రణాళిక. కుడి? నేను అలెక్స్ అడుగుతూ ఉంచినట్లయితే పేర్లు పొందండి, బహుశా అతను భావిస్తున్నట్టు బహుశా అప్, ఇక్కడ కొన్ని ఎక్కువ అణిచివేసేందుకు ఇక్కడ, ఇక్కడ పైగా, ఇక్కడ, చివరికి ఇక్కడ పైగా. కానీ ఒక బిట్ మరింత ప్రణాళిక తో, ఖచ్చితంగా, మేము మరింత సజావుగా విషయాలు బయటకు లే కాలేదు. నిజానికి, ఒక కంప్యూటర్ చేస్తుంది ఏమిటి. కానీ క్యాచ్ ఉంది ఉంటే నేను పొందిన తరువాత స్ట్రింగ్ Zamyla ఏదో తర్వాత బెలిండా వంటి, మేము వ్రాస్తానని పేరు ప్రపోజ్ ఈ గ్రిడ్ సంబంధించి బి లేఖ? మీరు ఎక్కడ ప్రయత్నించాడు? ఒక కుడి, ఒక క్రింద Z, క్రింద? మీ మొదటి ప్రవృత్తులు ఏం ఉంటుంది? ప్రేక్షకులు: Z క్రింద. డేవిడ్ J. మలన్: సో z క్రింద. మరియు ఆ అందంగా వార్తలు సూటిగా, కుడి? ఇది చక్కగా రకం, ఇది మేము ఏమి వార్తలు ఒక కీబోర్డు మీద మేము ఎంటర్ కొట్టాడు, లేదా ఒక ఇమెయిల్ చేసేటప్పుడు విషయాలు తూటాల జాబితా. కానీ వాస్తవంలో ఆ కంప్యూటర్లు మరింత సమర్ధంగా ప్రయత్నించండి, మరియు ఎక్కువ ఖచ్చితంగా క్రామ్ సాధ్యమైనంత RAM లోకి డేటా, కాబట్టి మీరు ఏ బైట్లు వృధా లేదు. మీరు వృథా లేదు కాబట్టి ఏ స్క్రీన్ రియల్ ఎశ్త్రేట్. మరియు సమస్య, అయితే, ఉంది మేము వాచ్యంగా లేఖ ఉంచితే బి తర్వాత, మేము ఎలా వెళ్తున్నారు Zamyla యొక్క పేరు ముగుస్తుంది తెలుసు మరియు బెలిండా యొక్క పేరు ప్రారంభమవుతుంది? సో మీరు కేవలం బాగా, ప్రతిపాదిత మానవులు ముఖ్యంగా ఎంటర్ కీ నొక్కండి. దిగువ దాన్ని రాశా. లేదా అలెక్స్ చేసింది కూడా, కేవలం రాయడం మొదలు గతంలో క్రింద తదుపరి పేరు, మరియు ఆ క్రింద, మరియు ఆ క్రింద ఒక. ఒక విజువల్ క్యూ ఉంది. కంప్యూటర్లు మరో దృశ్య క్యూ కలిగి, కానీ అది కొంచెం సంక్షిప్తమైన ఉంది. ఈ అల్లరిగా పాత్ర. బహుశా ఇది బ్యాక్స్లాష్ 0, బాక్ స్లాష్ n యొక్క ప్రతిబింబంగా, మొదలగునవి, ఇప్పుడు. ప్రత్యేక ఎస్కేప్ సన్నివేశాలు. బ్యాక్స్లాష్ 0 మార్గం వరుసగా ఎనిమిది సున్నా బిట్స్ ప్రాతినిధ్యం. 0000 0000. మీరు వ్యక్తం మార్గం లేదు ఉంది మీ కీబోర్డ్ లో సున్న హిట్, ఒక ASCII చార్ అని నిజానికి ఎందుకంటే. ఇది ఒక సంఖ్య కనిపిస్తోంది, కానీ ఒక దశాంశ సంఖ్య వాస్తవానికి ఉంది వృత్తాకార సూచిస్తుంది గుర్తుతో వృత్తాకార టైప్ఫేస్. ఇంతలో, బాక్ స్లాష్ సున్నా వాచ్యంగా, అర్థం నాకు ఇక్కడ ఎనిమిది సున్నా బైట్లు చాలు. కాబట్టి ఈ కొంతవరకు అనియత ఉంది. మేము ఏ నమూనా ఉపయోగించారు చేసిన కాలేదు బిట్స్, కానీ ప్రపంచంలో కొన్ని సంవత్సరాల నిర్ణయించుకుంది క్రితం, ఆ సూచిస్తూ మెమరీ లో ఒక స్ట్రింగ్ యొక్క ముగింపు, కేవలం సున్నాలు యొక్క మొత్తం బంచ్ చాలు. మేము ఆ గుర్తించగలదు. ఇప్పుడు అంటే సంఖ్య లేఖ వర్ణమాల సున్నాలను ప్రాతినిధ్యం చేయవచ్చు. కానీ మేము ఇప్పటికే చూసిన సరే మేము అప్ అప్ 97 న 65 ఉపయోగించి చేస్తున్న. మేము ఎక్కడైనా సాదించలేదు అన్ని సున్నాలు మూసివేయండి. ఒక కంప్యూటర్ యొక్క మెమరీ లో బెలిండా కాబట్టి నిజానికి ఇక్కడ వెళ్ళండి అన్నారు. నేను పసుపు డ్రా చేసిన కేవలం అది మా దృష్టిని ఆకర్షించడం. మరియు ప్రకటన, చాలా, ఈ పూర్తిగా ఏకపక్షంగా ఉంది. నేను గ్రిడ్ వంటి డ్రా చేసిన. ఇలా, RAM కొన్ని భౌతిక వస్తువు. ఇది తప్పనిసరిగా లేదు వరుసలు మరియు కాలమ్లను, కేవలంగా. ఇది కేవలం బైట్లు యొక్క మొత్తం బంచ్ వచ్చింది ఏదో హార్డ్వేర్ అమలు. కానీ బెలిండా నేను తర్వాత గాబే యొక్క పేరు లో టైప్, అతను మెమరీ లో ఇక్కడ ముగుస్తుంది జరగబోతోంది మరియు నేను Daven యొక్క పేరు లో టైప్ ఉంటే, ఉదాహరణకు, అతను ఇక్కడ వదులుకోవడానికి జరగబోతోంది. నేను కొనసాగించవచ్చు మరింత పేర్లు వ్రాయండి. దురదృష్టవశాత్తు, నేను ప్రయత్నించండి ఉంటే ఒక సూపర్ దీర్ఘ పేరు వ్రాయండి, నేను చివరికి మెమరీ రన్నవుట్ ఉండవచ్చు. ఈ సందర్భంలో, GetString ఉంది మేము చెప్పారు వంటి, NULL తిరిగి వెళుతున్న. కానీ కృతజ్ఞతగా, కనీసం ఈ దృశ్య లో ఇక్కడ, మేము చాలా దూరం రాలేదు. ఇప్పుడు nice ఏది ఈ ఉంది విషయాలు చికిత్స యొక్క సాధారణ ఆలోచన బాక్సులను లో ఉండటం వంటి సి ఒక ఫీచర్ యొక్క ప్రతినిధి మరియు భాషలను చాలా, వ్యూహం అని పిలుస్తారు. ఒక అమరిక సమాచారం యొక్క మరొక రకం ఉంది. మీరు రెడీ ఉంటే ఇది ఒక డేటా నిర్మాణ. నిజంగా అది అర్థంలో నిర్మాణం, రకం, కనీసం, ఒక బాక్స్ మాదిరి మీ మనస్సు యొక్క కన్ను లో. ఒక అమరిక అవిచ్ఛిన్నంగా ఉంది ఒకేలా డేటా రకాల క్రమం, వెనుకకు తిరిగి వెనుకకు వెనుకకు. ఇతర సో ఒక స్ట్రింగ్, పదాలు, అక్షరాలు యొక్క వ్యూహం ఉంది. అక్షరాలు యొక్క వ్యూహం. కానీ మీరు చేయవచ్చు అవుతుంది విషయాలు పుష్పగుచ్ఛాలు శ్రేణుల. నిజానికి, మేము కూడా ఉంచవచ్చు వ్యూహంలో సంఖ్యలు. రూపం కాబట్టి దీనిలో మేము ఆరంభమవుతుంది చేస్తున్నారు ఈ డేటాను ప్రకటించారు వ్యూహం అని పిలుస్తారు నిర్మాణం కూడా చదరపు బ్రాకెట్లలో ఉపయోగించడానికి వెళ్తున్నారు. కానీ ఈ చదరపు బ్రాకెట్లలో వెళ్తున్నారు ఈ సందర్భంలో వివిధ అర్ధాన్ని కలిగి. మరియు క్రింది యొక్క చూడటానికి. నేను ప్రారంభమైన అనుకుందాం ఇక్కడ ఒక కొత్త ఫైల్ అప్. నేను ages.c. గా సేవ్ నేను ఇక్కడ నా ఫోల్డర్ లో సేవ్ చేస్తాము. ఇప్పుడు నేను ముందుకు వెళ్ళడానికి వెళుతున్న మరియు ఏదో టైప్ చెయ్యడం ప్రారంభించండి వంటి ఉన్నాయి, CS50.h ఉన్నాయి stdio.h, ప్రధాన గర్జన Int. మరియు ఇక్కడ లోపల, I want మొదటి యుగం అని ఒక పూర్ణాంకానికి కలిగి. మరియు నేను ఒక పొందుటకు ఆ ఉపయోగించడానికి వెళుతున్న అతని లేదా ఆమె వయసు కోసం వినియోగదారు నుండి Int. కానీ ఈ ప్రోగ్రామ్ ద్వారా ఉపయోగించవచ్చు అర్థం సంసార సందర్భానికి బహుళ ప్రజలు,. నేను పంథాను పొందారు. అవి అన్ని లో టైప్ కలిగి వారి బహుశా కొన్ని, నేను తెలియదు వయో, పోటీ, లేదా ఈవెంట్ వారు వచ్చారు చేసిన. కాబట్టి పక్కన వ్యక్తి, నేను మరొక వేరియబుల్ అవసరం. నేను లేకపోతే ఎందుకంటే వయస్సు GetInt వస్తుంది, ఆ వార్తలు అన్నారు clobber, లేదా తిరిగి రాస్తుంది మునుపటి వ్యక్తి యొక్క వయసు. కాబట్టి ఆ సంఖ్య బావుంటుంది. నా మొట్టమొదటి ప్రవృత్తి కాబట్టి కావచ్చు, OH, అన్ని కుడి, నేను బహుళ ప్రజల పొందుటకు కావాలా ages--, ఈ age1 కాల్ తెలియజేయండి పూర్ణాంకానికి age2 పూర్ణాంకానికి పొందుతాడు, Int age3 GetInt పొందుతాడు. ఇప్పుడు నేను ఉపయోగించే వెళుతున్న ఇక్కడ కొన్ని pseudocode కోడ్. ఆ సంఖ్యలు తో ఏదో. మేము మరొక రోజు కోసం చెప్పను ఏమి మేము అక్కడ చేస్తున్న మేము ఎందుకంటే మాత్రమే క్షణం శ్రమ age1, age2, age3 గురించి. దురదృష్టవశాత్తు, నేను ఒకసారి ఈ కార్యక్రమం కంపైల్ మరియు, వాస్తవ వినియోగదారులు ముందు అది చాలు ప్రాథమికంగా పేద డిజైన్ ఏమిటి నేను అనిపించవచ్చు నిర్ణయం తీసుకున్న? అవును? ప్రేక్షకులు: [వినబడని] డేవిడ్ J. మలన్: అవును, నేను కూడా ప్రయత్నించాడు లేదు ఎన్ని యుగాలు దొరుకుతుందని నేను నిజంగా శ్రద్ధ లేదు? నేను ఇక్కడ ముగ్గురు కంటే తక్కువ మంది ఉంటే, మరియు అందువలన తక్కువ మూడు కంటే వయసుల నేను ఇప్పటికీ గుడ్డిగా మూడు ఆశించే వెబ్. దేవుని నాలుగు ప్రజలు చూపించడానికి నిరాకరించింది. నా కార్యక్రమం కేవలం కూడా వాటిని మద్దతు లేదు. కాబట్టి ఈ, దీర్ఘ కథ చిన్న, ఒక మంచి అలవాటు కాదు. కుడి? నేను తప్పనిసరిగా కాపీ మరియు కోడ్ అతికించి మరియు కేవలం ట్వీకింగ్ వేరియబుల్ పేర్లు. మరియు, నా దేవుడు, మీరు కలిగి ఉంటే, మూడు కాదు వయస్సు, కానీ 10 లేదా 100, లేదా 6,500 పట్టభద్రుల, ఉదాహరణకు. ఈ ముఖ్యంగా అవతరిస్తుంది లేదు సొగసైన, లేదా స్థిరమైన. మీరు కలిగి చూడాలని కార్యక్రమం ప్రతిసారీ తిరగరాసే ప్రజలు మార్పులు మీ సంఖ్య. కాబట్టి కృతజ్ఞతగా మా వాస్తవంగా నేడు ages.c ఫైలు, మేము మరింత తెలివైన పరిష్కారం చేశారు. మొదటి, నేను ఋణం వెళుతున్న , మేము కొన్ని సార్లు ఉపయోగించారు చేసిన నిర్మించేందుకు ఈ పొందడానికి, లూప్ చేయండి గదిలో ప్రజల సంఖ్య. నేను మళ్ళీ, వినియోగదారు pester వెళుతున్న మళ్ళీ, అతను లేదా ఆమె వరకు నాకు ఇస్తుంది ఒక సానుకూల పూర్ణాంక ఆ n విలువ. నేను ఉపయోగించారు ఉండవచ్చు, గత సమయం యొక్క సానుకూల పూర్ణాంకానికి పొందుతారు. కానీ మేము ఆ లేదు నిజమైన కోసం, నేను ముందుకు వెళ్లి మరియు ఈ ఆలోచన అమలు చేస్తున్నారు. డౌన్ ఇక్కడ ఇప్పుడు, ఈ కొత్త ట్రిక్ ఉంది. వ్యాఖ్యలు లైన్ 27 లో, లైన్ 26 సూచిస్తుంది లో, వ్యూహం డిక్లేర్ దీనిలో ప్రతి ఒక్కరి వయస్సు నిల్వ. కాబట్టి మీరు ఒక పూర్ణాంకానికి కాదు పొందుటకు కావాలా రెండు ints, కానీ ints యొక్క మొత్తం బంచ్. ముఖ్యంగా లేదా పూర్ణ, ఉన్నాయి లేదా వాటిని 100 కావచ్చు, మూడు, 1,000 కావచ్చు. వాక్యనిర్మాణం, చాలా కేవలం ఉంది సే, మీరు ఏమి డేటా రకం అనుకుంటున్నారు? మీరు కాల్ ఏమి అనుకుంటున్నారు మెమరీ ఆ భాగం? మీరు గ్రిడ్ కాల్ ఏమి అనుకుంటున్నారు ఈ చిత్రాల కనిపిస్తోంది? మరియు ఇక్కడ బ్రాకెట్లలో, మీరు చెప్పే ఎంత పెద్ద మీరు శ్రేణి ఉండాలనుకుంటున్నాను. కాబట్టి ముందు, నేను అన్నాడు వాక్యనిర్మాణం, ఇక్కడ ఒక చిన్న భిన్నంగా ఉంటుంది మేము ఇంకా చదరపు బ్రాకెట్లలో ఉపయోగిస్తున్నారు, కానీ నేను ఒక శ్రేణి ప్రకటించారు ఉన్నపుడు, లోపలి సంఖ్య చదరపు బ్రాకెట్లలో అంటే ఎంత పెద్ద మీరు శ్రేణి అనుకుంటున్నారు. దీనికి విరుద్ధంగా, మేము లు ఉపయోగించి చేయబడ్డాయి బ్రాకెట్ నేను ఒక క్షణం క్రితం, s, ఒక స్ట్రింగ్, అక్షరాలు యొక్క వ్యూహం, నిజానికి ఉంది కానీ మీరు ఒక వేరియబుల్ ప్రకటిస్తూ చేయనప్పుడు, ఇక్కడ ఈ కీవర్డ్ తో, మీరు కేవలం చేస్తున్నారు ఒక నిర్దిష్ట ఇండెక్స్ నిర్దిష్ట ఆ శ్రేణి నుంచి మూలకం. మేము తెలుసు ఒకసారి, మిగిలిన ఈ ముక్కుసూటి ఉంది. నేను మొదటి ముద్రించాలా వెళుతున్న కొత్త ఉంటే వ్యక్తి సంఖ్య i వయస్సు ఏమిటి. నేను వ్యక్తి సంఖ్య ఒకటి చెప్పే ఎక్కడ వ్యక్తి సంఖ్య రెండు, వ్యక్తి సంఖ్య మూడు. నేను కేవలం, అంకగణితం చేస్తున్నదాన్ని కాబట్టి ఆ వంటి సాధారణ ప్రజలు, మేము ఈ కోసం ఒక నుండి లెక్కించడానికి కార్యక్రమం, మరియు సున్నా నుండి. అప్పుడు నేను GetInt కాల్, కానీ నేను స్టోర్ యుగాలు సమాధానం నేను బ్రాకెట్. ఏ శ్రేణి లో i'th వయసు ఉంటుంది. చివరిసారి అయితే మేము చికిత్స చేశారు కాబట్టి Zamyla యొక్క పేరు కోసం అక్షరాలు ఈ బాక్సులను, మరియు ఇతరులు. ఇప్పుడు, ఈ బాక్సులను య 32 బిట్స్, లేదా నాలుగు బైట్లు దీనిలో మేము నిల్వ చేయవచ్చు ఒక Int, ఒక పూర్ణాంకానికి ఒక పూర్ణాంకానికి ఉంది. ఇవన్నీ, మళ్ళీ, అదే డేటా రకం. ఇప్పుడు నేను ఏదో వెర్రి చేయండి, సమయం వెళుతుంది వంటి, కేవలం ఈ కార్యక్రమం రాయడం సమర్థించేందుకు. ఆపై డౌన్ ఇక్కడ, నేను మళ్ళీ iterate ఇప్పుడు నుండి ఒక సంవత్సరం మాట్లాడుతూ శ్రేణి మీద, వ్యక్తి సంఖ్య ఒకటి విల్ ఏదో సంవత్సరాల వయస్సు ఉండాలి. ఆ దొరుకుతుందని math-- నేను అర్థం ఈ చాలా arithmetic-- సంక్లిష్టంగా లేదు నేను కేవలం వారి వయసు ఒక జోడించండి. జస్ట్, మళ్ళీ, ఈ ప్రదర్శించేందుకు. జస్ట్ నేను ఇండెక్స్ విధంగా ఒక స్ట్రింగ్ లోకి స్, కాబట్టి వయసుల వ్యూహం లోకి చెయ్యవచ్చు నేను ఇండెక్స్, అక్కడ ఆ వంటి. కాబట్టి అక్కడ ఈ మాకు తీసుకుంటుందని అన్నారు? కాబట్టి మేము చూస్తారు, చివరికి ఒక రోజుల్లో కొన్ని విషయాలు వచ్చిన. ఒకటి, అన్ని ఈ సమయంలో, ఎప్పుడు మీ స్వంత కార్యక్రమాలు రాయడం, మారియో, అత్యాశ, క్రెడిట్ ఇష్టపడుతున్నారు. మీరు పేరు టైప్ చేసిన కార్యక్రమం మరియు కొట్టే ఎంటర్. ఆపై యూజర్ యొక్క ఇన్పుట్ పొందడానికి. GetString, GetInt తో, getLongLong, లేదా ఇష్టపడుతున్నారు. కానీ ఆ C మద్దతు అవుతుంది ఏదో కమాండ్ లైన్ అని మాకు తెలియజేయండి అన్నారు వాదనలు నిజానికి మీరు టైప్ పదాలను తెలుసుకొనుట, మెరిసే ప్రాంప్ట్ వద్ద, మీ ప్రోగ్రామ్ యొక్క పేరు తర్వాత. , మీరు వచ్చిన రోజుల్లో కాబట్టి సీజర్ వంటి ఏదో టైప్ ఉండవచ్చు, లేదా ./caesar తరువాత సంఖ్య 13. మేము ఆ పని ఎలా చూస్తారు. నిజానికి, ఎందుకంటే సమస్య మేము ఉన్నాము, రెండు సెట్ మీరు పరిచయం వెళుతున్న కొద్దిగా ఏదో Ralphie యొక్క ప్రతిబింబంగా పట రూపకల్పనలో ముందువి సవాలు. సమాచారం స్క్రాంబ్లింగ్ యొక్క కళ. ఈ, నిజానికి, చాలా ఉంది Ralphie ఏమి స్మృతిగా. ఈ ఎన్క్రిప్షన్ యొక్క ఒక ఉదాహరణ అల్గోరిథం R-O-T 13 ROT13 అని. ఏ కేవలం రొటేట్ అర్థం వర్ణమాల 13 ప్రదేశాల్లో అక్షరాలు. మీరు అలా ఉంటే, మీరు ఇప్పుడు చూస్తారు తెలిసిన పదబంధం బహుశా, ఏమిటి. కానీ మార్గంలో మేము ఉపయోగించే చూడాలని ఈ చివరికి, మరింత సాధారణంగా ఉంది. పి, ప్రామాణిక ఎడిషన్ లో, రెండు సెట్ మీరు సాంకేతికలిపులు ఒక జంట అమలు ఉంటాం సీజర్ అనే ఒక, విజెనెరే అని. రెండూ భ్రమణ ఉంటాయి ఆ సాంకేతికలిపులు, మీరు ఏదో వేరే లేఖ లోకి ఒక లేఖ మలుపు. మరియు సీజర్ సూపర్ సులభం. మీరు 13 జోడించడానికి, ఒక జోడించండి లేదా 26 వరకు కొన్ని సంఖ్య. విజెనెరే ఆ చేస్తుంది ఒక లేఖ ఆధారంగా చూస్తే. విజెనెరే కాబట్టి, మీరు చూస్తారు స్పెక్ లో, ఎక్కువ సురక్షితమైనది. కానీ రోజు చివరిలో ఏమి , మీరు అమలు చేయబడతాయి మరియు P రెండు సెట్ మీరు రెండు ఉపయోగించడానికి ఆ కీ మరియు గుప్తలేఖనం కోసం. టర్నింగ్ ప్రక్రియలో ప్రస్తావిస్తూ సాదా టెక్స్ట్, కొన్ని అసలు సందేశాన్ని, సిఫర్ టెక్స్ట్ లోకి ఇది ఏదో గుప్తీకరించబడింది. తరువాత మళ్ళీ మార్చడంలో. హ్యాకర్ ఎడిషన్ లో, మరోవైపు, మీరు ఉంటాం పోలి ఏదో బాధ్యత కలిగిన ఆత్మ లో, మేము మీరు ఇస్తాము పేరు ఒక విలక్షణ Linux, లేదా నుండి ఒక ఫైల్, Mac, లేదా యునిక్స్ కంప్యూటర్ అని Etsy మొత్తం కలిగి పాస్వర్డ్, యూజర్ పేర్లు మరియు పాస్వర్డ్లను యొక్క బంచ్. మరియు ఆ పాస్వర్డ్లను అన్ని యెన్క్రిప్టు లేదా హ్యాష్ చేశారు, కాబట్టి సరిగా మాట్లాడటం మీరు స్పెక్ లో చూస్తారు వంటి. మరియు హ్యాకర్ ఎడిషన్ సవాలు ఈ వంటి ఒక ఇన్పుట్ తీసుకుని మీకు, మరియు పాస్వర్డ్ క్రాకింగ్. ఆ ఇందుకు ఏమిటి మానవ పాస్వర్డ్ను నిజానికి ఉంది. నిజానికి, పాస్వర్డ్లు ఉంటాయి, ఎందుకంటే సాధారణంగా స్పష్టమైన నిల్వ లేదు, మరియు సాధారణంగా పాస్వర్డ్లను ఊహించడం కష్టంగా ఉండాలి. ఆ తరచుగా కేసు కాదు. మరియు నేను మేము భావిస్తున్న ఆలోచన ఉంది ఒక జంట నిమిషాల తేల్చాయి ముఖ్యంగా వద్ద మెరుపు పాస్వర్డ్లను పేద ఎంపిక ఒక చిత్రం నుండి మీరు ప్రేమగా గుర్తు ఉండవచ్చు. చేయనియెడల మీరు అద్దెకు ఉండాలి. [వీడియో ప్లేబ్యాక్] -హెల్మెట్, మీరు దయ్యము, ఏం జరగబోతోంది? మీరు నా కుమార్తె ఏం చేస్తున్నారు? పరిచయం నన్ను -Permit తెలివైన యువ ప్లాస్టిక్ సర్జన్, డాక్టర్ ఫిలిప్ Schlotkin. గొప్ప ముక్కు ఉద్యోగం మనిషి విశ్వమంతా మరియు బెవెర్లీ హిల్స్. -మీ హైనెస్. -ముక్కు ఉద్యోగం? నేను అర్థం లేదు. ఆమె ఇప్పటికే ముక్కు ఉద్యోగం కనబరచాడు. ఇది ఆమె తీపి 16 ఉంది. -సంఖ్య, అది మీరు ఏమనుకుంటున్నారో కాదు. ఇది చాలా చెత్తగా ఉంది. మీరు నాకు ఇవ్వాలని లేకపోతే గాలి షీల్డ్ కలయిక, డాక్టర్ Schlotkin ఇస్తుంది మీ కుమార్తె ఆమె పాత ముక్కు జరగదు. - [Gasps] Nooooooooooooo. మీరు ఎక్కడ ఆ వచ్చింది? -అన్ని కుడి. నేను చెబుతాడని, చెబుతాడని. -సంఖ్య, డాడీ, ఏ. మీరు ఉండకూడదు. -You're కుడి నా ప్రియమైన. నేను మీ కొత్త ముక్కు బాధగా. కానీ నేను వాటిని చెప్పము కలయిక ఉన్నా ఏమి. బాగా -Very. డాక్టర్ Schlotkin, మీ చెత్త చేయండి. -నా ఆనందం. -సంఖ్య! వేచి చూడాల్సిందే. నేను చెబుతాడని. నేను చెబుతాడని. -నేను పని చేస్తుంది తెలుసు. All right, నాకు ఇచ్చి. వన్. వన్. వన్. -రెండు. -రెండు. -రెండు. -Three. -Three. -Three. ఫోర్. ఫోర్. ఫోర్. -Five. -Five. -Five. కలయిక ఒకటి -కాబట్టి, రెండు, మూడు, నాలుగు, అయిదు. అవివేకమైన కలయిక వార్తలు నేను ఎప్పుడూ నా జీవితంలో వినడానికి. ఆ విషయం ఒక రకంగా ఇడియట్ తన లగేజ్ కలిగి ఉంటుంది. మీ ఔన్నత్యాన్ని, మీరు -Thank. [రిమోట్ క్లిక్] మీరు -What చేసావ్? -I గోడ ఆఫ్ చెయ్యబడింది. -సంఖ్య, మీరు, కాదు మొత్తం సినిమా ఆఫ్ చెయ్యబడింది. -I Must've తప్పు బటన్ నొక్కినప్పుడు. -సరే, తిరిగి ఉంచండి! చిత్రం తిరిగి ఉంచండి! -అవును, సర్! అవును, సర్. యొక్క, ఆర్నాల్డ్ వెళ్ళి -Let. , గ్రెట్చెన్ కమ్. అయితే మీరు నేను చేస్తాము తెలుసు ఈ కోసం మీరు బిల్లు ఉంటుంది. -సరే? ఇది పని చేసింది? రాజు ఎక్కడ ఉంది? -ఇది, సర్ పని మనం కలయికలను కలిగి. -గొప్ప. ఇప్పుడు మేము ప్రతి చివరి శ్వాస పడుతుంది గ్రహం Druidia నుండి తాజా గాలి. కలయిక ఏమిటి? వన్, రెండు, మూడు, నాలుగు, అయిదు. వన్, రెండు, మూడు, నాలుగు, అయిదు? -అవును. -ఆ ఆశ్చర్యంగా. నేను అదే పొందారు నా సామాను కలయిక. Spaceball 1 సిద్ధం వెంటనే నిష్క్రమణకు. -అవును, సర్. మార్చండి నా సామాను కలయిక. [తలుపు మూసి ధ్వని] [తలుపులు జైలు హెల్మెట్ కొట్టిన] -Ahh. [END వీడియో ప్లేబ్యాక్] డేవిడ్ J. మలన్: ఆ కోసం అంతే CS50, మేము వచ్చే వారం మీరు చూస్తారు. కథకుడు: ఇప్పుడు డీప్ Daven Farnham ఆలోచనలు,. DAVEN FARNHAM: సి లో కోడింగ్ స్క్రాచ్ కంటే చాలా కష్టం. printf, స్క్రాచ్ ఒక అబద్ధం ఉంది. [నవ్వు soundbite]