1 00:00:00,000 --> 00:00:03,381 >> [సంగీతాన్ని] 2 00:00:03,381 --> 00:00:10,626 3 00:00:10,626 --> 00:00:11,610 >> [వీడియో ప్లేబ్యాక్] 4 00:00:11,610 --> 00:00:13,640 >> -అతను అబద్ధం. 5 00:00:13,640 --> 00:00:14,380 >> -దేని గురించి? 6 00:00:14,380 --> 00:00:17,182 >> -I తెలియదు. 7 00:00:17,182 --> 00:00:19,990 >> మేము ఏమి తెలుసు సో? 8 00:00:19,990 --> 00:00:23,145 >> 9:15, రే వద్ద -ఆ Santoya ATM వద్ద ఉంది. 9 00:00:23,145 --> 00:00:23,644 అవును. 10 00:00:23,644 --> 00:00:27,030 హరిబాబు, ఏమి అతను 9:16 వద్ద ఏమి ఉంది? 11 00:00:27,030 --> 00:00:29,720 >> ఏదో 9 మిల్లీ -Shooting. 12 00:00:29,720 --> 00:00:31,540 బహుశా తాను స్నిపర్ చూసింది. 13 00:00:31,540 --> 00:00:33,412 >> -లేదా అతనితో పని. 14 00:00:33,412 --> 00:00:34,340 >> -Wait. 15 00:00:34,340 --> 00:00:36,200 తిరిగి ఒక వెళ్ళండి. 16 00:00:36,200 --> 00:00:36,975 >> -మీరు ఏమి చూస్తారు? 17 00:00:36,975 --> 00:00:44,400 18 00:00:44,400 --> 00:00:47,805 >> పూర్తి స్క్రీన్ తన ముఖం -Bring. 19 00:00:47,805 --> 00:00:48,680 >> -His అద్దాలు. 20 00:00:48,680 --> 00:00:50,060 >> ప్రతిబింబం-ఉంది. 21 00:00:50,060 --> 00:01:00,455 22 00:01:00,455 --> 00:01:02,280 >> -ఇది న్యువిటాస్ బేస్బాల్ జట్టు. 23 00:01:02,280 --> 00:01:03,110 వారి లోగో ఉంది. 24 00:01:03,110 --> 00:01:05,820 >> -మరియు అతను మాట్లాడుతూ ఉంటాడు ఎవరైతే ఆ జాకెట్ వేసుకొని. 25 00:01:05,820 --> 00:01:06,670 >> [END ప్లేబ్యాక్] 26 00:01:06,670 --> 00:01:07,628 >> DAVID మలన్: అన్ని కుడి. 27 00:01:07,628 --> 00:01:11,210 ఈ CS50 ఉంది మరియు ఈ ఒక బిట్ మరింత ఉంది [వినబడని] ఇది మీకు ఉన్నాము 28 00:01:11,210 --> 00:01:12,890 సమస్యను dabbling నాలుగు సెట్. 29 00:01:12,890 --> 00:01:16,606 ఈ రోజు మనం కొంచెం చూడండి ప్రారంభించండి లోతుగా గమనికలు అని ఈ విషయాలు, 30 00:01:16,606 --> 00:01:18,480 అంతే అయినప్పటికీ ఒక అందమైన అద్భుత టాపిక్ 31 00:01:18,480 --> 00:01:20,813 అది జరగబోతోంది ఆ అవుతుంది సాధనంగా మనం 32 00:01:20,813 --> 00:01:24,320 నిర్మాణం మరియు చేరడం ప్రారంభించడానికి చేయవచ్చు మరింత అధునాతన కార్యక్రమాలు. 33 00:01:24,320 --> 00:01:28,150 కానీ మేము గత బుధవారం చేసియున్నారు మొదటి కొన్ని క్లేమాషన్గా ద్వారా పరిష్కరించవచ్చు. 34 00:01:28,150 --> 00:01:30,190 కాబట్టి ఈ, రీకాల్, ఉంది Binky మరియు మేము అతనికి ఉపయోగిస్తారు 35 00:01:30,190 --> 00:01:33,148 ఒక ప్రోగ్రామ్ పరిశీలించి ఆ నిజంగా ఏదైనా ఆసక్తికరమైన ఆడలేదు, 36 00:01:33,148 --> 00:01:34,950 కానీ కొన్ని సమస్యలు బహిర్గతం చేసింది. 37 00:01:34,950 --> 00:01:38,570 సో ఎందుకు మేము నడిచి లేదు, నేడు ప్రారంభించడానికి త్వరగా ఈ దశలను కొన్ని ద్వారా, 38 00:01:38,570 --> 00:01:41,920 మానవ యొక్క నిబంధనలు పరిశుద్ధం ప్రయత్నించండి వేటి ఇక్కడ జరగబోతోంది 39 00:01:41,920 --> 00:01:45,410 మరియు ఎందుకు ఈ చెడు, మరియు అప్పుడు కొనసాగండి మరియు నిజానికి ఏదో నిర్మించడాన్ని ప్రారంభించడానికి 40 00:01:45,410 --> 00:01:46,309 ఈ టెక్నిక్ తో? 41 00:01:46,309 --> 00:01:48,350 కాబట్టి ఈ మొదటివారు ఈ కార్యక్రమంలో రెండు పంక్తులు 42 00:01:48,350 --> 00:01:51,340 మరియు లేమాన్ నియమాలు, ఏమి ఈ రెండు పంక్తులు చేస్తున్నారు? 43 00:01:51,340 --> 00:01:55,600 సహేతుక సౌకర్యవంతమైన ఎవరు ఎవరో ఏమి తెరపై ప్రకటించబడిన తో? 44 00:01:55,600 --> 00:01:58,340 45 00:01:58,340 --> 00:02:00,120 చేయడం ఈ రెండు పంక్తులు ఏమిటి? 46 00:02:00,120 --> 00:02:02,070 ఇది అన్ని కాదు వారం నుండి వివిధ, 47 00:02:02,070 --> 00:02:03,611 కానీ కొన్ని కొత్త ప్రత్యేక చిహ్నం ఉంది. 48 00:02:03,611 --> 00:02:04,152 అవును? 49 00:02:04,152 --> 00:02:05,628 తిరిగి అక్కడ. 50 00:02:05,628 --> 00:02:07,092 >> ప్రేక్షకులు: గమనికలు ప్రకటించారు? 51 00:02:07,092 --> 00:02:08,050 DAVID మలన్: మళ్ళీ సే? 52 00:02:08,050 --> 00:02:08,860 ప్రేక్షకులు: గమనికలు ప్రకటించారు? 53 00:02:08,860 --> 00:02:11,776 DAVID మలన్: ప్రకటిస్తూ గమనికలు మరియు లెట్ యొక్క కొద్దిగా ఎక్కువ శుద్ధి వీలు. 54 00:02:11,776 --> 00:02:14,050 ప్రేక్షకులు: [వినబడని] చిరునామా x మరియు y అప్పుడు. 55 00:02:14,050 --> 00:02:15,300 DAVID మలన్: ఆపై పరిష్కరించడానికి. 56 00:02:15,300 --> 00:02:18,550 సో ప్రత్యేకంగా మేము చేస్తున్న ఏమి మేము రెండు వేరియబుల్స్ డిక్లేర్ ఉంటాయి. 57 00:02:18,550 --> 00:02:21,252 ఈ చరరాశులు, అయితే, వెళ్తున్నారు రకం Int నక్షత్రం యొక్క ఉండాలి ఇది 58 00:02:21,252 --> 00:02:23,210 మరింత ప్రత్యేకంగా అర్థం వారు నిల్వ వెళ్తున్నారు 59 00:02:23,210 --> 00:02:26,450 ఒక పూర్ణాంకానికి యొక్క చిరునామా వరుసగా, x మరియు y. 60 00:02:26,450 --> 00:02:27,660 ఇప్పుడు ఏ విలువలు ఉన్నాయి? 61 00:02:27,660 --> 00:02:32,621 ఈ లో ఏదైనా వాస్తవిక చిరునామాలను ఉన్నాయి సమయం లో ఈ సమయంలో రెండు వేరియబుల్స్? 62 00:02:32,621 --> 00:02:33,120 నం 63 00:02:33,120 --> 00:02:35,030 ఇది కేవలం చెత్త విలువలు పిలవబడే లో. 64 00:02:35,030 --> 00:02:38,120 మీరు అసలైన కేటాయించి లేకపోతే RAM లో కూతుళ్ళు వేరియబుల్, 65 00:02:38,120 --> 00:02:42,224 గతంలో సున్నాలు నిండిపోయి అన్నారు మరియు వాటిని ఆ రెండు వేరియబుల్స్. 66 00:02:42,224 --> 00:02:44,140 కానీ మేము ఇంకా తెలియదు వారు ఏమి మరియు ఆ 67 00:02:44,140 --> 00:02:47,060 ఎందుకు Binky కీ అవతరిస్తుంది గత వారం తన తల కోల్పోయింది. 68 00:02:47,060 --> 00:02:49,980 >> కాబట్టి ఈ క్లేమాషన్గా ఉంది ఈ అవతారాన్ని 69 00:02:49,980 --> 00:02:53,580 అనగా మీరు కేవలం రెండు వేరియబుల్స్ ఉన్నాయి మట్టి కొద్దిగా వృత్తాకార ముక్కలు, 70 00:02:53,580 --> 00:02:57,330 ఆ వేరియబుల్స్ నిల్వ కానీ చేయవచ్చు ముగిస్తుంది బాణాలు సూచిస్తున్నాయి, 71 00:02:57,330 --> 00:03:00,640 వారు నిజానికి గురిపెట్టి చేస్తున్నారు ఎక్కడైనా కేవలంగా పిలుస్తారు. 72 00:03:00,640 --> 00:03:03,670 కాబట్టి అప్పుడు మేము ఈ లైన్ కలిగి, మరియు ఈ మెమరీ కోసం నూతన గత వారం, malloc 73 00:03:03,670 --> 00:03:07,130 కేవలం ఒక ఫాన్సీ మార్గం ఇది కేటాయింపు, ఆపరేటింగ్ సిస్టమ్ చెప్పుచున్నారు, Linux యొక్క 74 00:03:07,130 --> 00:03:09,750 లేదా Mac OS లేదా Windows, హే, నాకు కొన్ని మెమరీ ఇవ్వాలని, 75 00:03:09,750 --> 00:03:11,780 మరియు మీరు అన్ని చెప్పడం ఆపరేటింగ్ సిస్టమ్ 76 00:03:11,780 --> 00:03:14,699 మెమరీ కోసం అడుగుతూ చేసినప్పుడు ఏమిటి. 77 00:03:14,699 --> 00:03:16,990 ఇది ఏమి పట్టించుకోను మాత్రం కాదు మీరు దానిని చేయబోతున్నామని 78 00:03:16,990 --> 00:03:19,786 కానీ మీరు ఆపరేటింగ్ చెప్పడం అవసరం లేదు malloc ఏమి ద్వారా వ్యవస్థ. 79 00:03:19,786 --> 00:03:20,286 అవును? 80 00:03:20,286 --> 00:03:21,078 >> ప్రేక్షకులు: ఎంత? 81 00:03:21,078 --> 00:03:21,994 DAVID మలన్: ఎంత? 82 00:03:21,994 --> 00:03:25,280 ఎంత బైట్లు, అందువలన, ఈ, మళ్ళీ, ఒక కంట్రైవ్డ్ ఉదాహరణకు, కేవలం చెబుతున్నారు 83 00:03:25,280 --> 00:03:27,360 నాకు ఒక పూర్ణాంకానికి యొక్క పరిమాణం ఇస్తుంది. 84 00:03:27,360 --> 00:03:30,550 ఒక పూర్ణాంకానికి యొక్క ఇప్పుడు, పరిమాణం నాలుగు బైట్లు లేదా 32 బిట్స్ ఉంది. 85 00:03:30,550 --> 00:03:32,850 కాబట్టి ఈ కేవలం ఒక మార్గం ఉంది మాట్లాడుతూ, హే, ఆపరేటింగ్ సిస్టమ్, 86 00:03:32,850 --> 00:03:37,290 నాకు మెమరీ నాలుగు బైట్లు ఇవ్వాలని నేను నా పారవేయడం వద్ద ఉపయోగించే, 87 00:03:37,290 --> 00:03:40,560 మరియు ప్రత్యేకంగా, దేనిని గౌరవం తో malloc తిరిగి 88 00:03:40,560 --> 00:03:41,795 నాలుగు బైట్లు ఆ భాగం ఎలా? 89 00:03:41,795 --> 00:03:44,110 90 00:03:44,110 --> 00:03:44,860 ప్రేక్షకులు: చిరునామా? 91 00:03:44,860 --> 00:03:45,901 DAVID మలన్: చిరునామా. 92 00:03:45,901 --> 00:03:47,580 నాలుగు బైట్లు ఆ భాగం యొక్క చిరునామా. 93 00:03:47,580 --> 00:03:48,190 సరిగ్గా. 94 00:03:48,190 --> 00:03:51,430 అందువలన, చివరికి నిల్వ ఏమిటి మేము నిజంగా ఎందుకు x మరియు ఆ 95 00:03:51,430 --> 00:03:55,240 జాగ్రత్త వహించే ఆ సంఖ్య ఇది ox1 లేదా ox2 అయినా చిరునామా, ఉంది 96 00:03:55,240 --> 00:03:57,110 లేదా కొన్ని నిగూఢ హెక్సాడెసిమల్ చిరునామా. 97 00:03:57,110 --> 00:03:59,850 మేము కేవలం చిత్రాల శ్రద్ధ ఆ వేరియబుల్ x ఇప్పుడు 98 00:03:59,850 --> 00:04:01,630 మెమరీ యొక్క భాగం గురిపెట్టి. 99 00:04:01,630 --> 00:04:05,570 కాబట్టి బాణం ఒక పాయింటర్ సూచిస్తుంది, లేదా మరింత ప్రత్యేకంగా, ఒక మెమరీ చిరునామా. 100 00:04:05,570 --> 00:04:09,120 కానీ మళ్ళీ, మేము సాధారణంగా పట్టించుకోను ఆ వాస్తవ చిరునామాలను ఏమిటో. 101 00:04:09,120 --> 00:04:11,780 ఇప్పుడు, ఈ లైన్ చెప్పారు ఏమి లేమాన్? 102 00:04:11,780 --> 00:04:14,330 స్టార్ x 42 సెమికోలన్ గెట్స్. 103 00:04:14,330 --> 00:04:17,390 దీని అర్థం ఏమిటి? 104 00:04:17,390 --> 00:04:18,200 మీరు వెళ్ళి వన్నా? 105 00:04:18,200 --> 00:04:20,102 మీ మెడ గీతలు లేదు. 106 00:04:20,102 --> 00:04:22,360 >> ప్రేక్షకులు: x యొక్క చిరునామా 42 వద్ద ఉంది. 107 00:04:22,360 --> 00:04:24,300 >> DAVID మలన్: x యొక్క చిరునామా 42 వద్ద ఉంది. 108 00:04:24,300 --> 00:04:25,190 దాదాపు. 109 00:04:25,190 --> 00:04:28,485 కాబట్టి దగ్గరగా, కానీ చాలా ఉంది ఎందుకంటే ఈ x ముందు ఆ స్టార్. 110 00:04:28,485 --> 00:04:29,860 కాబట్టి మేము కొద్దిగా సర్దుబాటు అవసరం. 111 00:04:29,860 --> 00:04:31,032 అవును? 112 00:04:31,032 --> 00:04:36,044 >> ప్రేక్షకులు: విలువ ఆ పాయింటర్ x 42 కు సూచిస్తుంది. 113 00:04:36,044 --> 00:04:36,710 DAVID మలన్: సరే. 114 00:04:36,710 --> 00:04:40,840 పాయింటర్ x అని విలువ 42 ఉంటుంది, యొక్క అని పిలవబడు వలెను గురిపెట్టి, 115 00:04:40,840 --> 00:04:44,165 లేదా, స్టార్ మరొక విధంగా ఉంచండి x సంసార చిరునామా వెళ్ళండి చెప్పారు 116 00:04:44,165 --> 00:04:48,340 1 ఆక్స్ఫర్డ్ అయినా, x లో ఉంది స్ట్రీట్ లేదా 33 ఆక్స్ఫోర్డ్ స్ట్రీట్ 117 00:04:48,340 --> 00:04:51,850 లేదా ox1 లేదా ox33, సంసార , సంఖ్యా చిరునామా అని 118 00:04:51,850 --> 00:04:54,380 స్టార్ xx యొక్క dereferencing ఉంది. 119 00:04:54,380 --> 00:04:57,297 కాబట్టి ఆ చిరునామాకు వెళ్ళి అప్పుడు అక్కడ 42 చాలు. 120 00:04:57,297 --> 00:04:59,380 కాబట్టి ఆ ఉంటుంది ఒక చెప్పి సమానమైన మార్గం. 121 00:04:59,380 --> 00:05:01,860 కాబట్టి అన్ని మంచిది ఆపై మేము చిత్రాన్ని ప్రాతినిధ్యం వహించే 122 00:05:01,860 --> 00:05:05,370 మేము ఈ విధంగా జోడించిన నాలుగు ఆ భాగం 42 123 00:05:05,370 --> 00:05:09,370 కుడి వైపు బైట్లు కానీ విషయాలు వంకరైన జరిగింది ఇక్కడ లైన్ ఉంది 124 00:05:09,370 --> 00:05:11,120 మరియు Binky యొక్క తల popped ఈ సమయంలో ఆఫ్, 125 00:05:11,120 --> 00:05:15,290 చెడు విషయాలు ఉన్నప్పుడు జరిగే ఎందుకంటే మీరు చెత్త విలువలు dereference 126 00:05:15,290 --> 00:05:18,210 చెల్లని dereference మీరు లేదా గమనికలు మరియు నేను చెల్లని చెప్పటానికి 127 00:05:18,210 --> 00:05:21,020 ఎందుకంటే ఈ సమయంలో కథ, y లోపలి ఏమిటి? 128 00:05:21,020 --> 00:05:24,440 ఆధారిత Y విలువ ఏమిటి గత కొన్ని మెట్ల మీద? 129 00:05:24,440 --> 00:05:25,360 అవును? 130 00:05:25,360 --> 00:05:26,115 ఆ ఏమిటి? 131 00:05:26,115 --> 00:05:26,990 >> ప్రేక్షకులు: ఒక చిరునామా. 132 00:05:26,990 --> 00:05:28,460 DAVID మలన్: ఒక చిరునామా. 133 00:05:28,460 --> 00:05:31,910 ఇది ఒక చిరునామా ఉండాలి కానీ నేను initialized చేశారు? 134 00:05:31,910 --> 00:05:32,800 కాబట్టి నేను ఇంకా లేదు. 135 00:05:32,800 --> 00:05:35,430 సో అక్కడ ఉండాలి ఏమి అంటారు? 136 00:05:35,430 --> 00:05:37,590 ఇది కేవలం కొన్ని చెత్త విలువ ఏమిటి. 137 00:05:37,590 --> 00:05:41,500 ఇది సున్నా నుండి ఏ చిరునామా కావచ్చు 2 బిలియన్ మీరు RAM యొక్క రెండు వేదికలను కలిగి ఉంటే, 138 00:05:41,500 --> 00:05:44,289 లేదా సున్నా 4 బిలియన్ మీరు చేసిన ఉంటే RAM నాలుగు గిగాబైట్ల పొందారు. 139 00:05:44,289 --> 00:05:46,080 ఇది కొన్ని చెత్త విలువ అయితే సమస్య 140 00:05:46,080 --> 00:05:48,200 కార్యాచరణ వ్యవస్థ, మీరు ఇవ్వలేదు ఉంటే 141 00:05:48,200 --> 00:05:51,140 మెమరీ యొక్క భాగం ప్రత్యేకంగా మీరు కు వెళ్లాలనుకుంటున్నారా ప్రయత్నిస్తున్న, 142 00:05:51,140 --> 00:05:54,650 ఇది సాధారణంగా కారణం జరగబోతోంది మేము సెగ్మెంటేషన్ దోషంగా చూసిన. 143 00:05:54,650 --> 00:05:57,810 కాబట్టి నిజానికి, మీరు ఏ కలిగిన కార్యాలయం గంటల వద్ద సమస్యలు నిరాశపరిచాడు 144 00:05:57,810 --> 00:06:00,393 లేదా సమస్యలు లో ఆ మరింత సాధారణంగా అవ్ట్ దొరుకుతుందని ఆశించాను తో 145 00:06:00,393 --> 00:06:02,150 విభజన లోపంగా ఆ సామాన్య అర్థం 146 00:06:02,150 --> 00:06:05,017 మీరు ఒక విభాగంలో తాకిన చేస్తున్నారు మీరు చేయకూడని మెమరీ. 147 00:06:05,017 --> 00:06:07,350 మీరు మెమరీ తాకిన చేస్తున్నారు ఆ ఆపరేటింగ్ సిస్టమ్ లేదు ఉంది 148 00:06:07,350 --> 00:06:10,450 అంతే లేదో, మీరు తాకే అనుమతి మీ శ్రేణి చాలా దూరం వెళ్ళడం ద్వారా 149 00:06:10,450 --> 00:06:12,870 లేదా లేదో, ఇప్పుడు మొదలు మీరు తాకడం ఉన్నందున అంతే 150 00:06:12,870 --> 00:06:14,780 కొన్ని చెత్త విలువ మెమరీ ఆ. 151 00:06:14,780 --> 00:06:18,230 >> కాబట్టి ఇక్కడ స్టార్ x చేస్తున్న వివరింపబడని ప్రవర్తన యొక్క విధమైన ఉంది. 152 00:06:18,230 --> 00:06:22,030 మీరు అసమానత ఎందుకంటే ఎప్పుడూ , కార్యక్రమం కేవలం క్రాషవ్వటానికి జరగబోతోంది ఉంటాయి 153 00:06:22,030 --> 00:06:24,050 మీరు చెబుతున్న ఎందుకంటే, ఈ చిరునామాకు వెళ్ళి 154 00:06:24,050 --> 00:06:27,000 మరియు మీరు ఏ ఆలోచన ఎక్కడ ఉన్నాయి ఆ చిరునామా నిజానికి ఉంది. 155 00:06:27,000 --> 00:06:30,300 కాబట్టి ఆపరేటింగ్ సిస్టమ్ అవకాశం ఉంది మీ ప్రోగ్రామ్ క్రాష్ అన్నారు 156 00:06:30,300 --> 00:06:33,840 ఫలితంగా మరియు నిజానికి, ఆ ఏమి Binky అక్కడ జరిగింది. 157 00:06:33,840 --> 00:06:37,210 కాబట్టి చివరికి Binky, స్థిర ఈ ఈ సమస్య. 158 00:06:37,210 --> 00:06:38,909 ఆ కార్యక్రమం కాబట్టి కూడా బలహీనంగా జరిగినది. 159 00:06:38,909 --> 00:06:41,450 కానీ మీరు విధమైన ముందుకు నకలు ఉంటే మరియు బదులుగా ఈ లైన్ అమలు 160 00:06:41,450 --> 00:06:45,580 y, x సమానం అర్థం సంసార చిరునామా ఒక x, కూడా y లో అది చాలు. 161 00:06:45,580 --> 00:06:48,740 >> కాబట్టి చిత్రాల, మేము చేసిన రెండు బాణాలు ఈ ప్రాతినిధ్యం 162 00:06:48,740 --> 00:06:51,570 X నుండి మరియు y పాయింటింగ్ నుండి అదే స్థానానికి. 163 00:06:51,570 --> 00:06:55,760 కాబట్టి అర్ధవంతంగా, x సమానం y కు ఆ రెండు ఎందుకంటే 164 00:06:55,760 --> 00:07:00,300 అదే నిల్వ ఉంటాయి చిరునామా, ergo, 42 వద్ద గురిపెట్టి 165 00:07:00,300 --> 00:07:04,910 మరియు ఇప్పుడు, మీరు స్టార్ చెప్పటానికి y, y లో చిరునామా వెళ్ళండి 166 00:07:04,910 --> 00:07:06,790 ఈ ఒక ఆసక్తికరమైన వైపు ప్రభావం కలిగి ఉంది. 167 00:07:06,790 --> 00:07:10,320 సో y లో చిరునామా x లో చిరునామా అదే విషయం. 168 00:07:10,320 --> 00:07:15,060 కనుక మీరు చిరునామాకు వెళ్ళి చెప్పటానికి మరియు y 13 విలువ మార్చడానికి, 169 00:07:15,060 --> 00:07:17,140 ఎవరు వేరే ప్రభావితమయ్యారు? 170 00:07:17,140 --> 00:07:21,100 X, పాయింట్ D, మాట్లాడటానికి ఉంది అలాగే ప్రభావితం చేయాలి. 171 00:07:21,100 --> 00:07:24,340 >> నిజానికి, ఎలా నిక్ ఈ చిత్రాన్ని గీశాడు క్లేమాషన్గా సరిగ్గా ఆ ఉంది. 172 00:07:24,340 --> 00:07:28,665 మేము పాయింటర్ అనుసరించండి అయినప్పటికీ y, మేము అదే స్థానంలో ఇచ్చాను 173 00:07:28,665 --> 00:07:32,780 అందువలన మేము ప్రింట్ ఉన్నట్లయితే x లేదా y యొక్క pointee అవ్ట్, 174 00:07:32,780 --> 00:07:35,720 అప్పుడు మేము 13 విలువ చూస్తాము. 175 00:07:35,720 --> 00:07:37,927 ఇప్పుడు, నేను pointee చెప్పాలని వీడియో స్థిరంగా. 176 00:07:37,927 --> 00:07:39,760 ప్రోగ్రామర్లు, నా జ్ఞానం, ఎప్పుడూ నిజానికి 177 00:07:39,760 --> 00:07:42,460 పదం pointee చెప్పటానికి, కోణాల ఇది ఆ 178 00:07:42,460 --> 00:07:44,650 వద్ద, కానీ నిలకడ వీడియో తో, తెలుసుకోవటం 179 00:07:44,650 --> 00:07:47,520 ఆ అని అంతే ఆ పరిస్థితిలో అర్థం. 180 00:07:47,520 --> 00:07:54,190 క్లేమాషన్గా కాబట్టి ఏవైనా ప్రశ్నలు లేదా గమనికలు లేదా malloc కేవలం ఇంకా? 181 00:07:54,190 --> 00:07:54,850 సంఖ్య? 182 00:07:54,850 --> 00:07:55,470 అయితే సరే. 183 00:07:55,470 --> 00:07:58,560 >> కనుక తదుపరి లేకుండా శ్రమ, యొక్క ఒక రూపం తీసుకుందాం 184 00:07:58,560 --> 00:08:00,700 ఈ వాస్తవానికి ఇక్కడ కొంత సమయం కోసం వాడుతున్నారు. 185 00:08:00,700 --> 00:08:03,580 కాబట్టి మేము ఈ CS50 లైబ్రరీ కలిగింది ఈ విధులను అన్ని కలిగియున్నారు. 186 00:08:03,580 --> 00:08:06,810 మేము, GetInt, GetString చాలా ఉపయోగించిన బహుశా ముందుగానే GetLongLong 187 00:08:06,810 --> 00:08:09,840 నా pset లో ఒకటి లేదా అలా, కానీ నిజానికి ఏమిటి జరుగుతున్నాయి? 188 00:08:09,840 --> 00:08:12,920 సరే, ఒక త్వరిత వీక్షణ తీసుకుందాం ఒక కార్యక్రమం వద్ద హుడ్ కింద ఆ 189 00:08:12,920 --> 00:08:17,017 మేము మీరు CS50 ఇవ్వాలని ఎందుకు స్ఫూర్తి లైబ్రరీ, మరియు వాస్తవంగా గత వారం నాటికి, 190 00:08:17,017 --> 00:08:18,850 మేము ఆ తీసుకోవడం మొదలు శిక్షణ చక్రాలు ఆఫ్. 191 00:08:18,850 --> 00:08:21,080 కాబట్టి ఈ ఇప్పుడు క్రమబద్ధీకరించబడింది ఒక పంచనామా ఏ 192 00:08:21,080 --> 00:08:23,690 ఉంది జరుగుతున్నాయి CS50 లైబ్రరీ లోపల, 193 00:08:23,690 --> 00:08:27,250 మేము ఇప్పుడు కదిలే మొదలవుతుంది అయినప్పటికీ దూరంగా దాని నుండి చాలా కార్యక్రమాలు కోసం. 194 00:08:27,250 --> 00:08:29,460 >> ఈ 0 కాబట్టి scanf అనే ప్రోగ్రామ్. 195 00:08:29,460 --> 00:08:30,510 ఇది చిన్న సూపర్ ఉంది. 196 00:08:30,510 --> 00:08:33,909 ఇది కేవలం ఈ పంక్తులు ఉంది, కానీ అది ఒక విధి అని scanf పరిచయం 197 00:08:33,909 --> 00:08:36,909 మేము నిజంగా లో చూడండి చూడాలని ఆ CS50 లైబ్రరీ లోపల ఒక క్షణం, 198 00:08:36,909 --> 00:08:38,600 కొంచెం రూపంలో అయితే. 199 00:08:38,600 --> 00:08:41,330 లైన్ 16 న ఈ కార్యక్రమం కాబట్టి ఒక వేరియబుల్ x ప్రకటించటం. 200 00:08:41,330 --> 00:08:43,150 సో నాకు ఒక పూర్ణాంకానికి కోసం నాలుగు బైట్లు ఇవ్వాలని. 201 00:08:43,150 --> 00:08:45,750 ఇది వినియోగదారు చెప్పడం చెయ్యబడిన సంఖ్య దయచేసి, ఆపై 202 00:08:45,750 --> 00:08:49,010 ఈ ఒక ఆసక్తికరమైన లైన్ అని నిజానికి గత వారం కలిసి నెలకొల్పుతుంది 203 00:08:49,010 --> 00:08:49,790 మరియు ఇది. 204 00:08:49,790 --> 00:08:53,230 Scanf, మరియు అప్పుడు అది ఒక పడుతుంది గమనించే ఫార్మాట్ స్ట్రింగ్, కేవలం printf వంటి, 205 00:08:53,230 --> 00:08:57,480 % i ఒక పూర్ణాంకానికి అర్థం, మరియు అప్పుడు అది ఒక పడుతుంది కొద్దిగా కనిపిస్తోంది రెండవ వాదన 206 00:08:57,480 --> 00:08:58,260 అల్లరిగా. 207 00:08:58,260 --> 00:09:01,880 ఇది ఆంపర్సండ్ చిహ్నం x, మరియు గుర్తుకు, మేము మాత్రమే ఈ ఒకప్పుడు గత వారం చూసింది. 208 00:09:01,880 --> 00:09:03,465 ఆంపర్సండ్ చిహ్నం x ఏ ప్రాతినిధ్యం లేదు? 209 00:09:03,465 --> 00:09:06,210 210 00:09:06,210 --> 00:09:08,450 ఆంపర్సండ్ చిహ్నం సి లో ఏమి చేస్తుంది? 211 00:09:08,450 --> 00:09:08,950 అవును? 212 00:09:08,950 --> 00:09:10,024 >> ప్రేక్షకులు: యొక్క చిరునామా. 213 00:09:10,024 --> 00:09:11,190 DAVID మలన్: యొక్క చిరునామా. 214 00:09:11,190 --> 00:09:13,190 కనుక ఇది వ్యతిరేకంగా ఉంది స్టార్ ఆపరేటర్లు, 215 00:09:13,190 --> 00:09:17,270 స్టార్ ఆపరేటర్లు చెప్పారు అయితే, వెళ్ళి ఈ చిరునామా ఆంపర్సండ్ చిహ్నం ఆపరేటర్లు 216 00:09:17,270 --> 00:09:20,280 దొరుకుతుందని చెప్పారు, ఈ వేరియబుల్ చిరునామా, 217 00:09:20,280 --> 00:09:23,530 అందువలన ఈ ఎందుకంటే, కీ జీవితంలో scanf యొక్క ప్రయోజనం 218 00:09:23,530 --> 00:09:26,320 యూజర్ యొక్క స్కాన్ చేయడం కీబోర్డ్ నుండి ఇన్పుట్, 219 00:09:26,320 --> 00:09:29,970 సంసార ఆధారపడి అతను లేదా ఆమె రకాల, మరియు ఆ యూజర్ యొక్క ఇన్పుట్ చదవండి 220 00:09:29,970 --> 00:09:32,970 ఒక వేరియబుల్ లోకి, కానీ మేము గత రెండు వారాల్లో చూసింది 221 00:09:32,970 --> 00:09:36,080 ఆ swap ఫంక్షన్ ఏమిటంటే మనం అమలు అప్రయత్నంగా ప్రయత్నించారు 222 00:09:36,080 --> 00:09:37,110 కేవలం విచ్ఛిన్నమైంది. 223 00:09:37,110 --> 00:09:42,470 Swap ఫంక్షన్ తో గుర్తుచేసుకున్నారు మేము కేవలం ints వంటి A మరియు B డిక్లేర్డ్, 224 00:09:42,470 --> 00:09:47,040 మేము విజయవంతంగా మార్పిడి లేదు స్వాప్ లోపల రెండు వేరియబుల్స్ 225 00:09:47,040 --> 00:09:50,080 కేవలం పాలు మరియు OJ వలె, కానీ స్వాప్, తిరిగి వెంటనే 226 00:09:50,080 --> 00:09:55,200 గౌరవం తో ఫలితంగా ఏమిటి x మరియు y, అసలు విలువలు? 227 00:09:55,200 --> 00:09:55,700 ఏమీ లేదు. 228 00:09:55,700 --> 00:09:56,200 అవును. 229 00:09:56,200 --> 00:09:59,754 ఏమీ ఎందుకంటే, ఆ సమయంలో జరిగిన మార్పిడులు, దాని స్థానిక కాపీలు మార్చడానికి 230 00:09:59,754 --> 00:10:01,670 అన్ని చెప్పటానికి ఇది ఈ సమయంలో, చేసినప్పుడు మేము చేసిన 231 00:10:01,670 --> 00:10:04,010 వాదనలు లో ప్రయాణిస్తున్న చేశారు విధులు, మేము ఉన్నాము 232 00:10:04,010 --> 00:10:05,939 కేవలం ఆ వాదనలు కాపీలు ప్రయాణిస్తున్న. 233 00:10:05,939 --> 00:10:07,980 మీరు ఆ తో చేయవచ్చు మీరు వారితో కావలసిన సంసార, 234 00:10:07,980 --> 00:10:10,890 కానీ వారు ఏ చూడాలని అసలు విలువల ప్రభావం. 235 00:10:10,890 --> 00:10:13,650 కాబట్టి ఈ మీరు ఉంటే సమస్యాత్మకంగా ఉంది scanf వంటి ఫంక్షన్ కలిగి అనుకుంటున్నారా 236 00:10:13,650 --> 00:10:17,170 జీవితంలో, దీని ప్రయోజనం స్కాన్ చేయడం కీబోర్డ్ నుండి యూజర్ యొక్క ఇన్పుట్ 237 00:10:17,170 --> 00:10:22,010 ఆపై, తద్వారా ఖాళీలు పూరించడానికి మాట్లాడటం, అని, x వంటి వేరియబుల్ ఇవ్వాలని 238 00:10:22,010 --> 00:10:25,410 ఒక విలువ, నేను ఒకవేళ ఎందుకంటే కేవలం scanf కు x పాస్, 239 00:10:25,410 --> 00:10:28,790 మీరు గత తర్కం పరిగణలోకి వారం, scanf అది కోరుకుంటున్నారు పనులను చేయవచ్చు 240 00:10:28,790 --> 00:10:33,100 x యొక్క ఒక కాపీని తో, కానీ చేయలేని మేము ఇవ్వాలని తప్ప శాశ్వతంగా x మార్చవచ్చు 241 00:10:33,100 --> 00:10:37,120 , మాట్లాడటానికి, ఒక నిధి మ్యాప్ scanf x గుర్తులతో పేరు, అనగా 242 00:10:37,120 --> 00:10:41,860 త్వరలో కాబట్టి x యొక్క చిరునామా లో అనుమతించబడవు scanf అక్కడ మరియు నిజానికి మార్పు వెళ్ళే 243 00:10:41,860 --> 00:10:42,920 x యొక్క విలువ. 244 00:10:42,920 --> 00:10:45,080 కాబట్టి నిజంగా, అన్ని ఈ కార్యక్రమం చేసే 245 00:10:45,080 --> 00:10:53,180 నేను నా సోర్స్ లో scanf 0, చేస్తే 5m డైరెక్టరీ scanf 0 చేయడానికి, 246 00:10:53,180 --> 00:10:57,730 డాట్ scanf స్లాష్ సంఖ్య 50 దయచేసి, 50 ధన్యవాదాలు. 247 00:10:57,730 --> 00:11:01,020 >> కనుక ఇది అన్ని ఆసక్తికరమైన కాదు కానీ నిజానికి ఏం 248 00:11:01,020 --> 00:11:04,820 వెంటనే నేను కాల్ వంటి ఉంది ఇక్కడ x యొక్క విలువ scanf 249 00:11:04,820 --> 00:11:06,410 శాశ్వతంగా మార్చబడింది. 250 00:11:06,410 --> 00:11:08,335 ఇప్పుడు, ఈ nice కనిపిస్తుంది మరియు మంచి, మరియు నిజానికి, అది 251 00:11:08,335 --> 00:11:11,200 మేము నిజంగా అవసరం లేదు వంటి తెలుస్తోంది అన్ని ఇకపై వద్ద CS50 లైబ్రరీ. 252 00:11:11,200 --> 00:11:13,960 ఉదాహరణకు, యొక్క అమలు అనుమతిస్తాయి ఇక్కడ ఈ సారి మరింత. 253 00:11:13,960 --> 00:11:15,750 నాకు రెండో దాన్ని తిరిగి లెట్. 254 00:11:15,750 --> 00:11:20,600 యొక్క సంఖ్య ప్రయత్నించండి తెలపండి మరియు బదులుగా ముందు వంటి 50 మాట్లాడుతూ, 255 00:11:20,600 --> 00:11:22,810 యొక్క కేవలం ఏ సే తెలియజేయండి. 256 00:11:22,810 --> 00:11:24,000 సరే, ఆ కొద్దిగా అదృష్టము వార్తలు. 257 00:11:24,000 --> 00:11:25,270 అలాగే. 258 00:11:25,270 --> 00:11:28,680 ఇక్కడ మరియు కేవలం కొన్ని అర్ధంలేని. 259 00:11:28,680 --> 00:11:31,170 కనుక ఇది కనపడదు తప్పుడు పరిస్థితుల్లో నిర్వహించడానికి. 260 00:11:31,170 --> 00:11:33,620 కాబట్టి మేము ప్రారంభ మినిమల్లీ అవసరం కొన్ని లోపం చెకింగ్ జోడించడం 261 00:11:33,620 --> 00:11:37,460 వినియోగదారు కలిగి నిర్ధారించుకోండి 50 వంటి ఒక వాస్తవ సంఖ్య టైప్, 262 00:11:37,460 --> 00:11:40,720 స్పష్టంగా టైప్ పదాలు ఎందుకంటే సమస్యాత్మకమని కనుగొనబడింది లేదు, 263 00:11:40,720 --> 00:11:42,020 కానీ అది బహుశా ఉండాలి. 264 00:11:42,020 --> 00:11:46,450 >> ఇప్పుడు ఆ ఈ వెర్షన్ చూద్దాం నా ప్రయత్నం GetString reimplement కు. 265 00:11:46,450 --> 00:11:48,437 Scanf ఈ ఉంది ఉంటే కార్యాచరణను, నిర్మించారు 266 00:11:48,437 --> 00:11:51,270 ఎందుకు మేము ఈ తో dabbling చేశారు GetString వంటి శిక్షణ చక్రాలు? 267 00:11:51,270 --> 00:11:55,450 బాగా, ఇక్కడ బహుశా నా సొంత ఉంది GetString యొక్క సాధారణ వెర్షన్ 268 00:11:55,450 --> 00:12:00,766 అనగా ఒక వారం క్రితం, నేను చెప్పారు ఉండవచ్చు, నాకు స్ట్రింగ్ ఇవ్వాలని మరియు స్వీకరించేందుకు కాల్. 269 00:12:00,766 --> 00:12:03,390 నేడు, నేను మొదలు వెళుతున్న , చార్ స్టార్, ఇది రీకాల్ మాట్లాడుతూ 270 00:12:03,390 --> 00:12:04,400 ఇది కేవలం పర్యాయపదంగా ఉంది. 271 00:12:04,400 --> 00:12:06,629 ఇది ఇంకా భయం కలిగించే బాగుంది కానీ అంతే ఖచ్చితమైన అదే విషయం. 272 00:12:06,629 --> 00:12:09,420 నాలో ఒక వేరియబుల్ అని బఫర్ ఇవ్వాలని ఒక స్ట్రింగ్ నిల్వ జరగబోతోంది, 273 00:12:09,420 --> 00:12:12,780 , వినియోగదారు స్ట్రింగ్ దయచేసి చెప్పండి ఆపై, కేవలం ముందు వంటి, 274 00:12:12,780 --> 00:12:17,760 ఈ పాఠం ఋణం ప్రయత్నించండి తెలియజేయండి scanf % s ఈ సమయంలో మరియు బఫర్ లో పాస్. 275 00:12:17,760 --> 00:12:19,310 ఇప్పుడు, ఒక శీఘ్ర తెలివి చెక్. 276 00:12:19,310 --> 00:12:22,120 ఎందుకు నేను చెప్పడం లేదు చేస్తున్నాను ఆంపర్సండ్ చిహ్నం ఈ సమయంలో బఫర్? 277 00:12:22,120 --> 00:12:25,190 278 00:12:25,190 --> 00:12:26,625 మునుపటి ఉదాహరణ నుండి ప్రతిపాదించే. 279 00:12:26,625 --> 00:12:28,000 ప్రేక్షకులు: చార్ స్టార్ పాయింటర్ ఉంది. 280 00:12:28,000 --> 00:12:29,920 DAVID మలన్: ఖచ్చితంగా ఈ సమయంలో, చార్ ఎందుకంటే 281 00:12:29,920 --> 00:12:34,080 స్టార్, ఇప్పటికే పాయింటర్ ఒక చిరునామా ఉంది అక్కడ ఉండటం ఆ స్టార్ నిర్వచనం ద్వారా. 282 00:12:34,080 --> 00:12:37,530 మరియు scanf ఒక చిరునామా భావిస్తే, అది కేవలం బఫర్ లో పాస్ పరుస్తుంది. 283 00:12:37,530 --> 00:12:39,260 నేను చిహ్నం బఫర్ చెప్పటానికి అవసరం లేదు. 284 00:12:39,260 --> 00:12:42,177 ఆసక్తికరమైన, మీరు అనుకొనుట ఈ వంటి ఏదో. 285 00:12:42,177 --> 00:12:43,510 ఇది భిన్నమైన అర్థాన్ని కలిగి ఉంటుంది. 286 00:12:43,510 --> 00:12:47,240 ఈ మీరు ఒక పాయింటర్ ఇచ్చి నిజానికి ఇది ఒక పాయింటర్, కు 287 00:12:47,240 --> 00:12:50,050 సి లో, కానీ ఒక చెల్లుబాటు అయ్యే విషయం ఇప్పుడు, అది సాధారణ ఉంచడానికి వీలు 288 00:12:50,050 --> 00:12:51,750 మరియు స్థిరమైన కథ ఉంచేందుకు. 289 00:12:51,750 --> 00:12:54,100 నేను పాస్ వెళుతున్న స్వీకరించేందుకు మరియు సరైన అని. 290 00:12:54,100 --> 00:12:56,487 సమస్య అయితే ఈ ఉంది. 291 00:12:56,487 --> 00:12:58,820 నాకు ముందుకు వెళ్లి ఈ అమలు అనుమతిస్తాయి అది కంపైల్ తర్వాత కార్యక్రమం. 292 00:12:58,820 --> 00:13:00,902 Scanf 1 చేయండి. 293 00:13:00,902 --> 00:13:02,610 ఇది డామన్, నా కంపైలర్ యొక్క నా లోపం పట్టుకోవడంలో. 294 00:13:02,610 --> 00:13:04,090 నాకు ఒక రెండవ ఇవ్వండి. 295 00:13:04,090 --> 00:13:05,460 గణగణమని ద్వని చేయు. 296 00:13:05,460 --> 00:13:06,990 యొక్క scanf-1.c అనుకోండి. 297 00:13:06,990 --> 00:13:10,880 298 00:13:10,880 --> 00:13:11,380 అలాగే. 299 00:13:11,380 --> 00:13:12,720 అక్కడ మేము వెళ్ళి. 300 00:13:12,720 --> 00:13:14,280 నేను అవసరం. 301 00:13:14,280 --> 00:13:16,750 CS50 ID వివిధ ఉంది కాన్ఫిగరేషన్ సెట్టింగులను 302 00:13:16,750 --> 00:13:18,280 అని మీరే వ్యతిరేకంగా మిమ్మల్ని రక్షించడానికి. 303 00:13:18,280 --> 00:13:21,300 నేను ద్వారా ఆ డిసేబుల్ అవసరమైన మానవీయంగా ఈ సమయంలో గణగణమని ద్వని చేయు అమలు. 304 00:13:21,300 --> 00:13:22,140 కాబట్టి స్ట్రింగ్ దయచేసి. 305 00:13:22,140 --> 00:13:25,560 నేను ముందుకు వెళ్లి టైప్ వెళుతున్న నా ఇష్టమైన హలో ప్రపంచంలోని. 306 00:13:25,560 --> 00:13:26,490 శూన్య సరే. 307 00:13:26,490 --> 00:13:27,700 నేను టైప్ ఏమి కాదు. 308 00:13:27,700 --> 00:13:29,690 కనుక ఇది తెలియచేస్తాయి వార్తలు ఏదో తప్పు అనే. 309 00:13:29,690 --> 00:13:33,920 నాకు ముందుకు వెళ్లి టైప్ లెట్ ఒక నిజంగా దీర్ఘ స్ట్రింగ్ లో. 310 00:13:33,920 --> 00:13:37,210 శూన్య ధన్యవాదాలు మరియు నేను తెలియదు ఉంటే నేను అది క్రాష్ చెయ్యలేరు వెళుతున్న. 311 00:13:37,210 --> 00:13:40,240 యొక్క కొద్దిగా కాపీని ప్రయత్నించండి లెట్ అతికించండి మరియు ఈ సహాయపడుతుంది ఉంటే చూడండి. 312 00:13:40,240 --> 00:13:43,290 కేవలం ఈ చాలా అతికించండి. 313 00:13:43,290 --> 00:13:47,310 ఇది ఖచ్చితంగా ఒక పెద్ద వార్తలు సాధారణ కంటే స్ట్రింగ్. 314 00:13:47,310 --> 00:13:51,450 యొక్క కేవలం నిజంగా అది వ్రాద్దాము. 315 00:13:51,450 --> 00:13:51,950 నం 316 00:13:51,950 --> 00:13:52,650 అది డామన్. 317 00:13:52,650 --> 00:13:53,480 కమాండ్ దొరకలేదు. 318 00:13:53,480 --> 00:13:54,550 కాబట్టి ఆ సంబంధంలేని వార్తలు. 319 00:13:54,550 --> 00:13:56,440 నేను అతికించారు ఎందుకంటే ఆ కొన్ని చెడు అక్షరాలు, 320 00:13:56,440 --> 00:13:59,780 కానీ ఈ హాజరవుతారు పని ఉండదని. 321 00:13:59,780 --> 00:14:03,510 >> ఎందుకంటే యొక్క ఈ మరొకసారి ప్రయత్నించండి లెట్ మేము నిజానికి అది క్రాష్ ఉంటే అది మరింత వినోదంగా ఉంటుంది. 322 00:14:03,510 --> 00:14:09,116 యొక్క ఈ టైప్ లెట్ మరియు ఇప్పుడు, నేను రెడీ ఒక నిజంగా దీర్ఘ స్ట్రింగ్ కాపీ వెళుతున్న 323 00:14:09,116 --> 00:14:10,990 మరియు ఇప్పుడు యొక్క ఉంటే చూద్దాము మేము ఈ విషయం క్రాష్. 324 00:14:10,990 --> 00:14:14,235 నేను ఖాళీలు విస్మరించబడ్డాయి మరియు గమనించండి కొత్త లైన్లు మరియు సెమికోలన్లు 325 00:14:14,235 --> 00:14:16,035 మరియు అన్ని అల్లరిగా అక్షరాలు. 326 00:14:16,035 --> 00:14:16,535 ఎంటర్. 327 00:14:16,535 --> 00:14:21,090 328 00:14:21,090 --> 00:14:22,880 ఇప్పుడు నెట్వర్క్ నిదానమైన వ్యవహరిస్తాను. 329 00:14:22,880 --> 00:14:27,460 నేను స్పష్టంగా, చాలా పొడవుగా కమాండ్-V ఆక్రమించాయి. 330 00:14:27,460 --> 00:14:28,190 అది నాకేనా! 331 00:14:28,190 --> 00:14:29,260 కమాండ్ దొరకలేదు. 332 00:14:29,260 --> 00:14:29,780 >> అలాగే. 333 00:14:29,780 --> 00:14:32,240 Well, పాయింట్ అయితే క్రింది. 334 00:14:32,240 --> 00:14:36,910 కాబట్టి నిజంగా జరుగుతుందో ఏమి ఈ ప్రకటన తో 335 00:14:36,910 --> 00:14:39,240 లైన్ 16 న చార్ స్టార్ బఫర్? 336 00:14:39,240 --> 00:14:41,820 కాబట్టి నేను పొందుతున్నాను ఏమి am నేను ఒక పాయింటర్ డిక్లేర్ చేసినప్పుడు? 337 00:14:41,820 --> 00:14:47,440 నేను పొందుతున్నాను అన్ని నాలుగు బైట్ విలువ బఫర్ అని, కానీ అది లోపల ఏమి 338 00:14:47,440 --> 00:14:49,540 ఈ క్షణం లో? 339 00:14:49,540 --> 00:14:50,930 ఇది కేవలం కొన్ని చెత్త విలువ ఏమిటి. 340 00:14:50,930 --> 00:14:54,170 ఏ సమయంలో ఎందుకంటే మీరు ఒక వేరియబుల్ డిక్లేర్ సి లో, కొన్ని చెత్త విలువ, 341 00:14:54,170 --> 00:14:56,220 మరియు మేము మొదలు పెడుతున్నారు ఈ రియాలిటీ పైగా ట్రిప్. 342 00:14:56,220 --> 00:14:59,720 ఇప్పుడు, నేను scanf చెప్పినపుడు, ఈ చిరునామాకు వెళ్ళి 343 00:14:59,720 --> 00:15:01,520 మరియు ఏ సైన్ యూజర్ రకాల చాలు. 344 00:15:01,520 --> 00:15:06,400 వినియోగదారు రకాల ఉంటే హలో ప్రపంచ బాగా, నేను ఇక్కడ ఉంచగలను? 345 00:15:06,400 --> 00:15:07,750 బఫర్ ఒక చెత్త విలువ ఉంది. 346 00:15:07,750 --> 00:15:11,510 >> కాబట్టి ఒక బాణం వంటి రకమైన ఉంది ఆ పేరు తెలిసిన గురిపెట్టి ఉంది. 347 00:15:11,510 --> 00:15:13,880 బహుశా అది సూచించే ఇక్కడే నా మెమరీ. 348 00:15:13,880 --> 00:15:16,560 అందువలన యూజర్ హలో ప్రపంచంలోని రకాల 349 00:15:16,560 --> 00:15:22,380 కార్యక్రమం ఉంచేందుకు ప్రయత్నిస్తుంది స్ట్రింగ్ హలో వరల్డ్ బాక్ స్లాష్ 0 350 00:15:22,380 --> 00:15:23,910 మెమరీ యొక్క భాగం లో. 351 00:15:23,910 --> 00:15:27,070 కానీ అధిక సంభావ్యత తో, కానీ స్పష్టంగా లేదు 100% సంభావ్యత, 352 00:15:27,070 --> 00:15:30,440 కంప్యూటర్ అప్పుడు క్రాష్ అన్నారు కార్యక్రమం ఈ కాదు ఎందుకంటే 353 00:15:30,440 --> 00:15:32,490 మెమరీ నేను తాకే అనుమతి చేయాలి. 354 00:15:32,490 --> 00:15:36,330 కాబట్టి చిన్న లో, ఈ కార్యక్రమం సరిగ్గా ఆ కారణం దోషము. 355 00:15:36,330 --> 00:15:38,070 నేను ప్రాథమికంగా ఏమి చేయడం లేదు? 356 00:15:38,070 --> 00:15:42,366 ఏమి దశలను నేను కేవలం వంటి, విస్మరించలేదు మేము Binky యొక్క మొదటి ఉదాహరణ తో తొలగించిన? 357 00:15:42,366 --> 00:15:42,866 అవును? 358 00:15:42,866 --> 00:15:43,710 >> ప్రేక్షకులు: మెమరీ కేటాయింపు? 359 00:15:43,710 --> 00:15:45,001 >> DAVID మలన్: మెమరీ కేటాయింపు. 360 00:15:45,001 --> 00:15:48,400 నేను వాస్తవానికి కేటాయించింది లేదు ఆ స్ట్రింగ్ ఏ మెమరీ. 361 00:15:48,400 --> 00:15:50,270 కాబట్టి మేము రెండు మార్గాలు ఈ పరిష్కరిస్తాము. 362 00:15:50,270 --> 00:15:52,700 ఒకటి, మేము అది సాధారణ ఉంచడానికి మరియు నిజానికి, ఇప్పుడు మీరు ఉన్నాము 363 00:15:52,700 --> 00:15:55,116 ఒక చెరిపేసిన చూడడానికి వెళ్ళడం ఏమి మధ్య రేఖల 364 00:15:55,116 --> 00:15:58,520 వ్యూహం, ఒక స్ట్రింగ్ ఏమి, ఏమి ఒక ఉంది చార్ స్టార్ అక్షరాలు ఏ వ్యూహం ఉంది 365 00:15:58,520 --> 00:15:59,020 ఉంది. 366 00:15:59,020 --> 00:16:02,450 ఇక్కడ రెండవ ఉదాహరణ వార్తలు తీగలను మరియు నోటీసు పాల్గొన్న 367 00:16:02,450 --> 00:16:05,690 అన్ని నేను లైన్ లో చేసిన 16 బదులుగా చెప్పాడు, ఉంది 368 00:16:05,690 --> 00:16:09,530 ఆ బఫర్ ఒక చార్ అవతరిస్తుంది స్టార్, మెమరీ భాగం ఒక పాయింటర్, 369 00:16:09,530 --> 00:16:14,057 నేను చాలా ముందుగా ఇవ్వాలని వెళుతున్న 16 అక్షరాలు వచ్చేలా ఒక బఫర్, 370 00:16:14,057 --> 00:16:16,390 మరియు నిజానికి, మీరు తెలిసి ఉంటే పదం బఫరింగ్ తో, 371 00:16:16,390 --> 00:16:20,570 బహుశా వీడియోలు ప్రపంచంలో నుండి ఒక వీడియో బఫరింగ్, బఫరింగ్ ఉన్న, 372 00:16:20,570 --> 00:16:21,175 బఫరింగ్. 373 00:16:21,175 --> 00:16:22,550 Well, కనెక్షన్ ఇక్కడ ఏముంది? 374 00:16:22,550 --> 00:16:24,960 YouTube యొక్క బాగా, ఇన్సైడ్ మరియు వీడియో ప్లేయర్లు లోపల 375 00:16:24,960 --> 00:16:27,200 సాధారణంగా ఒక శ్రేణి 16 కంటే పెద్ద వార్తలు. 376 00:16:27,200 --> 00:16:30,340 ఇది పరిమాణంలో ఒకటి వ్యూహం కావొచ్చు మెగాబైట్, బహుశా 10 మెగాబైట్ల, 377 00:16:30,340 --> 00:16:34,330 మరియు ఆ శ్రేణి లో మీ బ్రౌజర్ చేస్తుంది బైట్లు యొక్క మొత్తం బంచ్ డౌన్లోడ్ 378 00:16:34,330 --> 00:16:37,500 మెగాబైట్ల యొక్క మొత్తం బంచ్ వీడియో, వీడియో ప్లేయర్, 379 00:16:37,500 --> 00:16:40,930 YouTube యొక్క లేదా ఎవరైతే వార్తలు మొదలవుతుంది ఆ శ్రేణి నుండి బైట్లు చదవడం, 380 00:16:40,930 --> 00:16:43,530 మరియు ఏ సమయంలో మీరు చూడండి పదం బఫరింగ్, బఫరింగ్, 381 00:16:43,530 --> 00:16:46,350 ఆ ఆటగాడు ఎవరు అర్థం ఆ శ్రేణి ముగింపు సంపాదించిన. 382 00:16:46,350 --> 00:16:50,430 నెట్వర్క్ అది కాదు ఉంది కాబట్టి నెమ్మదిగా ఉంది ఎక్కువ బైట్లు శ్రేణి రీఫిల్ 383 00:16:50,430 --> 00:16:55,610 అందువలన మీరు బిట్ల బయటకు వచ్చేసాం వినియోగదారుకు ప్రదర్శించడానికి. 384 00:16:55,610 --> 00:16:59,430 >> కాబట్టి బఫర్ ఒక వర్ణనాత్మక పదం ఇక్కడ ఉంది ఇది కేవలం ఒక శ్రేణి, మెమరీ భాగం ఉంది. 385 00:16:59,430 --> 00:17:02,530 మరియు ఈ పరిష్కరించడానికి చేస్తుంది అది అవుతుంది ఎందుకంటే 386 00:17:02,530 --> 00:17:07,410 మీరు శ్రేణుల చికిత్స చేయవచ్చు వంటి అయితే వారు కూడా బఫర్ అయితే, విలాసాలు 387 00:17:07,410 --> 00:17:10,710 కేవలం ఒక గుర్తు, అది ఒక ఉంది అక్షరాలు క్రమం, బఫర్, 388 00:17:10,710 --> 00:17:14,760 నాకు ఉపయోగం, ప్రోగ్రామర్, మీరు చుట్టూ దాని పేరు పాస్ చేయవచ్చు 389 00:17:14,760 --> 00:17:17,079 ఇది ఉన్నప్పటికీ వంటి ఒక పాయింటర్ గా అయితే 390 00:17:17,079 --> 00:17:21,000 ఒక భాగం యొక్క చిరునామా ఉన్నారు 16 అక్షరాలు కోసం మెమరీ. 391 00:17:21,000 --> 00:17:24,530 ఆ చెప్పటానికి సో, నేను పాస్ చేయవచ్చు సరిగ్గా scanf ఆ పదం 392 00:17:24,530 --> 00:17:30,670 అందువలన ఇప్పుడు, నేను ఈ కార్యక్రమం చేస్తే, scanf 2 చేయడానికి, డాట్ స్లాష్ scanf 2, 393 00:17:30,670 --> 00:17:35,386 మరియు టైప్ హలో వరల్డ్ ఆ time-- ఎంటర్ 394 00:17:35,386 --> 00:17:37,590 >> అయ్యో, ఏమి జరిగింది? 395 00:17:37,590 --> 00:17:39,340 స్ట్రింగ్ దయచేసి. 396 00:17:39,340 --> 00:17:41,430 నేను ఏం తప్పు చేసావ్? 397 00:17:41,430 --> 00:17:43,800 హలో వరల్డ్ బఫర్. 398 00:17:43,800 --> 00:17:44,705 హలో ప్రపంచ. 399 00:17:44,705 --> 00:17:48,201 400 00:17:48,201 --> 00:17:49,420 ఆహ్, నేను ఏమి తెలుసు. 401 00:17:49,420 --> 00:17:49,920 అలాగే. 402 00:17:49,920 --> 00:17:51,628 కాబట్టి దానిని చదవడం మొదటి స్పేస్ వరకు. 403 00:17:51,628 --> 00:17:55,680 కాబట్టి యొక్క కేవలం ఒక క్షణం మోసం వీలు మరియు నేను ఏదో టైప్ అనుకున్నారు చెప్పారు 404 00:17:55,680 --> 00:18:01,408 నిజంగా దీర్ఘ ఈ సుదీర్ఘ వాక్యం ఉంది వంటి ఆ ఒకటి, రెండు, ముడు, నాలుగు, ఐదు, 405 00:18:01,408 --> 00:18:04,420 ఆరు, ఏడు, ఎనిమిది, తొమ్మిదు, 10, 11, 12, 13, 14, 15, 16. 406 00:18:04,420 --> 00:18:05,300 అలాగే. 407 00:18:05,300 --> 00:18:07,600 ఇది నిజంగానే ఒక దీర్ఘ వాక్యం ఉంది. 408 00:18:07,600 --> 00:18:10,710 కాబట్టి ఈ వాక్యం ఉంది ఇక కంటే 16 అక్షరాలు 409 00:18:10,710 --> 00:18:13,670 అందువలన నేను ఎంటర్ కొట్టాడు ఏమి జరుగుతుందో? 410 00:18:13,670 --> 00:18:16,940 బాగా, ఈ సందర్భంలో కథ, నేను ప్రకటించారు బఫర్ 411 00:18:16,940 --> 00:18:22,190 నిజానికి ఒక అర్రే ఉండటం వెళ్ళడానికి 16 అక్షరాలు సిద్ధంగా తో. 412 00:18:22,190 --> 00:18:27,426 కాబట్టి ఒకటి, రెండు, ముడు, నాలుగు, ఐదు, ఆరు, ఏడు, ఎనిమిది, తొమ్మిది, 10, 11, 12, 13, 14, 413 00:18:27,426 --> 00:18:29,440 15, 16. 414 00:18:29,440 --> 00:18:34,410 సో 16 అక్షరాలు, మరియు ఇప్పుడు, నేను ఈ సుదీర్ఘ ఉంది లాగ చదవండి 415 00:18:34,410 --> 00:18:43,950 వాక్యం, ఏ జరిగే ఉంటుంది జరగబోతోంది నేను ఈ చదవడానికి వెళుతున్న ఒక పొడవుగా ఉంది 416 00:18:43,950 --> 00:18:49,660 S-E-ఎన్-T-E-ఎన్-సి-E, వాక్యం. 417 00:18:49,660 --> 00:18:52,270 >> కాబట్టి ఈ ఉద్దేశపూర్వకంగా ఉంది ఒక చెడు విషయం నేను 418 00:18:52,270 --> 00:18:55,060 దాటి వ్రాయడం ఉంచేందుకు నా శ్రేణి యొక్క సరిహద్దులు 419 00:18:55,060 --> 00:18:56,660 నా బఫర్ యొక్క సరిహద్దులు దాటి. 420 00:18:56,660 --> 00:19:00,100 నేను లక్కీ మరియు ప్రోగ్రామ్ పొందలేరు శ్రమ నడుస్తున్న చేస్తూనే మరియు కాదు, 421 00:19:00,100 --> 00:19:03,450 కానీ సాధారణంగా, ఈ మాట్లాడే నిజానికి నా ప్రోగ్రామ్ క్రాష్ చేస్తుంది 422 00:19:03,450 --> 00:19:06,440 మరియు అది ఒక బగ్ ఉంది నా నేను అడుగు క్షణం కోడ్ 423 00:19:06,440 --> 00:19:08,576 సరిహద్దులు దాటి ఆ శ్రేణి, నేను ఎందుకంటే 424 00:19:08,576 --> 00:19:10,450 అది ఉంటే తెలియదు తప్పనిసరిగా క్రాష్ అన్నారు 425 00:19:10,450 --> 00:19:12,120 లేదా నేను లక్కీ పొందండి వెళుతున్న ఉంటే. 426 00:19:12,120 --> 00:19:15,750 కాబట్టి ఈ సమస్యాత్మకంగా ఉంది ఎందుకంటే ఈ సందర్భంలో, అది పని అనిపించడం లేదు 427 00:19:15,750 --> 00:19:20,931 మరియు యొక్క అయినప్పటికీ, ఇక్కడ విధి tempt వీలు IDE కొంచెం తట్టుకోలేక తెలుస్తోంది 428 00:19:20,931 --> 00:19:21,430 of-- 429 00:19:21,430 --> 00:19:22,040 >> అక్కడ మేము వెళ్ళి. 430 00:19:22,040 --> 00:19:23,240 చివరగా. 431 00:19:23,240 --> 00:19:26,470 నేను ఈ మాత్రమే చూడగలరు ఉన్నాను. 432 00:19:26,470 --> 00:19:29,630 కాబట్టి నేను సరదాగా టైపింగ్ చాలా కలిగి ఒక నిజంగా దీర్ఘ వాస్తవ పదబంధం 433 00:19:29,630 --> 00:19:32,800 అది ఖచ్చితంగా మించిపోయింది 16 బైట్లు, నేను ఎందుకంటే 434 00:19:32,800 --> 00:19:38,050 ఈ క్రేజీ దీర్ఘ బహుళ లైన్ లో టైప్ సరిపోలే, ఆపై ఏమి గమనిస్తారు. 435 00:19:38,050 --> 00:19:41,110 కార్యక్రమం ప్రింటింగ్ ప్రయత్నించారు ఆపై ఒక విభజన లోపంగా వచ్చింది 436 00:19:41,110 --> 00:19:44,430 మరియు లోపాలుగా విభజన ఉన్నప్పుడు ఈ వంటి ఏదో జరుగుతుంది 437 00:19:44,430 --> 00:19:47,650 మరియు ఆపరేటింగ్ సిస్టమ్ చెప్పారు ఏ, ఆ స్మృతి టచ్ కాదు. 438 00:19:47,650 --> 00:19:49,570 మేము చంపడానికి చూడాలని పూర్తిగా కార్యక్రమం. 439 00:19:49,570 --> 00:19:51,180 >> కాబట్టి ఈ సమస్యాత్మక తెలుస్తోంది. 440 00:19:51,180 --> 00:19:54,540 నేను కార్యక్రమం అనగా మెరుగుపరచాము కనీసం, కొన్ని మెమొరి 441 00:19:54,540 --> 00:19:58,000 కానీ ఈ నిర్బంధించడానికి అగుపిస్తుంది పొందడానికి ఫంక్షన్ GetString 442 00:19:58,000 --> 00:20:00,780 కొన్ని పరిమిత పొడవు 16 తీగలను. 443 00:20:00,780 --> 00:20:04,200 మీరు ఊతమిచ్చే అనుకుంటే 16 అక్షరాలు కంటే వాక్యాలను, 444 00:20:04,200 --> 00:20:04,880 మీరు ఏమి చేస్తారు? 445 00:20:04,880 --> 00:20:07,970 సరే, మీరు పెంచుతుంది 32 ఈ బఫర్ పరిమాణం 446 00:20:07,970 --> 00:20:09,190 లేదా ఆ రకమైన చిన్న తెలుస్తోంది. 447 00:20:09,190 --> 00:20:12,260 ఎందుకు మేము చేయటం లేదు 1,000 కానీ తిరిగి పుష్. 448 00:20:12,260 --> 00:20:17,100 అకారణంగా స్పందన ఏమిటి కేవలం చేయడం ద్వారా ఈ సమస్యను నివారిస్తుంది 449 00:20:17,100 --> 00:20:20,660 1,000 అక్షరాలను వంటి పెద్ద నా బఫర్? 450 00:20:20,660 --> 00:20:23,470 ఈ విధంగా GetString అమలు ద్వారా. 451 00:20:23,470 --> 00:20:27,130 ఇక్కడికి మంచి లేదా చెడు? 452 00:20:27,130 --> 00:20:28,033 అవును? 453 00:20:28,033 --> 00:20:30,574 ప్రేక్షకులు: మీరు చాలా బంధించేందుకు ఉంటే స్థలం మరియు మీరు అది వాడవద్దు, 454 00:20:30,574 --> 00:20:33,500 అప్పుడు మీరు ఆ స్థలం పునర్నియోగిస్తాయి కాదు. 455 00:20:33,500 --> 00:20:34,500 DAVID మలన్: ఖచ్చితంగా. 456 00:20:34,500 --> 00:20:38,480 మీరు చేయలేని అజమాయిషీ ఉంటే, ఇది వ్యర్థమైన వార్తలు నిజానికి ఆ బైట్ల 900 అవసరం 457 00:20:38,480 --> 00:20:41,057 మరియు ఇంకా మీరు కోరుతూ చేస్తున్న ఏమైనప్పటికీ మొత్తం 1,000, 458 00:20:41,057 --> 00:20:44,140 మీరు కేవలం మరింత మెమరీ వినియోగించే చేస్తున్నారు మీరు అవసరం కంటే యూజర్ యొక్క కంప్యూటర్, 459 00:20:44,140 --> 00:20:45,740 మరియు అన్ని కొన్ని తర్వాత మీరు ఇప్పటికే ఎదుర్కొన్న 460 00:20:45,740 --> 00:20:47,620 జీవితంలో మీరు ఉన్నప్పుడు కార్యక్రమాలను మా అమలు 461 00:20:47,620 --> 00:20:50,470 మరియు వారు, మెమరీ మా అప్ తినడం ఈ నిజానికి పనితీరును ప్రభావితం చేయవచ్చు 462 00:20:50,470 --> 00:20:52,220 మరియు యూజర్ యొక్క అనుభవం కంప్యూటర్లో. 463 00:20:52,220 --> 00:20:56,090 కాబట్టి ఆ రకమైన ఒక సోమరి పరిష్కారం, ఖచ్చితంగా, మరియు దీనికి విరుద్ధంగా, 464 00:20:56,090 --> 00:21:00,140 ఇది మాత్రమే వ్యర్థమైన వార్తలు, ఏమి సమస్య ఇప్పటికీ నా బఫర్ చేయడానికి కూడా, ఉంది 465 00:21:00,140 --> 00:21:02,100 1,000? 466 00:21:02,100 --> 00:21:02,600 అవును? 467 00:21:02,600 --> 00:21:04,475 >> ప్రేక్షకులు: స్ట్రింగ్ పొడవు 1,001 ఉంది. 468 00:21:04,475 --> 00:21:05,350 DAVID మలన్: ఖచ్చితంగా. 469 00:21:05,350 --> 00:21:08,280 మీ స్ట్రింగ్ పొడవు 1,001 ఉంటే, మీరు ఖచ్చితమైన అదే సమస్య, 470 00:21:08,280 --> 00:21:10,705 నా వాదన ద్వారా, నేను చేస్తాను అప్పుడు అది 2000 తయారు, 471 00:21:10,705 --> 00:21:12,830 కానీ మీరు తెలియదు అది ఉండాలి ఎలా పెద్ద ముందుకు, 472 00:21:12,830 --> 00:21:16,890 మరియు ఇంకా, నేను నా ప్రోగ్రామ్ కంపైల్ లేదు ప్రజలు ఉపయోగించడానికి వీలు ముందు మరియు డౌన్లోడ్ 473 00:21:16,890 --> 00:21:17,390 అది. 474 00:21:17,390 --> 00:21:21,490 కాబట్టి ఈ సరిగ్గా రకం ఉంది stuff CS50 లైబ్రరీ ప్రయత్నించే 475 00:21:21,490 --> 00:21:24,750 మాకు సహాయపడుతుంది మరియు మేము మాత్రమే చూపులో చేస్తాము అంతర్లీన అమలు కొన్ని 476 00:21:24,750 --> 00:21:29,790 ఇక్కడ, కానీ ఈ CS50 డాట్ సి ఈ CS50 IDE ఉన్నాడు ఫైల్ 477 00:21:29,790 --> 00:21:31,420 మీరు ఉపయోగించి చేసిన అన్ని ఈ వారాల. 478 00:21:31,420 --> 00:21:34,280 ఇది పూర్వ సంకలనం మరియు మీరు చేసిన స్వయంచాలకంగా ఉపయోగిస్తున్నాము 479 00:21:34,280 --> 00:21:38,780 కలిగి స్వభావం ద్వారా గణగణమని ద్వని చేయు L CS50 జెండా డాష్, 480 00:21:38,780 --> 00:21:42,300 కానీ నేను అన్ని ద్వారా స్క్రోల్ డౌన్ ఉంటే ఈ విధులు, ఇక్కడ GetString వార్తలు, 481 00:21:42,300 --> 00:21:44,636 మరియు కేవలం మీరు ఇవ్వాలని ఏమి రుచి, జరగబోతోంది 482 00:21:44,636 --> 00:21:46,760 యొక్క వద్ద ఒక త్వరిత వీక్షణ తీసుకుందాం సంబంధిత సంక్లిష్టత. 483 00:21:46,760 --> 00:21:48,870 ఇది ఒక దీర్ఘ సూపర్ ఫంక్షన్, కానీ మేము చేసింది 484 00:21:48,870 --> 00:21:52,530 అన్ని హార్డ్ గురించి ఆలోచించడం కలిగి ఎలా తీగలను పొందడానికి గురించి వెళ్ళండి. 485 00:21:52,530 --> 00:21:55,660 >> ఇక్కడ నా బఫర్ మరియు నేను వార్తలు స్పష్టంగా శూన్యం ప్రారంభించడం. 486 00:21:55,660 --> 00:21:57,990 ఈ, కోర్సు యొక్క, ఉంది చార్ స్టార్ అదే విషయం, 487 00:21:57,990 --> 00:22:00,585 కానీ నేను నిర్ణయించుకుంది CS50 లైబ్రరీ అమలు 488 00:22:00,585 --> 00:22:02,460 మేము చేయబోతున్నామని ఉంటే పూర్తిగా డైనమిక్ 489 00:22:02,460 --> 00:22:05,770 నేను ఒక ఎంత పెద్ద ముందుగానే తెలియదు స్ట్రింగ్ వినియోగదారులు పొందడానికి కావలసిన వెళ్తున్నారు. 490 00:22:05,770 --> 00:22:08,140 నేను మొదలు వెళుతున్న కేవలం ఒక ఖాళీ స్ట్రింగ్ తో 491 00:22:08,140 --> 00:22:11,507 మరియు నేను చాలా అప్ నిర్మించడానికి వెళుతున్న మెమరీ నేను యూజర్ స్ట్రింగ్ సరిపోయే అవసరం 492 00:22:11,507 --> 00:22:13,340 మరియు నేను లేకపోతే తగినంత, నేను గోవా వెళుతున్నాను 493 00:22:13,340 --> 00:22:15,010 మరింత మెమరీ కోసం ఆపరేటింగ్ సిస్టమ్. 494 00:22:15,010 --> 00:22:17,510 నేను వారి స్ట్రింగ్ తరలించడానికి వెళుతున్న మెమరీ పెద్ద భాగం లోకి 495 00:22:17,510 --> 00:22:21,847 మరియు నేను విడుదల లేదా ఉచిత వెళుతున్న మెమరీ కావలసినంత పెద్ద భాగం 496 00:22:21,847 --> 00:22:23,680 మరియు మేము కేవలం చూడాలని మరల దీన్ని. 497 00:22:23,680 --> 00:22:25,570 >> సో శీఘ్ర చూపులో, ఇక్కడ కేవలం ఒక వేరియబుల్ 498 00:22:25,570 --> 00:22:28,780 ఇది నేను ట్రాక్ వెళుతున్న నా బఫర్ సామర్థ్యం యొక్క. 499 00:22:28,780 --> 00:22:30,071 నేను ఎన్ని బైట్లు ఇముడుతుంది? 500 00:22:30,071 --> 00:22:32,070 ఇక్కడ ఒక వేరియబుల్ n వార్తలు నేను ఉంచాలని వెళుతున్న 501 00:22:32,070 --> 00:22:36,200 నిజానికి లో ఎన్ని బైట్లు ట్రాక్ వినియోగదారు టైప్ లేదా ఆ బఫర్. 502 00:22:36,200 --> 00:22:39,900 మీరు ముందు ఈ చూడని ఉంటే, మీరు పేర్కొనవచ్చు ఒక Int వంటి వేరియబుల్ 503 00:22:39,900 --> 00:22:46,370 , పేరు సూచిస్తున్నట్లుగా, సైన్ చేయని ఉంది అంటే అది కాని ప్రతికూల, మరియు ఎందుకు 504 00:22:46,370 --> 00:22:50,590 నేను ఎప్పుడూ తెలుపుట ఇబ్బంది కావలసిన ఒక పూర్ణాంకానికి కేవలం ఒక పూర్ణాంకానికి కాదని, 505 00:22:50,590 --> 00:22:52,540 కానీ అది సంతకం లేని పూర్ణాంకానికి ఏమిటి? 506 00:22:52,540 --> 00:22:55,064 ఇది కాని ప్రతికూల పూర్ణాంకానికి ఉంది. 507 00:22:55,064 --> 00:22:56,355 [వినబడని] అర్థం ఏమిటి? 508 00:22:56,355 --> 00:22:58,910 >> ప్రేక్షకులు: ఇది ఒక మొత్తం వర్ణించే లో మెమరీ [వినబడని] ఉండాలనే. 509 00:22:58,910 --> 00:22:59,660 >> DAVID మలన్: అవును. 510 00:22:59,660 --> 00:23:03,710 నేను సంతకం లేని చెప్పే చేస్తే, ఈ వాస్తవానికి మీరు అదనపు మెమరీ ఒకటి బిట్ ఇవ్వడం 511 00:23:03,710 --> 00:23:07,440 మీరు ఉంటే అది వెర్రి రకంగా ఉంది, కానీ ఆ అదనపు మెమరీ ఒకటి బిట్ కలిగి 512 00:23:07,440 --> 00:23:09,940 మీరు అనేక రెండుసార్లు వంటి కలిగివుంటాయి మీరు ప్రాతినిధ్యం చేయవచ్చు విలువలు, 513 00:23:09,940 --> 00:23:11,570 అది ఒక 0 లేదా 1 కావచ్చు. 514 00:23:11,570 --> 00:23:14,660 కాబట్టి అప్రమేయంగా, ఒక పూర్ణాంకానికి సుమారు కావచ్చు ప్రతికూల 2 బిలియన్ అన్ని మార్గం 515 00:23:14,660 --> 00:23:16,030 అనుకూల 2 బిలియన్. 516 00:23:16,030 --> 00:23:18,540 ఆ పెద్ద శ్రేణులు ఉన్నాయి, కానీ అది ఇప్పటికీ రకమైన వ్యర్థమైన వార్తలు 517 00:23:18,540 --> 00:23:21,280 మీరు మాత్రమే పట్టించుకోనట్లు ఉంటే పరిమాణాలు, ఇది కేవలం intuitively 518 00:23:21,280 --> 00:23:24,620 కాని ప్రతికూల ఉండాలి లేదా అనుకూల లేదా 0, బాగా అప్పుడు, 519 00:23:24,620 --> 00:23:28,884 ఎందుకు మీరు 2 బిలియన్ వృధా ప్రతికూల సంఖ్యలు సాధ్యమయ్యే విలువలను 520 00:23:28,884 --> 00:23:30,300 మీరు ఎప్పుడూ వాటిని ఉపయోగించడానికి వెళుతున్న ఉంటే? 521 00:23:30,300 --> 00:23:35,350 సో సైన్ చేయని, ఇప్పుడు నా పూర్ణాంకానికి చెప్పి 4 బిలియన్ మధ్య 0 మరియు సుమారు ఉంటుంది. 522 00:23:35,350 --> 00:23:39,280 >> కాబట్టి ఇక్కడ కారణాల కేవలం ఒక పూర్ణాంకానికి సి వార్తలు మేము ఇప్పుడు వంటి లోకి అందదు 523 00:23:39,280 --> 00:23:42,280 బదులుగా ఒక పూర్ణాంకానికి ఉంది ఎందుకు ఒక చార్ యొక్క, కానీ ఇక్కడ ఉంది 524 00:23:42,280 --> 00:23:44,630 ఏమి సారాంశం మీరు, మరియు కొన్ని 525 00:23:44,630 --> 00:23:48,340 ఉదాహరణకు ఉపయోగిస్తూ ఉండవచ్చు, కూడా PSet నాలుగు లో fgetc ఫంక్షన్ 526 00:23:48,340 --> 00:23:51,580 లేదా తర్వాత, మేము అది చూస్తారు మళ్ళీ సమస్య ఐదు, సెట్ 527 00:23:51,580 --> 00:23:55,410 fgetc ఎందుకంటే పేరు nice ఉంది రకమైన విధమైన arcanely, సూచిస్తుంది 528 00:23:55,410 --> 00:23:57,940 అది ఒక ఫంక్షన్ అని ఒక పాత్ర పొంది కాబట్టి 529 00:23:57,940 --> 00:24:00,690 ఏమి ప్రాథమికంగా విభిన్నమైనది మేము GetString చేస్తున్న ఏమిటి గురించి 530 00:24:00,690 --> 00:24:03,110 మేము ఉపయోగించకుంటే ఉంది అదే విధంగా scanf. 531 00:24:03,110 --> 00:24:07,550 మేము కేవలం దశల వారీ పాటు ముగింపులో ఉంటాయి సంసార యూజర్ టైప్, 532 00:24:07,550 --> 00:24:10,970 మేము ఎల్లప్పుడూ ఒక కేటాయించాలని ఎందుకంటే చార్, అందువలన మేము ఎల్లప్పుడూ సురక్షితంగా 533 00:24:10,970 --> 00:24:15,599 ఒక సమయంలో ఒక చార్ చూడండి, మరియు మేజిక్ ఇక్కడ జరిగే మొదలవుతుంది. 534 00:24:15,599 --> 00:24:17,890 నేను క్రిందికి స్క్రోల్ వెళుతున్న ఈ ఫంక్షన్ మధ్యలో 535 00:24:17,890 --> 00:24:20,360 కేవలం క్లుప్తంగా ఈ ఫంక్షన్ పరిచయం. 536 00:24:20,360 --> 00:24:22,670 చాలా ఒక ఉన్నట్లు malloc ఫంక్షన్ ఉంది 537 00:24:22,670 --> 00:24:27,740 ఒక realloc ఫంక్షన్ పేరు realloc మీరు మెమరీ భాగం పునర్నియోగిస్తాయి అనుమతిస్తుంది 538 00:24:27,740 --> 00:24:29,570 అది పెద్ద లేదా చిన్న చేయడానికి. 539 00:24:29,570 --> 00:24:33,060 సో లాంగ్ కథ చిన్న మరియు నేడు నా చేతి యొక్క ఒక అల, 540 00:24:33,060 --> 00:24:35,620 ఆ ఏమి GetString తెలుసు చేస్తున్న ఇది యొక్క విధమైన ఉంది 541 00:24:35,620 --> 00:24:39,720 అద్భుతంగా పెరుగుతున్న లేదా యూజర్ గా బఫర్ తగ్గిపోతున్న 542 00:24:39,720 --> 00:24:41,440 అతని లేదా ఆమె స్ట్రింగ్ లో రకాలు. 543 00:24:41,440 --> 00:24:43,962 >> కనుక వినియోగదారు రకాల చిన్న స్ట్రింగ్, ఈ కోడ్ 544 00:24:43,962 --> 00:24:45,920 మాత్రమే తగినంత కేటాయించుకునే మెమరీ స్ట్రింగ్ సరిపోయే. 545 00:24:45,920 --> 00:24:48,086 యూజర్ టైపింగ్ ఉంచుతుంది ఉంటే నేను మళ్ళీ మళ్ళీ వలె 546 00:24:48,086 --> 00:24:50,330 మళ్ళీ, బాగా, ఉంటే బఫర్ యొక్క ప్రారంభంలో ఈ పెద్ద 547 00:24:50,330 --> 00:24:53,310 మరియు ప్రోగ్రామ్ గుర్తిస్తాడు ఒక నిమిషం వేచి, నేను ఖాళీ బయటకు రెడీ, 548 00:24:53,310 --> 00:24:55,410 ఇది రెట్టింపు జరగబోతోంది బఫర్ పరిమాణం 549 00:24:55,410 --> 00:24:59,110 ఆపై బఫర్ పరిమాణం రెట్టింపు మరియు రెట్టింపును పని చేసే కోడ్, 550 00:24:59,110 --> 00:25:03,170 మేము ఇక్కడ దాన్ని చూస్తే, అది కేవలం ఈ తెలివైన ఒక లైనర్. 551 00:25:03,170 --> 00:25:06,830 మీరు ఈ వాక్యనిర్మాణం చూసిన ఉండకపోవచ్చు ముందు, కానీ మీరు స్టార్ సమానం చెప్పుకోవాలంటే, 552 00:25:06,830 --> 00:25:10,470 ఈ అదే విషయం ఉంది సామర్థ్యం సార్లు 2 చెప్పడం. 553 00:25:10,470 --> 00:25:13,390 కనుక ఇది కేవలం రెట్టింపు ఉంచుతుంది బఫర్ సామర్థ్యం 554 00:25:13,390 --> 00:25:17,480 ఆపై realloc చెప్పడం ఇవ్వాలని కూడా ఆ మరింత మెమరీ. 555 00:25:17,480 --> 00:25:19,720 >> ఇప్పుడు, జనాంతికంగా, అక్కడ ఇక్కడ ఇతర క్రియలు 556 00:25:19,720 --> 00:25:23,680 మేము ఏ వివరాలు జరిపేందుకు కాదని GetInt లో చూపించడానికి కంటే ఇతర, 557 00:25:23,680 --> 00:25:26,150 మేము GetInt లో GetString ఉపయోగించడానికి. 558 00:25:26,150 --> 00:25:28,192 మేము అది కాదు అని తనిఖీ శూన్య, ఇది, రీకాల్, 559 00:25:28,192 --> 00:25:30,400 ప్రత్యేక విలువ అని ఏదో తప్పు జరిగింది అంటే. 560 00:25:30,400 --> 00:25:31,233 మేము మెమరీ లేదు. 561 00:25:31,233 --> 00:25:32,310 బెటర్ ఆ తనిఖీ. 562 00:25:32,310 --> 00:25:33,710 మరియు మేము ఒక సెంటినెల్ విలువ తిరిగి. 563 00:25:33,710 --> 00:25:37,850 కానీ నేను వారి వ్యాఖ్యలకు వాయిదా చేస్తాము ఎందుకు మరియు అప్పుడు మేము scanf యొక్క ఈ బంధువు ఉపయోగించడానికి 564 00:25:37,850 --> 00:25:42,100 sscanf అని మరియు అది అవుతుంది ఆ sscanf, లేదా స్ట్రింగ్ scanf, 565 00:25:42,100 --> 00:25:45,310 మీరు లైన్ పరిశీలించి అనుమతిస్తుంది వినియోగదారు టైప్ మరియు మీరు ఇప్పుడు చూద్దాం 566 00:25:45,310 --> 00:25:49,610 ముఖ్యంగా విశ్లేషించేందుకు మరియు నేను ఏమి ఇక్కడ చేస్తున్న నేను sscanf చెప్పడం నేను ఉంది, 567 00:25:49,610 --> 00:25:54,440 యూజర్ ఉంది సంసార విశ్లేషించడానికి టైప్ మరియు ఖచ్చితంగా% i చేయడానికి, 568 00:25:54,440 --> 00:25:59,250 అక్కడ అది పూర్ణాంకం ఉంది, మరియు మేము లేదు రెడీ కూడా ఉంది ఖచ్చితంగా ఎందుకు నేడు పొందడానికి 569 00:25:59,250 --> 00:26:03,760 క్లుప్తంగా ఒక% ఇక్కడ సి, కానీ అనుమతిస్తుంది యూజర్ టైప్ ఉంటే మాకు గుర్తించడం 570 00:26:03,760 --> 00:26:06,050 సంఖ్య తర్వాత బోగస్ ఏదో. 571 00:26:06,050 --> 00:26:11,766 సో కారణం GetInt మరియు GetString retry, మళ్ళీ మిమ్మల్ని చెప్పండి మళ్ళీ 572 00:26:11,766 --> 00:26:13,640 ఎందుకంటే అన్ని ఉంది మేము వ్రాసిన చేసిన కోడ్, 573 00:26:13,640 --> 00:26:17,900 అది రకమైన యూజర్ యొక్క ఇన్పుట్ వద్ద ఆరాటపడుతుంది చూసుకోవాలి లో పూర్తిగా సంఖ్యా వార్తలు 574 00:26:17,900 --> 00:26:21,700 లేదా అది అసలైన ఫ్లోటింగ్ పాయింట్ విలువ లేదా వంటి, 575 00:26:21,700 --> 00:26:24,233 ఏ విలువ ఆధారంగా మీరు ఉపయోగిస్తున్నట్లయితే పని. 576 00:26:24,233 --> 00:26:25,060 >> హైమా. 577 00:26:25,060 --> 00:26:25,710 అలాగే. 578 00:26:25,710 --> 00:26:27,592 ఒక మౌత్ఫుల్ ఉంది కానీ పాయింట్ ఇక్కడ ఉంది 579 00:26:27,592 --> 00:26:29,550 మేము సంపాదించి కారణం ఆ శిక్షణ చక్రాలు 580 00:26:29,550 --> 00:26:32,880 ఎందుకంటే కనిష్ట స్థాయిలో ఉంటుంది కేవలం చాలా విషయాలు ఉన్నాయి అని 581 00:26:32,880 --> 00:26:35,674 మనం కోరుకున్న ఆ తప్పు వెళ్ళే preemptively నిర్వహించడానికి 582 00:26:35,674 --> 00:26:38,090 ఖచ్చితంగా ఆ విషయాలు తరగతి యొక్క ప్రారంభ వారాల, 583 00:26:38,090 --> 00:26:42,230 కానీ ఇప్పుడు PSet నాలుగున్నర PSet ఐదు తో మరియు మించి మీరు దానిని మరింత చూస్తారు 584 00:26:42,230 --> 00:26:45,570 మీరు కూడా మీరు మరింత సామర్థ్యం ఉన్నారు సమస్యలు కొన్ని రకాల పరిష్కార 585 00:26:45,570 --> 00:26:47,180 మీరే. 586 00:26:47,180 --> 00:26:51,770 GetString లేదా GetInt ఏ ప్రశ్నలు? 587 00:26:51,770 --> 00:26:52,630 అవును? 588 00:26:52,630 --> 00:26:55,130 >> ప్రేక్షకులు: మీరు ఎందుకు రెట్టింపు బఫర్ సామర్థ్యం 589 00:26:55,130 --> 00:26:57,630 కేవలం పెరుగుతున్న కంటే ఇది కచ్చితమైన ద్వారా? 590 00:26:57,630 --> 00:26:58,100 >> DAVID మలన్: మంచి ప్రశ్న. 591 00:26:58,100 --> 00:27:00,474 ఎందుకు మేము, సామర్థ్యం రెట్టింపు బఫర్ వ్యతిరేకంగా 592 00:27:00,474 --> 00:27:02,800 కేవలం అది పెరుగుతున్న కొన్ని స్థిరమైన విలువ ద్వారా? 593 00:27:02,800 --> 00:27:03,900 ఇది ఒక నిర్ణయానికి ఉంది. 594 00:27:03,900 --> 00:27:08,590 మేము దానిని ఉంటుంది ఎందుకంటే ఆ నిర్ణయించుకుంది సమయం వారీగా ఖరీదైన కొద్దిగా గోవా ఒక ఉంటుంది 595 00:27:08,590 --> 00:27:10,440 ఆపరేటింగ్ సిస్టమ్ మెమరీ కోసం, మేము కాదు 596 00:27:10,440 --> 00:27:13,210 రావడము వదులుకోవడానికి పెద్ద రెమ్మలు ఒక పరిస్థితి 597 00:27:13,210 --> 00:27:14,960 మేము చేయమని మళ్లీ మళ్లీ OS 598 00:27:14,960 --> 00:27:17,500 మళ్లీ మళ్లీ లో మెమరీ కోసం వెంటవెంటనే వరుస. 599 00:27:17,500 --> 00:27:20,387 కాబట్టి మేము కేవలం కొంతవరకు నిర్ణయించుకుంది ఏకపక్ష కానీ మనం సహేతుక ఆశిస్తున్నాము, 600 00:27:20,387 --> 00:27:22,720 ఆ, మీరు, లెట్స్ ఏమి ముందుకు మనలోని పొందడానికి ప్రయత్నించండి 601 00:27:22,720 --> 00:27:25,520 మరియు కేవలం తద్వారా అది రెట్టింపు ఉంచడానికి మేము సార్లు మొత్తం తగ్గించడానికి 602 00:27:25,520 --> 00:27:29,010 మేము malloc కాల్ లేదా realloc, కానీ మొత్తం తీర్పు 603 00:27:29,010 --> 00:27:31,820 తెలుసుకోవడం లేకపోవడంతో కాల్ వినియోగదారులు టైప్ అనుకోవచ్చు. 604 00:27:31,820 --> 00:27:33,600 రెండువైపులా వివాదస్పదమైంది కావచ్చు. 605 00:27:33,600 --> 00:27:35,430 చర్చించాలంటే మంచి. 606 00:27:35,430 --> 00:27:39,240 >> కాబట్టి యొక్క ఒక జంట పరిశీలించి వీలు మెమరీ యొక్క ఇతర దుష్ప్రభావాలు, 607 00:27:39,240 --> 00:27:41,610 తప్పు చేసే విషయాలు మరియు టూల్స్ మీరు చెయ్యవచ్చు 608 00:27:41,610 --> 00:27:43,880 తప్పులు ఈ రకాల పట్టుకోవడానికి ఉపయోగిస్తాయి. 609 00:27:43,880 --> 00:27:47,800 ఇది అయినప్పటికీ, మీరు అన్నింటినీ మారుతుంది check50, మీరు చాలా చెప్పదు 610 00:27:47,800 --> 00:27:50,050 బగ్గీ రాయడం జరిగింది వారం ఒక నుండి కోడ్, 611 00:27:50,050 --> 00:27:53,630 కూడా అన్ని check50 పరీక్షలు ఉంటే ఆమోదించింది, మరియు కూడా మీరు మరియు మీ TF 612 00:27:53,630 --> 00:27:56,010 సూపర్ నిశ్చితంగా ఉద్దేశించినట్లుగా మీ కోడ్ పనిచేస్తుంది. 613 00:27:56,010 --> 00:27:59,190 మీ కోడ్ బగ్గీ ఉంది లేదా మీరు అన్ని లో బలహీనంగా, 614 00:27:59,190 --> 00:28:02,540 CS50 లైబ్రరీ ఉపయోగించి, మెమరీ లీకింగ్ చేశారు. 615 00:28:02,540 --> 00:28:06,040 మీరు ఆపరేటింగ్ సిస్టమ్ అడగడం చేసిన కార్యక్రమాలు లో మెమొరీ 616 00:28:06,040 --> 00:28:08,850 మీరు వ్రాయలేదు, కాని మీరు చేసిన నిజానికి అది తిరిగి ఇచ్చిన ఎప్పుడూ. 617 00:28:08,850 --> 00:28:12,110 మీరు GetString అని చేసిన మరియు GetInt మరియు GetFloat, 618 00:28:12,110 --> 00:28:15,270 కానీ GetString, మీరు చేసిన unGetString లేదా ఇవ్వండి అని ఎప్పుడూ 619 00:28:15,270 --> 00:28:19,890 స్ట్రింగ్ తిరిగి లేదా వంటి, కానీ మేము చూసిన GetString మెమరీని కేటాయించాల్సిన చేసే 620 00:28:19,890 --> 00:28:22,810 malloc యొక్క మార్గం లేదా ఈ ద్వారా కేవలం ఇది ఫంక్షన్ realloc, 621 00:28:22,810 --> 00:28:25,670 ఆత్మ లో సమానమైన, మరియు ఇంకా, మేము పరిష్కరించగలుగుతున్నాము 622 00:28:25,670 --> 00:28:28,629 ఆపరేటింగ్ సిస్టమ్ అడగడం మెమరీ మరియు మెమరీ మళ్లీ మళ్లీ 623 00:28:28,629 --> 00:28:29,670 కానీ అది తిరిగి ఇవ్వడం ఎప్పుడూ. 624 00:28:29,670 --> 00:28:33,550 >> ఇప్పుడు, జనాంతికంగా, ఆ అవుతుంది ఒక కార్యక్రమం మెమరీ అన్ని వదిలేసి ఉన్నప్పుడు 625 00:28:33,550 --> 00:28:34,870 స్వయంచాలకంగా విముక్తి పొందుతాడు. 626 00:28:34,870 --> 00:28:36,150 కనుక ఇది ఒక భారీ ఒప్పందం కాదు. 627 00:28:36,150 --> 00:28:38,590 ఇది బ్రేక్ మాత్రం కాదు IDE లేదా నెమ్మదిగా విషయాలపై, 628 00:28:38,590 --> 00:28:40,670 కానీ ఉన్నప్పుడు కార్యక్రమాలు చేయండి సాధారణంగా మెమొరీ లీక్ 629 00:28:40,670 --> 00:28:42,170 మరియు వారు ఒక కాలం అమలు చేస్తున్నారు. 630 00:28:42,170 --> 00:28:45,640 మీరు ఎప్పుడైనా స్టుపిడ్ చిన్న చూసిన Mac OS లేదా hourglass లో బీచ్ బంతి 631 00:28:45,640 --> 00:28:51,160 విండోస్ మీద దీనికి రకమైన ఎక్కడ మందగింప లేదా ఆలోచిస్తూ లేదా ఆలోచన 632 00:28:51,160 --> 00:28:53,770 లేదా కేవలం నిజంగా మొదలవుతుంది ఒక క్రాల్ నిదానపరచేందుకు, 633 00:28:53,770 --> 00:28:56,960 ఇది చాలా అయ్యే అవకాశమున్నందున మెమొరీ లీక్ ఫలితంగా. 634 00:28:56,960 --> 00:28:59,970 రాసిన ప్రోగ్రామర్లు ఉపయోగిస్తున్నారు సాఫ్ట్వేర్ 635 00:28:59,970 --> 00:29:03,570 మెమరీ కోసం ఆపరేటింగ్ సిస్టమ్ అడగండి ప్రతి కొన్ని నిమిషాల ప్రతి గంట. 636 00:29:03,570 --> 00:29:05,570 కానీ మీరు అమలు చేస్తున్నారు అయినా సాఫ్ట్వేర్, 637 00:29:05,570 --> 00:29:08,680 మీ కంప్యూటర్ లో తగ్గించాలి ముగింపు గంటల లేదా రోజులు, 638 00:29:08,680 --> 00:29:11,980 మీరు మరింత కోరుతూ ఉండవచ్చు మెమరీ మరియు ఎప్పుడూ దీన్ని ఉపయోగించి 639 00:29:11,980 --> 00:29:15,180 అందువలన మీ సంకేతం, లేదా ఉండవచ్చు కార్యక్రమాలు మెమరీ లీకింగ్ ఉండవచ్చు 640 00:29:15,180 --> 00:29:18,350 మరియు మీరు మెమరీ లీక్ మొదలు ఉంటే, ఇతర కార్యక్రమాలు తక్కువ మెమొరీ ఉంది, 641 00:29:18,350 --> 00:29:21,220 మరియు ప్రభావం ప్రతిదీ వేగాన్ని. 642 00:29:21,220 --> 00:29:23,600 >> ఇప్పుడు, ఈ దూరం ఒకటి ద్వారా అత్యంత దారుణమైన కార్యక్రమాలు 643 00:29:23,600 --> 00:29:26,350 మీరు అవకాశాలు ఉంటుంది CS50 లో అమలు అజమాయిషీ 644 00:29:26,350 --> 00:29:31,650 దాని అవుట్పుట్ కంటే కూడా నిగూఢ ఉంది గణగణమని ద్వని చేయు యొక్క లేదా యొక్క తయారు లేదా కమాండ్ ఏ 645 00:29:31,650 --> 00:29:35,930 మేము ముందు అమలు చేసిన లైన్ కార్యక్రమాలు కానీ అదృష్టవశాత్తూ, దాని అవుట్పుట్ ఎంబెడ్ 646 00:29:35,930 --> 00:29:39,810 కొన్ని సూపర్ ఉపయోగపడిందా చిట్కాలు అని ఉపయోగకరమైన గాని PSet నాలుగు అవుతుంది 647 00:29:39,810 --> 00:29:41,510 లేదా కచ్చితంగా ఐదు pset. 648 00:29:41,510 --> 00:29:44,250 కాబట్టి Valgrind ఒక సాధనం అని అనిపించడం ఉపయోగించవచ్చు 649 00:29:44,250 --> 00:29:46,930 మీ ప్రోగ్రామ్ లో మెమరీ స్రావాలు. 650 00:29:46,930 --> 00:29:48,570 ఇది అమలు సాపేక్షంగా సులభం. 651 00:29:48,570 --> 00:29:51,420 మీరు కూడా Valgrind ఆపై అమలు అది కొద్దిగా మందమైన అయితే, 652 00:29:51,420 --> 00:29:54,440 డాష్ డాష్ లీక్ చెక్ పూర్తి సమానం, మరియు అప్పుడు డాట్ 653 00:29:54,440 --> 00:29:56,320 స్లాష్ మరియు మీ ప్రోగ్రామ్ యొక్క పేరు. 654 00:29:56,320 --> 00:30:00,010 కాబట్టి Valgrind ఆపై మీ ప్రోగ్రామ్ అమలు చేస్తుంది మరియు మీ ప్రోగ్రామ్ యొక్క చివరిలో 655 00:30:00,010 --> 00:30:02,240 అది వదిలేసి ముందు నడుస్తున్న మరియు మీరు మరొక ప్రాంప్ట్ ఇస్తుంది 656 00:30:02,240 --> 00:30:04,980 అది విశ్లేషించడానికి జరగబోతోంది మీ ప్రోగ్రామ్ అమలు చేయబడ్డాయి అయితే 657 00:30:04,980 --> 00:30:07,740 మరియు మీరు లీక్ చేయలేదు చెప్పండి మంచి ఇంకా ఏ మెమొరీ 658 00:30:07,740 --> 00:30:10,610 మీరు మెమరీ తాకే లేదని మీరు ఉండలేదు? 659 00:30:10,610 --> 00:30:13,700 ఇది ప్రతిదీ క్యాచ్ కాదు, కానీ అది చాలా విషయాలు పట్టుకోవడంలో వద్ద అందంగా మంచి. 660 00:30:13,700 --> 00:30:19,700 >> ఇక్కడ నా కలిగి పరుగుల ఉదాహరణకు ఈ కార్యక్రమం అమలు Valgrind కలిగి, 661 00:30:19,700 --> 00:30:21,470 అనే కార్యక్రమంలో జ్ఞాపకశక్తి, మరియు నేను వెళుతున్నాను 662 00:30:21,470 --> 00:30:24,730 ఉంటాయి ఆఫీసు హైలైట్ చివరికి మాకు ఆసక్తి. 663 00:30:24,730 --> 00:30:27,690 సో కూడా మరింత వ్యాపకాలు ఉంది నేను స్లయిడ్ నుండి తొలగించబడుతుంది చేసిన. 664 00:30:27,690 --> 00:30:30,930 కానీ యొక్క కేవలం ఏమి ఈ చూద్దాము కార్యక్రమం మాకు చెప్పడం సామర్థ్యం ఉంది. 665 00:30:30,930 --> 00:30:34,800 ఇది మాకు విషయాలు చెప్పడం సామర్థ్యం వార్తలు చెల్లని పరిమాణం 4 యొక్క వ్రాయండి ఇష్టపడుతున్నారు. 666 00:30:34,800 --> 00:30:38,020 ఇతర మాటలలో, మీరు మెమరీ తాకే ఉంటే, మెమరీ ప్రత్యేకంగా 4 బైట్లు 667 00:30:38,020 --> 00:30:40,350 మీరు చేయదని Valgrind మీరు తెలియజేయవచ్చు. 668 00:30:40,350 --> 00:30:41,660 పరిమాణం 4 యొక్క చెల్లని వ్రాయండి. 669 00:30:41,660 --> 00:30:43,640 మీరు నాలుగు బైట్లు తాకిన మీరు కలిగి ఉండకూడదు అని. 670 00:30:43,640 --> 00:30:44,840 మీరు ఎక్కడ ఆ చేసావ్? 671 00:30:44,840 --> 00:30:45,900 ఈ అందం ఉంది. 672 00:30:45,900 --> 00:30:50,000 మెమరీ డాట్ సి లైన్ 21 ఇక్కడ మీరు ఇరుక్కొనిపోయింది మరియు ఉపయోగపడిందా వై. 673 00:30:50,000 --> 00:30:53,410 మచ్ GDB వంటి, అది సహాయపడుతుంది అసలు లోపం వద్ద మీరు సూచించండి. 674 00:30:53,410 --> 00:30:57,170 >> ఇప్పుడు, ఈ ఒక కొంచెం ఎక్కువ అనిపిస్తుంది వాచాల, గందరగోళంగా లేకపోతే. 675 00:30:57,170 --> 00:31:01,307 1 బ్లాక్లలో 40 బైట్లు ఖచ్చితంగా ఉంటాయి నష్టం రికార్డు 1 1 ఓడిపోయింది. 676 00:31:01,307 --> 00:31:02,140 ఆ అర్థం ఏమిటి? 677 00:31:02,140 --> 00:31:05,920 సరే, కేవలం మీరు అడిగారు అర్థం 40 బైట్లు మరియు మీరు అది తిరిగి ఇచ్చింది ఎప్పుడూ. 678 00:31:05,920 --> 00:31:08,930 మీరు malloc అని లేదా మీరు అని GetString మరియు ఆపరేటింగ్ సిస్టమ్ 679 00:31:08,930 --> 00:31:12,450 మీరు 40 బైట్లు, కానీ మీరు ఎప్పుడూ ఇచ్చింది విముక్తి లేదా ఆ స్మృతి విడుదల, 680 00:31:12,450 --> 00:31:15,400 మరియు స్పష్టంగా ఉంటుంది, మేము ఎన్నటికీ చేసిన మీరు ఎలా మెమరీ తిరిగి ఇవ్వాలని. 681 00:31:15,400 --> 00:31:17,910 ఒక సూపర్ ఉంది బయటకు వస్తాడు సాధారణ ఫంక్షన్ ఉచిత అని. 682 00:31:17,910 --> 00:31:21,170 ఒక వాదన, విషయం పడుతుంది మీరు ఉచిత లేదా తిరిగి ఇవ్వాలని 683 00:31:21,170 --> 00:31:23,430 కానీ 40 బైట్లు, స్పష్టంగా, ఈ కార్యక్రమంలో 684 00:31:23,430 --> 00:31:27,300 లైన్ వద్ద గల్లంతయ్యాయి మెమరీ యొక్క 20 సి కలదు. 685 00:31:27,300 --> 00:31:28,650 >> కాబట్టి యొక్క ఈ కార్యక్రమం చూద్దాం. 686 00:31:28,650 --> 00:31:31,020 ఇది సూపర్ పనికిరాని యొక్క. 687 00:31:31,020 --> 00:31:33,980 ఇది మాత్రమే ప్రదర్శించాడు ఈ ప్రత్యేక లోపం. 688 00:31:33,980 --> 00:31:34,920 కాబట్టి యొక్క పరిశీలించి తెలియజేయండి. 689 00:31:34,920 --> 00:31:39,920 ఇక్కడ ప్రధాన మరియు ప్రధాన, నోటీసు, కాల్స్ ఒక ఫంక్షన్ f ఆపై రాబడి అని. 690 00:31:39,920 --> 00:31:41,550 సో అన్ని ఆసక్తికరమైన కాదు. 691 00:31:41,550 --> 00:31:42,664 F ఏమి చేస్తుంది? 692 00:31:42,664 --> 00:31:44,330 నేను ఒక నమూనా తో ఇబ్బంది లేదు గమనించండి. 693 00:31:44,330 --> 00:31:46,520 నేను కోడ్ ఉంచాలని కోరుకున్నాడు వీలైనంత తక్కువ. 694 00:31:46,520 --> 00:31:49,530 నేను ప్రధాన పైన f చాలు మరియు ఆ, ఖచ్చితంగా, మంచిది 695 00:31:49,530 --> 00:31:51,500 ఈ వంటి చిన్న ప్రోగ్రామ్ల కోసం. 696 00:31:51,500 --> 00:31:56,910 కాబట్టి F దేన్నీ లేదు మరియు ఏదైనా తీసుకుంటారు కానీ దీన్ని లేదు. 697 00:31:56,910 --> 00:31:59,620 ఇది చాలా వంటి ప్రకటించాడు Binky ఉదాహరణలో, 698 00:31:59,620 --> 00:32:02,682 ఆ x అనే పాయింటర్ జరగబోతోంది ఒక పూర్ణాంకానికి యొక్క చిరునామా నిల్వ. 699 00:32:02,682 --> 00:32:03,890 కాబట్టి ఆ ఎడమ చేతి వైపు. 700 00:32:03,890 --> 00:32:07,230 ఆంగ్లంలో, ఏమిటి చేయడం కుడి చేతి వైపు? 701 00:32:07,230 --> 00:32:09,770 ఎవరైనా? 702 00:32:09,770 --> 00:32:13,665 ఈ మాకు ఏమి ఉంది? 703 00:32:13,665 --> 00:32:14,651 అవును? 704 00:32:14,651 --> 00:32:16,623 >> ప్రేక్షకులు: [వినబడని] సార్లు ఒక పూర్ణాంకానికి యొక్క పరిమాణం 705 00:32:16,623 --> 00:32:19,175 ఇది 10 సార్లు [వినబడని] 706 00:32:19,175 --> 00:32:20,800 DAVID మలన్: మంచి మరియు నాకు సంగ్రహించేందుకు వీలు. 707 00:32:20,800 --> 00:32:25,480 కాబట్టి 10 పూర్ణాంకాల తగినంత స్థలం కేటాయించాలని లేదా 10 ఒక పూర్ణాంకానికి యొక్క పరిమాణం ఏమిటి 708 00:32:25,480 --> 00:32:29,340 4 నాలుగు బైట్లు, అందువలన 10 సార్లు 40, నేను చేసిన ఆ కుడి వైపు కాబట్టి 709 00:32:29,340 --> 00:32:33,930 హైలైట్ నాకు 40 బైట్లు ఇవ్వాలని మరియు మొదటి బైట్ యొక్క చిరునామా నిల్వ 710 00:32:33,930 --> 00:32:34,940 x లోకి. 711 00:32:34,940 --> 00:32:38,380 ఇప్పుడు చివరగా, మరియు ఇక్కడ ఎక్కడ వార్తలు ఈ కార్యక్రమం బగ్గీ, ఏమి ఉంది 712 00:32:38,380 --> 00:32:41,540 లైన్ 21 తో తప్పు తర్కం మీద ఆధారపడి? 713 00:32:41,540 --> 00:32:45,197 714 00:32:45,197 --> 00:32:46,280 లైన్ 21 తో తప్పు ఏమిటి? 715 00:32:46,280 --> 00:32:46,780 అవును? 716 00:32:46,780 --> 00:32:49,550 ప్రేక్షకులు: మీరు కాదు [వినబడని] x లోకి సూచిక. 717 00:32:49,550 --> 00:32:50,300 DAVID మలన్: అవును. 718 00:32:50,300 --> 00:32:52,270 నేను ఆ వంటి x లోకి ఇండెక్స్ కాదు. 719 00:32:52,270 --> 00:32:53,850 కాబట్టి పదము, ఆ సరే. 720 00:32:53,850 --> 00:32:56,990 ఏ మంచిది మీరు వంటి చాలా ఉంది వ్యూహం పేరు చికిత్స చేయవచ్చు 721 00:32:56,990 --> 00:33:01,080 అయితే ఇది అదేవిధంగా, ఒక పాయింటర్ ఉంది అంతే అయితే మీరు ఒక పాయింటర్ చికిత్స చేయవచ్చు 722 00:33:01,080 --> 00:33:06,425 వ్యూహం, మరియు నేను పదము చెయ్యవచ్చు x బ్రాకెట్ ఏదో చెప్పటానికి, x బ్రాకెట్ i, 723 00:33:06,425 --> 00:33:07,800 కానీ 10 సమస్యాత్మకంగా ఉంది. 724 00:33:07,800 --> 00:33:09,096 ఎందుకు? 725 00:33:09,096 --> 00:33:10,910 >> ప్రేక్షకులు: ఇది లోపలి కాదు ఎందుకంటే. 726 00:33:10,910 --> 00:33:12,390 >> DAVID మలన్: ఇది కాదు మెమరీ యొక్క భాగం లోపల. 727 00:33:12,390 --> 00:33:15,306 అతిపెద్ద విలువ ఏమిటి నేను ఉండాలి వార్తలు ఆ చదరపు బ్రాకెట్లలో పెట్టటం? 728 00:33:15,306 --> 00:33:16,870 9 ద్వారా 9, 0. 729 00:33:16,870 --> 00:33:18,160 సున్నా ఇండెక్సింగ్ ఎందుకంటే. 730 00:33:18,160 --> 00:33:20,190 కాబట్టి 9 ద్వారా 0 జరిమానా ఉంటుంది. 731 00:33:20,190 --> 00:33:23,960 బ్రాకెట్ 10 మంచి కాదు మరియు కానీ, ప్రతి సమయం అయితే గుర్తుకు 732 00:33:23,960 --> 00:33:27,017 నేను CS50 IDE చేయడానికి ప్రయత్నిస్తారు కనిపిస్తుంది బోగస్ విలువలు టైప్ చేయడం ద్వారా క్రాష్, 733 00:33:27,017 --> 00:33:29,100 ఇది ఎల్లప్పుడూ సహకారం లేదు నిజానికి, మీరు తరచుగా 734 00:33:29,100 --> 00:33:31,460 అదృష్ట పొందుటకు కనుక ఆపరేటింగ్ సిస్టమ్ లేదు 735 00:33:31,460 --> 00:33:35,467 గమనించవచ్చు మీరు ఇంత కొద్దిగా మెమరీ కొన్ని భాగం పాస్, 736 00:33:35,467 --> 00:33:38,300 మీరు సాంకేతికంగా లోపల బస ఎందుకంటే మీ విభాగంలో కానీ ఆ మరింత 737 00:33:38,300 --> 00:33:40,940 ఒక ఆపరేటింగ్ వ్యవస్థలు తరగతి లో, ఈ వంటి మరియు కనుక ఏదో 738 00:33:40,940 --> 00:33:43,000 చాలా సులభంగా దొరకకుండా వెళ్ళటానికి. 739 00:33:43,000 --> 00:33:48,120 మీ కార్యక్రమాన్ని ఎప్పుడూ క్రాషవ్వటానికి జరగబోతోంది నిలకడగా కాని ఒకసారి కొంచంసేపు. 740 00:33:48,120 --> 00:33:50,610 >> కాబట్టి యొక్క Valgrind ప్రయత్నించండి తెలపండి ఈ, మరియు ఇక్కడ 741 00:33:50,610 --> 00:33:52,870 పేరు మేము మునిగిపోతారు పొందుతారు కొద్ది సేపట్లో అవుట్పుట్ ద్వారా. 742 00:33:52,870 --> 00:34:00,810 కాబట్టి మెమరీ Valgrind లీక్ చెక్ చేయడానికి పూర్తి డాట్ స్లాష్ మెమరీ సమానం. 743 00:34:00,810 --> 00:34:03,040 నేను వాగ్దానం ఎందుకు ఇక్కడ వార్తలు ఈ హతమార్చడానికి ఉంటుంది. 744 00:34:03,040 --> 00:34:05,700 ఇక్కడ Valgrind, ఇక్కడ ఏమి ఉంది ఒక ప్రోగ్రామర్, కొన్ని సంవత్సరాల క్రితం 745 00:34:05,700 --> 00:34:08,469 ఇది మంచి ఆలోచన ఉంటుంది నిర్ణయించుకుంది వంటి అవుట్పుట్ చూడండి. 746 00:34:08,469 --> 00:34:09,750 కాబట్టి యొక్క ఈ అర్థంలో తయారు చేద్దాము. 747 00:34:09,750 --> 00:34:13,120 ఎడమ వైపు అన్ని మార్గం ఏ మంచి కారణం కోసం వైపు 748 00:34:13,120 --> 00:34:16,620 కార్యక్రమం ప్రక్రియ ID ఉంది మేము కేవలం ఏకైక నిర్ధారిణి అమలు 749 00:34:16,620 --> 00:34:18,030 కార్యక్రమం కోసం మేము నడిచింది. 750 00:34:18,030 --> 00:34:19,738 మేము నుండి తొలగించారు స్లయిడ్, కానీ అక్కడ 751 00:34:19,738 --> 00:34:22,190 ఇక్కడ కొన్ని ఉపయోగకరమైన సమాచారం. 752 00:34:22,190 --> 00:34:24,684 >> చాలా టాప్ వరకు స్క్రోల్ లెట్. 753 00:34:24,684 --> 00:34:25,600 మేము ప్రారంభమైంది ఇక్కడ. 754 00:34:25,600 --> 00:34:27,040 కనుక ఇది అన్ని ఎక్కువ అవుట్పుట్ కాదు. 755 00:34:27,040 --> 00:34:30,429 ఇక్కడ చెల్లని రాసే వార్తలు లైన్ 21 న పరిమాణం 4 యొక్క. 756 00:34:30,429 --> 00:34:31,760 Well, లైన్ 21 ఏమి ఉంది? 757 00:34:31,760 --> 00:34:34,500 లైన్ 21 సరిగ్గా ఉంది ఈ మరియు అది అర్ధమే 758 00:34:34,500 --> 00:34:37,290 నేను వ్యక్తి అవలంబిస్తాడు ఉన్నాను అని నేను ఉన్నాను ఎందుకంటే 4 బైట్లు రాయడం 759 00:34:37,290 --> 00:34:40,389 ఈ పూర్ణాంక ఉంచేందుకు ప్రయత్నిస్తున్నారు, ఇది ఏదైనా కావచ్చు 760 00:34:40,389 --> 00:34:42,370 అది కేవలం నిర్మాణము సున్నా, కానీ నేను దీనికై 761 00:34:42,370 --> 00:34:44,940 ఒక ప్రదేశంలోని అది చాలు నాకు సంబంధించినది కాదు. 762 00:34:44,940 --> 00:34:50,900 ఒక అంతేకాక, డౌన్ ఇక్కడ, 40 బైట్లు బ్లాక్స్ ఖచ్చితంగా రికార్డు 1 కోల్పోతాయి. 763 00:34:50,900 --> 00:34:56,500 నేను malloc కాల్ చేసినప్పుడు ఎందుకంటే ఇక్కడ, నేను నిజానికి మెమరీ విడిపించేందుకు ఎప్పుడూ. 764 00:34:56,500 --> 00:34:58,140 >> సో ఎలా మేము ఈ పరిష్కరిస్తాము? 765 00:34:58,140 --> 00:35:02,970 నాకు ముందుకు వెళ్లి ఒక చిన్న సురక్షితమైన మరియు అక్కడ 9 చేయండి మరియు ఇక్కడ ఉచిత x నాకు తెలియజేయండి. 766 00:35:02,970 --> 00:35:04,820 ఈ రోజు కోసం కొత్త ఫంక్షన్. 767 00:35:04,820 --> 00:35:11,520 నేను ఇప్పుడు మెమరీ డాట్ స్లాష్ తయారు తిరిగి ఉంటే, , దాన్ని మళ్ళీ న Valgrind అమలు అనుమతిస్తాయి 768 00:35:11,520 --> 00:35:14,990 నా విండో పెంచడానికి మరియు Enter నొక్కండి. 769 00:35:14,990 --> 00:35:16,900 ఇప్పుడు, ఇది బావుంది. 770 00:35:16,900 --> 00:35:19,590 వారు మంచి వార్తలు బరీ ఈ ఉత్పత్తి యొక్క అన్ని లో. 771 00:35:19,590 --> 00:35:20,810 అన్ని కుప్ప బ్లాక్స్ ఉంచారు. 772 00:35:20,810 --> 00:35:23,604 మేము ఏ కుప్ప తిరిగి వచ్చి ఉంటుంది అయితే ఎలాంటి దోషాలను సాధ్యమే. 773 00:35:23,604 --> 00:35:25,520 కాబట్టి ఈ కేవలం మరొక మీ సాధనం కిట్ కోసం సాధనం 774 00:35:25,520 --> 00:35:30,220 ఇది మీకు ప్రారంభించవచ్చు ఇప్పుడు ఆ వంటి లోపాలు కనుగొనేందుకు. 775 00:35:30,220 --> 00:35:34,532 >> కానీ యొక్క చూసేలా ఏమి మరింత తప్పు ఇక్కడ వెళ్ళవచ్చు. 776 00:35:34,532 --> 00:35:38,890 ఇప్పుడు పరివర్తనా లెట్ నిజానికి ఒక సమస్య పరిష్కార. 777 00:35:38,890 --> 00:35:42,440 జనాంతికంగా, ఈ ఒక ఉపశమనం ఉంటుంది ఉంటే గందరగోళం లేదా ఒత్తిడి కొద్దిగా, 778 00:35:42,440 --> 00:35:43,430 ఈ ఇప్పుడు ఫన్నీ ఉంది. 779 00:35:43,430 --> 00:35:46,400 780 00:35:46,400 --> 00:35:46,900 అవును. 781 00:35:46,900 --> 00:35:49,040 ఆ అందమైన మంచి వార్తలు. 782 00:35:49,040 --> 00:35:50,890 గమనికలు ఉన్నాయి ఎందుకంటే చిరునామాలు మరియు చిరునామాలను 783 00:35:50,890 --> 00:35:53,098 సాంప్రదాయకంగా సాధారణంగా హెక్సాడెసిమల్ తో వ్రాసిన. 784 00:35:53,098 --> 00:35:54,650 హా హా, ఈ ఇప్పుడు ఫన్నీ ఉంది. 785 00:35:54,650 --> 00:35:58,390 ఏమైనప్పటికి, కాబట్టి ఇప్పుడు చూద్దాం నిజానికి ఒక సమస్యను పరిష్కరించడానికి. 786 00:35:58,390 --> 00:36:00,840 ఈ సూపర్ ఉంది సూపర్ ఇప్పటివరకు తక్కువ-స్థాయి 787 00:36:00,840 --> 00:36:03,950 మరియు మేము నిజంగా ఉపయోగకరంగా చేయవచ్చు ఈ తక్కువ స్థాయి వివరాలతో విషయాలు. 788 00:36:03,950 --> 00:36:06,710 >> కాబట్టి మేము కొన్ని వారాల పరిచయం క్రితం వ్యూహం యొక్క భావనను. 789 00:36:06,710 --> 00:36:09,177 ఒక అమరిక బాగుంది ఎందుకంటే అది మా కోడ్ శుభ్రం కష్టం 790 00:36:09,177 --> 00:36:11,760 మేము ఒక వ్రాయడానికి కావలెను ఉంటే ఎందుకంటే బహుళ విద్యార్థులు ఉన్న కార్యక్రమము 791 00:36:11,760 --> 00:36:15,270 లేదా బహుళ పేర్లు మరియు గృహాలు మరియు కళాశాలలో మరియు కళాశాలలు మరియు ఆ అన్ని 792 00:36:15,270 --> 00:36:19,430 మేము ప్రతిదీ మరింత నిల్వ చేసుకోవచ్చు సజావుగా ఒక శ్రేణి యొక్క లోపల. 793 00:36:19,430 --> 00:36:23,039 కానీ ఒక ఇబ్బంది ప్రపోజ్ వ్యూహం యొక్క ఇంతవరకూ. 794 00:36:23,039 --> 00:36:26,080 మీరు మీరుగా బాధపడ్డాడు చేసిన పోయినా ఒక కార్యక్రమంలో, కేవలం సహజంగా 795 00:36:26,080 --> 00:36:30,870 ఒక చెడ్డ విషయం ఏమిటి వ్యూహం గురించి, బహుశా? 796 00:36:30,870 --> 00:36:32,337 నేను కొన్ని అపక్రమ శబ్దాలు వినడానికి. 797 00:36:32,337 --> 00:36:34,170 ప్రేక్షకులు: ఇది కష్టం పరిమాణం మార్చడానికి. 798 00:36:34,170 --> 00:36:36,128 DAVID మలన్: ఇది కష్టం పరిమాణం మార్చడానికి. 799 00:36:36,128 --> 00:36:38,660 మీరు పరిమాణం మార్చలేరు వ్యూహం యొక్క, నిజానికి, కేవలంగా 800 00:36:38,660 --> 00:36:43,040 మీరు C. లో మరొక వ్యూహం కేటాయించాలని చేయవచ్చు, పాత ఒకటి నుండి ప్రతిదీ తరలించడానికి 801 00:36:43,040 --> 00:36:45,380 ఇప్పుడు కొత్త, మరియు లోకి కొన్ని అదనపు ఖాళీ, 802 00:36:45,380 --> 00:36:47,469 కానీ అది ఒక ఇష్టం లేదు జావా లేదా పైథాన్ వంటి భాష 803 00:36:47,469 --> 00:36:49,760 లేదా ఇతర ఏ సంఖ్య ఇది భాషల మీరు కొన్ని 804 00:36:49,760 --> 00:36:52,070 తెలిసిన కావచ్చు పేరు మీరు కేవలం విషయాలను జోడించవచ్చు 805 00:36:52,070 --> 00:36:53,930 ఒక అర్రే చివర విసుగు పుట్టేవరకు. 806 00:36:53,930 --> 00:36:57,880 మీరు ఒక వరుస కలిగి ఉన్నప్పుడు దాని పరిమాణం ఆ పరిమాణం 6, 807 00:36:57,880 --> 00:37:01,970 మరియు ఆలోచన ముందు వంటి చాలా ఒక నిర్దిష్ట పరిమాణం యొక్క ఒక బఫర్ కలిగి, 808 00:37:01,970 --> 00:37:05,940 మీరు గేట్ బయటకు ఊహించడం కలిగి ఏమి పరిమాణం మీరు అనుకుంటున్నారు? 809 00:37:05,940 --> 00:37:07,880 మీరు చాలా పెద్ద అంచనా ఉంటే, మీరు స్పేస్ వృధా చేస్తున్నాం. 810 00:37:07,880 --> 00:37:10,950 మీరు చాలా చిన్న అంచనా ఉంటే, మీరు కనీసం, ఆ డేటా నిల్వ కాదు 811 00:37:10,950 --> 00:37:12,940 చాలా పని లేకుండా. 812 00:37:12,940 --> 00:37:18,180 >> గమనికలు కాబట్టి నేడు, ధన్యవాదాలు, మేము కలిసి మా స్వంత కస్టమ్ కలపడం మొదలు 813 00:37:18,180 --> 00:37:20,989 డేటా నిర్మాణాలు, మరియు లో నిజానికి, ఇక్కడ ఏదో ఉంది 814 00:37:20,989 --> 00:37:23,030 ఒక చిన్న మరింత కనిపిస్తుంది మొదటి చూపులో గుప్తమైన, 815 00:37:23,030 --> 00:37:26,440 కానీ ఈ మేము ఒక లింక్ పిలుస్తాను ఏమిటి జాబితా, మరియు సారాంశాన్ని దాని పేరు రకమైన 816 00:37:26,440 --> 00:37:26,940 అది. 817 00:37:26,940 --> 00:37:29,550 ఇది సంఖ్యల జాబితా, లేదా ఈ సందర్భంలో, సంఖ్యల జాబితా, 818 00:37:29,550 --> 00:37:33,480 కానీ అది ఏదైనా ఒక జాబితా, కాని కాలేదు ఇది కలిసి బాణాలు మార్గం ద్వారా కలపబడి ఉంది 819 00:37:33,480 --> 00:37:36,380 మరియు కేవలం ఒక అంచనా పడుతుంది ఏమి టెక్నిక్ తో 820 00:37:36,380 --> 00:37:38,310 మేము సామర్థ్యం ఉంటాయని కలిసి కుట్టు, 821 00:37:38,310 --> 00:37:42,540 విధమైన ఒక థ్రెడ్ తో పాప్ కార్న్ వంటి, ఇక్కడ జాబితాలు దీర్ఘ చతురస్రాలు లింక్? 822 00:37:42,540 --> 00:37:43,936 దీని సంఖ్యలు? 823 00:37:43,936 --> 00:37:45,560 అంతర్లీన భాష ఫీచర్ ఏమిటి? 824 00:37:45,560 --> 00:37:46,350 >> ప్రేక్షకులు: ఒక పాయింటర్. 825 00:37:46,350 --> 00:37:47,308 >> DAVID మలన్: ఒక పాయింటర్. 826 00:37:47,308 --> 00:37:51,700 కాబట్టి ఈ బాణాలు ప్రతి ఇక్కడ సూచిస్తుంది ఒక పాయింటర్ లేదా కేవలం ఒక చిరునామా. 827 00:37:51,700 --> 00:37:54,590 కాబట్టి ఇతర మాటలలో, నేను కావాలా సంఖ్యల జాబితా నిల్వ, 828 00:37:54,590 --> 00:37:59,040 నేను అనుకుంటే నేను కేవలం నిల్వ కాదు పెరుగుతాయి మరియు కుదించే సామర్థ్యం 829 00:37:59,040 --> 00:38:00,990 వ్యూహంలో నా డేటా నిర్మాణం. 830 00:38:00,990 --> 00:38:03,000 కాబట్టి నేను ఒక చిన్న కలిగి ఉండాలి మరింత ఆడంబరం 831 00:38:03,000 --> 00:38:05,720 కానీ ఈ గమనించవచ్చు చిత్రాన్ని రకమైన సూచిస్తుంది 832 00:38:05,720 --> 00:38:08,650 మీరు కేవలం కొద్దిగా దారాలను పొందారు ఉంటే కలిసి ప్రతిదీ కనెక్ట్, 833 00:38:08,650 --> 00:38:13,100 బహుశా స్థలాన్ని ఆ హార్డ్ కాదు ఆ దీర్ఘ చతురస్రాలు లో మధ్య రెండు 834 00:38:13,100 --> 00:38:16,750 లేదా ఆ ల రెండు, మేము ప్రారంభిస్తాము ఒక కొత్త నోడ్ లో చాలు, వాటిని పిలుపు 835 00:38:16,750 --> 00:38:19,547 ఆపై కొన్ని కొత్త థ్రెడ్ తో, కేవలం కలిసి మూడు నోడ్స్ కందకాలు త్రవ్వడానికి, 836 00:38:19,547 --> 00:38:22,880 మొదటి ఒకటి, చివరి, మరియు ఒక మీరు కేవలం మధ్య ఇన్సర్ట్ ఆ. 837 00:38:22,880 --> 00:38:26,000 >> నిజానికి ఒక లింక్ జాబితా ఒక శ్రేణి కాకుండా, డైనమిక్ ఉంది. 838 00:38:26,000 --> 00:38:27,840 అది పెరుగుతాయి మరియు ఇది చెయ్యవచ్చు ముడుచుకుపోవడం మీరు లేదు 839 00:38:27,840 --> 00:38:32,434 తెలిసిన లేదా ముందుగానే ఎలా లో శ్రమ కలిగి చాలా డేటా మీరు నిల్వ చూడాలని, 840 00:38:32,434 --> 00:38:35,600 కానీ అది మేము కొద్దిగా మారుతుంది ఈ అమలు ఎలా జాగ్రత్తగా. 841 00:38:35,600 --> 00:38:39,070 కాబట్టి మొదటి యొక్క మేము అమలు ఎలా భావిస్తారు తెలియజేయండి ఈ చిన్న దీర్ఘ చతురస్రాలు ఒకటి. 842 00:38:39,070 --> 00:38:40,690 ఇది ఒక పూర్ణాంకానికి అమలు సులభం. 843 00:38:40,690 --> 00:38:44,000 మీరు కేవలం అప్పుడు పూర్ణాంకానికి n మరియు చెప్పటానికి మీరు ఒక పూర్ణాంకానికి 4 బైట్లు పొందడానికి, 844 00:38:44,000 --> 00:38:49,089 కానీ నేను ఒక పూర్ణాంకానికి పొందుతారు లేదు ఎలా, n కాల్ ఆపై ఒక పాయింటర్ యొక్క తదుపరి కాల్ తెలియజేయండి. 845 00:38:49,089 --> 00:38:50,880 మేము ఈ కాల్ కాలేదు విషయాలు ఏదైనా మేము కావలసిన 846 00:38:50,880 --> 00:38:53,590 కానీ నేను ఒక కస్టమ్ డేటా నిర్మాణం అవసరం. 847 00:38:53,590 --> 00:38:54,257 అవును? 848 00:38:54,257 --> 00:38:57,020 >> ప్రేక్షకులు: ఎమ్పారసన్డ్ [వినబడని]. 849 00:38:57,020 --> 00:39:00,940 >> DAVID మలన్: సో ఆంపర్సండ్ చిహ్నం మేము ఉపయోగిస్తాము సమర్థవంతంగా ఒక నోడ్ యొక్క చిరునామా పొందుటకు. 850 00:39:00,940 --> 00:39:02,740 కానీ మేము మరొక అవసరం సి ఫీచర్ క్రమంలో 851 00:39:02,740 --> 00:39:06,700 నాకు సృష్టించే సామర్థ్యం ఇవ్వాలని ఈ ఆచారం దీర్ఘచతురస్ర, ఈ ఆచారం 852 00:39:06,700 --> 00:39:08,919 వేరియబుల్ మీరు మెమరీలో, రెడీ ఉంటే. 853 00:39:08,919 --> 00:39:09,710 ప్రేక్షకులు: ఒక struct. 854 00:39:09,710 --> 00:39:10,626 DAVID మలన్: ఒక struct. 855 00:39:10,626 --> 00:39:14,310 గత వారం నుండి రీకాల్ మేము పరిచయం struct, ఈ చాలా సులభం కీవర్డ్ 856 00:39:14,310 --> 00:39:16,254 మాకు ఈ వంటి విషయాలు చేయడానికి అనుమతిస్తుంది. 857 00:39:16,254 --> 00:39:18,420 సి డేటా రాలేదు నిర్మాణం విద్యార్థి అని. 858 00:39:18,420 --> 00:39:22,190 ఇది Int మరియు ఫ్లోట్ మరియు చార్ మరియు వస్తుంది అటువంటి, కానీ విద్యార్థి తో రాదు, 859 00:39:22,190 --> 00:39:26,750 కానీ మేము ఒక విద్యార్థి డేటా రకం సృష్టించవచ్చు, ఈ సింటాక్స్ తో ఒక విద్యార్థి నిర్మాణం, 860 00:39:26,750 --> 00:39:27,250 ఇక్కడ. 861 00:39:27,250 --> 00:39:28,350 మరియు మీరు మళ్ళీ మళ్ళీ ఈ చూస్తారు. 862 00:39:28,350 --> 00:39:30,426 సో గురించి ఆందోళన లేదు కీవర్డ్లు గుర్తుంచుకోవడం, 863 00:39:30,426 --> 00:39:33,300 కానీ ముఖ్యమైన అని కీవర్డ్ ఉంది మేము చెప్పారు కేవలం నిజానికి struct 864 00:39:33,300 --> 00:39:37,590 మరియు తర్వాత మేము అది విద్యార్థి అని మరియు లోపల విద్యార్థి ఒక పేరు మరియు ఒక ఇల్లు ఉంది 865 00:39:37,590 --> 00:39:39,390 ఒక వసతి లేదా వంటి లేదా. 866 00:39:39,390 --> 00:39:41,980 >> కాబట్టి ఇప్పుడు నేడు, ఈ ప్రపోజ్ తెలియజేయండి. 867 00:39:41,980 --> 00:39:45,240 నేను కొన్ని పదాలు జోడించారు, కానీ నేను కావాలా చేసిన ఆ ఈ దీర్ఘ చతురస్రం అమలు 868 00:39:45,240 --> 00:39:48,440 ఒక Int మరియు రెండు వచ్చింది పాయింటర్, మీరు, నేను ఏమి నాకు తెలుసు 869 00:39:48,440 --> 00:39:51,540 కణుపు అని పిలిచే ఒక struct ప్రకటించాలని జరగబోతోంది. 870 00:39:51,540 --> 00:39:55,630 నేను చెప్పడానికి వెళ్ళడం, అది లోపలి, చూపుతాను ఒక నోడ్, ఈ దీర్ఘ చతురస్రం, ఒక పూర్ణాంకానికి ఉంది 871 00:39:55,630 --> 00:39:59,730 మరియు మేము కాల్ చేస్తాము n మరియు అది ఒక తదుపరి పాయింటర్ ఉంది. 872 00:39:59,730 --> 00:40:02,540 మరియు ఈ, కొద్దిగా మందమైన ఉంది కానీ మీరు దాని గురించి అనుకుంటే, 873 00:40:02,540 --> 00:40:07,300 చిత్రంలో అని బాణాలు ఒక క్షణం క్రితం ఏమిటి డేటా రకం ఉన్నాయి? 874 00:40:07,300 --> 00:40:12,330 ఎక్కడ ఆ బాణాలు ప్రతి సూచించబడిన డేటా నిర్మాణం ఏ రకం? 875 00:40:12,330 --> 00:40:14,332 ఇది కేవలం పర్ సే ఒక పూర్ణాంకానికి సూచించే. 876 00:40:14,332 --> 00:40:16,165 ఇది సూచించే మొత్తం దీర్ఘచతురస్రాకార విషయం 877 00:40:16,165 --> 00:40:18,720 మరియు దీర్ఘచతురస్రాకార విషయం మేము ఒక నోడ్ అంటారు, చెప్పారు. 878 00:40:18,720 --> 00:40:21,720 కాబట్టి మేము రకమైన కలిగి సంభవించేలా ఈ అటువంటి నిర్వచించే 879 00:40:21,720 --> 00:40:26,270 ఒక నోడ్ ఆ, మేము చెప్పడానికి కమిటీ n అనే ఒక Int కలిగి ఉంటుంది 880 00:40:26,270 --> 00:40:31,070 మరియు ఒక పాయింటర్ తదుపరి మరియు అని ఇది డేటా నిర్మాణం రకం 881 00:40:31,070 --> 00:40:35,770 ఆ పాయింటర్ స్పష్టంగా ఉంది struct నోడ్ అవతరిస్తుంది. 882 00:40:35,770 --> 00:40:41,550 >> కాబట్టి ఈ annoyingly వాచాల ఉంది మరియు కేవలం పాండిత్య ప్రకర్ష ఉండాలి 883 00:40:41,550 --> 00:40:44,100 కారణం ఎందుకు కాదు ఈ చెప్పటానికి, ఇది స్పష్టముగా 884 00:40:44,100 --> 00:40:46,860 , చాలా రీడబుల్ కనిపిస్తోంది రీకాల్ చదవండి సి ఎందుకంటే 885 00:40:46,860 --> 00:40:48,710 విషయాలు పైనుంచి, ఎడమ. 886 00:40:48,710 --> 00:40:54,120 మేము సెమికోలన్ వచ్చేవరకు ఇది కాదు కీవర్డ్ నోడ్ వాస్తవానికి ఉందని. 887 00:40:54,120 --> 00:40:57,980 మేము ఈ విధమైన కలిగి అనుకుంటే డేటా లోపల చక్రీయ సూచన 888 00:40:57,980 --> 00:41:02,120 నిర్మాణం, మేము దీన్ని కలిగి, పేరు మేము ఎగువన struct నోడ్ చెప్పవు 889 00:41:02,120 --> 00:41:06,770 మాకు ఈ వివరించే ఒక ఇక మార్గం ఇస్తుంది విషయం, మేము struct నోడ్ సే అప్పుడు లోపల, 890 00:41:06,770 --> 00:41:09,560 మరియు అప్పుడు చాలా చివరి పంక్తి వద్ద మేము చెప్పటానికి, అన్ని కుడి, సి, ద్వారా, 891 00:41:09,560 --> 00:41:12,060 కేవలం ఈ మొత్తం తిట్టు కాల్ విషయం ఒక నోడ్ మరియు ఆపడానికి 892 00:41:12,060 --> 00:41:14,360 మొత్తంగా కీవర్డ్ struct ఉపయోగించి. 893 00:41:14,360 --> 00:41:18,030 కాబట్టి ఈ కేవలం ఒక వాక్యనిర్మాణ ఉంది చివరకు మాకు సృష్టించడానికి అనుమతిస్తుంది ఆ ట్రిక్ 894 00:41:18,030 --> 00:41:21,370 సరిగ్గా ఈ కనిపించే ఏదో. 895 00:41:21,370 --> 00:41:25,010 >> మేము ఇప్పుడు ఊహించుకోవటం మేము చేస్తే కాబట్టి సి లో ఈ విషయం అమలు, 896 00:41:25,010 --> 00:41:28,040 ఎలా నిజానికి మేము ఈ నదీ ప్రవాహానికి అడ్డంగా ప్రయాణం మొదలు? 897 00:41:28,040 --> 00:41:32,360 Well, నిజానికి, మేము చేయాల్సిందల్లా ఉంది కుడి మరియు ఎడమ నుండి iterate 898 00:41:32,360 --> 00:41:35,960 రకమైన నోడ్స్ ఇన్సర్ట్ లేదా నోడ్స్ తొలగించండి లేదా మేము కావలసిన చోట విషయాలు కోసం వెతకవచ్చు, 899 00:41:35,960 --> 00:41:39,560 కానీ దీన్ని, యొక్క ముందుకు వెళ్లి తయారు చేద్దాము విషయాలు కొద్దిగా మరింత నిజ ఎందుకంటే 900 00:41:39,560 --> 00:41:42,560 ఇప్పటివరకు సూపర్ తక్కువ స్థాయి ఉంది. 901 00:41:42,560 --> 00:41:45,700 ఎవరైనా అక్షరాలా మొదటి ఉండాలని కోరుకుంటారు? 902 00:41:45,700 --> 00:41:46,200 అలాగే. 903 00:41:46,200 --> 00:41:47,092 అప్ న వస్తాయి. 904 00:41:47,092 --> 00:41:47,800 నీ పేరు ఏమిటి? 905 00:41:47,800 --> 00:41:48,499 >> DAVID: డేవిడ్. 906 00:41:48,499 --> 00:41:49,290 DAVID మలన్: డేవిడ్. 907 00:41:49,290 --> 00:41:49,998 మిమ్ములని కలసినందుకు సంతోషం. 908 00:41:49,998 --> 00:41:50,960 నేను కూడా. 909 00:41:50,960 --> 00:41:52,450 అయితే సరే. 910 00:41:52,450 --> 00:41:53,990 మరియు మేము ఒక సంఖ్య 9 అవసరం. 911 00:41:53,990 --> 00:41:55,240 మంచి Not మొదటి, బహుశా. 912 00:41:55,240 --> 00:41:56,430 సరే, సంఖ్య 9. 913 00:41:56,430 --> 00:41:59,667 ఒక సంఖ్య 17, దయచేసి. 914 00:41:59,667 --> 00:42:01,000 నాకు కొద్దిగా దూరంగా వెళదాం. 915 00:42:01,000 --> 00:42:03,980 సంఖ్య 22, దయచేసి, మరియు ఎలా దూరంగా వెనుక గురించి 916 00:42:03,980 --> 00:42:06,344 నేను ఏ చేతులు చూడగలరు ఉంటే అన్ని కాంతి లేదా సంఖ్య తో. 917 00:42:06,344 --> 00:42:08,010 ఎవరో అక్కడే స్వచ్ఛందంగా చేయబడిన. 918 00:42:08,010 --> 00:42:08,968 మీరు అప్ వచ్చిన అనుకుంటున్నారు? 919 00:42:08,968 --> 00:42:10,450 మీ ముంజేయి బలవంతంగా అప్ అన్నారు. 920 00:42:10,450 --> 00:42:12,340 17 OK. 921 00:42:12,340 --> 00:42:13,690 22. 922 00:42:13,690 --> 00:42:15,120 26 డౌన్ వస్తోంది. 923 00:42:15,120 --> 00:42:18,450 ఎవరికీ అనుకుంటున్నారా forcefully-- అప్ న వస్తాయి. 924 00:42:18,450 --> 00:42:21,030 ఒక వాస్తవ స్వచ్చంద. 925 00:42:21,030 --> 00:42:23,330 >> కాబట్టి చాలా త్వరగా, ఉంటే మీరు అబ్బాయిలు ఏర్పాటు చేయవచ్చు 926 00:42:23,330 --> 00:42:26,550 నిన్ను నీవు కేవలం ఇష్టం తెరపై నోడ్స్. 927 00:42:26,550 --> 00:42:27,510 ధన్యవాదాలు. 928 00:42:27,510 --> 00:42:29,234 మరియు మీరు 26 ఉంటాం. 929 00:42:29,234 --> 00:42:30,650 అన్ని కుడి మరియు శీఘ్ర పరిచయాలు. 930 00:42:30,650 --> 00:42:32,139 కాబట్టి నేను డేవిడ్ ఉన్నాను మరియు మీకు కూడా ఉన్నాయి? 931 00:42:32,139 --> 00:42:32,680 DAVID: డేవిడ్. 932 00:42:32,680 --> 00:42:33,721 DAVID మలన్: మీరు? 933 00:42:33,721 --> 00:42:34,229 జేక్: జేక్. 934 00:42:34,229 --> 00:42:34,729 SUE: స్యూ. 935 00:42:34,729 --> 00:42:35,229 ALEX: అలెక్స్. 936 00:42:35,229 --> 00:42:36,475 రాఫీల్: రాఫెల్. 937 00:42:36,475 --> 00:42:37,100 TAYLOR: టేలర్. 938 00:42:37,100 --> 00:42:37,466 DAVID మలన్: టేలర్. 939 00:42:37,466 --> 00:42:37,590 అద్భుతమైన. 940 00:42:37,590 --> 00:42:39,810 కాబట్టి ఈ మా స్వచ్ఛందంగా నేడు మరియు ముందుకు వెళ్ళి 941 00:42:39,810 --> 00:42:43,090 మరియు ఆ విధంగా కొద్దిగా మారవచ్చు మరియు కేవలం ముందుకు వెళ్ళి ఉంచడానికి 942 00:42:43,090 --> 00:42:47,024 మీరు లేదా మీ మీ హోల్డింగ్ సంఖ్యలు మొదటి సైన్ మరియు మీ ఎడమ చేతి ఉపయోగించి, 943 00:42:47,024 --> 00:42:48,940 ముందుకు వెళ్లి కేవలం అమలు ఈ బాణాలు, కేవలం 944 00:42:48,940 --> 00:42:51,360 మీ ఎడమ చేతి వాచ్యంగా ఉంది కాబట్టి మీరు సూచించండి ఉండాలి సంసార వద్ద గురిపెట్టి 945 00:42:51,360 --> 00:42:54,610 మరియు మిమ్మల్ని మీరు కనుక కొన్ని గది ఇవ్వాలని మేము దృష్టి నిజానికి మీ చేతులు చూడగలరు 946 00:42:54,610 --> 00:42:58,120 పాయింటింగ్, మరియు మీరు కేవలం పాయింటు విధమైన గ్రౌండ్ వద్ద జరిమానా ఉంది. 947 00:42:58,120 --> 00:43:03,040 >> కాబట్టి ఇక్కడ ఒక ఒక లింక్ జాబితా రెండు, మూడు, నాలుగు, ఐదు నోడ్స్ ప్రారంభంలో, 948 00:43:03,040 --> 00:43:05,860 మరియు మేము ఈ ప్రత్యేక గమనించవచ్చు ఎవరు ప్రారంభంలో పాయింటర్ 949 00:43:05,860 --> 00:43:09,770 కీ మేము ట్రాక్ కలిగి ఎందుకంటే మొత్తం పొడవు జాబితా ఏదో. 950 00:43:09,770 --> 00:43:13,590 వారు వదిలి అయివున్నప్పటికీ ఈ కుర్రాళ్ళు, కుడి తిరిగి మెమరీలో వెనుకకు 951 00:43:13,590 --> 00:43:15,950 వారు నిజానికి ఎంతైనా ఉండవచ్చు కంప్యూటర్ యొక్క మెమరీ లో. 952 00:43:15,950 --> 00:43:18,240 సో ఈ కుర్రాళ్ళు కావచ్చు వేదికపై ఎక్కడైనా నిలబడి 953 00:43:18,240 --> 00:43:20,960 మరియు ఆ కాలం వారు చేస్తున్నపుడు, మంచిది నిజానికి మరొక వద్ద గురిపెట్టి, 954 00:43:20,960 --> 00:43:22,770 కానీ విషయాలను శుభ్రంగా మరియు సాధారణ, మేము చేస్తాము 955 00:43:22,770 --> 00:43:25,728 కేవలం వాటిని డ్రా వంటి కుడి ఎడమ ఈ, కానీ భారీ ఖాళీలు ఉండవచ్చు 956 00:43:25,728 --> 00:43:26,790 ఆ ల మధ్య లో. 957 00:43:26,790 --> 00:43:30,710 >> ఇప్పుడు, నేను నిజానికి కొన్ని ఇన్సర్ట్ అనుకుంటే కొత్త విలువ యొక్క ముందుకు వెళ్లి మనం. 958 00:43:30,710 --> 00:43:33,720 మేము ఇప్పుడు అవకాశం కలిగి మరొక నోడ్ ఎంచుకోవడానికి. 959 00:43:33,720 --> 00:43:39,820 55 mallocing ఆఫ్ ప్రారంభిద్దాం సే. 960 00:43:39,820 --> 00:43:41,320 ఎవరైనా malloc ఉండటం పట్టించుకోవడం అనుకుంటున్నారా? 961 00:43:41,320 --> 00:43:42,280 సరే, అప్ న వస్తాయి. 962 00:43:42,280 --> 00:43:42,992 నీ పేరు ఏమిటి? 963 00:43:42,992 --> 00:43:43,700 RAINBOW: హరివిల్లు. 964 00:43:43,700 --> 00:43:44,050 DAVID మలన్: రెయిన్బో? 965 00:43:44,050 --> 00:43:44,810 అయితే సరే. 966 00:43:44,810 --> 00:43:46,600 Malloc హరివిల్లు. 967 00:43:46,600 --> 00:43:47,450 అప్ న వస్తాయి. 968 00:43:47,450 --> 00:43:51,610 కాబట్టి ఇప్పుడు మనం గోవా సమస్య పరిష్కారానికి ఉపయోగించే మేము 55 ఉంచవచ్చు పేరు. 969 00:43:51,610 --> 00:43:53,610 సో మాకు అన్ని తెలుసు, సహజంగా, అక్కడ ఆమె బహుశా 970 00:43:53,610 --> 00:43:55,401 మేము ప్రయత్నిస్తున్న ఉంటే చెందినది ఈ క్రమబద్ధీకరించబడింది ఉంచడానికి 971 00:43:55,401 --> 00:43:58,299 మరియు మీరు అబ్బాయిలు ఒక పడుతుంది ఉంటే తిరిగి అడుగు కాబట్టి మేము ఆఫ్ రాని 972 00:43:58,299 --> 00:43:59,590 వేదిక, ఆ గొప్ప ఉంటుంది. 973 00:43:59,590 --> 00:44:01,420 కాబట్టి నిజంగా, హరివిల్లు, నాతో ఇక్కడ పైగా మొదలు, 974 00:44:01,420 --> 00:44:04,200 ఎందుకంటే మేము ఇప్పుడు కంప్యూటర్ మాత్రమే ఒక సమయంలో ఒక వేరియబుల్ చూడండి. 975 00:44:04,200 --> 00:44:05,190 ఈ మొదటి నోడ్ ఉంటే కాబట్టి. 976 00:44:05,190 --> 00:44:07,160 అతను ఒక నోడ్ కాదు గమనించండి అతను కేవలం ఒక పాయింటర్ ఉంది 977 00:44:07,160 --> 00:44:10,270 అతను చిత్రీకరిస్తారు ఎందుకు ఆ ఒక పాయింటర్ మాత్రమే పరిమాణం కాదు 978 00:44:10,270 --> 00:44:11,780 ఆ పూర్తి దీర్ఘ చతురస్రాలు ఒకటి. 979 00:44:11,780 --> 00:44:16,650 కాబట్టి మేము ప్రతి వద్ద తనిఖీ చూడాలని మళ్ళా 9 కంటే 55 తక్కువ? 980 00:44:16,650 --> 00:44:17,150 నం 981 00:44:17,150 --> 00:44:19,060 17 కంటే 55 తక్కువ? 982 00:44:19,060 --> 00:44:19,720 నం 983 00:44:19,720 --> 00:44:20,800 22 కంటే తక్కువ? 984 00:44:20,800 --> 00:44:22,020 26 కంటే తక్కువ? 985 00:44:22,020 --> 00:44:23,390 34 కంటే తక్కువ? 986 00:44:23,390 --> 00:44:25,890 కాబట్టి ఇప్పుడు, స్పష్టంగా రెయిన్బో చివరిలో చెందినది. 987 00:44:25,890 --> 00:44:27,270 కాబట్టి స్పష్టతను, మరియు ఏమి మీ పేరు, టేలర్ ఉంది? 988 00:44:27,270 --> 00:44:27,895 >> TAYLOR: టేలర్. 989 00:44:27,895 --> 00:44:32,510 DAVID మలన్: టేలర్ యొక్క మధ్య కాబట్టి ఎడమ చేతి మరియు ఇక్కడ రెయిన్బో యొక్క చేతులు, 990 00:44:32,510 --> 00:44:38,324 దీని చేతిలో ఏమి సూచించడానికి అవసరం ఈ జాబితా లోకి 55 ఇన్సర్ట్ చెయ్యడానికి? 991 00:44:38,324 --> 00:44:39,240 మనం ఏమి చేయాలి? 992 00:44:39,240 --> 00:44:39,700 అవును? 993 00:44:39,700 --> 00:44:41,140 >> ప్రేక్షకులు: టేలర్ యొక్క చేతి ఎడమ అభిప్రాయపడుతున్నారు అవసరం. 994 00:44:41,140 --> 00:44:41,680 >> DAVID మలన్: ఖచ్చితంగా. 995 00:44:41,680 --> 00:44:43,800 సో ఒక నోడ్ ఇన్సర్ట్ జాబితా చివరకు లోకి 996 00:44:43,800 --> 00:44:47,140 అందంగా సులభం ఎందుకంటే టేలర్ కేవలం గ్రౌండ్ వద్ద బదులుగా, అభిప్రాయపడుతున్నారు ఉంది 997 00:44:47,140 --> 00:44:49,640 లేదా మేము శూన్య పిలుస్తాను శూన్య లేకపోవడంతో యొక్క విధమైన ఉంది 998 00:44:49,640 --> 00:44:51,640 ఒక పాయింటర్ లేదా ఒక ప్రత్యేక సున్నా పాయింటర్, మీరు 999 00:44:51,640 --> 00:44:53,740 మీ ఎడమ సూచించడానికి జరగబోతోంది చేతి రెయిన్బో మరియు అప్పుడు రెయిన్బో వద్ద, 1000 00:44:53,740 --> 00:44:55,910 పేరు మీ ఎడమ తప్పక చేతి బహుశా అభిప్రాయపడుతున్నారు? 1001 00:44:55,910 --> 00:44:56,570 డౌన్. 1002 00:44:56,570 --> 00:45:00,140 ఆమె చేతి విధమైన ఉంటే అది మంచి కాదు ఇక్కడ లేదా విధమైన ఏ ఆఫ్ గురిపెట్టడం 1003 00:45:00,140 --> 00:45:00,640 ఇది మార్గం. 1004 00:45:00,640 --> 00:45:02,407 ఆ పరిగణించిన ఒక చెత్త విలువ, 1005 00:45:02,407 --> 00:45:04,240 కానీ ఆమె చూపాడు ఉంటే కొన్ని వాల్యూ, మేము చేస్తాము 1006 00:45:04,240 --> 00:45:07,360 సున్నా లేదా శూన్య కాల్, ఆ సరే మేము ఈ లో ఒక పదం ఎందుకంటే 1007 00:45:07,360 --> 00:45:09,390 మరియు మేము జాబితా ఇప్పుడు పూర్తయ్యింది తెలుసు. 1008 00:45:09,390 --> 00:45:11,550 >> సో వాట్ ఇంకొక సాపేక్షంగా సాధారణ కేసు? 1009 00:45:11,550 --> 00:45:13,125 మేము 5 malloc కాలేదు? 1010 00:45:13,125 --> 00:45:14,010 అప్ న వస్తాయి. 1011 00:45:14,010 --> 00:45:14,782 నీ పేరు ఏమిటి? 1012 00:45:14,782 --> 00:45:15,490 TIFFANY: Tiffany. 1013 00:45:15,490 --> 00:45:16,000 DAVID మలన్: నేను క్షమించండి రెడీ? 1014 00:45:16,000 --> 00:45:16,470 TIFFANY: Tiffany. 1015 00:45:16,470 --> 00:45:16,880 DAVID మలన్: Tiffany. 1016 00:45:16,880 --> 00:45:17,110 అయితే సరే. 1017 00:45:17,110 --> 00:45:19,071 Tiffany malloced చేయబడింది విలువ 5 తో. 1018 00:45:19,071 --> 00:45:19,570 అప్ న వస్తాయి. 1019 00:45:19,570 --> 00:45:23,820 ఈ ఒక, చాలా సాపేక్షంగా సులభం కాని ఇప్పుడు క్రియల క్రమం పరిశీలిద్దాం. 1020 00:45:23,820 --> 00:45:25,820 ఇది చాలా సులభం చివరిలో టేలర్ తో. 1021 00:45:25,820 --> 00:45:30,302 సంఖ్య 5, కోర్సు కంటే తక్కువ 9 యొక్క అందువలన మేము, మేము Tiffany కలిగి, డేవిడ్ కలిగి 1022 00:45:30,302 --> 00:45:31,260 మరియు మీ పేరు ఏమిటి? 1023 00:45:31,260 --> 00:45:31,680 >> జేక్: జేక్. 1024 00:45:31,680 --> 00:45:32,470 >> DAVID మలన్: జేక్. 1025 00:45:32,470 --> 00:45:34,300 Tiffany, జేక్ మరియు డేవిడ్. 1026 00:45:34,300 --> 00:45:36,580 ఎవరి వైపు మొదటి నవీకరించబడింది చేయాలి? 1027 00:45:36,580 --> 00:45:39,260 1028 00:45:39,260 --> 00:45:40,590 ఏం మీరు ఇక్కడ ఏమి అనుకుంటున్నారు? 1029 00:45:40,590 --> 00:45:45,244 ఒక జంట సాధ్యం మార్గాలు ఉన్నాయి కానీ ఒకటి లేదా మరింత తప్పు మార్గాలు కూడా ఉంది. 1030 00:45:45,244 --> 00:45:46,620 >> ప్రేక్షకులు: ఎడమవైపున ప్రారంభించండి. 1031 00:45:46,620 --> 00:45:47,800 >> DAVID మలన్: ఎడమవైపున ప్రారంభించండి. 1032 00:45:47,800 --> 00:45:49,008 ఎవరు ఇక్కడ ఎడమవైపున వార్తలు? 1033 00:45:49,008 --> 00:45:49,700 ప్రేక్షకులు: మొదటి. 1034 00:45:49,700 --> 00:45:50,366 >> DAVID మలన్: సరే. 1035 00:45:50,366 --> 00:45:53,781 కాబట్టి మొదటి ప్రారంభం మరియు మీరు పేరు చేస్తారు డేవిడ్ యొక్క చేతులు అప్డేట్ అనుకుంటున్నారా? 1036 00:45:53,781 --> 00:45:54,780 ప్రేక్షకులు: 5 వైపు. 1037 00:45:54,780 --> 00:45:55,446 DAVID మలన్: సరే. 1038 00:45:55,446 --> 00:45:59,026 ఐదు వద్ద అందువలన డేవిడ్, పాయింట్ లేదా Tiffany ఇక్కడ, మరియు ఇప్పుడు? 1039 00:45:59,026 --> 00:46:01,072 >> ప్రేక్షకులు: Tiffany 9 పాయింట్లు? 1040 00:46:01,072 --> 00:46:04,030 DAVID మలన్: పర్ఫెక్ట్ Binky, లు తప్ప తల కేవలం రకమైన కుడి తెగిపోయే? 1041 00:46:04,030 --> 00:46:06,820 తప్పు ఏది ఎందుకంటే వాచ్యంగా ఈ చిత్రం? 1042 00:46:06,820 --> 00:46:08,070 ప్రేక్షకులు: నథింగ్ సూచించబడిన. 1043 00:46:08,070 --> 00:46:09,945 DAVID మలన్: నథింగ్ ఉంది ఇప్పుడు జేక్ గురిపెట్టి. 1044 00:46:09,945 --> 00:46:13,360 మేము అక్షరాలా 9 అనాథ చేసిన మరియు 17 మరియు మేము అక్షరాలా చేసిన 1045 00:46:13,360 --> 00:46:18,450 ఈ మెమరీ అన్ని వెల్లడైంది ఎందుకంటే మొదటి దావీదును నవీకరించుటకు, ఆ 1046 00:46:18,450 --> 00:46:21,660 ఇది సరిగ్గా పని గా అజమాయిషీ జరిమానా ఇప్పుడు Tiffany వద్ద గురిపెట్టి, 1047 00:46:21,660 --> 00:46:25,410 కానీ ఎవరూ కలిగి ఉంటే జేక్ సూచించడానికి దూరదృష్టి, 1048 00:46:25,410 --> 00:46:27,490 అప్పుడు మేము కోల్పోయి ఆ జాబితాలో సంపూర్ణంగా. 1049 00:46:27,490 --> 00:46:28,200 కాబట్టి యొక్క దిద్దుబాటు రద్దుచెయ్యి వీలు. 1050 00:46:28,200 --> 00:46:30,950 కాబట్టి ఒక మంచి విషయం ఉంది పైగా ట్రిప్ కానీ ఇప్పుడు సరిదిద్దడానికి. 1051 00:46:30,950 --> 00:46:33,624 మనం మొదటి బదులుగా చెయ్యాలి? 1052 00:46:33,624 --> 00:46:34,124 అవును? 1053 00:46:34,124 --> 00:46:35,791 >> ప్రేక్షకులు: Tiffany 9 సూచించడానికి ఉండాలి? 1054 00:46:35,791 --> 00:46:37,582 DAVID మలన్: నేను కాదు మీరు దగ్గరగా పొందుటకు. 1055 00:46:37,582 --> 00:46:38,720 9 ఎవరు సూచించాలి? 1056 00:46:38,720 --> 00:46:39,220 >> ప్రేక్షకులు: Tiffany. 1057 00:46:39,220 --> 00:46:39,390 >> DAVID మలన్: అన్ని కుడి. 1058 00:46:39,390 --> 00:46:41,200 కాబట్టి Tiffany 9 వద్ద మొదటి సూచించాలి. 1059 00:46:41,200 --> 00:46:43,550 కాబట్టి Tiffany తీసుకోవాలి ఒక ఏకరూప విలువ 1060 00:46:43,550 --> 00:46:45,820 దావీదుకు, తెలుస్తోంది ఒక క్షణం పునరావృత 1061 00:46:45,820 --> 00:46:48,820 కానీ ఆ రెండవ, ఎందుకంటే ఇప్పుడు మంచిది స్టెప్, మేము దావీదును నవీకరించవచ్చు 1062 00:46:48,820 --> 00:46:52,680 Tiffany వద్ద, ఆపై ఉంటే అభిప్రాయపడుతున్నారు మేము కేవలం రకమైన పైకి విషయాలు శుభ్రం 1063 00:46:52,680 --> 00:46:55,740 ఈ వసంత వంటి రకమైన ఉంది అయితే, ఇప్పుడు ఒక సరైన చొప్పించడం వార్తలు. 1064 00:46:55,740 --> 00:46:56,700 కాబట్టి అద్భుతమైన. 1065 00:46:56,700 --> 00:46:57,970 కాబట్టి ఇప్పుడు మేము దాదాపు అక్కడ ఉన్నారు. 1066 00:46:57,970 --> 00:47:01,075 యొక్క ఒక చివరి ఇన్సర్ట్ లెట్ విలువ 20 వంటి విలువ. 1067 00:47:01,075 --> 00:47:03,010 మేము ఒక చివరి స్వచ్ఛంద malloc ఉంటే? 1068 00:47:03,010 --> 00:47:04,140 అప్ న వస్తాయి. 1069 00:47:04,140 --> 00:47:06,224 కాబట్టి ఈ ఒక కొంచెం గమ్మత్తైన. 1070 00:47:06,224 --> 00:47:08,390 కానీ నిజంగా, కోడ్ మేము ఉన్నాము రాయడం, మాటలతో అయినప్పటికీ, 1071 00:47:08,390 --> 00:47:10,610 కేవలం ఒక బంచ్ కలిగి వంటిది ఇప్పుడు పరిస్థితులు, కుడి ఉంటే? 1072 00:47:10,610 --> 00:47:12,318 మేము ఒక పరిస్థితి వచ్చింది ఇది చెందినది ఉంటే తనిఖీ 1073 00:47:12,318 --> 00:47:13,840 ముగింపు, బహుశా ప్రారంభంలో. 1074 00:47:13,840 --> 00:47:15,940 మేము లూప్ ఒకరకమైన అవసరం మధ్యలో స్పాట్ కనుగొనేందుకు. 1075 00:47:15,940 --> 00:47:17,400 కాబట్టి యొక్క మీ పేరు ఏమిటి ఆ తెలియజేసేలా? 1076 00:47:17,400 --> 00:47:17,700 >> ERIC: ఎరిక్. 1077 00:47:17,700 --> 00:47:18,340 >> DAVID మలన్: ఎరిక్? 1078 00:47:18,340 --> 00:47:18,660 ఎరిక్. 1079 00:47:18,660 --> 00:47:19,368 మిమ్ములని కలసినందుకు సంతోషం. 1080 00:47:19,368 --> 00:47:20,490 కాబట్టి మేము 20 ఉన్నాయి. 1081 00:47:20,490 --> 00:47:21,220 ఐదు కంటే తక్కువ? 1082 00:47:21,220 --> 00:47:21,530 నం 1083 00:47:21,530 --> 00:47:22,160 తొమ్మిది కంటే తక్కువ? 1084 00:47:22,160 --> 00:47:22,410 నం 1085 00:47:22,410 --> 00:47:23,050 17 కంటే తక్కువ? 1086 00:47:23,050 --> 00:47:23,550 నం 1087 00:47:23,550 --> 00:47:23,740 అలాగే. 1088 00:47:23,740 --> 00:47:25,701 ఆయన ఇక్కడ చెందిన మరియు మీ పేర్లు మరోసారి? 1089 00:47:25,701 --> 00:47:26,200 SUE: స్యూ. 1090 00:47:26,200 --> 00:47:26,880 DAVID మలన్: స్యూ. 1091 00:47:26,880 --> 00:47:27,379 ALEX: అలెక్స్. 1092 00:47:27,379 --> 00:47:28,790 DAVID మలన్: స్యూ, అలెక్స్, మరియు? 1093 00:47:28,790 --> 00:47:29,290 ERIC: ఎరిక్. 1094 00:47:29,290 --> 00:47:30,120 DAVID మలన్: ఎరిక్. 1095 00:47:30,120 --> 00:47:32,140 ఎవరి చేతులు మొదటి నవీకరించబడింది చేసుకోవాలని అవసరం? 1096 00:47:32,140 --> 00:47:32,930 >> ప్రేక్షకులు: ఎరిక్. 1097 00:47:32,930 --> 00:47:33,429 అలాగే. 1098 00:47:33,429 --> 00:47:35,200 కాబట్టి ఎరిక్ యొక్క పేరు సూచించడానికి ఉండాలి? 1099 00:47:35,200 --> 00:47:35,930 22 వద్ద. 1100 00:47:35,930 --> 00:47:36,430 గుడ్. 1101 00:47:36,430 --> 00:47:38,180 ఇప్పుడు తదుపరి ఏమిటి? 1102 00:47:38,180 --> 00:47:40,800 స్యూ అప్పుడు ఎరిక్ వద్ద చూపుతూ చేయవచ్చు మరియు ఇప్పుడు, మీరు అబ్బాయిలు కేవలం 1103 00:47:40,800 --> 00:47:44,077 జరిమానా ఇది కొన్ని గది, తయారు దృశ్యపరంగా, ఇప్పుడు మేము చొప్పించడం చేశాను. 1104 00:47:44,077 --> 00:47:47,160 కాబట్టి యొక్క ఇప్పుడు ఒక ప్రశ్న పరిశీలిద్దాం కానీ మా వాలంటీర్లు కోసం చాలా ధన్యవాదాలు. 1105 00:47:47,160 --> 00:47:48,090 చాలా బాగా చేసారు. 1106 00:47:48,090 --> 00:47:50,831 మీరు కోరుకుంటే, ఆ ఉంచుకోవచ్చు. 1107 00:47:50,831 --> 00:47:54,140 మరియు మేము ఒక సుందరమైన విడిపోవడానికి బహుమతిగా ఉంటే కలిగి మీరు ప్రతి ఒక ఒత్తిడి బంతి తీసుకోవాలని అవ్వాలనుకుంటే. 1108 00:47:54,140 --> 00:47:56,030 నాకు ఈ డౌన్ పాస్ లెట్. 1109 00:47:56,030 --> 00:47:58,430 కాబట్టి ఈ takeaway ఏమిటి? 1110 00:47:58,430 --> 00:48:02,430 ఈ అద్భుతమైన ఉన్నట్టుగా మేము ఇప్పుడు అజమాయిషీ వంటి 1111 00:48:02,430 --> 00:48:06,360 ఒక ఒక ప్రత్యామ్నాయ పరిచయం కాబట్టి పరిమితమై లేదు ఆ శ్రేణి 1112 00:48:06,360 --> 00:48:07,780 కొన్ని స్థిర పరిమాణం యొక్క వ్యూహం. 1113 00:48:07,780 --> 00:48:09,380 వారు డైనమిక్ పెరుగుతాయి. 1114 00:48:09,380 --> 00:48:13,220 >> కానీ మేము వంటి చాలా వారాల చూసిన గత మేము ఉచితంగా ఏదైనా పొందడానికి ఎప్పుడూ 1115 00:48:13,220 --> 00:48:15,740 వంటి తప్పనిసరిగా ఇక్కడ ఒక రాజీ ఉంది. 1116 00:48:15,740 --> 00:48:18,890 ఒక లింక్ యొక్క ఒక పైకి కాబట్టి జాబితా, ఈ చైతన్యానికి ఉంది? 1117 00:48:18,890 --> 00:48:21,590 ఈ సామర్థ్యం, ​​స్పష్టముగా పెరుగుతాయి మరియు మేము డిలీట్ పూర్తి కాలేదు 1118 00:48:21,590 --> 00:48:23,570 అవసరమైనపుడు మరియు మేము కుదించే కాలేదు. 1119 00:48:23,570 --> 00:48:24,710 మేము ఏం ధర చెల్లిస్తున్న? 1120 00:48:24,710 --> 00:48:28,510 1121 00:48:28,510 --> 00:48:30,340 రెండుసార్లు మొదటి చాలా స్పేస్, వంటి. 1122 00:48:30,340 --> 00:48:34,010 మీరు చిత్రాన్ని చూడండి ఉంటే, ఇకపై am నేను పూర్ణాంకాల యొక్క జాబితా నిల్వ. 1123 00:48:34,010 --> 00:48:36,740 నేను జాబితాను నిల్వ చేస్తున్నాను పూర్ణాంకాల ప్లస్ గమనికలు. 1124 00:48:36,740 --> 00:48:38,240 నేను స్థలం మొత్తం రెట్టింపు చేస్తున్నాను. 1125 00:48:38,240 --> 00:48:40,740 ఇప్పుడు, బహుశా అలాంటి కాదు ఒక పెద్ద ఒప్పందం, 4 బైట్లు 8 బైట్లు, 1126 00:48:40,740 --> 00:48:43,160 కానీ అది ఖచ్చితంగా చేర్చండి భారీ సమాచార సమితుల్లో అప్. 1127 00:48:43,160 --> 00:48:45,570 మరొక ఇబ్బంది ఏమిటి? 1128 00:48:45,570 --> 00:48:46,070 అవును? 1129 00:48:46,070 --> 00:48:48,010 >> ప్రేక్షకులు: మేము కలిగి వాటిని ఒక-ద్వారా-ఒక సంచరిస్తారు. 1130 00:48:48,010 --> 00:48:48,760 DAVID మలన్: అవును. 1131 00:48:48,760 --> 00:48:50,260 మేము వాటిని ఒకటి తరువాత ఒకటి ప్రయాణించేందుకు ఉన్నాయి. 1132 00:48:50,260 --> 00:48:53,860 మీరు ఈ సూపర్ అప్ ఇచ్చింది ఏమి, తెలిసిన చదరపు బ్రాకెట్ అనుకూలమైన ఫీచర్ 1133 00:48:53,860 --> 00:48:57,240 సంజ్ఞామానం, సరిగా రాండమ్ యాక్సెస్ అని పిలుస్తారు, 1134 00:48:57,240 --> 00:48:59,280 మేము కేవలం జంప్ ఇక్కడ ఒక వ్యక్తి మూలకం 1135 00:48:59,280 --> 00:49:01,470 కానీ ఇప్పుడు నేను ఇప్పటికీ కలిగి ఉంటే ఇక్కడ నా వాలంటీర్లు, 1136 00:49:01,470 --> 00:49:04,660 నేను కనుగొనేందుకు కోరుకుంటే సంఖ్య 22, నేను కాదు 1137 00:49:04,660 --> 00:49:06,620 బ్రాకెట్ ఏదో ఏదో వెళ్ళు. 1138 00:49:06,620 --> 00:49:10,530 నేను చాలా, జాబితా చూసి ఉంటుంది సరళంగా మా శోధించడం ఉదాహరణల లాగా, 1139 00:49:10,530 --> 00:49:12,260 సంఖ్య 22 కనుగొనేందుకు. 1140 00:49:12,260 --> 00:49:14,340 కాబట్టి మేము అక్కడ ఒక ధర చెల్లించారు కనిపిస్తుంది. 1141 00:49:14,340 --> 00:49:16,430 కానీ మేము అయితే చెయ్యవచ్చు ఇతర సమస్యలు పరిష్కరించడానికి. 1142 00:49:16,430 --> 00:49:18,587 >> నిజానికి, నాకు పరిచయం తెలపండి విజువల్స్ కేవలం ఒక జంట. 1143 00:49:18,587 --> 00:49:20,920 మీరు డౌన్ ఉన్నాను చేస్తే మాథుర్ డైనింగ్ హాల్ ఇటీవల 1144 00:49:20,920 --> 00:49:23,320 మీరు గుర్తుకు వస్తుంది వారి ఈ వంటి ట్రేలు స్టాక్లు 1145 00:49:23,320 --> 00:49:26,300 మేము నుండి ఈ అరువు తరగతి ముందు Annenberg. 1146 00:49:26,300 --> 00:49:28,930 కాబట్టి ట్రేలు ఈ స్టాక్, అయితే, ప్రతినిధి నిజానికి 1147 00:49:28,930 --> 00:49:30,860 ఒక కంప్యూటర్ సైన్స్ డేటా నిర్మాణం. 1148 00:49:30,860 --> 00:49:32,910 ఒక డేటా నిర్మాణం ఉంది కంప్యూటర్ సైన్స్ లో 1149 00:49:32,910 --> 00:49:38,010 ఒక స్టాక్ పిలుస్తారు, ఇది చాలా చక్కగా సరిగ్గా ఈ దృశ్య కూడా ఇస్తుంది. 1150 00:49:38,010 --> 00:49:41,380 ఈ ట్రేలు ప్రతి ఒక కాదు కనుక ట్రే కానీ సంఖ్యలో వంటి మరియు నేను కోరుకున్నాడు 1151 00:49:41,380 --> 00:49:45,010 సంఖ్యలను నిల్వ చేయడానికి, నేను ఇక్కడ ఒక అణచి కాలేదు, 1152 00:49:45,010 --> 00:49:48,320 మరియు నేను ఇక్కడ మరొక అణచి కాలేదు మరియు సంఖ్యలను స్టాకింగ్ కొనసాగుతుంది 1153 00:49:48,320 --> 00:49:53,180 ఒక మరొక, మరియు ఏమి పైన ఈ గురించి శక్తివంతమైన ఉపయోగపడిందా 1154 00:49:53,180 --> 00:49:55,450 ఏమి సూత్రప్రాయంగా అని ఉంది ఈ డేటా నిర్మాణం? 1155 00:49:55,450 --> 00:49:58,045 నేను ఉపసంహరించుకునేలా ఏ నంబర్ మొదటి అత్యంత సౌకర్యవంతంగా? 1156 00:49:58,045 --> 00:50:00,640 1157 00:50:00,640 --> 00:50:03,030 అక్కడ ఇటీవల ఒక చాలు. 1158 00:50:03,030 --> 00:50:06,430 >> కాబట్టి ఈ మేము లో అంటారని ఏమిటి కంప్యూటర్ సైన్స్ ఒక ఎల్ఐఎఫ్ఓ డేటా నిర్మాణం. 1159 00:50:06,430 --> 00:50:08,070 , మొదటి చివరిగా అవుట్. 1160 00:50:08,070 --> 00:50:10,800 మరియు మేము దీర్ఘ ఎందుకు ముందు చూస్తారు , ఇప్పుడు ఉపయోగకరమైన కాని కావచ్చు 1161 00:50:10,800 --> 00:50:12,200 కేవలం ఆస్తి భావిస్తారు. 1162 00:50:12,200 --> 00:50:15,158 మీరు అనుకుంటే అది తెలివితక్కువదని రకం భోజనశాల అది ఎలా గురించి. 1163 00:50:15,158 --> 00:50:17,910 ప్రతిసారీ వారు శుభ్రంగా trays మరియు పైన తాజా వాటిని చాలు, 1164 00:50:17,910 --> 00:50:22,160 మీరు గతంలో స్వచ్ఛమైన కలిగి కాలేదు కానీ చివరికి చాలా మురికి మరియు మురికి 1165 00:50:22,160 --> 00:50:24,360 చాలా దిగువన ట్రే మీరు ఉంటే ఎప్పుడూ నిజానికి 1166 00:50:24,360 --> 00:50:26,820 ఆ దిగువ పొందుటకు స్టాక్ మీకు ఎందుకంటే కేవలం 1167 00:50:26,820 --> 00:50:29,380 కొత్త పెట్టటం ఉంచడానికి మరియు దాని పైభాగంలో శుభ్రంగా వాటిని. 1168 00:50:29,380 --> 00:50:31,840 అదే విషయం జరిగే ఒక సూపర్ మార్కెట్ లో చాలా. 1169 00:50:31,840 --> 00:50:35,450 మీరు ప్రదర్శన కేసులో కలిగి ఉంటే పాలు మరియు ప్రతిసారీ CVS యొక్క 1170 00:50:35,450 --> 00:50:37,610 లేదా మరింత పాలు గెట్స్ ఎవరైతే, మీరు కేవలం పాలు బలంగా త్రోయు 1171 00:50:37,610 --> 00:50:39,880 మీరు ఇప్పటికే తిరిగి మరియు మీరు ముందు అప్ క్రొత్త వాటిని చాలు 1172 00:50:39,880 --> 00:50:43,088 మీరు కొన్ని అందంగా మురికి చూడాలని డేటా నిర్మాణం చివరిలో పాలు, 1173 00:50:43,088 --> 00:50:46,390 ఇది దిగువన ఎల్లప్పుడూ ఎందుకంటే లేదా సమానమైన ఇది వెనుక ఎప్పుడూ ఉంది. 1174 00:50:46,390 --> 00:50:50,407 >> కానీ గురించి ఆలోచించడం మరొక మార్గం ఉంది డేటా మరియు ఉదాహరణకు, ఈ సరిచేసుకోవడం. 1175 00:50:50,407 --> 00:50:53,490 మీరు ఆ ప్రజలు ఒకటి ఉంటే ఎవరు ఇష్టపడ్డారు ఆపిల్ స్టోర్స్ బయట వరుసలో 1176 00:50:53,490 --> 00:50:55,610 ఒక కొత్త ఉత్పత్తి వస్తుంది బయటకు, మీరు బహుశా ఉన్నాము 1177 00:50:55,610 --> 00:50:58,780 స్టాక్ డేటా ఉపయోగించడం లేదు నిర్మాణం మీరు ఎందుకంటే 1178 00:50:58,780 --> 00:51:03,070 మిగతావారికి ఎవరు మరొకరికి ఉంటుంది సరిచేసుకోవడం కొన్ని కొత్త బొమ్మ కొనుగోలు. 1179 00:51:03,070 --> 00:51:06,610 అయితే, మీరు బహుశా ఉపయోగిస్తున్నారు, డేటా నిర్మాణం ఏ రకమైన 1180 00:51:06,610 --> 00:51:10,050 వ్యవస్థ లేదా ఏ రకమైన వాస్తవ ప్రపంచంలో? 1181 00:51:10,050 --> 00:51:13,493 ఆశాజనక అది ఒక లైన్, లేదా మరింత సరిగా లేదా మరింత బ్రిటిష్ వంటి, ఒక క్యూ. 1182 00:51:13,493 --> 00:51:17,700 మరియు అది ఒక క్యూ ఒక కూడా ఉంది హాజరవుతారు కంప్యూటర్ సైన్స్ లో డేటా నిర్మాణం, 1183 00:51:17,700 --> 00:51:19,700 కానీ ఒక క్యూ చాలా ఉంది వివిధ ఆస్తి. 1184 00:51:19,700 --> 00:51:20,820 ఇది ఎల్ఐఎఫ్ఓ కాదు. 1185 00:51:20,820 --> 00:51:21,990 , మొదటి చివరిగా అవుట్. 1186 00:51:21,990 --> 00:51:22,800 ఇండ్లలో దేవుని. 1187 00:51:22,800 --> 00:51:24,280 ఇది బదులుగా FIFO వార్తలు. 1188 00:51:24,280 --> 00:51:26,110 మొదటి మొదటి,. 1189 00:51:26,110 --> 00:51:27,970 మరియు ఒక మంచి విషయం నిష్పక్షపాత వైఖరి కొరకు 1190 00:51:27,970 --> 00:51:30,428 ఖచ్చితంగా ఉన్నప్పుడు మీరు లైనింగ్ చేస్తున్నారు ఉదయం సూపర్ ప్రారంభ. 1191 00:51:30,428 --> 00:51:33,400 మీరు మొదటి అక్కడ వస్తే మొదటి అలాగే పొందడానికి కావలసిన. 1192 00:51:33,400 --> 00:51:35,880 >> కాబట్టి ఈ డేటా యొక్క అన్ని నిర్మాణాలు, క్యూలు మరియు స్టాక్స్ 1193 00:51:35,880 --> 00:51:39,220 మరియు ఇతరులు పుష్పగుచ్ఛాలు, మీరు అవుతుంది ఈ అంతే వ్యూహం యొక్క ఆలోచించవచ్చు. 1194 00:51:39,220 --> 00:51:41,820 ఈ ఉండవచ్చు, ఒక శ్రేణి ఒక స్థిర పరిమాణం 4, కానీ అది ఇష్టం 1195 00:51:41,820 --> 00:51:44,990 మేము కేవలం పైల్ అని రకమైన నీస్ ఉంటుంది ట్రేలు దాదాపు అనంతమైన పొడవు మనం ఉంటే 1196 00:51:44,990 --> 00:51:46,780 అనేక ట్రేలు లేదా సంఖ్యలు ఉంటాయి. 1197 00:51:46,780 --> 00:51:48,840 కాబట్టి బహుశా మేము కావలసిన ఇక్కడ ఒక అనుబంధ జాబితా ఉపయోగించవచ్చు, 1198 00:51:48,840 --> 00:51:51,800 కానీ అదేస్థాయిలో అవతరిస్తుంది సమర్థవంతంగా మేము మరింత మెమరీ అవసరం, 1199 00:51:51,800 --> 00:51:55,930 ఒక కొంచం సమయం పడుతుంది, కానీ మేము స్టాక్ యొక్క ఎత్తు పరిమితం లేదు, 1200 00:51:55,930 --> 00:51:59,550 చాలా మాథుర్ యొక్క ప్రదర్శన కేసు వంటి స్టాక్ పరిమాణం పరిమితం కావచ్చు, 1201 00:51:59,550 --> 00:52:03,117 అందువలన ఈ డిజైన్ నిర్ణయాలు లేదా చివరికి మాకు అందుబాటులో ఎంపికలు. 1202 00:52:03,117 --> 00:52:04,950 ఈ డేటా సో నిర్మాణాలు, మేము ప్రారంభించారు చేసిన 1203 00:52:04,950 --> 00:52:09,360 సమర్థవంతంగా కొత్త ఎగువ హద్దులు చూసిన ఏం గతంలో సూపర్ ఫాస్ట్ 1204 00:52:09,360 --> 00:52:11,260 మరియు మేము చెప్పను పేరు ఆఫ్ నేడు ఎక్కడ 1205 00:52:11,260 --> 00:52:13,200 మేము పొందుటకు ఆశిస్తున్నాము చేస్తాము బుధవారం, మేము చేస్తాము 1206 00:52:13,200 --> 00:52:15,740 ఒక డేటా చూడండి మొదలుపెట్టిన మాకు అన్వేషణ అనుమతించే నిర్మాణం 1207 00:52:15,740 --> 00:52:18,260 లాగ్ ముగింపు సమయంలో డేటా ద్వారా మళ్ళీ. 1208 00:52:18,260 --> 00:52:21,470 మరియు మేము వారం సున్నా లో, గుర్తు, అని చూసింది బైనరీ శోధన లేదా విభజన తో మరియు ఒక 1209 00:52:21,470 --> 00:52:22,180 జయించటానికి. 1210 00:52:22,180 --> 00:52:26,240 ఇది ఇంకా తిరిగి మరియు మంచి వస్తున్నాయో ఈ బుధవారం హోలీ గ్రెయిల్ 1211 00:52:26,240 --> 00:52:29,510 పైకి రావటానికి ఉంటుంది నిజంగా నడుస్తుంది డేటా నిర్మాణం 1212 00:52:29,510 --> 00:52:32,070 లేదా సిద్ధాంతపరంగా లో స్థిరంగా సమయం, అనగా 1213 00:52:32,070 --> 00:52:34,760 అది ఎన్ని పట్టింపు లేదు లక్షలాది లేదా విషయాలు బిల్లియన్ల 1214 00:52:34,760 --> 00:52:38,470 మేము డేటా నిర్మాణం కలిగి, అది మాకు స్థిరంగా సమయం పడుతుంది, బహుశా ఒక అడుగు 1215 00:52:38,470 --> 00:52:41,387 లేదా రెండు దశలను లేదా 10 దశలను, కానీ దశలను స్థిరంగా సంఖ్యలు 1216 00:52:41,387 --> 00:52:42,970 డేటా నిర్మాణం ద్వారా అన్వేషణ. 1217 00:52:42,970 --> 00:52:46,300 నిజానికి పవిత్ర గ్రెయిల్ ఉంటుంది కానీ బుధవారం ఆ మరింత. 1218 00:52:46,300 --> 00:52:49,045 అప్పుడు య చూడండి. 1219 00:52:49,045 --> 00:52:53,704 >> [సంగీతాన్ని] 1220 00:52:53,704 --> 00:56:08,448