1 00:00:00,000 --> 00:00:11,242 >> [సంగీతాన్ని] 2 00:00:11,242 --> 00:00:16,630 >> డేవిడ్ J. మలన్: అన్ని కుడి ఈ CS50 ఉంది మరియు ఈ వారం ఐదు ప్రారంభంలో ఉంది. 3 00:00:16,630 --> 00:00:21,480 ఇప్పటికీ, మీ సీటు పరిపుష్టులు కింద, మీరు ఏవీ లేదు. 4 00:00:21,480 --> 00:00:24,790 కానీ పైన, మీరు ఒక, ఈ కనుగొనేందుకు ఉండాలి మా అవగాహనకు కొద్దిగా టోకెన్ 5 00:00:24,790 --> 00:00:26,970 మీరు పెట్టే పని అన్ని పదిహేను యొక్క గేమ్ లోకి. 6 00:00:26,970 --> 00:00:30,290 కేవలం అతికొద్ది సర్కిల్ తొలగించండి కోసం ఆడడం ప్రారంభించాడు క్రింద 7 00:00:30,290 --> 00:00:31,680 తరగతి యొక్క మిగిలిన. 8 00:00:31,680 --> 00:00:38,930 >> సో గుర్తుచేసుకున్నారు, లేదా సెట్ సమస్య తెలుసు ఈ వారాంతంలో బయటకు వెళ్లి నాలుగు, 9 00:00:38,930 --> 00:00:40,340 మరొక ఆట వ్రాయటం కలిగిఉంటుంది. 10 00:00:40,340 --> 00:00:43,740 కానీ అది ఉంటుంది ఈ సమయంలో ఒక ఉపయోగించి అసలు గ్రాఫికల్ యూజర్ ఇంటర్ఫేస్, ఒక 11 00:00:43,740 --> 00:00:46,310 వంటి పాఠ్య అంతర్ముఖాన్ని పదిహేను యొక్క గేమ్. 12 00:00:46,310 --> 00:00:50,210 మరియు ముందుకు మీరు ఉంటుందని గేమ్, మీరు ఇంకా ఈ తదుపరి చూడని ఉంటే, 13 00:00:50,210 --> 00:00:52,310 ఈ వంటి ఒక చిన్న ఏదో కనిపిస్తోంది. 14 00:00:52,310 --> 00:00:55,170 నా టెర్మినల్కు వెళ్లి వెళుతున్న ఇక్కడ GDB లో విండో. 15 00:00:55,170 --> 00:00:58,600 మరియు నేను ముందుకు వెళ్లి అమలు వెళుతున్న మీరు ప్రాప్యత చేయగల సిబ్బంది పరిష్కారం, 16 00:00:58,600 --> 00:01:01,010 యధావిధిగా నవీకరణ 50 నడుస్తున్న తరువాత. 17 00:01:01,010 --> 00:01:04,090 >> కానీ నేను ఒక చిన్న ఉంచారు వెళుతున్న రహస్య మోడ్, కొద్దిగా ఈస్టర్ గుడ్డు, 18 00:01:04,090 --> 00:01:08,480 ద్వారా, దేవుని రీతి అని పిలుస్తారు argv1 దేవుని పెట్టటం. 19 00:01:08,480 --> 00:01:12,920 మరియు నేను, నా సొంత ఆదేశాలు అనుసరించండి ఉంటుంది నా సొంత అది నడుస్తున్న 20 00:01:12,920 --> 00:01:14,220 సమస్య డైరెక్టరీ సెట్. 21 00:01:14,220 --> 00:01:19,190 కాబట్టి ఇప్పుడు మీరు ఒక పూర్తి వెర్షన్ చూడండి బ్రేక్అవుట్ యొక్క గేమ్. 22 00:01:19,190 --> 00:01:21,090 నిజానికి, ఈ సంఖ్య-చేతులు రీతి. 23 00:01:21,090 --> 00:01:24,850 కనుక ఇది నిజానికి వార్తలు - 24 00:01:24,850 --> 00:01:26,470 అయితే wowed మీరు కావచ్చు - 25 00:01:26,470 --> 00:01:30,850 దేవుని రీతి అమలు అందంగా చిన్నవిషయం బ్రేక్అవుట్, పదిహేను యొక్క గేమ్ వలె కాకుండా, 26 00:01:30,850 --> 00:01:33,590 ఇది మీరు కొన్ని చేయదలిచిన ఉండవచ్చు హ్యాకర్ ఎడిషన్ కోసం. 27 00:01:33,590 --> 00:01:37,890 >> బ్రేక్అవుట్ లో దేవుని సంతృప్తి పరుస్తుంది మోడ్ కేవలం, ఏమి 28 00:01:37,890 --> 00:01:41,220 అకారణంగా ఉంచడం? 29 00:01:41,220 --> 00:01:45,630 కేవలం సంసార అది సమాన తయారు సమాంతర స్థానం బంతి ఉంది. 30 00:01:45,630 --> 00:01:49,220 మరియు చాలా కాలం మీరు lockstep లో దీన్ని వంటి ఈ గేమ్ కదిలే బంతి అవుతుంది 31 00:01:49,220 --> 00:01:53,100 , ఎప్పుడూ, ఎప్పుడూ బంతి మిస్ ఎప్పుడూ మరియు మీరు ప్రతి గెలవాలని చేస్తాము. 32 00:01:53,100 --> 00:01:55,430 >> కానీ ఈ వారం యొక్క హ్యాకర్ ఎడిషన్ లో కేవలం దేవుని రీతి కన్నా ఎక్కువ ఉంది. 33 00:01:55,430 --> 00:01:56,720 ఇతర అసంఖ్యాక విశిష్టతలను ఉంది. 34 00:01:56,720 --> 00:01:58,140 వాటిలో, లేజర్లు. 35 00:01:58,140 --> 00:02:01,070 తద్వారా మీరు నిజంగా మీరు సహనం వస్తే ఇటుకలు డౌన్ షూటింగ్ మొదలు పెట్టవచ్చు 36 00:02:01,070 --> 00:02:02,120 మరియు కొన్ని ఇతరులు. 37 00:02:02,120 --> 00:02:04,560 మరియు అవ్వాలనుకుంటే ఎవరు మీరు యొక్క ఆ కోసం ప్రామాణిక వర్సెస్ హ్యాకర్ సామర్ధ్యాన్ని 38 00:02:04,560 --> 00:02:08,750 ఎడిషన్, నేను చూడగలరు ఈ వారం యొక్క హ్యాకర్ ఎడిషన్ ఉద్దేశపూర్వకంగా ఒక 39 00:02:08,750 --> 00:02:12,830 దేవుని కంటే, చెప్పటానికి, కొద్దిగా ఎక్కువ doable మోడ్ పదిహేను యొక్క గేమ్ తో. 40 00:02:12,830 --> 00:02:15,300 >> మీరు ఒక కధనాన్ని కోసం చూస్తున్న మరియు మీరు కనుక మీరు కొన్ని అదనపు ఫన్ కోసం చూస్తున్నారా 41 00:02:15,300 --> 00:02:18,400 లక్షణాలు ఆసక్తి ఉంటే డైవ్ చేయండి. 42 00:02:18,400 --> 00:02:21,280 ఇప్పుడు మరింత ఆచరణాత్మకంగా నాకు పాయింటు వీలు ఒక విషయం బయటకు అలాగే. 43 00:02:21,280 --> 00:02:24,780 మీరు కొన్ని ఇంకా లేకపోవచ్చు ఇది GDB, జరిమానా ఇది వ్యక్తిగతంగా చేరింది. 44 00:02:24,780 --> 00:02:28,530 కానీ ఇప్పుడు నిజంగా ఉపయోగిస్తారు పొందడానికి సమయం ఈ సాధనం ఈ మరియు సౌకర్యవంతమైన కు 45 00:02:28,530 --> 00:02:31,510 మీ జీవితాలను చేస్తుంది ఎందుకంటే చాలా సులభంగా, నిజంగా. 46 00:02:31,510 --> 00:02:34,900 >> GDB ఒక జంట రోబ్ ఉపన్యాసం ప్రతి వారాల క్రితం, గుర్తు 47 00:02:34,900 --> 00:02:36,810 ఆ GDB ఒక డీబగ్గర్ ఉంది. 48 00:02:36,810 --> 00:02:41,230 ఇది మీరు అమలు చేయనిస్తుంది ఒక సాధనం మీ కార్యక్రమం కానీ అడుగు, లైన్ ద్వారా దశను అమలు 49 00:02:41,230 --> 00:02:45,680 లైన్ ద్వారా, తద్వారా మీరు, చుట్టూ దూర్చు చేయవచ్చు మీరు విషయాలు జరగటం తద్వారా, తద్వారా 50 00:02:45,680 --> 00:02:47,310 మీరు ముద్రించవచ్చు ఆ వేరియబుల్స్ విలువలు. 51 00:02:47,310 --> 00:02:50,580 సంక్షిప్తంగా, మీరు మరిన్ని ఇస్తుంది printDef కంటే శక్తి చేస్తుంది. 52 00:02:50,580 --> 00:02:52,900 >> ఇప్పుడు ఆమోదం ఇంటర్ఫేస్ అందంగా మర్మమైన ఉంది. 53 00:02:52,900 --> 00:02:55,180 నలుపు మరియు తెలుపు అక్షర ఇంటర్ఫేస్ చాలా భాగం. 54 00:02:55,180 --> 00:02:57,400 ఆదేశాలను కొంతవరకు కఠినమైన మొదటి వద్ద గుర్తుంచుకోవడానికి. 55 00:02:57,400 --> 00:03:01,230 కానీ మీరు సగం పడుతుంది అయినప్పటికీ ఒక గంట, ఒక గంట, ఆ ముందస్తు ఉంచాలి 56 00:03:01,230 --> 00:03:02,940 అది లోకి సమయం పెట్టుబడి, నన్ను నమ్మండి. 57 00:03:02,940 --> 00:03:06,440 ఖచ్చితంగా సెమిస్టర్ చివరికి అది సేవ్ చేస్తుంది మరింత పరిమాణం మీరు ఒక క్రమంలో 58 00:03:06,440 --> 00:03:07,600 కంటే సమయం. 59 00:03:07,600 --> 00:03:09,200 >> సైన్ వారం ముటా త్వరగా 60 00:03:09,200 --> 00:03:13,200 మరియు బ్రేక్అవుట్ పరంగా, తెలిసిన మీరు మీరు చాలాకాలం చేయవచ్చు 61 00:03:13,200 --> 00:03:18,230 పంపిణీ కోడ్ లేదా మీ సొంత కోడ్ మీ Pst4 డైరెక్టరీ పురోగతిలో. 62 00:03:18,230 --> 00:03:21,680 మీరు GDB అమలు చేసే తెలుసు. / అద్భుతమైన. 63 00:03:21,680 --> 00:03:23,490 >> ఈ తెరవటానికి వెళ్తున్నారు ఈ వంటి ఒక విండో. 64 00:03:23,490 --> 00:03:25,530 నాకు నేనే ఎక్కువ ఇవ్వాలని లెట్ ఒక టెర్మినల్ విండో. 65 00:03:25,530 --> 00:03:27,770 ఆపై నేను ముందుకు వెళ్ళి వెళుతున్నాను మరియు, దానిని కేవలం అమలు కాదు. 66 00:03:27,770 --> 00:03:30,690 నేను మొదటి ఒక బ్రేక్ పాయింట్ సెట్ వెళుతున్న మీరు విరామం అనుమతిస్తుంది ఉపసంహరణలు, 67 00:03:30,690 --> 00:03:32,500 ఒక నిర్దిష్ట ప్రదేశం వద్ద అమలు. 68 00:03:32,500 --> 00:03:35,750 >> నేను వెళుతున్నాను విషయాలు సాధారణ ఉంచడానికి టైప్ చేసి కేవలం లైన్ ఒకటి విచ్ఛిన్నం 69 00:03:35,750 --> 00:03:37,000 ప్రధమ. 70 00:03:37,000 --> 00:03:40,080 71 00:03:40,080 --> 00:03:43,250 నాకు నిజానికి ఈ విండో తిరిగి తెరిచి లెట్ అది ఒక సంతరించుకోనుంది ఎందుకంటే 72 00:03:43,250 --> 00:03:45,700 అక్కడ కొద్దిగా చిన్న. 73 00:03:45,700 --> 00:03:53,270 సో నేను ఇప్పుడు ఇక్కడ చేయ బోతున్నాను ఉంది నా టెర్మినల్ విండో తెరుచుకుంటుంది ఉంటే. 74 00:03:53,270 --> 00:03:53,910 అక్కడ మేము వెళ్ళి, న వస్తాయి. 75 00:03:53,910 --> 00:03:59,850 >> నేను డ్రాప్ బాక్స్ Pst4 తిరిగి వెళ్ళి కాబట్టి ఇప్పుడు మరియు GDB అమలు. / అద్భుతమైన ఎంటర్, గమనించవచ్చు 76 00:03:59,850 --> 00:04:02,600 నేను ఒక సెట్ విచ్ఛిన్నం వెళుతున్నాను రేఖ ఒక వద్ద ఒక బ్రేక్ పాయింట్. 77 00:04:02,600 --> 00:04:04,840 మరియు ఇప్పుడు నేను వెళ్ళడానికి వెళుతున్నాను ముందుకు మరియు రకం అమలు. 78 00:04:04,840 --> 00:04:07,370 మరియు నేను చేసినప్పుడు, ఏమీ గమనించవచ్చు ఏమి కనిపిస్తుంది. 79 00:04:07,370 --> 00:04:08,120 >> ఏ పాప్ అప్ ఉంది. 80 00:04:08,120 --> 00:04:09,790 ఏ గ్రాఫికల్ ఉంది ఇంకా యూజర్ ఇంటర్ఫేస్. 81 00:04:09,790 --> 00:04:13,340 నేను ఎందుకంటే కానీ అర్థమయ్యేలా వార్తలు వాచ్యంగా నా ప్రోగ్రామ్ లైన్ ఒకటి. 82 00:04:13,340 --> 00:04:17,110 మరియు, నేను వేగంగా ముందుకు చేసిన గమనించవచ్చు ప్రత్యేకంగా ఇప్పుడు 62, అన్ని ఎందుకంటే 83 00:04:17,110 --> 00:04:20,600 ఈ ఫైలు యొక్క ఎగువన stuff ఉంది వ్యాఖ్యానాలు మరియు స్థిరాంకాలు వంటి విషయాలు మరియు 84 00:04:20,600 --> 00:04:22,460 ఇప్పుడు విషయాలను రసహీనమైన. 85 00:04:22,460 --> 00:04:25,840 >> కాబట్టి ఇప్పుడు నేను, ప్రధాన లోపలి రెడీ ఇది పంక్తి 62 వద్ద, ఉంది. 86 00:04:25,840 --> 00:04:27,960 మరియు ఈ కేవలం పంపిణీ కోడ్, రీకాల్. 87 00:04:27,960 --> 00:04:33,810 నేను, అదే విధంగా, వెళ్ళి ఈ అప్ తెరిస్తే నా డ్రాప్ బాక్స్ డైరెక్టరీ Pst4 లోకి లోకి, 88 00:04:33,810 --> 00:04:35,450 breakout.c లోకి. 89 00:04:35,450 --> 00:04:40,670 మరియు నేను డౌన్ మరియు డౌన్ స్క్రోల్ డౌన్ మరియు ఉంటే, మరియు నాకు ముందుకు వెళ్లి ఆన్ వీలు 90 00:04:40,670 --> 00:04:44,990 నా లైన్ సంఖ్యలు. 91 00:04:44,990 --> 00:04:50,300 >> నేను క్రిందికి స్క్రోల్ నేను చూస్తారు ఏమి, ఒకవేళ లైన్ 62, సరిగ్గా లైన్ అని 92 00:04:50,300 --> 00:04:50,910 మేము పాజ్ చేసిన. 93 00:04:50,910 --> 00:04:53,720 ఈ లైన్ ఇక్కడ, 62, కాబట్టి మేము సిద్ధంగా ఉన్నాము పేరు. 94 00:04:53,720 --> 00:04:57,470 కాబట్టి ఇప్పుడు GDB లో, నేను ముందుకు వెళ్లి ఉంటే టైప్ ఇప్పుడు తదుపరి, అది జరగబోతోంది ఎంటర్ 95 00:04:57,470 --> 00:04:58,450 లైనును అమలు. 96 00:04:58,450 --> 00:05:00,610 మరియు voila, మేము కలిగి గ్రా విండో అని పిలుస్తారు. 97 00:05:00,610 --> 00:05:02,800 ఏమి ఒక GWindow తెలియని ఉంటే ఆందోళన కాదు, ఉంది. 98 00:05:02,800 --> 00:05:05,740 స్పెక్ వంటి, అది మిమ్మల్ని ప్రవేశపెడుతుంది బాగా రిహార్సల్ వీడియోల సంఖ్య 99 00:05:05,740 --> 00:05:06,830 స్పెక్ పొందుపరిచారు. 100 00:05:06,830 --> 00:05:08,610 >> కానీ ఇప్పుడు యొక్క ఈ ఒక తయారు చేద్దాము కొద్దిగా ఆసక్తికరమైన. 101 00:05:08,610 --> 00:05:10,960 నాకు ఈ విండో తరలిస్తుంది లెట్ వైపు కొద్దిగా. 102 00:05:10,960 --> 00:05:13,480 నాకు విండో కొద్దిగా తయారు చేద్దాము పెద్ద కాబట్టి నేను మరింత చూడగలరు. 103 00:05:13,480 --> 00:05:16,140 >> మరియు ఇప్పుడు నాకు ముందుకు వెళ్ళి తెలపండి మళ్ళీ తర్వాత ఏమి. 104 00:05:16,140 --> 00:05:17,550 మరియు నా ఇటుకలు ఉన్నాయి. 105 00:05:17,550 --> 00:05:20,490 నేను తదుపరి మళ్ళీ టైప్ ఉంటే ఇప్పుడు నేను బంతి. 106 00:05:20,490 --> 00:05:23,520 మరియు నేను తదుపరి మళ్ళీ టైప్ ఉంటే ఇప్పుడు నేను తెడ్డు చూడండి. 107 00:05:23,520 --> 00:05:26,690 >> మరియు అదృష్టవశాత్తూ ఈ gedit కాదు నిజంగా నాకు చూపిస్తూ సహకారం 108 00:05:26,690 --> 00:05:27,660 నేను మీరు ప్రతిదీ. 109 00:05:27,660 --> 00:05:30,820 కానీ ఇప్పుడు నేను తదుపరి మళ్ళీ ఉంటే, తదుపరి మళ్ళీ, నేను రెడీ! 110 00:05:30,820 --> 00:05:32,260 కొన్ని వేరియబుల్ ప్రకటించారు. 111 00:05:32,260 --> 00:05:34,750 మరియు నేను ఏదైనా ఒక ముద్రించవచ్చు ఈ అబ్బాయిలు యొక్క. 112 00:05:34,750 --> 00:05:37,170 ప్రింట్ ఇటుకలు, ముద్రలు జీవితాలను. 113 00:05:37,170 --> 00:05:39,910 >> మరియు ఇప్పుడు నేను కొనసాగితే తదుపరి, నేను ఉంటాం గమనించవచ్చు 114 00:05:39,910 --> 00:05:40,870 ఆ లూప్ యొక్క లోపల. 115 00:05:40,870 --> 00:05:43,380 కానీ కోడ్ అమలు కానుంది నేను ఆశించిన విధంగా. 116 00:05:43,380 --> 00:05:45,810 నేను ఈ ఫంక్షన్ తాకినప్పుడు, వేచి క్లిక్ కోసం, దీన్ని జరగబోతోంది 117 00:05:45,810 --> 00:05:46,830 ఇది వాచ్యంగా ఆ. 118 00:05:46,830 --> 00:05:48,870 నేను నియంత్రణను కోల్పోయారని అనిపించింది కార్యక్రమం. 119 00:05:48,870 --> 00:05:50,480 >> GDB నాకు మరొక ప్రాంప్ట్ ఇవ్వడం లేదు. 120 00:05:50,480 --> 00:05:51,500 కానీ ఆందోళన కాదు. 121 00:05:51,500 --> 00:05:53,720 నా గేమ్ వెళ్ళండి, ఎక్కడా క్లిక్ చేయండి. 122 00:05:53,720 --> 00:05:56,270 >> మరియు voila, ఇప్పుడు అది లైన్ 86 ఉపక్రమించాడు. 123 00:05:56,270 --> 00:05:59,460 మరలా, అది చివరికి, అమూల్యమైన వార్తలు డీబగ్గింగ్ సమస్యలకు. 124 00:05:59,460 --> 00:06:03,050 మీరు వాచ్యంగా ద్వారా దశను ఎందుకంటే మీ కోడ్, అవ్ట్ మరియు చాలా ముద్రణ విషయాలు, 125 00:06:03,050 --> 00:06:03,640 చాలా, చాలా. 126 00:06:03,640 --> 00:06:07,210 ఒంటరిగా కానీ ఇప్పుడు కోసం, ఆ టూల్స్ అందంగా చాలా మీరు పొందాలి. 127 00:06:07,210 --> 00:06:10,050 >> కనుక మనం ఒక పరిశీలించటం, కోర్సు యొక్క, మీరు ఇప్పుడు గ్రాఫిక్స్, అకస్మాత్తుగా అన్ని. 128 00:06:10,050 --> 00:06:12,350 మరియు ఇప్పుడు మన ప్రపంచం కొద్దిగా గెట్స్ ఆసక్తికరమైన. 129 00:06:12,350 --> 00:06:15,680 మరియు మీరు కొన్ని, బహుశా తెలుసు మేము ఈ కలిగి ఆన్లైన్ వీడియోలను 130 00:06:15,680 --> 00:06:18,280 మీరు చూడటం జరిగింది చేసిన లఘు చిత్రాలు సమస్య సెట్లలో భాగంగా. 131 00:06:18,280 --> 00:06:20,460 >> మరియు వారు, ఉద్దేశపూర్వకంగా, కాల్చి చేసిన ఒక తెల్ల నేపథ్యానికి వ్యతిరేకంగా. 132 00:06:20,460 --> 00:06:23,380 మరియు వాటిలో కొన్ని బోధన కలిగి లో కొంత టెక్స్ట్ గీయడం సభ్యులు 133 00:06:23,380 --> 00:06:25,490 భర్తీ చేసే స్క్రీన్ వాటిని వైపు. 134 00:06:25,490 --> 00:06:27,760 కానీ కోర్సు యొక్క, ఈ అన్ని ఆ లేదు వాస్తవ ప్రపంచంలో ఆసక్తికరమైన. 135 00:06:27,760 --> 00:06:30,520 ఈ ఒక తో కేవలం ఒక ఉపన్యాసం మంటపం పెద్ద తెలుపు స్క్రీన్ మరియు నేపథ్యంలో. 136 00:06:30,520 --> 00:06:33,330 మరియు మా అద్భుతమైన ఉత్పత్తి జట్టు విధమైన ప్రతిదీ అందమైన చూడండి చేస్తుంది యొక్క 137 00:06:33,330 --> 00:06:36,620 బయటకు పంట ద్వారా జరిగాక లేదా ఏదైనా ఇసుకతో 138 00:06:36,620 --> 00:06:37,840 మేము లేదా వద్దు. 139 00:06:37,840 --> 00:06:41,560 >> ఇప్పుడు ఈ వారం చైతన్యపరచటంలో మరియు నిజంగా, మీరు, చివరికి, వెళ్ళే పేరు 140 00:06:41,560 --> 00:06:42,560 కంప్యూటర్ సైన్స్ తో. 141 00:06:42,560 --> 00:06:44,260 కేవలం సమస్య తరువాత నాలుగు సెట్. 142 00:06:44,260 --> 00:06:48,240 కానీ మరొక కోర్సు లేదా ఒక మొత్తం తరువాత పాఠ్య ప్రణాళిక అద్భుతమైన అది ఏమి మీరు చెయ్యగలరు 143 00:06:48,240 --> 00:06:51,090 పరంగా ఈ రోజుల్లో చేయండి ముఖ్యంగా గ్రాఫిక్స్. 144 00:06:51,090 --> 00:06:53,440 >> మీరు కొన్ని చూసిన ఉండవచ్చు ఆన్లైన్ చుట్టూ ప్రవహించే. 145 00:06:53,440 --> 00:06:56,240 కానీ నేను కోసం, నేను మీరు చూపించు ఇష్టం ఆలోచన కేవలం ఒక నిమిషాల జంట, ఏమి ఒక సంగ్రహావలోకనం 146 00:06:56,240 --> 00:07:01,890 కంప్యూటర్ సాంకేతిక మరియు CGI, కంప్యూటర్ గ్రాఫిక్స్ ఈ రోజుల్లో చేయవచ్చు 147 00:07:01,890 --> 00:07:04,510 తెలిసిన పాట తో మరియు బహుశా చిత్రం. 148 00:07:04,510 --> 00:07:05,760 >> [MUSIC - లానా DEL RAY, "యువ మరియు అందమైన] 149 00:07:05,760 --> 00:10:50,270 150 00:10:50,270 --> 00:10:52,470 >> SPEAKER 1: ఇది కేవలం కొద్దిగా అద్భుతమైన, బహుశా, ఎంత 151 00:10:52,470 --> 00:10:52,857 సర్వాంతర్యామిగా - 152 00:10:52,857 --> 00:10:57,040 >> [ప్రశంసలను] 153 00:10:57,040 --> 00:10:59,230 >> SPEAKER 1: నేను డౌన్లోడ్. 154 00:10:59,230 --> 00:11:02,920 కానీ, నేను నిజంగా అద్భుతమైన వార్తలు కేవలం సర్వాంతర్యామిగా సాఫ్ట్వేర్ మరియు కోడ్ మరియు ఎలా 155 00:11:02,920 --> 00:11:04,230 ఈ వంటి టూల్స్ అయి ఉన్నారు. 156 00:11:04,230 --> 00:11:07,685 సో ఆ దిశలో ఒక రుచి వార్తలు దీనిలో మీరు వెళ్ళవచ్చు. 157 00:11:07,685 --> 00:11:10,620 ఓహ్, no more ఉపకరణం నేడు. 158 00:11:10,620 --> 00:11:14,640 బాగా, వాస్తవానికి విషాద సమయం వార్తలు నేను చేయడానికి ప్రయత్నించాడు పాయింట్ ఇచ్చిన. 159 00:11:14,640 --> 00:11:18,670 >> అన్ని కుడి, కాబట్టి యొక్క ప్రారంభించటానికి వీలు Fusion మళ్ళీ. 160 00:11:18,670 --> 00:11:20,800 నాకు తర్వాత గుర్తు చేయి. 161 00:11:20,800 --> 00:11:24,190 అన్ని కుడి, మరియు మీరు ఒక పాడించి ఉండాలి మీరు ఒక వచ్చాం ఉంటే జనాంతికంగా ఇమెయిల్ 162 00:11:24,190 --> 00:11:25,460 ఆ వంటి గమనించవచ్చు. 163 00:11:25,460 --> 00:11:29,940 అన్ని కుడి, కాబట్టి గత వారం గుర్తు మేము తిరిగి తొక్క ఈ ప్రారంభించారు 164 00:11:29,940 --> 00:11:31,380 తరువాత స్ట్రింగ్ అని పిలుస్తారు. 165 00:11:31,380 --> 00:11:34,700 >> స్ట్రింగ్ యొక్క ఒక డేటా రకాన్ని గుర్తు CS50 లైబ్రరీ లో ప్రకటించింది. 166 00:11:34,700 --> 00:11:37,740 మరియు అది శిక్షణ చక్రాలు భాగంగా ఇప్పుడు టేకాఫ్ ప్రారంభం అవుతుంది. 167 00:11:37,740 --> 00:11:41,280 ఇది ప్రారంభ న ఉపయోగకరమైన భావనగా ఉంది. 168 00:11:41,280 --> 00:11:43,750 కానీ ఇప్పుడు అది మరింత పొందడానికి జరగబోతోంది ఆసక్తికరమైన మరియు మరింత శక్తివంతమైన 169 00:11:43,750 --> 00:11:48,330 నిజానికి, హుడ్ కింద చూడండి ఒక స్ట్రింగ్ కేవలం ఏమిటి, మేము చెప్పారు? 170 00:11:48,330 --> 00:11:50,500 >> అవును, కాబట్టి అది ఒక అని పిలవబడే చార్ * యొక్క. 171 00:11:50,500 --> 00:11:53,860 మరియు అక్కడ * అక్కడ సూచిస్తుంది చిరునామా రకమైన సంబంధం. 172 00:11:53,860 --> 00:11:58,690 అందువలన మీరు చార్ * అనవచ్చు మీరు కేవలం అర్థం దీని డేటా రకం ఒక వేరియబుల్ ఒక 173 00:11:58,690 --> 00:11:59,290 ఇప్పుడు పాయింటర్. 174 00:11:59,290 --> 00:12:01,770 అక్కడ స్టార్ ఉంది వాస్తవం కేవలం మీరు ఒక ప్రకటించుకున్నారు నిరూపించబడింది 175 00:12:01,770 --> 00:12:03,020 పాయింటర్ అని పిలుస్తారు. 176 00:12:03,020 --> 00:12:06,220 మరియు ఆ పాయింటర్ స్పష్టంగా కానుంది ఆఫ్ చిరునామా నిల్వ 177 00:12:06,220 --> 00:12:07,810 కోర్సు, ఒక చార్. 178 00:12:07,810 --> 00:12:08,960 >> ఇప్పుడు ఎందుకు ఈ అర్ధవంతం లేదు? 179 00:12:08,960 --> 00:12:11,200 బాగా, ఒక స్ట్రింగ్ ఏమిటి హుడ్ కింద? 180 00:12:11,200 --> 00:12:15,130 బాగా, కొంత సమయం కోసం మేము ఈ విధంగా చేసిన హుడ్ కింద ఒక స్ట్రింగ్ అని 181 00:12:15,130 --> 00:12:18,460 కేవలం h-ఇ-l-l-o, ఉదాహరణకు. 182 00:12:18,460 --> 00:12:21,585 >> కానీ మేము ఈ వంటి గురించి మాట్లాడారు చేసిన ముఖ్యంగా ఒక అర్రే ఉండటం. 183 00:12:21,585 --> 00:12:25,410 మరియు ఒక అర్రే అప్పుడు కొద్దిగా చూస్తారు ఈ ప్రతి, ఈ వంటి మరింత 184 00:12:25,410 --> 00:12:26,460 ఒక కాటు తీసుకొని. 185 00:12:26,460 --> 00:12:28,710 ఆపై మేము అక్కడ చెప్పారు చేసిన తిరిగి ఇక్కడ ప్రత్యేక ఏదో, 186 00:12:28,710 --> 00:12:31,270 బాక్ స్లాష్ 0, లేదా శూన్య చివరను. 187 00:12:31,270 --> 00:12:35,230 >> అన్ని ఈ సమయంలో, ఇక్కడ ఒక స్ట్రింగ్ ఉంది. 188 00:12:35,230 --> 00:12:38,320 కానీ నిజంగా, ఒక స్ట్రింగ్ నిజానికి ఒక చిరునామా. 189 00:12:38,320 --> 00:12:43,210 మేము చూస్తారు మరియు చిరునామాలు, తరచూ సాంప్రదాయకంగా 0x తో ముందు. 190 00:12:43,210 --> 00:12:44,540 0x ఏమి సూచించడానికి లేదు? 191 00:12:44,540 --> 00:12:45,970 ఎవరైనా తెలుసా? 192 00:12:45,970 --> 00:12:47,320 >> కనుక ఇది కేవలం హెక్సాడెసిమల్ అర్థం. 193 00:12:47,320 --> 00:12:52,360 సో మీరు PST నుండి, నిజానికి, గుర్తు ఉండవచ్చు 1, నేను నమ్మకం, సన్నాహక ఒకటి 194 00:12:52,360 --> 00:12:55,740 ప్రశ్నలు నిజానికి గురించి అడిగినప్పుడు అదనంగా హెక్సాడెసిమల్ సంజ్ఞామానం 195 00:12:55,740 --> 00:12:57,100 బైనరీ మరియు దశాంశ. 196 00:12:57,100 --> 00:13:00,460 మరియు ఇక్కడ ప్రేరణ అని హెక్సాడెసిమల్ మీకు 16 కలిగి 197 00:13:00,460 --> 00:13:01,770 మీ పారవేయడం వద్ద అంకెలు. 198 00:13:01,770 --> 00:13:07,900 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, తరువాత ఒక ద్వారా, బి, సి, డి, ఇ, ఎఫ్. 199 00:13:07,900 --> 00:13:10,430 >> మరియు మీరు అన్ని ఆ కూడుట ఉంటే, మీరు 16 మొత్తం పొందుటకు. 200 00:13:10,430 --> 00:13:13,200 సో ఈ విరుద్ధంగా ఉంది మేము 10 ఉన్న దశాంశ, 201 00:13:13,200 --> 00:13:14,690 అంకెలు, తొమ్మిది ద్వారా 0. 202 00:13:14,690 --> 00:13:17,750 ఇది బైనరీ విరుద్ధంగా ఉంది మేము కేవలం 0 మరియు 1 ఉంటాయి. 203 00:13:17,750 --> 00:13:21,450 >> కానీ మీరు చేయవచ్చు రోజు ముగింపులో అదే సంఖ్యలకు ప్రాతినిధ్యం, కానీ 204 00:13:21,450 --> 00:13:22,500 కొంతవరకు భిన్నంగా. 205 00:13:22,500 --> 00:13:25,840 మరియు హెక్సాడెసిమల్ సాధారణం ఎందుకంటే దాన్ని మారుతుంది - మరియు మేము ఈ చూస్తారు 206 00:13:25,840 --> 00:13:28,790 తరువాత కోర్సు లో - కూడా మేము పొందుటకు సందర్భంలో వెబ్ ప్రోగ్రామింగ్ కు 207 00:13:28,790 --> 00:13:32,100 HTML మరియు రంగు సంకేతాలు, హెక్సాడెసిమల్ nice ఉంది. 208 00:13:32,100 --> 00:13:36,390 ప్రతి అంకెల ఎందుకంటే, మారిపోతాడు సంపూర్ణ నాలుగు బిట్స్ సూచిస్తుంది. 209 00:13:36,390 --> 00:13:39,280 చక్కగా పంక్తులు కాబట్టి అది కేవలం రకమైన అప్ మేము చివరికి చూస్తారు వంటి. 210 00:13:39,280 --> 00:13:44,720 సో ఈ కావచ్చు Ox123 లేదా ఏదో ఆ వంటి, సూచిస్తుంది చిరునామా 123 211 00:13:44,720 --> 00:13:47,050 ఎక్కడా లోపల నా యొక్క కంప్యూటర్ యొక్క మెమరీ. 212 00:13:47,050 --> 00:13:50,600 >> కానీ కోర్సు యొక్క, కొన్ని సమస్యలు ఎదురవుతాయి ఎందుకంటే ఈ అంతర్లీన 213 00:13:50,600 --> 00:13:51,520 అమలు. 214 00:13:51,520 --> 00:13:55,930 మరియు నేను ఒక కత్తిపోటు పట్టింది గుర్తుచేసుకున్నారు ఈ వంటి ఒక ఫంక్షన్ అమలు - 215 00:13:55,930 --> 00:14:00,260 గత వారం డాష్ 0 డాట్ సి సరిపోల్చండి ఆ ఇది లాగా చూశారు అయినప్పటికీ 216 00:14:00,260 --> 00:14:04,270 కుడి, అది కేవలం సరిపోల్చండి లేదు రెండు రెమ్మలు సరిగ్గా. 217 00:14:04,270 --> 00:14:07,470 >> నేను దూరంగా ప్రధాన విసిరి చేసిన, మరియు నేను విసిరి చేసిన దూరంగా వ్యాఖ్యలు కేవలం లో దృష్టి 218 00:14:07,470 --> 00:14:08,970 ఇక్కడ ఆసక్తి ఆ కోడ్. 219 00:14:08,970 --> 00:14:10,660 ఇది బగ్గీ ఎందుకంటే అది ఎరుపు ఉంది. 220 00:14:10,660 --> 00:14:11,670 ఏ కారణం కోసం? 221 00:14:11,670 --> 00:14:15,890 >> బాగా, టాప్ అక్కడ వద్ద నేను ప్రకటించడంతో ఒక స్ట్రింగ్, ఏమి నిజంగా జరుగుతోందో 222 00:14:15,890 --> 00:14:17,260 హుడ్ కింద? 223 00:14:17,260 --> 00:14:19,530 బాగా, నాకు వెళ్ళి తెలపండి ఇక్కడ పరీక్షించి మరియు డ్రా. 224 00:14:19,530 --> 00:14:23,230 నేను, మళ్ళీ, డిక్లేర్డ్ స్ట్రింగ్ లు GetString. 225 00:14:23,230 --> 00:14:26,640 >> నేను ఇప్పుడు ముందుకు వెళ్ళి వెళ్లి వెబ్ ఇది నిజంగా ఏమి కోసం s డ్రా. 226 00:14:26,640 --> 00:14:28,590 ఇది ఇక్కడ ఒక చదరపు ఉండాలి జరగబోతోంది. 227 00:14:28,590 --> 00:14:30,490 మరియు నేను దావా వెళుతున్నాను 32 బిట్స్ అని. 228 00:14:30,490 --> 00:14:32,890 కనీసం ఇది సాధారణంగా, కనీసం CS50 న 229 00:14:32,890 --> 00:14:34,520 కంప్యూటర్లు చాలా ఉపకరణం. 230 00:14:34,520 --> 00:14:35,980 నేను s కాల్ వెళుతున్న. 231 00:14:35,980 --> 00:14:39,070 >> కానీ ఇప్పుడు గుర్తుకు మేము GetString అని. 232 00:14:39,070 --> 00:14:41,430 సో GetString తిరిగి, కోర్సు యొక్క, ఒక స్ట్రింగ్. 233 00:14:41,430 --> 00:14:45,790 H-ఇ-l-l-o వినియోగదారు రకాల ఎంటర్ ఉంటే స్ట్రింగ్ హలో తిరిగి కావాలి. 234 00:14:45,790 --> 00:14:51,010 మరియు ఆ స్ట్రింగ్, మేము కేవలం ఇలా, ముగుస్తుంది అప్ ఎక్కడా మీ కంప్యూటర్ యొక్క మెమరీ లో 235 00:14:51,010 --> 00:14:53,240 చివరిలో ఒక బాక్ స్లాష్ 0 తో. 236 00:14:53,240 --> 00:14:56,650 నేను శ్రేణి వంటి ఈ డ్రా చేస్తాము - లేదా అక్షరాలు ఆనుకొని బ్లాక్ - 237 00:14:56,650 --> 00:14:58,330 ఇది వాస్తవానికి. 238 00:14:58,330 --> 00:15:01,790 >> మరియు ఇప్పుడు, ఏమి GetString ఉంది నిజానికి తిరిగి? 239 00:15:01,790 --> 00:15:04,340 ఏమి తిరిగి చేశారు GetString ఉంది ఈ సమయంలో అన్ని? 240 00:15:04,340 --> 00:15:07,520 బాగా, మేము ముందు వారాల లో, చెప్పటానికి, అది ఒక స్ట్రింగ్ తిరిగి. 241 00:15:07,520 --> 00:15:10,250 కానీ సాంకేతికంగా, దేనిని స్పష్టంగా తిరిగి GetString? 242 00:15:10,250 --> 00:15:11,610 >> ప్రేక్షకులు: ఒక చిరునామా. 243 00:15:11,610 --> 00:15:12,600 >> SPEAKER 1: ఒక చిరునామా. 244 00:15:12,600 --> 00:15:16,630 ముఖ్యంగా అది చిరునామా తిరిగి ఇది సంసార చాలా మొదటి కాటు. 245 00:15:16,630 --> 00:15:18,830 నేను ఒక, రెండు, మూడు ఉపయోగించి ఉంచేందుకు ఇది అనుకూలమైన ఎందుకంటే. 246 00:15:18,830 --> 00:15:21,380 >> ఇది మొదటి చిరునామా తిరిగి స్ట్రింగ్ లో పాత్ర. 247 00:15:21,380 --> 00:15:23,510 మరియు మేము గత వారం చెప్పారు ఆ సరిపోతుంది. 248 00:15:23,510 --> 00:15:26,710 మేము ఎల్లప్పుడూ దొరుకుతుందని ఎందుకంటే పేరు స్ట్రింగ్ యొక్క ముగింపు కేవలం ద్వారా 249 00:15:26,710 --> 00:15:30,150 ఒక కోసం తో, బహుశా, అది పైగా సంభవింప లూప్ లేదా వంటి కాసేపు లూప్ లేదా ఏదో 250 00:15:30,150 --> 00:15:34,990 ఆ, కేవలం "బాక్ స్లాష్ 0" కోసం చూస్తున్న, ప్రత్యేక కాపలాదారుడు పాత్ర. 251 00:15:34,990 --> 00:15:37,220 >> ఆపై మేము తెలిసిన స్ట్రింగ్ పొడవు నిర్మాణము - 252 00:15:37,220 --> 00:15:37,980 ఈ సందర్భంలో - 253 00:15:37,980 --> 00:15:38,670 ఐదు. 254 00:15:38,670 --> 00:15:43,800 సాంకేతికంగా GetString ఏమి ఈ సందర్భంలో Ox123 తిరిగి ఉంది. 255 00:15:43,800 --> 00:15:53,670 సాంకేతికంగా అప్పుడు ఏమి ఉంది మేము, s లోపలి Ox123 నిల్వ. 256 00:15:53,670 --> 00:15:56,460 రోజు చివరిలో, కూడా ఈ అయితే కొత్త భావన, గమనికలు, వారు మీరు ఉంది 257 00:15:56,460 --> 00:15:57,350 కేవలం వేరియబుల్. 258 00:15:57,350 --> 00:16:00,440 కానీ వారు బిట్స్ నిల్వ జరిగిన ఉమ్మడిగా చిరునామా. 259 00:16:00,440 --> 00:16:03,700 సాంకేతికంగా అన్ని వారు గెట్స్ లు నిల్వ Ox123 ఉంది. 260 00:16:03,700 --> 00:16:04,680 >> మానవులు కానీ మేము - 261 00:16:04,680 --> 00:16:06,020 నేడు ఆఖరు సహా - 262 00:16:06,020 --> 00:16:09,290 నిజంగా, సాధారణంగా, శ్రమ వెళ్ళడం లేదు వాస్తవ చిరునామా ఏమిటి 263 00:16:09,290 --> 00:16:10,520 మెమరీ కొన్ని భాగం యొక్క. 264 00:16:10,520 --> 00:16:14,040 ఇది కేవలం వివరాలు తక్కువ స్థాయికి ఉంది తెలివైన ఆసక్తికరమైన ఉంటుంది. 265 00:16:14,040 --> 00:16:15,440 నేను ఈ దిద్దుబాటు రద్దుచెయ్యి వెళుతున్న. 266 00:16:15,440 --> 00:16:19,810 మరియు బదులుగా, మరింత ఉన్నత స్థాయి అని చెప్పడానికి మేము గమనికలు గురించి మాట్లాడటం చేసినప్పుడు 267 00:16:19,810 --> 00:16:22,170 నేను మరింత డ్రా వెళుతున్నాను తెలియచేసేటట్లు user-friendly బాణం 268 00:16:22,170 --> 00:16:26,060 అదే ఆలోచన మరియు దూరంగా తత్వాలు అసలు ఏమి వివరముల 269 00:16:26,060 --> 00:16:27,700 అంతర్లీన చిరునామా. 270 00:16:27,700 --> 00:16:33,290 >> మేము కోడ్ తిరిగి వెళ్ళండి ఇప్పుడు, ఏమి మేము స్ట్రింగ్ t ఉంటే గత వారం జరిగిన 271 00:16:33,290 --> 00:16:34,510 GetString సమానం? 272 00:16:34,510 --> 00:16:38,630 హలో బాగా, నేను మళ్ళీ ఉంటే, రకం నేను పొందుటకు వెళుతున్నాను ఈ సమయం 273 00:16:38,630 --> 00:16:40,460 మెమరీ మరొక భాగం. 274 00:16:40,460 --> 00:16:44,820 h-ఇ-l-l-o బాక్ స్లాష్ 0. 275 00:16:44,820 --> 00:16:48,320 >> కానీ నేను GetString అని ఎందుకంటే రెండవసారి - 276 00:16:48,320 --> 00:16:51,100 మరియు నేను చూడటం నుండి ఈ తెలుసు GetString కోసం సోర్స్ కోడ్ - కూడా 277 00:16:51,100 --> 00:16:54,350 అది హలో అని యాదృచ్చికంగా వార్తలు అయితే రెండుసార్లు టైప్, GetString కాదు 278 00:16:54,350 --> 00:16:55,890 ఆప్టిమైజ్ ప్రయత్నించండి వెళుతున్న మరియు తెలివైన ఉంటుంది. 279 00:16:55,890 --> 00:16:58,550 ఇది కేవలం మరొక భాగం పొందడానికి జరగబోతోంది ఇది కంప్యూటర్ నుండి మెమరీ 280 00:16:58,550 --> 00:16:59,640 మరొక చిరునామా వద్ద అవతరిస్తుంది. 281 00:16:59,640 --> 00:17:02,330 ఏకపక్ష కేవలం 456 చెప్పటానికి లెట్. 282 00:17:02,330 --> 00:17:04,079 >> ఆపై అది తిరిగి వెళ్తున్నారు? 283 00:17:04,079 --> 00:17:08,030 ఇది 456 తిరిగి జరగబోతోంది మరియు t లో నిల్వ. 284 00:17:08,030 --> 00:17:12,010 సో వాట్ నిజంగా న, జరుగుతుందో ఎడమచేతి వైపు నేను మరొక భాగం కలిగి ఉంటుంది 285 00:17:12,010 --> 00:17:14,260 మెమరీ, 32 బిట్స్ సాధారణంగా. 286 00:17:14,260 --> 00:17:16,720 మరియు అక్కడ Ox456 వెళ్ళడానికి వెళ్తున్నారు. 287 00:17:16,720 --> 00:17:20,140 కానీ మళ్ళీ, నేను ఈ ఆసక్తి లేదు ఇకపై నిర్దిష్ట సంఖ్యలో. 288 00:17:20,140 --> 00:17:23,069 నేను బొత్తిగా వెళుతున్న ఒక బాణం గా డ్రా. 289 00:17:23,069 --> 00:17:25,202 >> సో ఈ ఇప్పుడు ఒక కొత్త వివరణ ఉంది. 290 00:17:25,202 --> 00:17:28,735 కానీ అది అదే ఖచ్చితమైన ఆలోచన అన్ని ఈ సమయంలో జరుగుతున్న చేశారు. 291 00:17:28,735 --> 00:17:33,150 అందువలన కారణం అప్పుడు, ఈ మొదటి సరిపోల్చండి యొక్క వెర్షన్ బగ్గీ ఉంది 292 00:17:33,150 --> 00:17:34,480 గత వారం ఎందుకు? 293 00:17:34,480 --> 00:17:38,000 లు సమానం సమానం మీరు చేసినప్పుడు మీరు నిజంగా ఏమి t 294 00:17:38,000 --> 00:17:40,550 హుడ్ పోల్చడం కింద? 295 00:17:40,550 --> 00:17:41,910 >> మీరు చిరునామాలను పోల్చడం చేస్తున్నారు. 296 00:17:41,910 --> 00:17:47,950 మరియు కేవలం అకారణంగా, స్పష్టంగా, Ox123 సమాన Ox456 కు వెళ్ళడం లేదు. 297 00:17:47,950 --> 00:17:49,380 ఆ సంఖ్యలు ఆ బిట్స్ కేవలం భిన్నంగా ఉంటాయి. 298 00:17:49,380 --> 00:17:53,220 >> మరియు కనుక ఇది గత వారం చెప్పారు మీరు, వివిధ విషయాలను టైప్ కూడా 299 00:17:53,220 --> 00:17:55,360 పదాలు వెర్బేటమ్ అదే ఉన్నాయి. 300 00:17:55,360 --> 00:17:58,770 కాబట్టి మేము ఈ పరిష్కరించడానికి. 301 00:17:58,770 --> 00:18:00,120 లేమాన్ నియమాల్లో, పరిష్కారము ఏమిటి? 302 00:18:00,120 --> 00:18:02,110 >> ప్రేక్షకులు: ఒక ఫంక్షన్ ఉపయోగించండి. 303 00:18:02,110 --> 00:18:02,870 >> SPEAKER 1: ఒక ఫంక్షన్ ఉపయోగించండి. 304 00:18:02,870 --> 00:18:05,190 లేదా నక్షత్రాలు ఖచ్చితంగా చేరి, కానీ ఏమి ఒక ఫంక్షన్ ఉపయోగించడానికి? 305 00:18:05,190 --> 00:18:05,962 >> ప్రేక్షకులు: తీగలను పోల్చడం చేసేందుకు. 306 00:18:05,962 --> 00:18:07,390 >> SPEAKER 1: తీగలను పోల్చడం చేసేందుకు. 307 00:18:07,390 --> 00:18:11,030 ఇక్కడ ప్రాథమిక సమస్య నేను భావిస్తున్నట్టుగా 308 00:18:11,030 --> 00:18:15,870 ద్వారా నిర్వచిస్తారు తీగలను నాణ్యత వారి చిరునామాలు యొక్క పోలిక. 309 00:18:15,870 --> 00:18:18,540 మరియు ఖచ్చితంగా ఇప్పుడు ఒకసారి కేవలం మూగ వార్తలు మీరు ఏమి అర్థం 310 00:18:18,540 --> 00:18:19,510 హుడ్ కింద. 311 00:18:19,510 --> 00:18:23,270 నిజంగా చూడటానికి తీగలను పోల్చడం ఉంటే వారు ఒక మానవ విధంగా సమాన ఉన్నాము 312 00:18:23,270 --> 00:18:26,680 రెండు రెమ్మలు సమానంగా అనుకుంటున్నట్లు మేము వాటిని పాత్ర పోల్చి చూడాలి 313 00:18:26,680 --> 00:18:28,070 పాత్ర కోసం పాత్ర. 314 00:18:28,070 --> 00:18:30,020 >> ఇప్పుడు నేను చేసిన కాలేదు కలిగి ఈ చాలా మందమైన. 315 00:18:30,020 --> 00:18:32,240 కానీ చనువుగా, మేము లూప్ ఒక ఉపయోగించి. 316 00:18:32,240 --> 00:18:36,050 మరియు కేవలం లు బ్రాకెట్ సరిపోల్చండి t బ్రాకెట్ i వ్యతిరేకంగా i. 317 00:18:36,050 --> 00:18:39,590 t బ్రాకెట్ వ్యతిరేకంగా లు బ్రాకెట్ i ప్లస్ 1 i ప్లస్ 1, మొదలగునవి, లోపల 318 00:18:39,590 --> 00:18:40,580 లూప్ రకమైన. 319 00:18:40,580 --> 00:18:44,950 మరియు నేను ఏ రెండు అక్షరాలు గుర్తించడం ఉంటే తేడా, లేదా నేను ooh అని తెలుసుకోవటం ఉంటే, s ఉంది 320 00:18:44,950 --> 00:18:48,410 t కంటే t కంటే తక్కువ లేదా ఎక్కువ నేను వెంటనే, తప్పుడు చెప్పగలను 321 00:18:48,410 --> 00:18:49,390 వారు అదే కావు. 322 00:18:49,390 --> 00:18:55,370 >> కానీ నేను s మరియు t ద్వారా పొందుటకు మరియు చెప్పుకోవాలంటే అదే, అదే, అదే, అదే, అదే, ముగింపు 323 00:18:55,370 --> 00:18:58,520 రెండు రెమ్మలు, నేను చెప్పగలను నిజమైన, వారు సమానం. 324 00:18:58,520 --> 00:19:01,040 బాగా, అదృష్టవశాత్తూ, సంవత్సరాల క్రితం ఎవరైనా మాకు ఆ కోడ్ రాశారు. 325 00:19:01,040 --> 00:19:03,790 >> మరియు వారు StrComp అని స్ట్రింగ్ సరిపోల్చండి కోసం. 326 00:19:03,790 --> 00:19:11,900 మరియు అది ఒక చిన్న కౌంటర్ కూడా అయితే ఆ ఉంటే సహజమైన, StrComp 0 తిరిగి 327 00:19:11,900 --> 00:19:14,520 రెండు రెమ్మలు, s మరియు t ఒకటే. 328 00:19:14,520 --> 00:19:18,090 కానీ అది ప్రతికూల విలువ తిరిగి ఉంటే లు లేదా t అక్షర ముందు ఉండాలి 329 00:19:18,090 --> 00:19:20,610 ఇది వచ్చి ఉండాలి ఉంటే సానుకూల విలువ t అక్షర తర్వాత. 330 00:19:20,610 --> 00:19:24,030 >> మీరు ఎప్పుడైనా ఏదో క్రమం మీరు అనుకుంటే, ఇది StrComp ఉపయోగపడే హాజరవుతారు. 331 00:19:24,030 --> 00:19:26,660 ఇది కేవలం చెప్పటానికి లేదు ఎందుకంటే ఏ లేదా అవును, సమాన లేదా. 332 00:19:26,660 --> 00:19:30,440 ఇది మీరు క్రమం స్ఫూర్తిని పెంచుతుందని ఒక నిఘంటువు మైట్ ఇష్టం. 333 00:19:30,440 --> 00:19:33,770 StrComp సో, s కామా t సమానం 0 అంటే సమానంగా 334 00:19:33,770 --> 00:19:35,200 తీగలను నిజంగా సమానం. 335 00:19:35,200 --> 00:19:38,680 ఎవరైతే అతడ్ని ఈ ఫంక్షన్ రాశాడు ఎందుకంటే సంవత్సరాల క్రితం బహుశా లూప్ ఉపయోగించిన 336 00:19:38,680 --> 00:19:42,840 ఆ వంటి లేదా ఒక సమయంలో లూప్ లేదా ఏదో మళ్ళీ పాత్రలను దగ్గరవడానికి 337 00:19:42,840 --> 00:19:45,270 మళ్లీ మళ్లీ. 338 00:19:45,270 --> 00:19:47,300 >> కానీ సమస్య రెండు ఇక్కడ ఉద్భవించాయి. 339 00:19:47,300 --> 00:19:48,750 ఈ copy0.c ఉంది. 340 00:19:48,750 --> 00:19:51,680 మరియు ఎరుపు లో రెండు అది పొరపాట్లు ఎందుకంటే. 341 00:19:51,680 --> 00:19:52,800 మరియు మేము ఇక్కడ ఏం చేసావ్? 342 00:19:52,800 --> 00:19:54,310 Well, మొదట నేను GetString అని. 343 00:19:54,310 --> 00:19:56,255 మరియు నేను s లో తిరిగి విలువ నిల్వ. 344 00:19:56,255 --> 00:20:00,260 సో ఇది చాలా అదే వార్తలు చిత్రం ఈ టాప్ భాగం. 345 00:20:00,260 --> 00:20:01,490 >> కానీ ఆ తర్వాత వస్తుంది? 346 00:20:01,490 --> 00:20:04,980 బాగా, నాకు ముందుకు వెళ్లి వదిలించుకోవటం వీలు ఈ మొత్తం బంచ్ ఆఫ్. 347 00:20:04,980 --> 00:20:09,650 మేము అక్కడ కేవలం సమయం లో రివైండ్ చేస్తాము ఇప్పుడు అనుగుణంగా ఇది s, కలిగి 348 00:20:09,650 --> 00:20:10,940 లైన్ అప్ అక్కడ ఒక. 349 00:20:10,940 --> 00:20:11,400 >> నేను తనిఖీ. 350 00:20:11,400 --> 00:20:13,450 లు సమానం ఉంటే 0 సమానం. 351 00:20:13,450 --> 00:20:18,670 ఇప్పుడు, ఒక శీఘ్ర వైపు నోటు, ఉన్నప్పుడు GetString 0 తిరిగి ఉండవచ్చు? 352 00:20:18,670 --> 00:20:19,580 తగినంత మెమరీ లేదు వార్తలు. 353 00:20:19,580 --> 00:20:19,880 కుడి? 354 00:20:19,880 --> 00:20:22,310 >> ఇది, ఈ ఏమి జరుగుతుందో అని అరుదైన వార్తలు ఖచ్చితంగా ఆ కంప్యూటర్లో 355 00:20:22,310 --> 00:20:24,740 లేదా megs వందల వచ్చింది RAM కూడా వేదికలను. 356 00:20:24,740 --> 00:20:27,080 కానీ, సిద్ధాంతం లో, తిరిగి 0, ముఖ్యంగా 357 00:20:27,080 --> 00:20:28,080 యూజర్ సహకారం లేదు. 358 00:20:28,080 --> 00:20:31,640 మీరు కలిగి నటిస్తారు మార్గాలను ఉంది ఇన్పుట్ ఏదైనా మరియు ట్రిక్ 359 00:20:31,640 --> 00:20:34,100 తిరిగి లోకి GetString సమర్థవంతంగా 0. 360 00:20:34,100 --> 00:20:35,470 >> సో ఆ కోసం తనిఖీ జరగబోతోంది. 361 00:20:35,470 --> 00:20:39,430 మీరు ఏ మొదలుపెట్టారు ఉంటే ఎందుకంటే , ఇప్పటికే విభజన లోపాలుగా పొందుటకు - 362 00:20:39,430 --> 00:20:42,280 ఇది బహుశా ఒక మూలంగా ఉంది కొన్ని నిరాశ - 363 00:20:42,280 --> 00:20:46,150 ఆ ఎల్లప్పుడూ ఫలితం మెమరీ సంబంధిత లోపం. 364 00:20:46,150 --> 00:20:50,440 ఏదో మీరు ఒక సంబంధించి గందరగోళంలో మీరు గ్రహించడం లేదు కూడా పాయింటర్, 365 00:20:50,440 --> 00:20:51,530 ఒక పాయింటర్ ఉంది. 366 00:20:51,530 --> 00:20:55,260 సో మీరు విభజన ప్రేరిత ఉండవచ్చు ఉపయోగించి వారం ఒక నాటికి లోపాలుగా 367 00:20:55,260 --> 00:21:02,100 లూప్ లేదా కాసేపు ఒక వంటి ఏదో చాలా దూరం వెళ్ళి లూప్ మరియు వ్యూహం 368 00:21:02,100 --> 00:21:05,900 కొన్ని అర్రే యొక్క సరిహద్దులను దాటి ఆ మీరు వారంలో రెండు, డిక్లేర్డ్ 369 00:21:05,900 --> 00:21:06,690 ప్రత్యేక. 370 00:21:06,690 --> 00:21:09,220 >> మీరు కూడా సమస్య చేసి ఉండవచ్చు బ్రేక్అవుట్ తో నాలుగు సెట్. 371 00:21:09,220 --> 00:21:12,910 మీరు బహుశా చూడని అయినప్పటికీ కోసం పంపిణీ కోడ్ ఏ నక్షత్రాలు 372 00:21:12,910 --> 00:21:17,410 బ్రేక్అవుట్, దాన్ని చేస్తుంది ఆ GRect మరియు GOval మరియు ఇతర విషయాలు, 373 00:21:17,410 --> 00:21:19,650 ఆ నిజానికి గమనికలు ఉన్నాయి హుడ్ కింద. 374 00:21:19,650 --> 00:21:23,430 >> మాకు వంటి కానీ స్టాన్ఫోర్డ్,, చర్మము యొక్క విధమైన ఆ వివరాలు కనీసం గ్రంథాలయాల కోసం 375 00:21:23,430 --> 00:21:26,540 ప్రయోజనాల, చాలా మేము వంటి స్ట్రింగ్ మరియు చార్ * కోసం. 376 00:21:26,540 --> 00:21:30,060 కానీ GRect మరియు GOval మరియు ఆ యొక్క అన్ని మీరు అబ్బాయిలు ఉంటాయి లేదా విషయాలు ఉపయోగించారు 377 00:21:30,060 --> 00:21:32,630 ఈ వారం చివరకు మెమరీ చిరునామాలు. 378 00:21:32,630 --> 00:21:33,650 మీరు కేవలం తెలియదు. 379 00:21:33,650 --> 00:21:37,240 >> అది బహుశా, అప్పుడు ఆశ్చర్యకరమైన కాదు మీరు కొన్ని పైగా ట్రిప్ ఉండవచ్చని 380 00:21:37,240 --> 00:21:38,580 విభజన లోపాలుగా. 381 00:21:38,580 --> 00:21:41,290 కానీ, ఇప్పుడు ఇక్కడ ఆసక్తికరమైన ఏమిటి మేము మేము 0 తనిఖీ తర్వాత ఉంటే 382 00:21:41,290 --> 00:21:43,460 స్ట్రింగ్ t లు గెట్స్. 383 00:21:43,460 --> 00:21:44,690 బాగా, నాకు t డిక్లేర్ వీలు. 384 00:21:44,690 --> 00:21:47,730 నేను, ఒక చదరపు గా డ్రా వెళుతున్నాను 32 బిట్స్, దానిని కాల్. 385 00:21:47,730 --> 00:21:49,740 ఆపై నేను వెళుతున్నాను లు గెట్స్. 386 00:21:49,740 --> 00:21:51,130 >> బాగా, ఆ అర్థం ఏమిటి? 387 00:21:51,130 --> 00:21:53,280 బాగా, అది ఆలోచించడం కొద్దిగా కష్టం గురించి వారీగా చిత్రం. 388 00:21:53,280 --> 00:21:55,025 కానీ వీలు యొక్క గురించి ఆలోచించడం x యొక్క లోపల ఏమి? 389 00:21:55,025 --> 00:21:59,430 ఈ వేరియబుల్ లోపల వాచ్యంగా ఏమిటి? 390 00:21:59,430 --> 00:22:01,500 విలువ Ox123. 391 00:22:01,500 --> 00:22:05,815 >> కేవలం నేను ఉన్నప్పుడు స్ట్రింగ్ t లు గెట్స్, ఆ వాచ్యంగా సంఖ్య తీసుకుంటాయి 392 00:22:05,815 --> 00:22:10,070 s లో, ఇది Ox123 మరియు అది Ox123 చాలు. 393 00:22:10,070 --> 00:22:13,740 లేదా చిత్రాల యొక్క నేను రకమైన వియుక్త దూరంగా ఆ వివరాలు నుండి ఉంది 394 00:22:13,740 --> 00:22:16,600 వాచ్యంగా చేయడం ప్రభావం ఈ అలాగే. 395 00:22:16,600 --> 00:22:22,110 >> కాబట్టి ఇప్పుడు, గత వారం తిరిగి ఆలోచించినప్పుడు మేము పెట్టుబడిదారీ T. నేను బయలుదేరింది 396 00:22:22,110 --> 00:22:23,800 T బ్రాకెట్ 0 చేసింది. 397 00:22:23,800 --> 00:22:27,150 బాగా, అది ఒక T బ్రాకెట్ 0, వార్తలు అయినప్పటికీ పాయింటర్, మీరు అయితే చికిత్స చేయవచ్చు 398 00:22:27,150 --> 00:22:29,220 అది ఒక చదరపు తో, ఒక శ్రేణి యొక్క బ్రాకెట్ నొటేషన్. 399 00:22:29,220 --> 00:22:31,550 >> సో ఇక్కడ T బ్రాకెట్ 0? 400 00:22:31,550 --> 00:22:32,990 బాగా, అది h వార్తలు. 401 00:22:32,990 --> 00:22:36,800 అందువలన మేము కోడ్ యొక్క లైన్ ఉపయోగించినప్పుడు, ఆ సి type.h లో ఇది రెండు ఎగువ, 402 00:22:36,800 --> 00:22:38,460 శీర్షికా ఫైలును, ఆ పేరు యొక్క ఇది ప్రకటించబడిన. 403 00:22:38,460 --> 00:22:44,410 మీరు ఈ H. క్యాపిటల్స్ కానీ యొక్క చేస్తున్నారు కోర్సు, ఆ అదే ఖచ్చితమైన h వార్తలు 404 00:22:44,410 --> 00:22:46,540 లు లోపలి మాట్లాడటానికి. 405 00:22:46,540 --> 00:22:51,930 అందువలన ఇప్పుడు మీరు లేదా మార్చబడ్డాయి క్యాపిటల్స్ అసలు మరియు రెండు 406 00:22:51,930 --> 00:22:53,120 కాపీ అని పిలుస్తారు. 407 00:22:53,120 --> 00:22:56,620 మీరు ఒక కాపీని లేదు ఒక మానవ అది అనుకుంటున్నారో ఆ విధంగా. 408 00:22:56,620 --> 00:22:59,710 >> ఇక్కడ పరిష్కారము, ఏమి ఉంది copy1.c గత వారంలో? 409 00:22:59,710 --> 00:23:03,070 410 00:23:03,070 --> 00:23:05,580 విధులు, కాబట్టి మేము నిజానికి అనుకొనుట స్ట్రింగ్ కాపీ. 411 00:23:05,580 --> 00:23:08,700 మరియు ప్రాథమికంగా, మేము ఏమి చేయాలి స్ట్రింగ్ కాపీ చేయడానికి ఏమి? 412 00:23:08,700 --> 00:23:12,070 >> బాగా, ఇక్కడ ఈ ఆకుపచ్చ వెర్షన్ లో నేను ఇది చాలా తక్కువ స్థాయి చేయబోవడం. 413 00:23:12,070 --> 00:23:14,260 విధులు నిజానికి ఉన్నాయి వారు ఈ సహాయం కాలేదు. 414 00:23:14,260 --> 00:23:17,710 కానీ చాలా ప్రాథమిక ఒక, మరియు అత్యంత తెలిసిన ఒక, కనీసం, వెంటనే ఉంటుంది 415 00:23:17,710 --> 00:23:19,600 మనకు తెలిసిన, క్రింది ఉంది - 416 00:23:19,600 --> 00:23:21,910 కాబట్టి మొదటి పంక్తిలో ఒక ఆకుపచ్చ కోడ్ ఇప్పుడు. 417 00:23:21,910 --> 00:23:23,970 >> నేను చార్ * వంటి s తిరిగి వ్రాసారు. 418 00:23:23,970 --> 00:23:25,250 ఎలాంటి క్రియాత్మక ఉంది అక్కడ తేడా. 419 00:23:25,250 --> 00:23:28,790 నేను CS50 లైబ్రరీ దూరంగా విసిరి మరియు నేను, ఒక చార్ * ఏ పిలుస్తూ వెబ్. 420 00:23:28,790 --> 00:23:31,640 >> ఇప్పుడు డాట్, డాట్, డాట్, ఉన్నాయి ఎందుకంటే కాదు కొన్ని దోష పరిశీలన 421 00:23:31,640 --> 00:23:33,200 మళ్ళీ గురించి మాట్లాడటానికి ఆసక్తికరమైన. 422 00:23:33,200 --> 00:23:34,710 కాబట్టి ఇప్పుడు t ప్రకటిస్తారు. 423 00:23:34,710 --> 00:23:35,780 ఇది చాలా ఒక చార్ * ఉంది. 424 00:23:35,780 --> 00:23:38,280 సో నేను న కొద్దిగా చదరపు ఆకర్షించింది ముందు వంటి స్క్రీన్. 425 00:23:38,280 --> 00:23:41,870 >> కానీ కుడి వైపు, malloc, మేము మెమరీని కేటాయించాల్సిన చెప్పాడు. 426 00:23:41,870 --> 00:23:44,130 సో మెమరీ కొన్ని భాగం కేటాయించుటకు. 427 00:23:44,130 --> 00:23:48,830 మరియు మేము నిజానికి ఎన్ని బైట్లు చేయండి కేటాయించుటకు కావలసిన, అది అనిపించడం లేదు? 428 00:23:48,830 --> 00:23:50,340 >> బాగా, s యొక్క స్ట్రింగ్ పొడవు. 429 00:23:50,340 --> 00:23:52,310 అది హలో అని, కాబట్టి ఉంటే ఐదు అవతరిస్తుంది. 430 00:23:52,310 --> 00:23:53,950 మేము h-ఇ-l-l-o చెప్పటానికి చేస్తాము. 431 00:23:53,950 --> 00:23:55,090 ఐదు బైట్లు సో. 432 00:23:55,090 --> 00:23:57,960 >> కానీ అప్పుడు 1 ప్లస్, ఎందుకు 1? 433 00:23:57,960 --> 00:23:58,830 0 పాత్ర. 434 00:23:58,830 --> 00:24:03,640 మేము ఈ వ్యక్తి కోసం గది వదిలి లేకపోతే మేము అనుకోకుండా ఒక పరిస్థితి సృష్టించవచ్చు 435 00:24:03,640 --> 00:24:05,600 స్ట్రింగ్ పేరు h-ఇ-l-l-o. 436 00:24:05,600 --> 00:24:08,470 తరువాత సమయం GetString ఉంది , అని మరియు నేను ఉదాహరణకు, టైప్ 437 00:24:08,470 --> 00:24:14,020 డేవిడ్, D-a-v-i-d, కంప్యూటర్ వెళ్తున్నారు లు నిజానికి అనుకొనే 438 00:24:14,020 --> 00:24:18,900 h-ఇ-l-l-o-d-a-v-i-d ఉంది ఎందుకంటే ఆ పదాల మధ్య లో విచ్ఛిన్నం సంఖ్య. 439 00:24:18,900 --> 00:24:19,810 >> కనుక మనం ఆ విరామం అవసరం. 440 00:24:19,810 --> 00:24:20,720 కాబట్టి మేము ఐదు వద్దు. 441 00:24:20,720 --> 00:24:22,100 మేము ఆరు బైట్లు కావలసిన. 442 00:24:22,100 --> 00:24:23,110 >> మరియు బైట్లు నేను. 443 00:24:23,110 --> 00:24:25,220 కానీ అది చార్ యొక్క నిజంగా సమయం పరిమాణం యొక్క. 444 00:24:25,220 --> 00:24:28,040 సాంకేతికంగా చార్ దాదాపు ఉంది ఒకే బైట్. 445 00:24:28,040 --> 00:24:31,030 >> కానీ కేవలం మా కోడ్ పోర్టబుల్ చేయడానికి, కాబట్టి అది పనిచేస్తుంది కాబట్టి, మాట్లాడటం 446 00:24:31,030 --> 00:24:33,750 వివిధ కంప్యూటర్ల కూడా వారు వాటిని ఉంటే క్రింద కొంతవరకు భిన్నంగా 447 00:24:33,750 --> 00:24:36,590 హుడ్, నేను సాధారణంగా వెళుతున్న చార్ యొక్క చెప్పటానికి పరిమాణం తద్వారా 448 00:24:36,590 --> 00:24:37,660 నా కోడ్ ఎల్లప్పుడూ పని. 449 00:24:37,660 --> 00:24:40,610 మరియు నేను దానిని మళ్ళీ కంపైల్ చెయ్యండి లేదు నేను నా కంప్యూటర్ అప్గ్రేడ్ లేదా ఉపయోగించడానికి ఎందుకంటే 450 00:24:40,610 --> 00:24:42,140 కొన్ని వివిధ వేదిక. 451 00:24:42,140 --> 00:24:45,300 >> నేను 6 రెట్లు పొందాను 1 నిర్మాణము ఇది ఒక చార్. 452 00:24:45,300 --> 00:24:47,440 తద్వారా అంటే malloc అనుకొనుట నాకు ఆరు బైట్లు ఇవ్వాలని. 453 00:24:47,440 --> 00:24:49,140 నిజానికి చేయడం ఆ ఏమిటి? 454 00:24:49,140 --> 00:24:52,810 బాగా, నాకు ఇక్కడ సమయంలో తిరిగి వెళ్లండి వీలు మేము కథలో ఉన్నాయి అక్కడ. 455 00:24:52,810 --> 00:24:57,620 >> నేను ఇక్కడ తిరిగి వెళ్ళి ఉంటే, నేను డిక్లేర్డ్ చేసిన t అనే చార్ *. 456 00:24:57,620 --> 00:25:00,280 నేను ఇప్పుడు ఆరు బైట్లు కోసం malloc అని చేసిన. 457 00:25:00,280 --> 00:25:06,400 మరియు ఇప్పుడు నేను ఆ ఆరు డ్రా వెళుతున్నాను కేవలం శ్రేణి ముందు వంటి బైట్లు. 458 00:25:06,400 --> 00:25:10,570 కానీ నేను నిజానికి ఏమి తెలియదు ఈ శ్రేణిలో. 459 00:25:10,570 --> 00:25:14,640 >> మీరు మెమరీని కేటాయించాల్సిన ఉంటే దాన్ని చేస్తుంది ఆ మీరు కొన్ని ఉంది విశ్వసిస్తున్నాను కాదు 460 00:25:14,640 --> 00:25:15,810 అక్కడ వాల్యూ. 461 00:25:15,810 --> 00:25:18,400 ఇది ఏదో ఉపయోగించిన కాలేదు వేరే కొన్ని ఇతర చర్య, కొన్ని ఇతర 462 00:25:18,400 --> 00:25:19,630 మీరు రాశారు కోడ్ లైన్. 463 00:25:19,630 --> 00:25:22,870 కనుక మనం సాధారణంగా ఈ చెత్త కాల్ చేస్తాము విలువలు మరియు, బహుశా, వాటిని డ్రా 464 00:25:22,870 --> 00:25:26,170 ప్రశ్నార్థకాలుగా, కేవలం సూచించే మేము అక్కడ నిజానికి ఏమి తెలియదు. 465 00:25:26,170 --> 00:25:30,390 మరియు ఆ చాలా కాలం మేము ఏ పెద్ద ఒప్పందం వార్తలు ఆ తిరిగి రాస్తుంది తగినంత స్మార్ట్ ఉంటాయి 466 00:25:30,390 --> 00:25:34,550 చెత్త సంఖ్యలు విలువలు లేదా మనం శ్రద్ధ ఆ అక్షరాలు. 467 00:25:34,550 --> 00:25:36,340 >> సో ఈ విషయంలో నేను చేసేది చచ్చేది? 468 00:25:36,340 --> 00:25:38,670 బాగా, నా లైన్ కోడ్ తదుపరి, నేను నాలుగు. 469 00:25:38,670 --> 00:25:41,350 నేను 0 పొందుటకు INT, n గెట్స్ s యొక్క స్ట్రింగ్ పొడవు. 470 00:25:41,350 --> 00:25:42,750 లూప్ కాబట్టి తెలిసిన. 471 00:25:42,750 --> 00:25:45,875 నేను, కంటే తక్కువ లేదా n సమానం ఇది సాధారణంగా ఎక్కువ. 472 00:25:45,875 --> 00:25:47,500 >> కానీ ఈ సమయంలో అది ఉద్దేశపూర్వకంగా వార్తలు. 473 00:25:47,500 --> 00:25:51,890 నేను + +, మరియు అప్పుడు నేను కేవలం చేయండి t బ్రాకెట్ i s గెట్స్. 474 00:25:51,890 --> 00:25:56,320 నా చిత్రం ఈ కనిపిస్తుంది కాబట్టి t నిల్వ ఈ క్షణం, ఉంది 475 00:25:56,320 --> 00:25:59,530 మెమరీ యాదృచ్చిక భాగం యొక్క చిరునామా వీటి విలువలు తెలియని. 476 00:25:59,530 --> 00:26:03,030 కానీ వెంటనే నేను t బ్రాకెట్ చేస్తాను ఇక్కడ నాకు ఉంచుతుంది 0. 477 00:26:03,030 --> 00:26:07,430 >> మరియు అక్కడ ఏమి డ్రా విధానం ముగిసిపోయే? 478 00:26:07,430 --> 00:26:08,740 మేము h పెట్టటం ముగింపు. 479 00:26:08,740 --> 00:26:11,170 ఆ లు బ్రాకెట్ 0 ఏమి ఎందుకంటే. 480 00:26:11,170 --> 00:26:14,300 మరియు తర్వాత అదే విషయం ఇ, మరియు l, మరియు l, మరియు ఓ. 481 00:26:14,300 --> 00:26:17,930 >> n, ఎందుకు నేను ద్వారా అప్ వెళ్ళి వచ్చింది n కు సమాన? 482 00:26:17,930 --> 00:26:19,200 0 పాత్ర కారణంగా. 483 00:26:19,200 --> 00:26:23,580 సో కేవలం అప్పుడు, స్పష్టంగా, నేను నిజానికి కు తుడుచు సంసార ఈ చెత్త 484 00:26:23,580 --> 00:26:28,870 విలువలు మరియు తరువాత నిజానికి లో డ్రా నేను ఆశించిన ఏమి, ఈ లు బ్రాకెట్ 1, 2, ఉంది 485 00:26:28,870 --> 00:26:32,440 3, 4, అదనంగా ఆ వెనుకంజలో లో కొత్త పాత్ర. 486 00:26:32,440 --> 00:26:36,080 >> అందువలన ఇప్పుడు మేము, డాట్ గత కొనసాగినట్లయితే ఈ సరైన వెర్షన్ లో డాట్, డాట్ 487 00:26:36,080 --> 00:26:41,930 మరియు మూలధన t బ్రాకెట్ 0 నేను చేస్తాను, యొక్క కోర్సు, క్యాపిటల్ అవుతుంది ఈ 488 00:26:41,930 --> 00:26:47,050 ఇక్కడ వ్యక్తి, ఇది సందర్భానుసారంగా, చివరికి గోల్. 489 00:26:47,050 --> 00:26:48,040 సో ఆ అన్ని పాయింటర్ గా. 490 00:26:48,040 --> 00:26:51,430 >> మరియు మీరు వారాల కోసం వాటిని ఉపయోగించి పరిష్కరించగలుగుతున్నాము ఇప్పుడు తీగలను సందర్భంలో. 491 00:26:51,430 --> 00:26:53,530 కానీ హుడ్ కింద వారు ఉన్నారు కొద్దిగా క్లిష్టమైన. 492 00:26:53,530 --> 00:26:57,520 కానీ మీరు ఈ వాటిని గురించి అనుకుంటే చిత్రాల రూపం వారు ఉన్నట్లు చెప్పిన ప్రతిపాదనలను 493 00:26:57,520 --> 00:27:01,720 వారు బహుశా ఆ భయానకంగా లేదు మొదటి మొదటి చూపులో అనిపించవచ్చు ఉండవచ్చు, 494 00:27:01,720 --> 00:27:04,730 ప్రత్యేకంగా కొత్త సిన్టాక్సుతో. 495 00:27:04,730 --> 00:27:07,290 గమనికలు ఏ ప్రశ్నలు, తీగలను, లేదా అక్షరాలు? 496 00:27:07,290 --> 00:27:07,580 అవును? 497 00:27:07,580 --> 00:27:09,252 >> ప్రేక్షకులు: మీరు వెళ్లవచ్చు [వినబడని] కు? 498 00:27:09,252 --> 00:27:10,502 >> SPEAKER 1: ఖచ్చితంగా. 499 00:27:10,502 --> 00:27:14,058 500 00:27:14,058 --> 00:27:19,525 >> ప్రేక్షకులు: మీ ఆఖరి వస్తాయి కనుక ఎలా లైన్, మీరు ఒక * t లేవు 501 00:27:19,525 --> 00:27:21,513 మరియు ఒక * s లైన్ లో? 502 00:27:21,513 --> 00:27:23,004 మీరు ప్రస్తావించిన లేదు - 503 00:27:23,004 --> 00:27:24,640 >> SPEAKER 1: అమ్మో, ఒక నిజంగా మంచి ప్రశ్న. 504 00:27:24,640 --> 00:27:26,800 ఎందుకు నేను ఒక * t మరియు A * S లేదు? 505 00:27:26,800 --> 00:27:30,340 ఎందుకంటే మా వంటి క్లుప్తంగా, గత వారం, ఫంక్షన్ మార్పిడి, నేను ఆ సమయంలో అని పేర్కొన్నారు 506 00:27:30,340 --> 00:27:33,350 మీరు ఒక పాయింటర్ అంటే పొందాను మేము మీరు అక్కడికి వెళ్లేందుకు ఇది 507 00:27:33,350 --> 00:27:36,590 భౌతికంగా వేదిక పై, వాస్తవానికి ఉంది స్టార్ ఆపరేటర్లు ఉపయోగించడానికి. 508 00:27:36,590 --> 00:27:40,570 >> ఇది హాజరవుతారు ఈ స్క్వేర్ బ్రాకెట్ సంజ్ఞామానం మేము వాక్యనిర్మాణ కాల్ చేస్తాము ఏమిటి 509 00:27:40,570 --> 00:27:44,190 కేవలం ఒక సెక్సీ మార్గం ఇది చక్కెర, అది యొక్క సంక్షిప్త లిపి సంకేతం అని 510 00:27:44,190 --> 00:27:45,950 మీరు వర్ణించే దాన్ని ఖచ్చితంగా ఏమి. 511 00:27:45,950 --> 00:27:49,385 కానీ అది ఒక చిన్న మరింత స్పష్టమైన వార్తలు. 512 00:27:49,385 --> 00:27:53,510 మరియు తయారీ ప్రమాదం ఈ మరింత అనిపించవచ్చు అది ఉండాలి కంటే సంక్లిష్టంగా, 513 00:27:53,510 --> 00:27:56,990 ఏమి నిజంగా ఇక్కడ జరగబోతోంది ఇలా - 514 00:27:56,990 --> 00:28:01,450 నేను అర్థం * t చెప్తారు ఉంటే వెళ్ళండి చిరునామా t నిల్వ. 515 00:28:01,450 --> 00:28:04,350 >> సో వాచ్యంగా, నిల్వ t ఉంటే ఆ h యొక్క చిరునామా 516 00:28:04,350 --> 00:28:07,300 ప్రారంభంలో, * t అంటే ఇక్కడకి. 517 00:28:07,300 --> 00:28:10,730 ఇప్పుడు, t బ్రాకెట్ 0 అర్థం ఏమిటి? 518 00:28:10,730 --> 00:28:11,560 అదే ఖచ్చితమైన విషయం. 519 00:28:11,560 --> 00:28:13,510 ఇది కేవలం ఒక చిన్న మరింత వినియోగదారు వ్రాయడానికి స్నేహపూర్వక. 520 00:28:13,510 --> 00:28:14,430 >> కానీ నేను ఇంకా పూర్తి కాదు. 521 00:28:14,430 --> 00:28:17,800 నేను * t * s గెట్స్ చెప్పలేము. 522 00:28:17,800 --> 00:28:19,440 ఎందుకంటే నేను ఏమి అవుతుంది? 523 00:28:19,440 --> 00:28:22,950 నేను h, h, h, h, h తెస్తుంది ఇష్టం మొత్తం విషయం అంతటా. 524 00:28:22,950 --> 00:28:22,995 కుడి? 525 00:28:22,995 --> 00:28:26,020 >> * T ఎందుకంటే t లో చిరునామా వెళ్ళండి. 526 00:28:26,020 --> 00:28:27,580 అయితే లూప్ యొక్క లోపల ఉన్నాము. 527 00:28:27,580 --> 00:28:32,150 ఏ విలువ నేను, పెంచడం చేస్తున్నాను కోర్సు యొక్క, ప్రతి పునరావృతం న? 528 00:28:32,150 --> 00:28:32,690 i. 529 00:28:32,690 --> 00:28:34,590 >> కానీ అవకాశం ఉంది ఇక్కడ, కుడి? 530 00:28:34,590 --> 00:28:37,870 ఇది సంతరించుకోనుంది వంటి ఈ అనిపిస్తుంది అయినప్పటికీ కొద్దిగా మరింత ఆధునిక 531 00:28:37,870 --> 00:28:40,730 చదరపు బ్రాకెట్ సంజ్ఞామానం కంటే మేము కొంత సమయం కోసం ఉపయోగించిన - 532 00:28:40,730 --> 00:28:43,840 నాకు నా h మార్పు దిద్దుబాటు రద్దుచెయ్యి వీలు - 533 00:28:43,840 --> 00:28:48,870 ఈ ఇప్పుడు ఒక చిన్న పొందడానికి మాత్రం ఫ్యాన్సియెర్స్, ప్రాథమిక ఆలోచన, ఉంటే * t 534 00:28:48,870 --> 00:28:53,630 ఇక్కడ అర్థం మరియు * t కేవలం t లో చిరునామా వెళ్ళండి. 535 00:28:53,630 --> 00:28:54,990 >> కానీ t లో చిరునామా ఏమిటి? 536 00:28:54,990 --> 00:28:56,850 మేము ఉపయోగించి ఉంచేందుకు సంఖ్య? 537 00:28:56,850 --> 00:29:00,540 Ox456 వంటి, యొక్క ఆ బాగు వీలు కేవలం చర్చ కొరకు. 538 00:29:00,540 --> 00:29:05,380 బాగా, నేను ఇ వద్ద పొందుటకు కావాలా t స్ట్రింగ్, నేను, కు వెళ్లాలని మీరు అనుకుంటున్నారా 539 00:29:05,380 --> 00:29:06,460 ముఖ్యంగా, 456. 540 00:29:06,460 --> 00:29:09,230 >> లేదా బదులుగా, 457. 541 00:29:09,230 --> 00:29:10,590 నేను ఒక జోడించడానికి అవసరం. 542 00:29:10,590 --> 00:29:11,790 కానీ నేను ఆ చేయవచ్చు? 543 00:29:11,790 --> 00:29:14,680 T, నేను డ్రాయింగ్ ఉంచండి అయినప్పటికీ ఎందుకంటే ఇప్పుడు ఒక బాణం వంటి, అది కేవలం ఒక యొక్క 544 00:29:14,680 --> 00:29:16,570 సంఖ్య, Ox456. 545 00:29:16,570 --> 00:29:21,400 మరియు నేను ఒక జోడించడానికి, లేదా మరింత ఉంటే సాధారణంగా, నేను నేను ఆ నేను చేర్చిన 546 00:29:21,400 --> 00:29:24,350 నేను ఖచ్చితంగా పేరు నిజానికి పొందుటకు. 547 00:29:24,350 --> 00:29:26,260 నేను నిజానికి దీన్ని ఉంటే - 548 00:29:26,260 --> 00:29:28,970 మరియు ఈ అని పిలుస్తారు ఏమి ఉంది పాయింటర్ అంక - 549 00:29:28,970 --> 00:29:30,375 నేను ఈ లైన్ తొలగించవచ్చు. 550 00:29:30,375 --> 00:29:33,550 స్పష్టముగా, ఇది, నేను స్వచ్చమైన మరియు అనుకుంటున్నాను చదవడానికి కొంచెం యూజర్ ఫ్రెండ్లీ. 551 00:29:33,550 --> 00:29:35,970 కానీ ఈ తక్కువ సరైనది. 552 00:29:35,970 --> 00:29:38,570 >> కోడ్ యొక్క ఈ లైన్ ఇప్పుడు ఉపయోగిస్తోంది పాయింటర్ అంక. 553 00:29:38,570 --> 00:29:40,920 ఇది వెళ్ళండి మాట్లాడుతూ లో తరువాత చిరునామా - 554 00:29:40,920 --> 00:29:44,670 t ప్రారంభంలో ఉంది సంసార, ఇది ఇది ప్రారంభంలో t ప్లస్ i, ఉంది 555 00:29:44,670 --> 00:29:45,730 గొప్ప ఇది, 0. 556 00:29:45,730 --> 00:29:49,280 ఆ t ప్రారంభంలో అంటే ఎందుకంటే ప్లస్ 1, ప్లస్ 2, ప్లస్ 3, మొదలగునవి. 557 00:29:49,280 --> 00:29:51,030 లు మరియు అదే ఒప్పందం. 558 00:29:51,030 --> 00:29:52,750 >> ఈ కోసం సో వాక్యనిర్మాణ చక్కెర. 559 00:29:52,750 --> 00:29:55,900 కానీ అర్థం ఏమి నిజంగా జరగబోతోంది హుడ్ కింద, నేను, వాదిస్తుంది 560 00:29:55,900 --> 00:29:57,410 లోనే మరియు నిజానికి ఉపయోగపడుతుంది. 561 00:29:57,410 --> 00:30:00,620 అది కాదు ఇప్పుడు అర్థం ఎందుకంటే మరింత మేజిక్ జరగబోతోంది 562 00:30:00,620 --> 00:30:01,620 హుడ్ కింద. 563 00:30:01,620 --> 00:30:03,920 చాలా ఉన్నట్లు వెళ్ళడం లేదు మేము మీ కోసం చర్మము వెనుకకు చేసే పొరలు. 564 00:30:03,920 --> 00:30:04,810 ఈ సి ఉంది. 565 00:30:04,810 --> 00:30:06,410 మరియు ఈ ప్రోగ్రామింగ్ ఉంది. 566 00:30:06,410 --> 00:30:08,002 ప్రశ్న నిజంగా మంచి. 567 00:30:08,002 --> 00:30:11,570 >> అన్ని కుడి, కాబట్టి ఇది బగ్గీ ఉంది నేను ముందు సూచిస్తున్నట్లు కార్యక్రమం. 568 00:30:11,570 --> 00:30:12,650 స్వాప్ పొరపాట్లు ఉంది. 569 00:30:12,650 --> 00:30:14,070 పని అనిపించింది ఉంటే. 570 00:30:14,070 --> 00:30:17,390 కేవలం పాలు వలె మరియు గుర్తుచేసుకున్నారు నారింజ రసం - నేను ప్రారంభమైన 571 00:30:17,390 --> 00:30:18,660 నేటి ప్రదర్శన త్రాగటం. 572 00:30:18,660 --> 00:30:22,220 సో కేవలం నారింజ రసం మరియు వంటి పాలు, మేము ఒక ఉపయోగించడానికి కలిగి లేదు 573 00:30:22,220 --> 00:30:26,200 తాత్కాలిక వేరియబుల్, tmp, ఒక పట్టుకోండి తాత్కాలికంగా తద్వారా మేము అప్పుడు అనుకొనుట 574 00:30:26,200 --> 00:30:28,820 బి అప్డేట్ దాని విలువ మార్చడానికి మరియు. 575 00:30:28,820 --> 00:30:32,870 >> కానీ ఈ ఫంక్షన్, మేము చెప్పాడు, లేదా ఈ ఈ ఫంక్షన్ ఉంది దీనిలో కార్యక్రమం 576 00:30:32,870 --> 00:30:35,670 వ్రాసిన తప్పు దోషపూరిత ఉంది, ఎందుకు? 577 00:30:35,670 --> 00:30:38,870 578 00:30:38,870 --> 00:30:39,090 అవును? 579 00:30:39,090 --> 00:30:42,471 >> ప్రేక్షకులు: [వినబడని]. 580 00:30:42,471 --> 00:30:44,940 >> SPEAKER 1: సరిగ్గా, ఉన్నప్పుడు మీరు swap కాల్ - 581 00:30:44,940 --> 00:30:47,820 లేదా మరింత సాధారణంగా, మీరు అత్యంత ఏదైనా ఫంక్షన్ కాల్ - 582 00:30:47,820 --> 00:30:51,210 ఆ ఫంక్షన్ కు వాదనలు ఉంటే ఆదిమ, మాట్లాడటానికి, ints మరియు అక్షరాలు 583 00:30:51,210 --> 00:30:56,740 మరియు డబుల్స్ మరియు తేలటం, విషయాలు లేకుండా నక్షత్రాలు, మీరు ఒక కాపీని లో వెళుతున్నాయి 584 00:30:56,740 --> 00:30:57,540 వాదన. 585 00:30:57,540 --> 00:31:01,580 X 1 మరియు y 2 కనుక, ఒక వెళ్తున్నారు 1 ఉండాలి మరియు బి 2 అవతరిస్తుంది. 586 00:31:01,580 --> 00:31:05,250 కానీ వారు వివిధ భాగాలు ఉంటుంది చేయబోతున్నామని ముక్కలు, వివిధ భాగాలు యొక్క 587 00:31:05,250 --> 00:31:07,540 నిల్వ చేయడానికి జరిగే మెమరీ ఒకే విలువలు. 588 00:31:07,540 --> 00:31:12,160 >> సో ఈ కోడ్ పరిపూర్ణ సూపర్ ఉంది ఒక అండ్ బి ఇచ్చిపుచ్చుకోవడం వద్ద. 589 00:31:12,160 --> 00:31:13,850 ఇది ఇచ్చిపుచ్చుకోవడం ఏ బావుంటుంది - 590 00:31:13,850 --> 00:31:15,290 - గత వారం యొక్క ఉదాహరణలో 591 00:31:15,290 --> 00:31:16,390 x మరియు y. 592 00:31:16,390 --> 00:31:18,780 మళ్ళీ, వారు ఉన్నారు తప్పు పరిధి. 593 00:31:18,780 --> 00:31:21,310 >> ఇప్పుడు, మేము ఈ ఫిక్సింగ్ గురించి ఎలా వెళ్ళి వచ్చింది? 594 00:31:21,310 --> 00:31:23,140 మేము ఫంక్షన్ నిరూపించాలి కొద్దిగా uglier చూడండి. 595 00:31:23,140 --> 00:31:25,250 కానీ మళ్ళీ, భావిస్తారు ఈ కేవలం అర్థం. 596 00:31:25,250 --> 00:31:27,840 597 00:31:27,840 --> 00:31:31,500 >> మరియు వాస్తవానికి,, నిలకడ కోసం, నాకు తెలపండి దానికి సమానంగా కాబట్టి ఒక విషయం మార్చడానికి 598 00:31:31,500 --> 00:31:33,200 మేము కేవలం ఏమి. 599 00:31:33,200 --> 00:31:35,690 నేను గత వారం పేర్కొన్న అది లేదు అది వెళ్ళే పట్టింపు. 600 00:31:35,690 --> 00:31:38,120 నిజానికి, సాధారణంగా మీరు చాలు వేరియబుల్ పేరు ప్రక్కన ఉన్న నక్షత్రం. 601 00:31:38,120 --> 00:31:40,750 కానీ అది ఒక చిన్న సులభంగా ఉంటుందనుకుంటున్నాను పక్కన * పరిగణలోకి 602 00:31:40,750 --> 00:31:44,910 దాని అర్ధం డేటా రకం ఒక పాయింటర్ వార్తలు ఈ సందర్భంలో ఒక పూర్ణాంకానికి. 603 00:31:44,910 --> 00:31:46,270 >> నేను ఇక్కడ సో వాట్ చేస్తున్న? 604 00:31:46,270 --> 00:31:49,590 నేను ఒక Int ఇవ్వాలని లేదు మాట్లాడుతూ వెబ్ మరొక Int తరువాత, 605 00:31:49,590 --> 00:31:50,810 వాటిని ఒక అండ్ బి కాల్. 606 00:31:50,810 --> 00:31:52,460 నాకు ఒక Int యొక్క చిరునామా ఇవ్వండి. 607 00:31:52,460 --> 00:31:53,960 నాకు మరొక Int యొక్క చిరునామా ఇవ్వండి. 608 00:31:53,960 --> 00:31:56,330 ఆ ఒక అండ్ బి చిరునామాలు కాల్. 609 00:31:56,330 --> 00:32:00,860 >> ఆపై * సంజ్ఞామానం డౌన్ ఉపయోగించి క్రింద, ఆ చిరునామాలు ప్రతి వెళ్ళండి 610 00:32:00,860 --> 00:32:05,290 గా గాని అవసరం లేదా దాని విలువ సెట్. 611 00:32:05,290 --> 00:32:07,400 కానీ ఇక్కడ ఒక మినహాయింపు ఉంది. 612 00:32:07,400 --> 00:32:11,130 ఎందుకు నేను tmp పక్కన ఒక * లేదు? 613 00:32:11,130 --> 00:32:15,070 ఎందుకు నేను ఉదాహరణకు, ఈ లేదు? 614 00:32:15,070 --> 00:32:19,370 నేను అన్ని వెళ్ళాలి వంటి ఇది అనిపిస్తుంది బయటకు మరియు మొత్తం విషయం సరి. 615 00:32:19,370 --> 00:32:19,752 అవును? 616 00:32:19,752 --> 00:32:21,002 >> ప్రేక్షకులు: [వినబడని]. 617 00:32:21,002 --> 00:32:23,280 618 00:32:23,280 --> 00:32:25,480 >> SPEAKER 1: నేను డిక్లేర్డ్ లేదు ఒక స్ట్రింగ్ గా tmp. 619 00:32:25,480 --> 00:32:28,830 620 00:32:28,830 --> 00:32:34,950 సో ఈ, ఈ సందర్భంలో, డిక్లేర్ ఉంటుంది ఒక tmp ఒక Int యొక్క చిరునామా కు. 621 00:32:34,950 --> 00:32:37,380 కానీ, నేను మీరు చాలా ఏమి కాదు కారణాలు జంట కోసం. 622 00:32:37,380 --> 00:32:38,616 >> ప్రేక్షకులు: మీరు వాటిని మార్పిడి వద్దు. 623 00:32:38,616 --> 00:32:41,800 >> SPEAKER 1: సరిగ్గా, నేను మార్పిడి వద్దు tmp తో ఏదైనా. tmp కేవలం 624 00:32:41,800 --> 00:32:42,790 వారం ఒక విషయం. 625 00:32:42,790 --> 00:32:45,150 నేను మీరు అన్ని ఒక చరరాశి కొన్ని సంఖ్య నిల్వ. 626 00:32:45,150 --> 00:32:47,330 నేను కూడా చిరునామాలను లక్షపెట్టరు ఈ సమయంలో. 627 00:32:47,330 --> 00:32:50,530 >> నేను 32 బిట్స్ అవసరం లేదా కాబట్టి ఒక Int నిల్వ. 628 00:32:50,530 --> 00:32:56,690 మరియు నేను ఆ 32 బిట్స్ లో ఉంచాలి కావలసిన సంసార మాట్లాడటానికి, ఒక లేదు, కానీ 629 00:32:56,690 --> 00:33:01,260 కేవలం ఖచ్చితమైన ఉండాలి, ఒక వద్ద ఏమిటి. 630 00:33:01,260 --> 00:33:06,420 ఒక ఒక చిరునామా ఉంటే, * ఒక అర్థం ఎందుకంటే అక్కడ వెళ్ళి విలువ 1 పొందుటకు. 631 00:33:06,420 --> 00:33:10,560 ఉదాహరణకు, గత వారం యొక్క ఉదాహరణలో లేదా బి విషయంలో 2 విలువ పొందుటకు. 632 00:33:10,560 --> 00:33:11,750 >> సో వాట్ నిజంగా జరగబోతోంది? 633 00:33:11,750 --> 00:33:15,070 నాకు అవుతుంది ఇక్కడ ఒక చిత్రం డ్రా లెట్ నేటి భాగంగా కాకుండా బాధించటం. 634 00:33:15,070 --> 00:33:18,580 కానీ ఈ కనిపిస్తుంది కొంతకాలంగా కోసం. 635 00:33:18,580 --> 00:33:22,430 >> ఈ, నేను క్లెయిమ్, మీ కంప్యూటర్ యొక్క ఉంది మెమరీ మీరు ఒక పరిగెడతారు కనిపిస్తుంది 636 00:33:22,430 --> 00:33:24,060 కార్యక్రమం, ఏ కార్యక్రమం. 637 00:33:24,060 --> 00:33:28,340 మీరు అగ్రభాగాన ఒక అమలు చేసేటప్పుడు మీ కంప్యూటర్ యొక్క RAM యొక్క - కాబట్టి అనుకుంటున్నారో 638 00:33:28,340 --> 00:33:33,530 మీ ఈ దీర్ఘ చతురస్రం, నిజంగా, కంప్యూటర్ యొక్క RAM మెమరీ, అన్ని 101 639 00:33:33,530 --> 00:33:36,920 అది బిలియన్ల బైట్లు, అన్ని రెండు బిలియన్ బైట్లు, ఇది అన్ని రెండు గిగాబైట్ల, 640 00:33:36,920 --> 00:33:39,910 మీరు పరిమాణం సంసార, యొక్క ఒక దీర్ఘ చతురస్రం వలె డ్రా వీలు. 641 00:33:39,910 --> 00:33:43,260 మీరు ఒక ప్రోగ్రామ్ అమలు చేసినప్పుడు మరియు నేను వాదించారు Microsoft Word లేదా Chrome వంటి 642 00:33:43,260 --> 00:33:49,220 ఆ వంటి లేదా ఏదైనా, ఆ బిట్స్ Microsoft లేదా Google రాశారు - 643 00:33:49,220 --> 00:33:50,910 ఆ కార్యక్రమాల సందర్భాలలో - 644 00:33:50,910 --> 00:33:54,490 మీ కంప్యూటర్ యొక్క మెమరీ లోడ్ చేయబడతాయి వారు మరింత అమలు పేరు 645 00:33:54,490 --> 00:33:57,520 త్వరగా మరియు ఫెడ్ CPU లోకి, ఇది కంప్యూటర్ మెదడుల్లో ఉంది. 646 00:33:57,520 --> 00:34:00,940 >> మరియు TAM వారు చాలా వద్ద నిల్వ చెయ్యబడ్డాయి మీ ప్రోగ్రామ్ యొక్క టాప్, మాట్లాడటానికి. 647 00:34:00,940 --> 00:34:03,300 ఇతర మాటలలో, ఈ ఒక భాగం ఉంది మెమరీ, మీరు డబుల్ క్లిక్ చేసినప్పుడు 648 00:34:03,300 --> 00:34:05,740 Microsoft Word, బిట్స్ వచ్చి హార్డు డ్రైవు ఆఫ్. 649 00:34:05,740 --> 00:34:06,680 వారు RAM లోకి లోడ్ చేసుకోవాలని. 650 00:34:06,680 --> 00:34:10,330 మరియు మేము అగ్రభాగాన వాటిని అప్ బలంగా త్రోయు చేస్తాము సందర్భానుసారంగా ఈ దీర్ఘచతురస్ర. 651 00:34:10,330 --> 00:34:13,010 >> బాగా, మీ మెమరీ మిగిలిన వివిధ కారణాలరీత్యా ఉపయోగిస్తారు. 652 00:34:13,010 --> 00:34:16,460 అగ్రభాగాన మీరు ప్రారంభించడం చూడండి డేటా మరియు డేటా uninitialize. 653 00:34:16,460 --> 00:34:20,500 ఈ తో, చాలా భాగం, చేయాలి స్థిరాంకాలు లేదా ప్రపంచ వేరియబుల్స్ 654 00:34:20,500 --> 00:34:21,340 ఆ విలువలను కలిగి. 655 00:34:21,340 --> 00:34:22,980 ఆ మరొక సమయం మరింత. 656 00:34:22,980 --> 00:34:25,150 >> అప్పుడు మీరు ఇది కుప్ప కలిగి మేము తిరిగి వచ్చి ఉంటుంది. 657 00:34:25,150 --> 00:34:28,420 కానీ దిగువన ఉండే భాగం ముఖ్యంగా ప్రస్తుతం సంబంధించి. 658 00:34:28,420 --> 00:34:30,210 ఇది అని పిలవబడే స్టాక్ వార్తలు. 659 00:34:30,210 --> 00:34:33,850 సో కేవలం ఇక్కడ అత్యధిక ఏ D హాల్ లో ఇష్టం క్యాంపస్, మీరు ఆ trays కలిగి 660 00:34:33,850 --> 00:34:37,210 కేవలం ఇది ప్రతి ఇతర పైన స్టేక్ మీరు ఆహారం మరియు whatnot ఉంచవచ్చు. 661 00:34:37,210 --> 00:34:40,139 ఒక కంప్యూటర్ వ్యవస్థ లో స్టాక్ చాలా పోలి ఉంటుంది. 662 00:34:40,139 --> 00:34:42,679 మేము లో ఉపయోగిస్తాయి ట్రే అయితే తప్ప భోజనశాల, కోర్సు యొక్క, ఉద్దేశించబడింది 663 00:34:42,679 --> 00:34:45,710 విషయాలు trays తీసుకుని లేదా ఫ్రేమ్లను - 664 00:34:45,710 --> 00:34:49,469 మేము వాటిని కాల్ వీలుగా - కంప్యూటర్ లో మెమరీ కలిగి ఉపయోగిస్తారు 665 00:34:49,469 --> 00:34:51,610 వేరియబుల్స్ మరియు విలువలు. 666 00:34:51,610 --> 00:34:53,929 >> సో వాట్ నిజంగా న వెళ్తాడు హుడ్ కింద? 667 00:34:53,929 --> 00:34:55,820 బాగా, నేను కుదుపు వీలు ఇక్కడ తెరకు. 668 00:34:55,820 --> 00:34:58,370 మరియు లెట్ యొక్క కేవలం దృష్టి ఒక క్షణం దిగువ భాగాన్ని. 669 00:34:58,370 --> 00:35:02,770 ఈ నా దిగువన భాగం ఉంటే కంప్యూటర్ యొక్క మెమరీ దాన్ని మారుతుంది నేను 670 00:35:02,770 --> 00:35:05,350 ఫంక్షన్ ప్రధాన కాల్ - ఇది, స్పష్టముగా, జరుగుతుంది 671 00:35:05,350 --> 00:35:06,950 స్వయంచాలకంగా నాకు - 672 00:35:06,950 --> 00:35:10,510 నేను మెమరీ భాగం పొందుటకు నా RAM దిగువన మాట్లాడటానికి. 673 00:35:10,510 --> 00:35:13,390 ప్రధాన వార్తలు పేరు మరియు ఈ ఉంది స్థానిక వేరియబుల్స్ వెళ్ళండి. 674 00:35:13,390 --> 00:35:16,770 పేరు argc మరియు argv ఉండవచ్చు ఇది వెళ్ళి, మరియు ఏ వేరియబుల్స్ నేను 675 00:35:16,770 --> 00:35:18,170 ప్రధాన లోపలి డిక్లేర్. 676 00:35:18,170 --> 00:35:20,260 వారు దిగువన ముగింపు నా కంప్యూటర్ యొక్క RAM యొక్క. 677 00:35:20,260 --> 00:35:25,040 >> ఇప్పుడు ప్రధాన కాల్స్ ఒక ఫంక్షన్ ఊహించు స్వాప్ వంటి, అది చివరి వారం చేసింది? 678 00:35:25,040 --> 00:35:30,620 బాగా, మేము ముఖ్యంగా, ఒక కొత్త ట్రే చాలు మెమరీ నా భాగం లో కొత్త ఫ్రేమ్,. 679 00:35:30,620 --> 00:35:34,160 మరియు నేను ఈ విధంగా వర్ణించాడు వెళుతున్న స్వాప్ ఫంక్షన్ చెందిన. 680 00:35:34,160 --> 00:35:35,770 >> ఇప్పుడు స్వాప్ లోపల ఏమి? 681 00:35:35,770 --> 00:35:39,240 బాగా, గత వారం యొక్క కార్యక్రమం ఆధారంగా మరియు మేము కేవలం నుండి ఒక సారాంశంలో చూసింది ఒక, 682 00:35:39,240 --> 00:35:46,590 స్వాప్ యొక్క ఫ్రేమ్ లోపలి లేదా స్వాప్ యొక్క ట్రే, ఏమి వేరియబుల్ ఉన్నాయి? 683 00:35:46,590 --> 00:35:47,970 బాగా, a మరియు b. 684 00:35:47,970 --> 00:35:51,850 ఆ, దాని స్థానిక వాదనలు ఎందుకంటే ఇంకా మూడవ, tmp. 685 00:35:51,850 --> 00:35:54,470 సో నిజంగా, నేను ఈ గీయవచ్చు కొద్దిగా ఎక్కువ సజావుగా. 686 00:35:54,470 --> 00:35:56,680 నాకు ముందుకు వెళ్లి లేబుల్ దిద్దుబాటు రద్దుచెయ్యి లెట్. 687 00:35:56,680 --> 00:35:58,520 మరియు మీరు ఏమి నాకు క్లెయిమ్ వీలు? 688 00:35:58,520 --> 00:36:00,560 >> ఒక బహుశా ఇక్కడ వదులుకోవడానికి వెళ్తున్నారు. 689 00:36:00,560 --> 00:36:02,160 B ఇక్కడ వదులుకోవడానికి వెళ్తున్నారు. 690 00:36:02,160 --> 00:36:03,810 మరియు tmp ఇక్కడ వదులుకోవడానికి వెళ్తున్నారు. 691 00:36:03,810 --> 00:36:05,160 ఇప్పుడు, ఆర్దరింగ్ వాటిని కొద్దిగా భిన్నంగా. 692 00:36:05,160 --> 00:36:06,840 కానీ సందర్భానుసారంగా ఈ ఆలోచన. 693 00:36:06,840 --> 00:36:11,490 >> మరియు కేవలం సమిష్టిగా, ఏమిటి మేము స్వాప్ యొక్క ఫ్రేమ్ కాల్, లేదా చేస్తాను 694 00:36:11,490 --> 00:36:12,136 భోజనాల హాల్ ట్రే. 695 00:36:12,136 --> 00:36:13,150 ప్రధాన మరియు అదే ఒప్పందం. 696 00:36:13,150 --> 00:36:14,040 కానీ నేను ఆ పునర్ కాదు. 697 00:36:14,040 --> 00:36:17,810 కానీ ఆ పేరు argc మరియు argv మరియు ఏ x మరియు y వంటి దాని స్థానిక వేరియబుల్స్ 698 00:36:17,810 --> 00:36:18,940 అలాగే ఉండవచ్చు. 699 00:36:18,940 --> 00:36:22,170 >> కాబట్టి ఇప్పుడు నిజంగా ఏం పరిగణలోకి మీరు swap కాల్ చేసినప్పుడు. 700 00:36:22,170 --> 00:36:26,370 మీకు swap కాల్ చేసినప్పుడు, అమలు కోడ్ ఈ, మీరు, అక్కడ మీరు 701 00:36:26,370 --> 00:36:30,670 బగ్గీ వెర్షన్, a మరియు b వంటి x మరియు y యొక్క కాపీలు. 702 00:36:30,670 --> 00:36:34,300 నేను ఇప్పుడు ఈ డ్రా అలా ఉంటే తెరపై - 703 00:36:34,300 --> 00:36:36,700 ఈ వద్ద మంచి పొందడానికి వచ్చింది - 704 00:36:36,700 --> 00:36:40,850 నేను నాకు చెప్పడం జరిగినది కథ కాబట్టి , ఈ బగ్గీ వెర్షన్ లో ఉన్నప్పుడు మేము 705 00:36:40,850 --> 00:36:46,130 సాహిత్యపరంగా ఒక అండ్ బి లో ప్రయాణిస్తున్న మార్పిడి కాల్ పూర్ణాంకాల వంటి, ఏమి నిజంగా జరుగుతున్నది? 706 00:36:46,130 --> 00:36:48,250 >> బాగా, ఏమి నిజంగా జరుగుతున్నది ఈ. 707 00:36:48,250 --> 00:36:52,850 నాకు ముందుకు వెళ్లి కేవలం దిద్దుబాటు రద్దుచెయ్యి లెట్ ఇక్కడ కొన్ని స్థలాన్ని క్లియర్. 708 00:36:52,850 --> 00:36:54,720 సో ఈ నా కంప్యూటర్ యొక్క మెమరీ ఉంది. 709 00:36:54,720 --> 00:36:57,510 >> నేను కలిగి ఉంటే, ఉదాహరణకు - 710 00:36:57,510 --> 00:36:58,910 నిజానికి వీలు యొక్క ఈ విధంగా చేయండి - 711 00:36:58,910 --> 00:37:02,690 నేను ఈ నిల్వ, x చెప్పడము ఉంటే కేవలం గత వారం వంటి విలువ 1. 712 00:37:02,690 --> 00:37:05,930 మరియు ఈ విలువ నిల్వ, y ఉంది 2 కేవలం గత వారం ఇష్టం. 713 00:37:05,930 --> 00:37:11,370 మరియు ఈ, నేను స్వాప్ కాల్ చేసినప్పుడు, ప్రధాన ఉంది తద్వారా ఒక మరియు నేను ఇవ్వకుండా 714 00:37:11,370 --> 00:37:15,150 బి మరియు tmp, నేను వాదించారు వెళుతున్న ఈ ఒక ఉంది మరియు ఈ 1. 715 00:37:15,150 --> 00:37:16,080 >> ఈ బి ఉంది. 716 00:37:16,080 --> 00:37:17,010 ఈ 2. 717 00:37:17,010 --> 00:37:18,370 ఈ tmp అంటారు. 718 00:37:18,370 --> 00:37:23,360 >> మరియు ప్రారంభంలో, కొన్ని చెత్త విలువ నిజానికి ఇది ఒక నిల్వ, వరకు 719 00:37:23,360 --> 00:37:24,450 ఇది 1. 720 00:37:24,450 --> 00:37:28,320 అప్పుడు నేను ముందుకు వెళ్లి మార్చడానికి ఏమి ఉండాలి? 721 00:37:28,320 --> 00:37:29,720 B యొక్క విలువ. 722 00:37:29,720 --> 00:37:31,980 >> అందువలన ఇప్పుడు నేను ఇక్కడ రెండు. 723 00:37:31,980 --> 00:37:34,050 ఆపై మేము బి tmp గెట్స్ అన్నారు. 724 00:37:34,050 --> 00:37:37,670 మళ్ళీ, ఒక వివేకం తనిఖీ కేవలం, మూడవ ఇక్కడ కోడ్ లైన్ కేవలం ఈ ఉంది 725 00:37:37,670 --> 00:37:39,440 ఒక, బి tmp గెట్స్. 726 00:37:39,440 --> 00:37:41,730 >> అందువలన చివరగా, నేను ఏమి చెయ్యాలి? 727 00:37:41,730 --> 00:37:46,800 నేను ముందుకు వెళ్లి బి ఉండాలి మార్చడానికి కావలసిన tmp విలువ 1 ఇది ఉంది. 728 00:37:46,800 --> 00:37:48,390 నేను మళ్ళీ tmp తాకే లేదు. 729 00:37:48,390 --> 00:37:54,100 >> కానీ ఇప్పుడు, సమస్య వెంటనే మార్పిడి ఉంది తిరిగి, అది ఇవ్వడానికి కాదు ఎందుకంటే 730 00:37:54,100 --> 00:37:57,540 కొన్ని విలువ వెనుకకు, తిరిగి ఉంది ప్రకటన అది స్పష్టంగా. 731 00:37:57,540 --> 00:37:59,080 నిజానికి ఏం జరుగుతున్నది? 732 00:37:59,080 --> 00:38:03,480 బాగా, ముఖ్యంగా ఈ మెమరీ - 733 00:38:03,480 --> 00:38:07,410 OK, స్పష్టంగా ఎరేజర్ ఇష్టపడ్డారు ఒక సమయంలో కేవలం ఒక్క వేలితో - 734 00:38:07,410 --> 00:38:08,180 కేవలం అదృశ్యమవుతుంది. 735 00:38:08,180 --> 00:38:10,070 >> ఇప్పుడు వాస్తవానికి ఇది కాదు ఎక్కడైనా వెళ్ళడం. 736 00:38:10,070 --> 00:38:11,810 కానీ మీరు అది ఆలోచించవచ్చు ఇప్పుడు ప్రశ్నార్థకాలుగా. 737 00:38:11,810 --> 00:38:14,040 అది ఇకపై ఎందుకంటే నిజానికి ఉపయోగంలో. 738 00:38:14,040 --> 00:38:17,470 మరియు ఏమీ ఆ విలువలతో చేయబడుతుంది. 739 00:38:17,470 --> 00:38:21,920 >> కాబట్టి గ్రీన్ వెర్షన్ విషయంలో ఈ కోడ్, బదులుగా ఏమి ఉండటం ఉంది 740 00:38:21,920 --> 00:38:24,640 స్వాప్ వెళ్ళిపోయారు? 741 00:38:24,640 --> 00:38:25,770 సో చిరునామాలు. 742 00:38:25,770 --> 00:38:28,520 సో x యొక్క చిరునామా మరియు y యొక్క చిరునామా. 743 00:38:28,520 --> 00:38:35,790 మేము ఈ కథ ఒక చివరి తిరిగి చెప్పటం సమయం, మరియు నేను నిజానికి, మళ్ళీ స్వాప్ డ్రా 744 00:38:35,790 --> 00:38:44,620 కానీ గమనికలు తో, ఈ, ఒక ఉండటం బి ఉండటం, మరియు ఈ ఉండటం tmp, ఏమిటి 745 00:38:44,620 --> 00:38:49,080 నిజానికి ఈ ఆకుపచ్చ ఒక నిల్వ నేను ప్రయాణిస్తున్న వెబ్ పేరు నా కోడ్ వెర్షన్ 746 00:38:49,080 --> 00:38:52,110 చిరునామాలలో? 747 00:38:52,110 --> 00:38:53,780 >> ఇది x ఒక పాయింటర్ చేస్తాడు. 748 00:38:53,780 --> 00:38:54,890 కాబట్టి నేను ఒక బాణం గీయవచ్చు. 749 00:38:54,890 --> 00:38:57,310 కానీ యొక్క అదే అనియత ఉపయోగించడానికి అనుమతిస్తున్నట్లు ముందు ఉదాహరణకు. 750 00:38:57,310 --> 00:39:01,220 లెట్ యొక్క ఈ అని Ox123 వంటి ఏదో. 751 00:39:01,220 --> 00:39:04,970 మరియు ఈ Ox127 అవతరిస్తుంది ఎందుకంటే ఇది ఎందుకంటే నాలుగు బైట్లు అవే ఒక 752 00:39:04,970 --> 00:39:07,370 Int, కాబట్టి Ox127. 753 00:39:07,370 --> 00:39:09,080 >> మళ్ళీ, నేను కొన్ని స్వేచ్ఛకు తీసుకొని వెబ్ సంఖ్యలు. 754 00:39:09,080 --> 00:39:11,430 వారు దానికన్నా ఎక్కువ చిన్న ఉన్నాము నిజానికి వేరొక క్రమంలో మరియు. 755 00:39:11,430 --> 00:39:14,350 కానీ ఎంత నిజం ఇప్పుడు భిన్నంగా ఉంటుంది. 756 00:39:14,350 --> 00:39:19,060 >> కానీ నేను ఈ ఆకుపచ్చ కోడ్ ఉపయోగించినప్పుడు మరియు నేను Int tmp * ఒక వస్తుందా. 757 00:39:19,060 --> 00:39:25,010 , ఈ క్రింది వాటిని తీసుకోవాలని * సాధనంగా ఒక ఉందని పరిష్కరించేందుకు మరియు దానికి వెళ్ళండి 758 00:39:25,010 --> 00:39:26,190 ఇది 1. 759 00:39:26,190 --> 00:39:28,480 మరియు ఆ నేను tmp చాలు ఏమిటి. 760 00:39:28,480 --> 00:39:32,480 ఇంతలో, కోడ్ యొక్క తదుపరి లైన్ లో ఇక్కడ, * ఒక బి గెట్స్, ఆ అర్థం ఏమిటి? 761 00:39:32,480 --> 00:39:36,910 >> బాగా, * ఒక, ఇక్కడ వెళ్ళి గెట్స్ * బి, ఇది అక్కడ వెళ్ళి అర్ధం. 762 00:39:36,910 --> 00:39:39,310 మరియు అక్కడ విలువ చాలు అంటే. 763 00:39:39,310 --> 00:39:43,670 చివరగా, కోడ్ యొక్క చివరి పంక్తి కేవలం * బి tmp గెట్స్ అన్నారు. 764 00:39:43,670 --> 00:39:48,900 >> సో బి చెప్పారు అక్కడ వెళ్ళి అది తిరిగి రాస్తుంది ఈ సందర్భంలో, తెలుస్తోంది tmp 765 00:39:48,900 --> 00:39:51,520 , మళ్ళీ, 1 ఉండాలి. 766 00:39:51,520 --> 00:39:54,920 మరియు ఈ ఎందుకు ఆకుపచ్చ వెర్షన్ మా కోడ్ రచనలు, ఎరుపు అయితే 767 00:39:54,920 --> 00:39:56,010 వెర్షన్ ఎప్పటికీ. 768 00:39:56,010 --> 00:39:59,020 ఎలా దానిని అన్ని కేవలం దిమ్మల మెమరీ నిర్వహించేది మరియు అది ఎక్కడ ఉంది 769 00:39:59,020 --> 00:40:02,580 నిజానికి మీ ఉంచుతారు కంప్యూటర్ యొక్క RAM. 770 00:40:02,580 --> 00:40:07,270 మరియు ఇప్పుడు కోసం, ఆ విషయాలు ఒకటి స్టాక్ కోసం వాడుతున్నారు ఆ. 771 00:40:07,270 --> 00:40:09,225 >> నమూనా ప్రశ్నలు? 772 00:40:09,225 --> 00:40:10,380 గమనికలు పైన? 773 00:40:10,380 --> 00:40:11,630 లేదా స్వాప్? 774 00:40:11,630 --> 00:40:13,740 775 00:40:13,740 --> 00:40:17,043 >> అన్ని కుడి, కాబట్టి malloc, రీకాల్, ఈ వంటి ఏదో చేశారు. 776 00:40:17,043 --> 00:40:18,260 ఈ సూపర్ సాధారణ ఉదాహరణ. 777 00:40:18,260 --> 00:40:20,550 మరియు ఈ అని Binky చాలా అయినప్పటికీ, మాకు పరిచయం 778 00:40:20,550 --> 00:40:21,870 త్వరగా, తరగతి చివరలో. 779 00:40:21,870 --> 00:40:24,480 Dammit, అక్కడ మేము మళ్ళీ వెళ్ళి. 780 00:40:24,480 --> 00:40:28,780 >> సో ఈ ఉదాహరణ అని గుర్తు ఆ Binky అయినప్పటికీ, మాకు పరిచయం 781 00:40:28,780 --> 00:40:30,360 కొంతవరకు త్వరగా తరగతి చివరలో. 782 00:40:30,360 --> 00:40:33,640 మరియు ఇక్కడ మేము నిజంగా malloc ఉపయోగిస్తారు రెండవ సారి. 783 00:40:33,640 --> 00:40:37,330 మొదటిసారి ఎందుకంటే మేము దీనిని ఉపయోగించాడు కావలసినంత RAM సృష్టించడానికి, కావలసినంత RAM కేటాయించుటకు 784 00:40:37,330 --> 00:40:38,340 ఒక స్ట్రింగ్ నిల్వ. 785 00:40:38,340 --> 00:40:40,250 >> ఈ సమయం Binky ఇది సాధారణ ఉంచింది. 786 00:40:40,250 --> 00:40:42,465 కనుక ఇది కేవలం నిల్వ వార్తలు ఒక Int, స్పష్టంగా. 787 00:40:42,465 --> 00:40:43,510 మరియు ఆ పూర్తిగా మంచిది. 788 00:40:43,510 --> 00:40:46,560 ఇది, స్పష్టముగా, కొద్దిగా అదృష్టము వార్తలు ఒక Int కేటాయించుటకు malloc ఉపయోగించడానికి. 789 00:40:46,560 --> 00:40:50,650 కానీ నిక్ యొక్క స్ ఎ క్లెమేషన్ యొక్క పాయింట్ ఉంది నిజంగా కేవలం ఏమి కథ చెప్పండి 790 00:40:50,650 --> 00:40:53,830 జరుగుతుంది లేదా ఏమి లేదు మీరు మెమరీ భావం. 791 00:40:53,830 --> 00:40:56,520 >> సో ఈ సందర్భంలో, ఈ కార్యక్రమం కొన్ని విషయాలు చేసింది. 792 00:40:56,520 --> 00:41:01,580 ఇక్కడ మొదటి సందర్భంలో, అది ప్రకటించాడు ఒక పాయింటర్ ఒక పూర్ణాంకానికి x అనే. 793 00:41:01,580 --> 00:41:04,480 ఇది అప్పుడు ఒక పాయింటర్ ప్రకటించాడు ఒక పూర్ణాంకానికి y అని. 794 00:41:04,480 --> 00:41:06,150 ఇది అప్పుడు, x లో ఏమి నిల్వ? 795 00:41:06,150 --> 00:41:07,110 ఇప్పుడు ఎవరో. 796 00:41:07,110 --> 00:41:09,685 ప్రకారం x నిల్వ కావాలి అంటే ఈ కార్యక్రమం యొక్క మూడవ పంక్తి? 797 00:41:09,685 --> 00:41:12,380 >> ప్రేక్షకులు: [వినబడని]. 798 00:41:12,380 --> 00:41:14,130 >> SPEAKER 1: Well, కాదు చాలా బైట్లు, ప్రతి చెప్పటానికి. 799 00:41:14,130 --> 00:41:16,760 ఇప్పుడు మరింత ఖచ్చితమైన ఉండాలి. 800 00:41:16,760 --> 00:41:18,325 X లో ఏం నిల్వ కావాలి? 801 00:41:18,325 --> 00:41:21,000 802 00:41:21,000 --> 00:41:22,060 ఒక చిరునామా, నేను విన్న అనుకుంటున్నాను. 803 00:41:22,060 --> 00:41:23,570 >> సో malloc ఏమి తిరిగి లేదు? 804 00:41:23,570 --> 00:41:26,030 malloc behaviorally కేటాయిస్తాడు మెమరీ భాగం. 805 00:41:26,030 --> 00:41:27,850 కానీ ఎలా మీరు దానిని ప్రాప్తి ఇవ్వాలని లేదు? 806 00:41:27,850 --> 00:41:29,460 ఇది ఏమి తిరిగి? 807 00:41:29,460 --> 00:41:32,000 మొదటి బైట్ యొక్క చిరునామా మెమరీ భాగం. 808 00:41:32,000 --> 00:41:33,020 >> ఇప్పుడు, ఈ సూపర్ సులభం. 809 00:41:33,020 --> 00:41:35,380 ఇది కేవలం ఒక బైట్ యొక్క, అంటే మేము తిరిగి పొందడానికి చిరునామా 810 00:41:35,380 --> 00:41:37,300 మొత్తం విషయం యొక్క చిరునామా. 811 00:41:37,300 --> 00:41:42,070 సో అప్పుడు x నిల్వ చిరునామా మెమరీ యొక్క భాగం యొక్క. 812 00:41:42,070 --> 00:41:43,400 ఇంతలో, ఏమి తదుపరి జరుగుతుంది? 813 00:41:43,400 --> 00:41:45,890 సో నిజానికి, యొక్క ముందుకు వెళ్ళి వీలు మరియు ఈ అవ్ట్ నిజమైన ఫాస్ట్ డ్రా. 814 00:41:45,890 --> 00:41:52,490 >> మేము ఇక్కడ తెరకు వెళ్ళి కనుక మేము ఈ ఆడతాయి Int * x మరియు Int * y 815 00:41:52,490 --> 00:41:53,740 నాకు ఏమి జరుగుతుందో? 816 00:41:53,740 --> 00:41:58,280 నేను కేవలం చేయాలని జరగబోతోంది వాదించారు ఈ వంటి ఏదో మరియు x కాల్, మరియు 817 00:41:58,280 --> 00:42:00,010 ఈ మరియు y కాల్. 818 00:42:00,010 --> 00:42:03,110 ఇంతలో, కోడ్ యొక్క మూడవ లైన్ ఒక Int యొక్క పరిమాణం కేటాయించుటకు వెళుతున్న, 819 00:42:03,110 --> 00:42:06,160 ఇది నిర్మాణము - నేను అన్నారు క్షమించండి ఉంటే - నేను ఒక Int ఉద్దేశించబడింది ఒక ముందు 820 00:42:06,160 --> 00:42:08,280 ఒక విలక్షణమైన కంప్యూటర్ నాలుగు బైట్లు. 821 00:42:08,280 --> 00:42:09,720 CS50 ఉపకరణం కనీసం. 822 00:42:09,720 --> 00:42:11,490 >> సో ఈ కేటాయించుటకు వెళ్తున్నారు అది తెలిసిన? 823 00:42:11,490 --> 00:42:12,800 ఎక్కడా బయటకు ఇక్కడ. 824 00:42:12,800 --> 00:42:15,780 మరియు ఈ కొన్ని నిల్వ ఉంది చిరునామా ఆక్స్, తెలిసిన? 825 00:42:15,780 --> 00:42:18,330 కానీ తిరిగి పొందడానికి జరగబోతోంది ఆ చిరునామా. 826 00:42:18,330 --> 00:42:22,270 కానీ మేము చిత్రాల ఈ డ్రా చేస్తాము ఆ మాదిరిగా ఒక బాణం. 827 00:42:22,270 --> 00:42:25,430 >> ఇప్పుడు రాబోయే లైన్ లో * x 42 గెట్స్. 828 00:42:25,430 --> 00:42:29,400 * X లేమాన్ పరంగా అర్థం ఏమిటి? 829 00:42:29,400 --> 00:42:30,040 అక్కడికి వెళ్ళడానికి. 830 00:42:30,040 --> 00:42:30,960 ఆ చిరునామా వెళ్ళండి. 831 00:42:30,960 --> 00:42:35,900 లేదా ఇతర పదాలు లో, అనుసరించండి బాణం మరియు 42 చాలు. 832 00:42:35,900 --> 00:42:38,140 కానీ అప్పుడు చెడు ఏదో జరిగింది Binky సరైన? 833 00:42:38,140 --> 00:42:43,950 >> లైనును ఇక్కడ ఐదు గుర్తు, * వై గెట్స్ 13, నిజానికి ఇది దురదృష్ట సంఖ్య, 834 00:42:43,950 --> 00:42:44,760 మాకు ఏమి చేసింది? 835 00:42:44,760 --> 00:42:47,320 బాగా, * వై అంటే అక్కడ వెళ్ళి. 836 00:42:47,320 --> 00:42:50,460 బాగా, ఈ ఇచ్చిన చేయలేదు ఒక విలువ ఇంకా, కుడి? 837 00:42:50,460 --> 00:42:54,090 కోడ్ y ఉండటం లేదు దేని initialized. 838 00:42:54,090 --> 00:42:56,120 మేము x initialized ఉన్నాయి ఒక చిరునామాకు. 839 00:42:56,120 --> 00:42:57,640 కానీ y టాప్ ప్రకటించాయి. 840 00:42:57,640 --> 00:43:00,250 కానీ అప్పుడు ఒక సెమికోలన్, విలువ నిజానికి అది చాలు జరిగినది. 841 00:43:00,250 --> 00:43:02,330 సో ఈ కాల్ ఫెయిర్ ఒక చెత్త విలువ. 842 00:43:02,330 --> 00:43:03,430 ఎవరు ఉంది ఏమి తెలుసు? 843 00:43:03,430 --> 00:43:07,160 ఇది ఉపయోగించే బిట్ల అవశేషాలు వార్తలు లో కోడ్ యొక్క కొన్ని మునుపటి లైన్ ద్వారా 844 00:43:07,160 --> 00:43:08,300 నా కార్యక్రమం. 845 00:43:08,300 --> 00:43:13,250 >> నేను అక్కడ వెళ్ళి అని కనుక, ఈ, వంటిది నేను ఈ బాణం ఉన్న సంఖ్య ఆలోచన ఉంది 846 00:43:13,250 --> 00:43:14,490 వదులుకోవడానికి వెళుతున్న. 847 00:43:14,490 --> 00:43:17,720 మీరు సాధారణంగా మరియు ఆ విభజన లోపంగా పొందుటకు. 848 00:43:17,720 --> 00:43:22,430 మీరు అనుకోకుండా dereference ఉంటే, ఈ విధంగా చేసిన మాట్లాడటం, లేదా కాదు అని ఒక చిరునామా వెళ్ళండి 849 00:43:22,430 --> 00:43:25,400 నిజానికి ఒక చట్టబద్ధమైన చిరునామా, చెడు విషయాల జరిగే. 850 00:43:25,400 --> 00:43:27,550 >> మరియు ఆ ఏమి జరిగిందో ఖచ్చితంగా ఉంది Binky ఆలోచించడం. 851 00:43:27,550 --> 00:43:31,060 సో గుర్తుకు ఆ నిక్ అని కథ ఇక్కడ చెప్పడం అదే ఆలోచన ఏమి వంటి 852 00:43:31,060 --> 00:43:34,050 నేను యొక్క భ్రాంతిని డ్రా చేసిన అక్కడ బోర్డులో సుద్ద. 853 00:43:34,050 --> 00:43:35,960 X మరియు Y నిర్ధారించబడిన. 854 00:43:35,960 --> 00:43:39,690 >> అప్పుడు మేము యొక్క పరిమాణం కేటాయించిన ఒక Int మరియు x లో నిల్వ. 855 00:43:39,690 --> 00:43:42,130 అప్పుడు మేము తదుపరి లైన్ * x. 856 00:43:42,130 --> 00:43:46,070 ఈ నిక్ యొక్క మాయా చిన్నకర్ర ఉంది dereferencing యొక్క. 857 00:43:46,070 --> 00:43:49,780 మెమరీ లో 42 చాలు x ద్వారా ఎత్తి చూపారు. 858 00:43:49,780 --> 00:43:51,600 >> కానీ ఈ పేరు విషయాలు భయంకరమైన తప్పు జరిగింది. 859 00:43:51,600 --> 00:43:51,820 కుడి? 860 00:43:51,820 --> 00:43:53,550 మేము dereference y ప్రయత్నించాడు. 861 00:43:53,550 --> 00:43:55,620 కానీ y కుడి, కొన్ని బోగస్ విలువ కలిగి? 862 00:43:55,620 --> 00:43:57,720 >> దిగువన ఎడమ చేతిలో ఆ బాణం మూలలో, కాదు 863 00:43:57,720 --> 00:43:58,950 నిజానికి ఏదైనా గురిపెట్టి. 864 00:43:58,950 --> 00:44:01,520 ఇది నేను చేస్తున్న రకంగా బోర్డు మీద ఇక్కడ చేసింది. 865 00:44:01,520 --> 00:44:05,900 సో చెడు విషయాల జరిగే విభజన ఈ సందర్భంలో తప్పు, లేదా Binky తప్పు. 866 00:44:05,900 --> 00:44:10,800 >> కానీ మేము అప్పుడు x చేయడం ద్వారా ఆ పరిష్కరించడానికి ఉంటే y గెట్స్ ఎలా కథ మార్పు చేస్తుంది? 867 00:44:10,800 --> 00:44:15,760 Well, నేను x లేకపోతే ఆ y, గెట్స్ మాట్లాడుతూ సమర్ధవంతంగా అదే 868 00:44:15,760 --> 00:44:19,235 ఈ సంసార, ఆక్స్-ఏదో , ఇక్కడ అదే అవతరిస్తుంది 869 00:44:19,235 --> 00:44:20,080 దున్నేందుకు ఏదో. 870 00:44:20,080 --> 00:44:22,970 లేదా చిత్రాల మేము ఒక బాణం డ్రా చేస్తాము. 871 00:44:22,970 --> 00:44:25,530 >> ఇక్కడ Binky బోర్డు మీద, తరువాతి లైన్ తో 872 00:44:25,530 --> 00:44:28,350 కోడ్, * వై అక్కడ వెళ్ళి అర్ధం. 873 00:44:28,350 --> 00:44:29,400 అక్కడ ఎక్కడ ఉంది? 874 00:44:29,400 --> 00:44:30,820 ఇది ఇక్కడ అర్థం. 875 00:44:30,820 --> 00:44:36,050 >> మరియు మేము 13 అని అప్ డేట్ చేసినప్పుడు ఇది కేవలం వెళుతున్న మరియు ఉంటుంది 876 00:44:36,050 --> 00:44:39,470 ఇప్పుడు ఇక్కడ 13 వ్రాయడం. 877 00:44:39,470 --> 00:44:44,130 కావున బహుశా పూర్తిగా మొదటి చూపులో నేరుగా. 878 00:44:44,130 --> 00:44:47,740 కానీ రీక్యాప్ మరియు అదే పరిభాషలో ఉపయోగించడానికి ఆ Binky కాబట్టి, ఇక్కడ ఉపయోగించి జరిగినది 879 00:44:47,740 --> 00:44:50,485 మొదటి రెండు, గమనికలు కేటాయించుటకు x మరియు y, కానీ pointees. 880 00:44:50,485 --> 00:44:54,750 మరియు pointees ఒక కాదు సాధారణంగా ఈ పదాన్ని ఉపయోగించారు. 881 00:44:54,750 --> 00:44:56,120 కానీ పాయింటర్ ఖచ్చితంగా ఉంది. 882 00:44:56,120 --> 00:44:59,200 కానీ అది చూపారు చేయబడిన ఏమిటి Binky యొక్క పరిభాషాప్రకరణంలో వద్ద. 883 00:44:59,200 --> 00:45:01,660 >> కోర్సు యొక్క ఈ తదుపరి లైన్, ఒక Int pointee కేటాయిస్తాడు. 884 00:45:01,660 --> 00:45:04,840 సో మెమరీ భాగం - I పైగా డ్రా కుడి చేతి అక్కడ వైపు - మరియు సెట్ 885 00:45:04,840 --> 00:45:06,470 x సమాన దానికి మార్చాలి. 886 00:45:06,470 --> 00:45:11,350 ఈ dereferences x 42 నిల్వ ఇది వద్ద గురిపెట్టి ఆ మెమరీ. 887 00:45:11,350 --> 00:45:13,380 ఆపై ఈ, కోర్సు యొక్క, ఒక చెడ్డ విషయం. 888 00:45:13,380 --> 00:45:15,600 Y గురిపెట్టి లేదు ఎందుకంటే ఇంకా ఏదైనా వద్ద. 889 00:45:15,600 --> 00:45:16,530 ఇది పరిష్కరిస్తుంది. 890 00:45:16,530 --> 00:45:18,240 సో ఈ ఇప్పటికీ బగ్గీ కార్యక్రమం. 891 00:45:18,240 --> 00:45:21,580 మేము వీస్తున్న మీరు కేవలం ఎందుకంటే లైన్ మరియు విధంగా కోడ్ లైన్, బాగా ఓహ్, 892 00:45:21,580 --> 00:45:22,690 అది క్రాష్ వీలు. 893 00:45:22,690 --> 00:45:23,420 ఒక చెడ్డదని. 894 00:45:23,420 --> 00:45:26,790 ఆడ్స్ కార్యక్రమం కేవలం వెళుతున్న ఉన్నాయి ఆ లైన్ వద్ద పూర్తిగా నిలిపివేయడం మంచిది. 895 00:45:26,790 --> 00:45:30,550 మీరు తొలగించడానికి అయితే క్రాష్ గత రెండు తో లైన్ మరియు భర్తీ 896 00:45:30,550 --> 00:45:32,470 మీరు కేటాయించవచ్చు అక్కడ పంక్తులు - 897 00:45:32,470 --> 00:45:35,310 పాయింటర్ అప్పగించిన ఉపయోగించి - y పాయింట్ t వంటి x మార్చాలి. 898 00:45:35,310 --> 00:45:39,280 ఆపై మీరు dereference చాలా సురక్షితమైన మార్గంగా లో వై. 899 00:45:39,280 --> 00:45:41,520 >> సో ఇక్కడ ఈ మాకు వదిలి లేదు? 900 00:45:41,520 --> 00:45:45,350 బాగా, హుడ్ కింద ఎత్తి మారుతుంది CS50 లైబ్రరీ లో, గమనికలు ఉన్నాయి 901 00:45:45,350 --> 00:45:46,320 ఉపయోగిస్తారు. 902 00:45:46,320 --> 00:45:48,910 మరియు మేము నిజానికి చర్మము ప్రారంభించగలరు దీర్ఘ ముందు తిరిగి పొర. 903 00:45:48,910 --> 00:45:51,740 కానీ, చాలా ఒక వ్యక్తీకరణ మారుతుంది మీరు కొన్ని, తెలిసిన కావచ్చు 904 00:45:51,740 --> 00:45:54,580 ముఖ్యంగా మరింత సౌకర్యవంతమైన, ఒక ప్రజాదరణ పొందిన ఆ నిజానికి 905 00:45:54,580 --> 00:45:56,390 వెబ్సైట్, లేదా స్టాక్ ఓవర్ఫ్లో, ఈ రోజుల్లో. 906 00:45:56,390 --> 00:45:58,720 >> కానీ ఈ నిజానికి చాలా ఉంది సాంకేతిక అర్థం. 907 00:45:58,720 --> 00:46:00,160 మేము ఇప్పుడు ఒక కుప్ప ఉంది ఏమి. 908 00:46:00,160 --> 00:46:02,550 ఇది trays యొక్క స్టాక్ వంటిది ఒక భోజనశాల లోపల. 909 00:46:02,550 --> 00:46:05,140 >> లేదా లోపల మీ కంప్యూటర్ యొక్క మెమరీ ఆ ఫ్రేమ్ దాని 910 00:46:05,140 --> 00:46:06,900 క్రియలు ద్వారా ఉపయోగిస్తారు. 911 00:46:06,900 --> 00:46:10,760 బాగా, అది మారుతుంది ఆ కారణంగా చాలా సాధారణ అమలు 912 00:46:10,760 --> 00:46:14,970 మెమరీ మరియు అని పిలవబడే న ఫ్రేమ్లను స్టాక్ మీరు నిజంగానే నియంత్రణ పట్టవచ్చు 913 00:46:14,970 --> 00:46:17,050 సులభంగా ఒక కంప్యూటర్ వ్యవస్థ యొక్క. 914 00:46:17,050 --> 00:46:22,180 మీరు ఒక వ్యవస్థ హాక్ ఉంటే ప్రజలు మా కోడ్ వ్రాయలేదు వంటి 915 00:46:22,180 --> 00:46:23,300 బాగా. 916 00:46:23,300 --> 00:46:26,670 >> మాకు వంటి వ్యక్తులు రాళ్లను ఉపయోగిస్తే మెమరీ లేదా ఉపయోగం శ్రేణుల - 917 00:46:26,670 --> 00:46:27,810 మరింత సాధారణంగా - 918 00:46:27,810 --> 00:46:31,800 కానీ కొన్నిసార్లు తనిఖీ మర్చిపోతే మా అర్రే యొక్క సరిహద్దులు మీరు వాటిని వంటి 919 00:46:31,800 --> 00:46:38,470 మీ కొన్నిసార్లు కలిగి, మరియు iterated చాలా చివర ఒక అర్రే గత మార్గం. 920 00:46:38,470 --> 00:46:40,520 ఉత్తమ సందర్భంలో, మీ ప్రోగ్రామ్ కేవలం నాశనం. 921 00:46:40,520 --> 00:46:42,280 విభజన లోపంగా, రకమైన చికాకు యొక్క. 922 00:46:42,280 --> 00:46:45,480 గొప్ప కాదు, కానీ అది తప్పనిసరిగా కాదు అత్యంత చెడ్డ విషయం. 923 00:46:45,480 --> 00:46:49,480 >> కానీ మీ ప్రోగ్రామ్ నిజమైన న నిజానికి ఉంటే వినియోగదారులు 'కంప్యూటర్లు, అది నడుస్తున్న ఉన్నట్లయితే 924 00:46:49,480 --> 00:46:53,070 ఒక వెబ్ సైట్ లో నిజమైన యాదృచ్ఛిక ప్రజలు ఇంటర్నెట్ తెలియజేసినందుకు, కొట్టే ఉంటాయి 925 00:46:53,070 --> 00:46:56,690 మీ కోడ్ లో చెడు విషయాల ప్రేరేపించడానికి ఉంది ఎందుకంటే సాధారణంగా ఒక మంచి విషయం 926 00:46:56,690 --> 00:46:59,930 ఇది తీసుకోవాలని అవకాశం అంటే కంప్యూటర్ నియంత్రణ. 927 00:46:59,930 --> 00:47:01,350 మరియు ఈ చూడండి కానుంది గుప్తమైన కొద్దిగా. 928 00:47:01,350 --> 00:47:04,570 కానీ నేను మీతో భయ ఇష్టం ఆలోచన ఇక్కడ ఈ గత ఉదాహరణకు. 929 00:47:04,570 --> 00:47:05,650 >> ఇక్కడ కోడ్ ఉదాహరణకు. 930 00:47:05,650 --> 00:47:07,370 మరియు ఒక మంచి వికీపీడియా ఉంది ద్వారా నడుస్తాడు వ్యాసం 931 00:47:07,370 --> 00:47:08,530 మరింత వివరంగా ఈ. 932 00:47:08,530 --> 00:47:13,890 నేను క్రింద కాలింగ్ ప్రధాన కలిగి 1 argv లో ప్రయాణిస్తున్న foo. 933 00:47:13,890 --> 00:47:15,750 మరియు కేవలం చేయగలరు అని అమలు మరియు పాస్ 934 00:47:15,750 --> 00:47:17,080 ఏకపక్ష ఇన్పుట్. 935 00:47:17,080 --> 00:47:20,180 >> ఆపై foo టాప్ నిర్ధారించే ఒక స్ట్రింగ్ అంగీకరించడం, లేదా మరింత వంటి 936 00:47:20,180 --> 00:47:21,700 ఖచ్చితంగా, ఒక చార్ *. 937 00:47:21,700 --> 00:47:23,860 ఇది అప్పుడు అక్షరాలు యొక్క ఒక అర్రే ప్రకటించాడు. 938 00:47:23,860 --> 00:47:27,130 అది ఒక బఫర్, మరింత సాధారణంగా, కాల్ పరిమాణం 12. 939 00:47:27,130 --> 00:47:30,900 సో 12 అక్షరాలు సరిపోని చేయవచ్చు సి అని అర్రే యొక్క. 940 00:47:30,900 --> 00:47:33,510 >> మరియు అది, ఈ కొత్త ఫంక్షన్ ఉపయోగిస్తుంది నూతన కష్టం కాదు 941 00:47:33,510 --> 00:47:34,930 , మెమరీ నకలు అర్థం. 942 00:47:34,930 --> 00:47:39,290 ఇది ఉంది, బార్ నుండి మెమరీ నకలు వేరియబుల్ గత n, సంసార 943 00:47:39,290 --> 00:47:42,080 యూజర్ సి లోకి argv 1 టైప్ చేసిన. 944 00:47:42,080 --> 00:47:43,090 ఎన్ని బైట్లు? 945 00:47:43,090 --> 00:47:44,260 బార్ యొక్క స్ట్రింగ్ పొడవు. 946 00:47:44,260 --> 00:47:48,380 >> సో ఇతర పదాలు లో, వినియోగదారు రకాల ఉంటే లో h-ఇ-l-l-o ఎంటర్, స్ట్రింగ్ పొడవు 947 00:47:48,380 --> 00:47:49,260 హలో ఐదు ఉంది. 948 00:47:49,260 --> 00:47:52,790 సో ఆ బైట్ల ఐదు పొందుటకు వెళ్తున్నారు సి అని అర్రే, కాపీ ఇది 949 00:47:52,790 --> 00:47:54,110 పరిమాణం 12 ఉంది. 950 00:47:54,110 --> 00:47:58,710 ఒక ఎక్కువ కాలం లో కానీ వినియోగదారు రకాల 13 అక్షరాలు లేదా 14 ఆ పదం 951 00:47:58,710 --> 00:48:01,250 అక్షరాలు లేదా 100 అక్షరాలు లేదా ఎక్కువ? 952 00:48:01,250 --> 00:48:02,660 >> ఎక్కడ వారు వెళ్తున్నారు? 953 00:48:02,660 --> 00:48:06,090 బాగా, ఆ ఫ్రేమ్, ఆ ట్రే భోజనాల హాల్ స్టాక్ లో, 954 00:48:06,090 --> 00:48:06,930 వారు అక్కడ వెళ్ళడానికి చేయబోతున్నామని. 955 00:48:06,930 --> 00:48:10,080 మరియు అది కేవలం తిరిగి రాయటం ఆరంభమవుతుంది ఇప్పటికే ఇతర stuff 956 00:48:10,080 --> 00:48:12,880 ఆ స్టాక్ న, నిండిన స్టాక్, మాట్లాడటానికి. 957 00:48:12,880 --> 00:48:14,780 >> సో చిత్రాల, అది ఈ విధంగా భావిస్తారు. 958 00:48:14,780 --> 00:48:17,970 ఈ కేవలం ఒక రంగుల వెర్షన్ చిత్రాన్ని మేము డ్రాయింగ్ చేసిన. 959 00:48:17,970 --> 00:48:20,060 దిగువన, ప్రధాన ఉంది, చెప్పటానికి చేసుకుందాం. 960 00:48:20,060 --> 00:48:24,690 మరియు పైన, మీరు ఇప్పుడు ఏమి చూడటానికి ఫ్రేమ్, రంగు కోసం, ఇప్పుడు కోడ్ చేయబడ్డ 961 00:48:24,690 --> 00:48:26,090 foo అని ఫంక్షన్. 962 00:48:26,090 --> 00:48:30,170 కానీ గురించి ఇక్కడ ఆసక్తికరమైన ఏమిటి foo ఇక్కడ దాని ఫ్రేమ్ ఉంది. 963 00:48:30,170 --> 00:48:32,860 కనుక ఇది కేవలం నేను వంటి డ్రా లో కానీ కాంతి నీలం చేసింది. 964 00:48:32,860 --> 00:48:35,220 మరియు ఇప్పుడు ఈ పేరు సి బ్రాకెట్ 0 వెళ్తాడు. 965 00:48:35,220 --> 00:48:37,410 మరియు ఈ సి బ్రాకెట్ పేరు ఉంది 11 వదులుకోవడానికి వెళ్తున్నారు. 966 00:48:37,410 --> 00:48:39,670 >> ఇతర మాటలలో, అది జరుగుతుంది ఒక చదరపు వంటి ప్రాతినిధ్యం అవుతుంది. 967 00:48:39,670 --> 00:48:42,320 కానీ మీరు కేవలం బైట్లు plopping ఉంచుకుంటే డౌన్ - లేదా అక్షరాలను - వారు అంతం చేయబోతున్నామని 968 00:48:42,320 --> 00:48:46,070 అప్ స్థానంలో 0 అన్ని మార్గం అప్ 11 ఎందుకంటే అది ఇండెక్స్ 0 లో. 969 00:48:46,070 --> 00:48:49,170 >> కానీ 13 వ పాత్ర పేరు ఉంది వదులుకోవడానికి వెళుతున్న? 970 00:48:49,170 --> 00:48:50,310 14 పేరు ఏమిటి? 971 00:48:50,310 --> 00:48:52,430 50 వ పాత్ర పేరు వార్తలు వదులుకోవడానికి వెళుతున్న? 972 00:48:52,430 --> 00:48:54,070 >> ఇది డౌన్ కొనసాగించడాన్ని జరగబోతోంది. 973 00:48:54,070 --> 00:48:57,350 మేము తీసిన చేసిన అయినప్పటికీ ఎందుకంటే స్టాక్ తో చిత్రం, ఎదుగుతున్న 974 00:48:57,350 --> 00:48:59,920 చిరునామాలు, దాన్ని చేస్తుంది, నుండి వెళ్ళి చిన్న చిరునామాలు, చిన్న 975 00:48:59,920 --> 00:49:01,830 పెద్ద చిరునామాలకు గమనికలు. 976 00:49:01,830 --> 00:49:03,540 కనుక ఇది కేవలం అప్ వెళుతున్న మరియు తాజాగా ఉంచుతుంది. 977 00:49:03,540 --> 00:49:05,660 >> అయితే వినియోగదారు రకాల హలో, ఆ గొప్ప. 978 00:49:05,660 --> 00:49:08,650 సంఖ్య బగ్, సమస్య, ప్రతి ఒక్కరూ యొక్క సురక్షిత. 979 00:49:08,650 --> 00:49:11,940 కానీ మేము చేస్తాము ఏమి వినియోగదారు రకాల ఉంటే పటిష్టమయిన కోడ్ కాల్, ప్రాతినిధ్యం 980 00:49:11,940 --> 00:49:16,040 సామాన్యముగా ఒక, దాడి, దాడి, దాడి, దాడి, ఏమి జరుగుతుంది? 981 00:49:16,040 --> 00:49:19,760 >> బాగా, ఉంటే ఇన్పుట్ ఆ యూజర్ లో టైప్ కొన్ని అనుకూల కాదు 982 00:49:19,760 --> 00:49:21,540 అక్షరాలు లేదా అప్రియమైన స్ట్రింగ్. 983 00:49:21,540 --> 00:49:24,050 ఇది నిజానికి క్యారెక్టర్ల వరుసను వార్తలు మీరు ఇది కంపైల్ ఉంటే, 984 00:49:24,050 --> 00:49:26,050 ఇది నిజానికి కోడ్. 985 00:49:26,050 --> 00:49:29,570 దీనికి కోడ్ ఆ తొలగిస్తే అన్ని మీ హార్డు డ్రైవు ఫైళ్లను లేదా స్పామ్ పంపుతుంది 986 00:49:29,570 --> 00:49:30,810 ఆ వంటి లేదా ఏదో. 987 00:49:30,810 --> 00:49:35,110 ఇక్కడ కీలక ఏమిటి గమనించవచ్చు అని చెడు వ్యక్తి తగినంత అదృష్ట వస్తే 988 00:49:35,110 --> 00:49:37,830 మెమరీ ఎరుపు భాగం తిరిగి రాస్తుంది - 989 00:49:37,830 --> 00:49:41,080 నేను కానీ నా చిత్రం డ్రా లేదు ఇక్కడ ఈ వికీపీడియా చిత్రం ఉంది - 990 00:49:41,080 --> 00:49:42,890 దాని పిలవబడే తిరిగి చిరునామా. 991 00:49:42,890 --> 00:49:47,470 >> చేసినప్పుడు ఆహార తిరిగి, స్వాప్ వచ్చినప్పడు, ఎలా కంప్యూటర్ నుండి వెళ్ళడానికి తెలుసు 992 00:49:47,470 --> 00:49:49,790 ఇక్కడ ఇక్కడ డౌన్? 993 00:49:49,790 --> 00:49:52,920 లేదా పైన టెక్ విభాగంలో, ఎలా అది స్వాప్ నుండి వెళ్ళడానికి తెలుసు 994 00:49:52,920 --> 00:49:54,870 కోడ్ - 0 మరియు 1 యొక్క ఆ స్వాప్ కంపోజ్ - 995 00:49:54,870 --> 00:49:56,020 తిరిగి ప్రధాన కు? 996 00:49:56,020 --> 00:50:00,450 ఒక అని పిలవబడే తిరిగి చిరునామా ఉంది అదే స్టాక్ ఫ్రేమ్ లో, నిల్వ 997 00:50:00,450 --> 00:50:02,140 అదే ఫలహారశాల ట్రే. 998 00:50:02,140 --> 00:50:06,080 >> చెడు వ్యక్తి తగినంత తెలివైన ఉంది కనుక దాడి కోడ్ చాలు, దాడి కోడ్, దాడి 999 00:50:06,080 --> 00:50:07,960 కోడ్, మరియు తగినంత అదృష్ట పొందుటకు - 1000 00:50:07,960 --> 00:50:11,630 కు - తరచుగా విచారణ మరియు లోపం ద్వారా , ఎర్ర తిరిగి చిరునామా తిరిగి రాస్తుంది 1001 00:50:11,630 --> 00:50:14,360 చిరునామా మరియు ప్రకటనను అగ్రభాగాన. 1002 00:50:14,360 --> 00:50:16,830 0835C080 గమనించవచ్చు. 1003 00:50:16,830 --> 00:50:20,650 ఇది కోసం వెనుకకు అప్ టాప్ వ్రాసిన కారణాలు మేము బహుశా సందర్శించండి చేస్తాము. 1004 00:50:20,650 --> 00:50:22,050 ఇది సంఖ్య. 1005 00:50:22,050 --> 00:50:25,790 >> చెడు వ్యక్తి తగినంత అదృష్ట లేదా గెట్స్ ఉంటే ఎరుపు తిరిగి రాస్తుంది తగినంత స్మార్ట్ ఉంది 1006 00:50:25,790 --> 00:50:29,480 యొక్క చిరునామాతో మెమరీ వాదనను అతను లేదా ఆమె ఏదో కలిగి కోడ్ 1007 00:50:29,480 --> 00:50:34,980 మీ కంప్యూటర్ లోకి, దీని అంచనా కోడ్ తిరిగి వెళ్తున్నారు 1008 00:50:34,980 --> 00:50:38,260 వెంటనే foo వంటి అమలు చేయబడుతుంది? 1009 00:50:38,260 --> 00:50:39,440 >> చెడు వ్యక్తి యొక్క కోడ్. 1010 00:50:39,440 --> 00:50:43,610 ఈ దాడి కోడ్ సో, AAA, మళ్ళీ, వాటిని స్పాం పంపించటానికి, అన్ని ఫైళ్లను తొలగించండి ఉండవచ్చు 1011 00:50:43,610 --> 00:50:44,500 మీ హార్డు డ్రైవు. 1012 00:50:44,500 --> 00:50:48,740 కానీ ఏ నిజమైన స్టాక్ ఓవర్ఫ్లో ఉంది ఉంది, లేదా ఒక బఫర్ పారిపోవడం, లేదా ఒక 1013 00:50:48,740 --> 00:50:51,060 ఓవర్ఫ్లో దాడి స్వీకరించేందుకు. 1014 00:50:51,060 --> 00:50:54,400 >> మరియు ఇది చాలా, చాలా సాధారణ వార్తలు లో రాసిన ప్రోగ్రామ్లను ఈ రోజు 1015 00:50:54,400 --> 00:50:58,220 సి, సి + +, మరియు కొన్ని ఇతర భాషలు. 1016 00:50:58,220 --> 00:51:02,275 ఆ భయపెట్టే సూచనలో, మేము చేస్తాము ఒక జోక్ తో ముగించాలి. 1017 00:51:02,275 --> 00:51:03,230 >> [నవ్వు] 1018 00:51:03,230 --> 00:51:04,550 >> బుధవారం మీరు చూడండి. 1019 00:51:04,550 --> 00:51:07,920 1020 00:51:07,920 --> 00:51:10,310 తదుపరి CS50 వద్ద - 1021 00:51:10,310 --> 00:51:15,920 నేను ఈ రోజు డిస్క్ దీపాలు అల్ అవ్ట్ రెడీ కానీ వేచి, కొవ్వు రహిత పాలు, సగం ఫోన్ 1022 00:51:15,920 --> 00:51:17,850 పుస్తకం, నారింజ రసం నేను ఈ రోజు తాగుతూ ఆ. 1023 00:51:17,850 --> 00:51:20,370 1024 00:51:20,370 --> 00:51:22,780 USB కేబుల్, ఒక రెంచ్. 1025 00:51:22,780 --> 00:51:24,800 >> [సంగీతాన్ని]