1 00:00:00,000 --> 00:00:06,180 2 00:00:06,180 --> 00:00:07,820 >> జాసన్ HIRSCHHORN: స్వాగతం A5 అందరూ. 3 00:00:07,820 --> 00:00:11,270 మేము, ముందుకు మాకు యొక్క అద్భుతమైన వారం చాలా కొత్త ఉన్నాయి ఎందుకంటే 4 00:00:11,270 --> 00:00:12,350 ఈ గదిలో ఎదుర్కొంటుంది. 5 00:00:12,350 --> 00:00:12,920 ఇది అద్భుతమైన ఉంది. 6 00:00:12,920 --> 00:00:15,740 మీరు చాలా ప్రమాదంలో ఇక్కడ ఉన్నారు, ఇది కూడా బాగా ఉంది. 7 00:00:15,740 --> 00:00:18,220 కాబట్టి ఆశాజనక మీరు మాతో ఉంటాం. 8 00:00:18,220 --> 00:00:20,220 >> ఈ వారం మేము ఖర్చు చేయబోతున్నామని భాగం ఎక్కువ 9 00:00:20,220 --> 00:00:21,870 క్విజ్ సిద్ధమవుతున్న. 10 00:00:21,870 --> 00:00:26,580 మా ఎజెండా ప్రకారం కాబట్టి, మాట్లాడు చూడాలని తరగతి కోసం వనరులను గురించి ఒక బిట్, 11 00:00:26,580 --> 00:00:30,350 కానీ క్విజ్ కోసం, మరియు తరువాత మళ్ళీ, తరగతి మాట్లాడుతూ భారీ ఖర్చు 12 00:00:30,350 --> 00:00:31,390 ప్రశ్నలపై. 13 00:00:31,390 --> 00:00:33,900 మేము సమాధానం పూర్తి చేసిన తర్వాత మీ ప్రశ్నలు, లేదా ఉంటే మీ ప్రశ్నలు 14 00:00:33,900 --> 00:00:39,010 సహజంగా నేను, కొన్ని కోడింగ్ మాకు దారి మిడ్టర్మలు నుండి నమూనా సమస్యలు 15 00:00:39,010 --> 00:00:43,180 మేము విభాగంలో Live కోడ్ చేసే గత కలిసి కొన్ని ఇతర అప్ తీసుకుని ఆ 16 00:00:43,180 --> 00:00:45,420 కవర్ మంచి విషయాలు. 17 00:00:45,420 --> 00:00:48,280 >> కాబట్టి మొదటి, మేము కోసం ద్వారా మారారు వంటి గుర్తు వారాల గత జంట 18 00:00:48,280 --> 00:00:51,700 అబ్బాయిలు, వనరుల ఒక టన్ను ఉన్నాయి ఈ కోర్సు అందుబాటులో. 19 00:00:51,700 --> 00:00:55,020 వాటిని చాలా చాలా సహాయకారిగా ఉంటుంది మీకు మీరు కొనసాగుతుంది వంటి 20 00:00:55,020 --> 00:00:57,280 , క్విజ్ 0 కోసం అధ్యయనం ఎందుకంటే ఇది మంగళవారం మధ్యాహ్నం ఉంది. 21 00:00:57,280 --> 00:00:59,630 కాబట్టి మీరు అన్ని ఉన్నాయి కొంతసేపు అధ్యయనం. 22 00:00:59,630 --> 00:01:02,640 >> లెక్చర్ నోట్స్ మరియు మూలం ఉన్నాయి కోడ్ మీరు అని 23 00:01:02,640 --> 00:01:04,050 ఖచ్చితంగా తనిఖీ. 24 00:01:04,050 --> 00:01:05,019 లఘు చిత్రాలు చూడటానికి. 25 00:01:05,019 --> 00:01:07,470 Study.cs50.net తనిఖీ. 26 00:01:07,470 --> 00:01:11,770 ఆపై, ఒక సంఖ్య, క్రింద జాబితా ఇతర వనరుల. 27 00:01:11,770 --> 00:01:14,020 >> మళ్ళీ, క్విజ్ 0 రేపు ఉంటుంది 1 గంటల వద్ద. 28 00:01:14,020 --> 00:01:18,230 మీరు ఇంకా పూర్తి చెయ్యకపోతే, తనిఖీ న గురించి క్విజ్ 0 పత్రం 29 00:01:18,230 --> 00:01:21,370 గుర్తించడానికి కోర్సు యొక్క హోమ్ మీరు క్విజ్ వేస్తున్నాము పేరు. 30 00:01:21,370 --> 00:01:25,770 క్విజ్ 1:10 మొదలవుతుంది మరియు 70 నిమిషాల తరువాత ముగుస్తుంది. 31 00:01:25,770 --> 00:01:29,610 మీరు 1:10 తర్వాత చూపించే చేస్తే, మీరు అనేక తక్కువ నిమిషాల పొందగలిగిన 32 00:01:29,610 --> 00:01:30,940 70 క్విజ్ కాకుండా. 33 00:01:30,940 --> 00:01:33,570 కాబట్టి మీరు బాబూరావు నిర్ధారించుకోండి. 34 00:01:33,570 --> 00:01:38,690 మీరు పొడిగింపు విద్యార్థి ఉన్నాము లేదా కలిగి ఉంటే కొన్ని ఇతర పరీక్ష పరిగణనలు, ఇది 35 00:01:38,690 --> 00:01:40,400 1 గంటల రేపు వద్ద కాదు. 36 00:01:40,400 --> 00:01:43,540 కానీ మళ్ళీ, గురించి క్విజ్ 0 తనిఖీ మీరు ఉన్నప్పుడు తెలుసు చేయడానికి నమోదు 37 00:01:43,540 --> 00:01:44,760 మీరు క్విజ్ వేస్తున్నాము. 38 00:01:44,760 --> 00:01:46,440 నేను ఇక్కడ 75 నిమిషాల రాశారు. 39 00:01:46,440 --> 00:01:48,580 నేను 70, కుడి కాదు అనుకుంటున్నాను. 40 00:01:48,580 --> 00:01:53,420 >> ఇది ఒక వారం 0 నుండి అన్ని పదార్థం వర్తిస్తుంది బుధవారం గత వారం యొక్క ఉపన్యాసం. 41 00:01:53,420 --> 00:01:59,350 మరియు తిరిగి, ఈ క్విజ్ కోసం, ఆ ప్రకారం పత్రం, మీరు ఒక ద్విపార్శ్వ మరియు 8 42 00:01:59,350 --> 00:02:03,770 మీరు పొందుతారు కాగితం 11 షీట్ ద్వారా 1/2 క్విజ్ సమయంలో గమనికలు ఉపయోగించడానికి. 43 00:02:03,770 --> 00:02:08,570 చాలా మంది, చాలా మంది, ఉంటే కాదు దొరకలేదు ఏకైక ఉపయోగకరమైన 44 00:02:08,570 --> 00:02:11,970 క్విజ్ కోసం అధ్యయనం ఉంది ఒక అధ్యయనం షీట్, ఒక తయారు 45 00:02:11,970 --> 00:02:13,730 స్వంతంగా ఒక ఇతరుడు,. 46 00:02:13,730 --> 00:02:17,710 కాబట్టి గత వాటిని చూస్తే మీరు గత వాటిని చూసిన. 47 00:02:17,710 --> 00:02:19,960 స్నేహితులు చూడటానికి చేరుకునేందుకు ఏమి వారు వారిది న పెట్టటం చేస్తున్నారు. 48 00:02:19,960 --> 00:02:23,610 >> కానీ చేతులు డౌన్, మీరు చెయ్యగలరు ఉత్తమ మార్గం అధ్యయనం ప్రతిదీ ద్వారా వెళ్ళడానికి ఉంది మరియు 49 00:02:23,610 --> 00:02:26,530 ఏమి ఉండాలి లేదా ఉండాలి చెక్కకొయ్య డౌన్ ఆ షీట్లో చెందినది కాదు 50 00:02:26,530 --> 00:02:30,570 కాగితం, కేవలం నిజంగా ఎందుకంటే మీరు నిర్ధారించుకోండి కోసం ఉపయోగకరమైన 51 00:02:30,570 --> 00:02:33,620 మీరు ప్రతిదీ ద్వారా చేస్తున్నాడనే ఇది కొన్ని పరిచయాన్ని కలిగి. 52 00:02:33,620 --> 00:02:36,690 చాలా మంది, మేము కనుగొనేందుకు అయినప్పటికీ వారు పేపర్ షీట్ కుడి కూర్చొని ఉన్నారు 53 00:02:36,690 --> 00:02:39,840 క్విజ్ లో వాటిని పక్కన, మారిపోవు దానికి, మళ్ళీ, చాలా, ఎందుకంటే 54 00:02:39,840 --> 00:02:43,290 సమాచారం ద్వారా వెళ్లి ప్రక్రియలో వాటిని తెలుసుకోవడానికి సహాయపడింది. 55 00:02:43,290 --> 00:02:45,370 >> ఎవరైనా ఏవైనా ప్రశ్నలు ఉందా క్విజ్ 0 గురించి? 56 00:02:45,370 --> 00:02:50,120 57 00:02:50,120 --> 00:02:51,450 అందరూ ఉంది - 58 00:02:51,450 --> 00:02:53,230 నేను చేతులు ఒక షో చేయడానికి వెళ్ళడం లేదు. 59 00:02:53,230 --> 00:02:53,550 ఫరవాలేదు. 60 00:02:53,550 --> 00:02:54,790 నేను అడుగు వెళుతున్నాను అధ్యయనం ప్రారంభించారు. 61 00:02:54,790 --> 00:02:58,360 కానీ నేను మీరు అనుకున్న లేదు అన్ని మీ చేతులు పెంచడానికి కాదు. 62 00:02:58,360 --> 00:03:01,290 నేను అందువల్ల వంటి - అవును, Avi, ముందుకు. 63 00:03:01,290 --> 00:03:04,205 >> AVI: ఒక ఉపయోగకరమైన విషయం ఉంటుంది ఒక పేజర్ ధరించుట? 64 00:03:04,205 --> 00:03:05,875 >> STUDENT: మీరు వరకు ఉంది. 65 00:03:05,875 --> 00:03:08,210 >> జాసన్ HIRSCHHORN: మీరు పొందండి మీ తీర్పు ఉపయోగించడానికి. 66 00:03:08,210 --> 00:03:13,220 ఒక పేజర్ చాలు ఉపయోగకరమైన విషయాలు, మీరు పెద్ద O గురించి గందరగోళం ఉంటే 67 00:03:13,220 --> 00:03:17,510 శోధనలు వివిధ రకాల runtime ఆటపై, ఒక లో ఆ ఉంచారు 68 00:03:17,510 --> 00:03:18,760 సులభ దండి చార్ట్. 69 00:03:18,760 --> 00:03:22,250 ఆ విధంగా, మీరు అడిగితే ఉంటే క్విజ్, మీరు ప్రయత్నించండి మరియు సంఖ్య అవసరం లేదు 70 00:03:22,250 --> 00:03:23,560 దాన్ని లేదా పని ద్వారా కారణం. 71 00:03:23,560 --> 00:03:24,730 మీరు దాని కాపీ చేయవచ్చు. 72 00:03:24,730 --> 00:03:28,320 మీరు క్విజ్ గత, చాలా చూడండి సమయం, సమయం ప్రశ్నలు అమలు. 73 00:03:28,320 --> 00:03:34,150 కాబట్టి ఒక మంచి ఉదాహరణగా ఉంటుంది మీ ఒక పేజర్ చాలు విషయం. 74 00:03:34,150 --> 00:03:37,450 >> మీరు అయితే, న ఉంచాలి ఇతర మంచి విషయాలు ప్రకటించాలని ఎలా గురించి గందరగోళం ఒక 75 00:03:37,450 --> 00:03:40,570 ఫంక్షన్ లేదా వివిధ భాగాలు ఫంక్షన్ ప్రకటన వ్రాయండి, ఉన్నాయి 76 00:03:40,570 --> 00:03:43,400 అక్కడ పై, ఒక సాధారణ వెర్షన్ ఆపై ఉండవచ్చు ఒక ఉదాహరణ. 77 00:03:43,400 --> 00:03:47,290 మీరు గమనికలు గురించి అయోమయంలో ఉంటే, గమనికలు పని ఉంది ఎలా ఒక రేఖాచిత్రం 78 00:03:47,290 --> 00:03:48,660 బహుశా నిజంగా ఉపయోగపడిందా. 79 00:03:48,660 --> 00:03:52,440 మీరు సూత్రం, ఒక గురించి అయోమయంలో ఉంటే అక్కడ పునరావృత ఫంక్షన్ నమూనా 80 00:03:52,440 --> 00:03:54,980 నిజంగా ఉపయోగపడిందా రుజువు కాలేదు. 81 00:03:54,980 --> 00:03:57,290 మీరు కొన్ని ఆలోచనలు ఇవ్వాలని లేదు? 82 00:03:57,290 --> 00:04:01,820 >> AVI: మీరు అర్థం చేసుకోవాలి వంటి మొత్తం కంపైల్ ప్రక్రియ, 83 00:04:01,820 --> 00:04:03,220 ఎలా పనిచేస్తుంది అని? 84 00:04:03,220 --> 00:04:06,620 >> జాసన్ HIRSCHHORN: అంతా ఆ కవర్ చేయబడింది అని 85 00:04:06,620 --> 00:04:08,060 క్విజ్ లో చూపబడతాయి. 86 00:04:08,060 --> 00:04:08,930 ప్రశ్నలు - 87 00:04:08,930 --> 00:04:11,300 కానీ మళ్ళీ, కొన్ని విషయాలు ఉంటుంది ఇతరుల కంటే భారీగా. 88 00:04:11,300 --> 00:04:14,330 కొన్ని విషయాలు మళ్ళీ ఇచ్చారు మళ్ళీ తరగతి, లో 89 00:04:14,330 --> 00:04:15,590 ఉపన్యాసం, మరియు విభాగం. 90 00:04:15,590 --> 00:04:17,220 ఇతర విషయాలు కలిగి తరచుగా ఆలోచన. 91 00:04:17,220 --> 00:04:22,900 >> మేము # ఉన్నాయి మరియు చాలా మాట్లాడారు చేసిన -L ఏదో మరియు ఆ అర్థం 92 00:04:22,900 --> 00:04:24,390 సంగ్రహం విధానంలో. 93 00:04:24,390 --> 00:04:29,120 మేము, వేళ్ళాడతాయి, GDB గురించి చాలా మాట్లాడారు చేసిన మేము ఉపయోగించే వివిధ జెండాలు ఉన్నప్పుడు 94 00:04:29,120 --> 00:04:33,100 ఏదో కంపైల్, మరియు make15, ఉదాహరణకు, నిజంగా 95 00:04:33,100 --> 00:04:34,510 అంటే మరియు నిజంగా చేస్తుంది. 96 00:04:34,510 --> 00:04:38,110 మేము గురించి చాలా మాట్లాడను చేశారు లో ప్రతి అడుగు 97 00:04:38,110 --> 00:04:39,240 సంగ్రహం విధానంలో. 98 00:04:39,240 --> 00:04:40,410 మేము ఇంకా దాని గురించి మాట్లాడారు చేసిన. 99 00:04:40,410 --> 00:04:42,550 కాబట్టి ఇప్పటికీ మీరు ఏదో తెలిసిన ఉండాలి. 100 00:04:42,550 --> 00:04:44,610 కానీ మళ్ళీ, మేము మాత్రం లేదు - 101 00:04:44,610 --> 00:04:49,140 తరగతి తరచుగా వచ్చిన విషయాలు మరింత ఆలోచన అవకాశం 102 00:04:49,140 --> 00:04:52,495 తరచుగా మరియు ఎక్కువగా ఉంటుంది క్విజ్ లో బరువు. 103 00:04:52,495 --> 00:04:53,280 >> కూల్. 104 00:04:53,280 --> 00:04:54,580 క్విజ్ 0 గురించి ఏదైనా ఇతర ప్రశ్నలు? 105 00:04:54,580 --> 00:04:57,660 106 00:04:57,660 --> 00:05:00,050 >> OK, నేను జాబితా కలిసి బోర్డు విషయాలు. 107 00:05:00,050 --> 00:05:01,550 నేను సిలబస్ సాగింది. 108 00:05:01,550 --> 00:05:07,340 నేను పునఃపరిశీలించి విభాగం సాగింది ఆలోచన గత రాత్రి మరియు ఆ స్లయిడ్లను 109 00:05:07,340 --> 00:05:13,710 విషయాల యొక్క అసంపూర్ణంగా జాబితాను మేము CS50 లో ఇప్పటివరకు కవర్ చేసిన 110 00:05:13,710 --> 00:05:16,800 మరియు ఆ వాటిని క్విజ్ లో కనిపిస్తుంది. 111 00:05:16,800 --> 00:05:19,900 నేను ద్వారా వెళ్ళడానికి వెళ్ళడం లేదు ఈ ప్రతి ఒక. 112 00:05:19,900 --> 00:05:22,370 ఆ మరింత పడుతుందని మేము ఇప్పుడు కంటే సమయం. 113 00:05:22,370 --> 00:05:26,880 కానీ నేను ఆశాజనక జాగ్ ఇక్కడ ఈ ఏర్పాటు విషయాలు పాత్రల్లోకి మెమరీ మారవచ్చు 114 00:05:26,880 --> 00:05:28,420 లేదా మీరు వంటి తెలిసిన కాకపోవచ్చు. 115 00:05:28,420 --> 00:05:32,850 >> నేను ఎక్కువ ఖర్చు ఇష్టం గురించి మీ ప్రశ్నలకు విభాగం 116 00:05:32,850 --> 00:05:35,130 ఈ విషయాలు, అంశాలు ఇక్కడ పొందుపరచబడలేదు. 117 00:05:35,130 --> 00:05:36,130 మేము నకిలీ కోడ్ వ్రాయగలవు. 118 00:05:36,130 --> 00:05:40,010 మేము నిజమైన కోడ్ వ్రాయగలవు నిర్ధారించడానికి మీరు ఆ - 119 00:05:40,010 --> 00:05:44,280 నేను మీ ప్రశ్నకు సమాధానం మరియు సహాయపడుతుంది అందరూ ప్రాథమికంగా అర్థం ఒక 120 00:05:44,280 --> 00:05:48,330 ఈ విషయాలు చాలా మీకు రాదు వెళ్ళి సిద్ధం మరియు సౌకర్యవంతమైన 121 00:05:48,330 --> 00:05:50,150 క్విజ్ రేపు. 122 00:05:50,150 --> 00:05:52,300 కాబట్టి జాబితా పై చదవండి. 123 00:05:52,300 --> 00:05:54,780 మీరు ఆశాజనక విభాగం వచ్చారు కొన్ని ప్రశ్నలతో అలాగే. 124 00:05:54,780 --> 00:05:58,480 మీరు సిద్ధమైనప్పుడు, మీ చేతి పెంచుతాయి మరియు మేము ప్రారంభించడానికి ఉంటుంది. 125 00:05:58,480 --> 00:06:01,590 126 00:06:01,590 --> 00:06:05,200 >> గుర్తుంచుకోండి, ప్రశ్నలు మీరు, ఏ స్టుపిడ్ ప్రశ్నలు ఉన్నాయి. 127 00:06:05,200 --> 00:06:06,250 మేము చాలా విన్న చేసిన. 128 00:06:06,250 --> 00:06:09,490 మరియు మీరు ప్రశ్నలు, నేను అనుకుంటున్నాను , అనేక ఇతర ప్రజలు రెండు పందెం 129 00:06:09,490 --> 00:06:11,740 ఇక్కడ కూర్చొని మరియు చూడటం ఆన్లైన్ అలాగే ఉన్నాయి. 130 00:06:11,740 --> 00:06:13,770 కాబట్టి మీరు గమనిస్తుంటాం ప్రశ్నలను అడగడం ద్వారా. 131 00:06:13,770 --> 00:06:15,070 మార్కస్. 132 00:06:15,070 --> 00:06:18,040 >> MARCUS: స్టాక్ మరియు మధ్య నిండుగా, ఒక ముందు కేటాయించిన ఉంది 133 00:06:18,040 --> 00:06:22,880 నిర్వచించారు చేసే మెమరీ శాతం స్టాకు కోసం లేదా కుప్ప కోసం ఉంది? 134 00:06:22,880 --> 00:06:25,010 లేదా ఎలా పని, చేస్తుంది? 135 00:06:25,010 --> 00:06:26,230 >> జాసన్ HIRSCHHORN: గ్రేట్ ప్రశ్న. 136 00:06:26,230 --> 00:06:28,640 నేను కొద్దిగా ట్రేస్ వెనుకకు వెళుతున్న. 137 00:06:28,640 --> 00:06:30,910 అందరూ చేస్తుంది - 138 00:06:30,910 --> 00:06:31,660 ఇక్కడ నిజాయితీ ఉండండి. 139 00:06:31,660 --> 00:06:34,130 నేను పెంచడానికి అడుగుతూ నేను తెలుసు మీ మీ తోటివారి ముందు చేతి. 140 00:06:34,130 --> 00:06:38,510 కానీ బాధపడేవారికి ప్రజలు ఉన్నాయి స్టాక్ మరియు కుప్ప ఇబ్బంది 141 00:06:38,510 --> 00:06:42,980 మరియు ఆ పై వెళ్లాలని కోరుకుంటారు మరియు ఆ అర్థం ఏమిటి? 142 00:06:42,980 --> 00:06:43,880 మీ చేతి ఉంటే రైజ్ - 143 00:06:43,880 --> 00:06:44,420 OK. 144 00:06:44,420 --> 00:06:45,120 ధన్యవాదాలు. 145 00:06:45,120 --> 00:06:48,420 కాబట్టి మేము స్టాక్ వెళ్ళి చేస్తున్నాడనే కుప్ప నిజంగా త్వరగా ఆపై 146 00:06:48,420 --> 00:06:50,370 మీ ప్రశ్నకు సమాధానం తరలి. 147 00:06:50,370 --> 00:06:58,250 >> మేము ప్రాతినిధ్యం ఒక బాక్స్ డ్రా అయితే మీ కంప్యూటర్లో మెమరీ, కొన్ని ఏవి 148 00:06:58,250 --> 00:07:02,160 ఈ బాక్స్ లో వెళ్ళి విషయాలను? 149 00:07:02,160 --> 00:07:03,630 ప్రధాన. 150 00:07:03,630 --> 00:07:04,020 ఒక ప్రధాన విధి. 151 00:07:04,020 --> 00:07:05,890 పేరు ప్రధాన గడిచిపోయింది? 152 00:07:05,890 --> 00:07:08,090 >> STUDENT: [వినబడని]. 153 00:07:08,090 --> 00:07:09,390 >> జాసన్ HIRSCHHORN: కాబట్టి మేము చేస్తాము డౌన్ ఇక్కడ ప్రధాన చాలు. 154 00:07:09,390 --> 00:07:12,180 155 00:07:12,180 --> 00:07:13,430 ఏమి ఈ బాక్స్ లో వెళ్తాడు? 156 00:07:13,430 --> 00:07:16,000 157 00:07:16,000 --> 00:07:18,140 >> STUDENT: మీరు కాల్ విధులు. 158 00:07:18,140 --> 00:07:19,020 >> జాసన్ HIRSCHHORN: విధులు మేము కాల్. 159 00:07:19,020 --> 00:07:20,440 మరియు ఎక్కడ గో? 160 00:07:20,440 --> 00:07:21,300 >> STUDENT: స్టాక్ లో. 161 00:07:21,300 --> 00:07:22,380 >> జాసన్ HIRSCHHORN: వారు స్టాక్ లో వెళ్ళండి. 162 00:07:22,380 --> 00:07:27,350 కాబట్టి మేము ఈ కాల్ చూడాలని డౌన్ ఇక్కడ విషయం స్టాక్. 163 00:07:27,350 --> 00:07:31,880 మరియు టాప్, మేము కుప్ప కలిగి. 164 00:07:31,880 --> 00:07:35,450 కాబట్టి మెమరీ ఈ వంటి ఒక బాక్స్ కాదు. 165 00:07:35,450 --> 00:07:37,330 అయితే అందంగా పోలి ఉంటుంది. 166 00:07:37,330 --> 00:07:40,840 ఇది పైగా బాక్సులను చాలా చేస్తాడు మరియు పైగా, బట్టి ఎంత పెద్ద మీ 167 00:07:40,840 --> 00:07:43,730 కంప్యూటర్ లేదా మీ మెమరీ ఎలా పెద్దది. 168 00:07:43,730 --> 00:07:46,950 >> కోట్-unquote "దిగువ" వద్ద స్టాక్ ఉంది. 169 00:07:46,950 --> 00:07:50,880 మరియు బహుళ విషయాలు ఉన్నాయి స్టాక్ సాగుతుంది. 170 00:07:50,880 --> 00:07:53,840 మరియు ఆ విధులు ఆధారపడి మీరు మీ కోడ్ లో కలిగి. 171 00:07:53,840 --> 00:07:57,780 మీరు ఎల్లప్పుడూ లో ఒక ఫంక్షన్ కలిగి మీ కోడ్ ప్రధాన అనే, కాబట్టి ఒక ఎల్లప్పుడూ ఉంది 172 00:07:57,780 --> 00:08:00,480 డౌన్ ఇక్కడ విభాగం ప్రధాన అంకితం స్టేక్. 173 00:08:00,480 --> 00:08:03,980 >> స్టాక్ లో ఈ విభాగాలు స్టాక్ ఫ్రేములు అంటారు. 174 00:08:03,980 --> 00:08:09,580 మీరు మరొక కాల్ చేసినప్పుడు, ప్రధాన చెప్పటానికి ఒక బైనరీ శోధన ఫంక్షన్, 175 00:08:09,580 --> 00:08:11,075 మేము స్టాక్ మరో ఫ్రేమ్ చాలు. 176 00:08:11,075 --> 00:08:13,830 177 00:08:13,830 --> 00:08:17,320 ముఖ్యంగా మేము వెళ్తున్నారు న మెమరీ భాగం దానం మా 178 00:08:17,320 --> 00:08:22,960 బైనరీ శోధన యొక్క స్థానిక నిల్వ కంప్యూటర్లో వేరియబుల్స్ మరియు బైనరీ అమలు 179 00:08:22,960 --> 00:08:24,150 శోధన కోడ్. 180 00:08:24,150 --> 00:08:26,810 >> కాబట్టి మేము బైనరీ శోధన కాల్. 181 00:08:26,810 --> 00:08:30,440 182 00:08:30,440 --> 00:08:33,340 మెమొరీ ఈ భాగం లో, మేము చేయబోతున్నామని దాని స్థానిక వేరియబుల్స్ నిల్వ. 183 00:08:33,340 --> 00:08:35,270 మేము దాని printf కాల్స్ నిల్వ చూడాలని. 184 00:08:35,270 --> 00:08:38,159 ఏది, విధి అక్కడే నిల్వ అన్నారు. 185 00:08:38,159 --> 00:08:40,350 బైనరీ శోధన అమలు అన్నారు. 186 00:08:40,350 --> 00:08:42,210 ఇది అమలు పూర్తి అన్నారు. 187 00:08:42,210 --> 00:08:47,450 సి లో పదం ఏమిటి సూచిస్తుంది ఒక ఫంక్షన్ తప్పక 188 00:08:47,450 --> 00:08:49,306 దాని అమలు పూర్తి? 189 00:08:49,306 --> 00:08:50,040 >> STUDENT: చూపించు. 190 00:08:50,040 --> 00:08:50,870 >> జాసన్ HIRSCHHORN: తిరిగి. 191 00:08:50,870 --> 00:08:53,230 కాబట్టి మీరు తిరిగి ప్రకటన చేసినప్పుడు, ఫంక్షన్ ముగుస్తుంది 192 00:08:53,230 --> 00:08:54,350 ఆ తగిలినప్పుడు. 193 00:08:54,350 --> 00:08:56,740 కాబట్టి బైనరీ శోధన తిరిగి హిట్. 194 00:08:56,740 --> 00:09:01,360 మెమరీ ఈ భాగం తప్పనిసరిగా రెడీ అప్ విముక్తి. 195 00:09:01,360 --> 00:09:03,510 మరియు ప్రధాన తిరిగి అమలు వెళతారు. 196 00:09:03,510 --> 00:09:07,240 , కాల్ ఉంది ఎక్కడ ఉన్నా ప్రధాన విరామం బైనరీ శోధన, కొన్ని తిరిగి విలువ పొందడానికి, 197 00:09:07,240 --> 00:09:08,700 మరియు ఉరి కొనసాగుతుంది. 198 00:09:08,700 --> 00:09:10,840 ఈ స్టాక్ ఫ్రేమ్ తీసివేయబడుతుంది. 199 00:09:10,840 --> 00:09:14,810 >> మేము ఒక పునరావృత ఫంక్షన్, కాల్ ఇది స్వయంగా కాల్స్ ఒక విధి 200 00:09:14,810 --> 00:09:18,480 మరియు పైగా, మేము పొందుటకు - మేము చెప్పే పునరావృతంగా బైనరీ శోధన చేశాడు. 201 00:09:18,480 --> 00:09:21,520 మేము, బైనరీ శోధన వెర్షన్ పొందండి ఉండవచ్చు బైనరీ శోధన రెండు, బైనరీ శోధన 202 00:09:21,520 --> 00:09:24,090 మూడు, బైనరీ శోధన నాలుగు, బైనరీ శోధన ఐదు. 203 00:09:24,090 --> 00:09:27,950 మరియు ఈ చివరి బైనరీ శోధన ఐదు బేస్ కేసు, మరియు స్టాక్ హిట్ 204 00:09:27,950 --> 00:09:31,010 ఫ్రేములు తిరిగి వెళ్లి ముగింపు చేస్తుంది మేము ప్రధాన తిరిగి పొందడానికి వరకు. 205 00:09:31,010 --> 00:09:32,530 మేము ఒక బిట్ లో సూత్రం పైగా వెళ్ళవచ్చు. 206 00:09:32,530 --> 00:09:35,530 మీరు అయితే ఈ, చెప్పబడినది , ఒక సమయంలో బహుళ విధులను కాల్ 207 00:09:35,530 --> 00:09:39,250 బహుళ స్టాక్ అక్కడ ఉంటాం స్టాక్ ఫ్రేములు. 208 00:09:39,250 --> 00:09:42,900 >> నిండుగా, మరోవైపు, అప్ ఇక్కడ, విధులు కోసం కాదు, 209 00:09:42,900 --> 00:09:44,380 కాదు స్థానిక వేరియబుల్స్ కోసం. 210 00:09:44,380 --> 00:09:48,920 ఇది సాహసోపేతంగా కేటాయించిన కోసం ఉంది వేరియబుల్స్. 211 00:09:48,920 --> 00:09:57,210 కాబట్టి ఈ ఉండాలనే వేరియబుల్స్ ఉన్నాయి ప్రధాన లేదా ఒక గాని initialized 212 00:09:57,210 --> 00:09:58,640 ప్రధాన కాల్స్ పని. 213 00:09:58,640 --> 00:10:00,790 ఎక్కడైనా మీ కోడ్ లో, వారు initialized చేయవచ్చు. 214 00:10:00,790 --> 00:10:04,360 మరియు ఒక డైనమిక్ ప్రారంభించడం కేటాయించిన వేరియబుల్. 215 00:10:04,360 --> 00:10:06,970 మేము సి లో ఏమి ఫంక్షన్ ఉపయోగించగలను? 216 00:10:06,970 --> 00:10:07,600 >> STUDENT: Malloc. 217 00:10:07,600 --> 00:10:09,240 >> జాసన్ HIRSCHHORN: Malloc. 218 00:10:09,240 --> 00:10:10,800 మీరు malloc కాల్. 219 00:10:10,800 --> 00:10:12,260 ఇలాగ స్పేస్ పొందడానికి. 220 00:10:12,260 --> 00:10:15,020 మరియు మెమరీ ఆ స్పేస్ కుప్ప ఉంది. 221 00:10:15,020 --> 00:10:18,840 మరియు మెమరీ ఆ స్పేస్ ఉంటాయి మీరు కొంత కాల్ వరకు. 222 00:10:18,840 --> 00:10:22,670 >> కాబట్టి సాహసోపేతంగా కేటాయించిన వేరియబుల్స్ లో కుప్ప మీరు కాలం కోసం ఉనికిలో ఉంటుంది 223 00:10:22,670 --> 00:10:25,250 వాటిని ఉన్నాయి కావలసిన, మరియు రాబట్టుకున్నారు స్పష్టంగా మీరు వరకు దూరంగా వెళ్ళి 224 00:10:25,250 --> 00:10:26,760 దూరంగా వెళ్ళి తెలపండి. 225 00:10:26,760 --> 00:10:29,670 మీరు ఒక ఫంక్షన్ వాటిని సృష్టించవచ్చు. 226 00:10:29,670 --> 00:10:31,930 ఆ ఫంక్షన్ యొక్క స్టాక్ ఫ్రేమ్ తీసివేయబడుతుంది. 227 00:10:31,930 --> 00:10:35,490 కానీ ఆ వేరియబుల్ ఇప్పటికీ ఉనికిలో ఉంటుంది కుప్ప లో విముక్తి వరకు, 228 00:10:35,490 --> 00:10:39,650 సమర్థవంతంగా అని ఆ ఫంక్షన్ ద్వారా బైనరీ శోధన లేదా సంసార. 229 00:10:39,650 --> 00:10:42,580 >> కాబట్టి ఆ కుప్ప వేరియబుల్స్ అక్కడే కాలం మీకు కావలసిన కోసం 230 00:10:42,580 --> 00:10:43,490 వాటిని అక్కడే. 231 00:10:43,490 --> 00:10:46,090 మరియు వారు ఇక్కడ చాలు. 232 00:10:46,090 --> 00:10:47,450 తరువాత ఒక ఉన్నాయి ఉంచే. 233 00:10:47,450 --> 00:10:50,210 వారు పూరించిన విధానం ఉంచేందుకు, మరియు వారు మీరు ఉచిత కాల్ వరకు అక్కడే. 234 00:10:50,210 --> 00:10:52,870 >> మరియు ముఖ్యంగా, కుప్ప మరియు స్టాక్, , మార్కస్ యొక్క ప్రశ్నకు పొందడానికి 235 00:10:52,870 --> 00:10:54,500 పరస్పర పెరుగుతాయి. 236 00:10:54,500 --> 00:10:57,730 మరొక లోకి అమలు చేస్తే, మీరు చేసిన అన్ని మెమరీ అప్ ఉపయోగిస్తారు మీ 237 00:10:57,730 --> 00:11:01,330 కంప్యూటర్ మరియు మీ ప్రోగ్రామ్ విడిచి ఉంటుంది మీరు ఏ మెమరీ లేదు ఎందుకంటే 238 00:11:01,330 --> 00:11:02,420 ఉపయోగించడానికి వదిలి. 239 00:11:02,420 --> 00:11:07,290 వాటి మధ్య లో, ఉన్నాయి సమర్థవంతంగా ఇతర విషయాలు. 240 00:11:07,290 --> 00:11:10,980 కానీ ఈ కోర్సు యొక్క పరిధిని, మీరు కోసం ఆ గురించి ఆందోళన అవసరం లేదు. 241 00:11:10,980 --> 00:11:12,020 >> కాబట్టి ఆ సమాధానం మీ ప్రశ్నకు. 242 00:11:12,020 --> 00:11:13,520 దాని గురించి ఆందోళన లేదు. 243 00:11:13,520 --> 00:11:15,550 కానీ అందరికీ బాధేసింది. 244 00:11:15,550 --> 00:11:17,800 మీరు తెలుసుకోవాలి అన్ని ఉంది కుప్ప మరియు స్టాక్ రెడీ - 245 00:11:17,800 --> 00:11:18,900 ఒక దిగువన మొదలవుతుంది. 246 00:11:18,900 --> 00:11:19,570 స్టాక్ చేస్తుంది. 247 00:11:19,570 --> 00:11:20,790 కుప్ప అప్ ఉంది. 248 00:11:20,790 --> 00:11:21,990 మరొక దగ్గరగా పెరగనుంది. 249 00:11:21,990 --> 00:11:23,110 >> వారు టచ్ ఉంటే, ఆ సమస్య ఉంది. 250 00:11:23,110 --> 00:11:24,500 ఇలాగ అయిపోయింది. 251 00:11:24,500 --> 00:11:28,760 కానీ, తెలుసుకోవడం పాటు పేరు వారు, ఏ రెండు నిల్వ ఉంటాయి 252 00:11:28,760 --> 00:11:30,512 స్టాక్ మరియు కుప్ప. 253 00:11:30,512 --> 00:11:31,410 కర్టిస్. 254 00:11:31,410 --> 00:11:33,570 >> CURTIS: వారు ఢీకొన్నప్పుడు ఒక స్టాక్ ఓవర్ఫ్లో ఉంది? 255 00:11:33,570 --> 00:11:35,670 >> జాసన్ HIRSCHHORN: వారు ఢీకొన్నప్పుడు ఒక స్టాక్ ఓవర్ఫ్లో కాదు. 256 00:11:35,670 --> 00:11:38,340 ఒక స్టాక్ ఓవర్ఫ్లో వేరే ప్రాంతం మీరు అనుకుంటే మేము వెళ్ళే. 257 00:11:38,340 --> 00:11:40,020 OK, మేము ఒక బిట్ లో ఆ వచ్చి చేస్తాము. 258 00:11:40,020 --> 00:11:42,730 >> STUDENT: అవుదామని ఏమిటి వారు ప్రతి ఇతర కొట్టాడు, 259 00:11:42,730 --> 00:11:44,450 స్టాక్ మరియు కుప్ప? 260 00:11:44,450 --> 00:11:46,640 >> జాసన్ HIRSCHHORN: ఇప్పుడు కోసం, గురించి ఆందోళన లేదు. 261 00:11:46,640 --> 00:11:47,750 కేవలం తెలుసు - 262 00:11:47,750 --> 00:11:50,530 నేను ఆ ప్రశ్న సమాధానం తరగతి తర్వాత. 263 00:11:50,530 --> 00:11:52,680 వారు ప్రతి ఇతర లోకి అమలు చేస్తే, మీరు అయిపోయింది ఎక్కువ ఉంది మెమరీ, ఎందుకంటే 264 00:11:52,680 --> 00:11:53,330 అక్కడ స్థలం. 265 00:11:53,330 --> 00:11:55,450 >> STUDENT: క్షమించండి, ఒక seg తప్పు ఏమిటి? 266 00:11:55,450 --> 00:11:58,710 >> జాసన్ HIRSCHHORN: ఒక విభాగంలో తప్పు కోసం పిలువబడుతుంది - 267 00:11:58,710 --> 00:12:02,240 seg తప్పు అని ఎందుకు అది ఆధారపడి ఉంటుంది. 268 00:12:02,240 --> 00:12:06,260 కొన్నిసార్లు, మీ స్టాక్ ఓవర్ఫ్లో, ఇది చేస్తాము seg లోపం వంటి తప్పు చెప్పడానికి. 269 00:12:06,260 --> 00:12:08,180 >> STUDENT: ఏ dereferencing గురించి ఒక శూన్య వేరియబుల్? 270 00:12:08,180 --> 00:12:10,040 ఒక seg తప్పు? 271 00:12:10,040 --> 00:12:11,480 >> జాసన్ HIRSCHHORN: Dereferencing ఒక నల్ పాయింటర్ - 272 00:12:11,480 --> 00:12:17,850 OK, కాబట్టి మీరు ఒక పాయింటర్ ఉంటే శూన్యం సమానంగా సెట్, గమనికలు, రీకాల్, 273 00:12:17,850 --> 00:12:20,270 స్టోర్ మెమరీ చిరునామాలు వారి విలువలు వంటి. 274 00:12:20,270 --> 00:12:23,660 మరియు ఒక నల్ పాయింటర్ తప్పనిసరిగా ఉంది 0 నిల్వ, 0 వ 275 00:12:23,660 --> 00:12:26,670 ఆ వేరియబుల్ కోసం. 276 00:12:26,670 --> 00:12:30,010 కాబట్టి 0x, 0, 0, 0, 0, మొదలైన. 277 00:12:30,010 --> 00:12:35,030 కాదు మెమరీలో ఆ 0-th చిరునామా మా చిత్రంలో, ఆ అప్ ఉంది 278 00:12:35,030 --> 00:12:38,800 ఎక్కడో, ఆ రిజర్వు కంప్యూటర్ కోసం. 279 00:12:38,800 --> 00:12:40,130 మేము అది తాకే అనుమతి లేదు. 280 00:12:40,130 --> 00:12:44,680 >> కాబట్టి మీ ప్రోగ్రామ్ను అమలు ఎప్పుడు, ఉంటే ఏదో మెమరీ వెళ్ళడానికి ప్రయత్నిస్తున్నారు 281 00:12:44,680 --> 00:12:48,990 చిరునామా 0, ఇది తెలుసు ఒక ఖాళీ విలువ. 282 00:12:48,990 --> 00:12:50,820 ఇది ఏమీ ఉండాలి తెలుసు. 283 00:12:50,820 --> 00:12:53,420 కాబట్టి మీరు అక్కడ ఏదో ప్రయత్నించండి మరియు ఉపయోగిస్తే మరియు వంటి ఉన్నాయి ఏదో చికిత్స లేదా 284 00:12:53,420 --> 00:12:58,355 ఆ నగర వెళ్ళడానికి ప్రయత్నిస్తున్న, మీరు ఒక seg తప్పు లేదా లోపం అన్నారు. 285 00:12:58,355 --> 00:13:00,520 మీ ప్రశ్నకు సమాధానం ఉందా? 286 00:13:00,520 --> 00:13:03,170 >> ఇప్పుడు మేము తిరిగి వెళ్తారో ఓవర్ఫ్లో పేర్చడాన్ని. 287 00:13:03,170 --> 00:13:09,560 మీరు అబ్బాయిలు కలిగి స్టాక్ ఉన్న విషయాలు, ముందు, లో - యొక్క సన్నిహిత డ్రా తెలియజేయండి 288 00:13:09,560 --> 00:13:11,966 ఒక స్టాక్ ఫ్రేమ్ అప్. 289 00:13:11,966 --> 00:13:15,050 అందరూ చూడగలరు? 290 00:13:15,050 --> 00:13:16,650 కాబట్టి మేము మా స్టాక్ ఫ్రేమ్ కలిగి. 291 00:13:16,650 --> 00:13:23,260 మేము ఒక స్థానిక వంటి లో వ్యూహం సేవ్ చేస్తున్న ఈ ఫంక్షన్ లో వేరియబుల్. 292 00:13:23,260 --> 00:13:29,510 మా శ్రేణి ఐదు మచ్చలు కలిగి. 293 00:13:29,510 --> 00:13:33,230 ఆ యొక్క అన్ని నిల్వ చేయబడుతుంది ఇది స్టాక్ ఫ్రేమ్ లో. 294 00:13:33,230 --> 00:13:37,540 >> మేము దాటి వ్రాయడం మొదలు ఉంటే ఈ శ్రేణి యొక్క సరిహద్దులు - 295 00:13:37,540 --> 00:13:43,990 కాబట్టి మేము లోకి రాయడం మొదలు ఉంటే, యొక్క ఆ 0 చెప్పాలి చూద్దాం. 296 00:13:43,990 --> 00:13:46,800 ఆ ఐదు సూచికలు ఉన్నాయి మా శ్రేణి యొక్క. 297 00:13:46,800 --> 00:13:50,980 మేము ఇండెక్స్ 5, లోకి వ్రాయడం మొదలు ఉంటే ఇది మేము ఒక కలిగి ఉన్నప్పుడు మేము లేదు 298 00:13:50,980 --> 00:13:55,900 పరిమాణం 5 యొక్క శ్రేణి, మేము లోకి వ్రాయడం మొదలు ఇండెక్స్ 6, 7, 8, 9, మేము ఒక స్టాక్ పొందవచ్చు 299 00:13:55,900 --> 00:13:57,960 ఫ్లో లోపం. 300 00:13:57,960 --> 00:14:00,510 >> సాధారణంగా ఇది కాదు - 301 00:14:00,510 --> 00:14:04,910 మీరు బహుశా ఇబ్బందులను పొందుటకు ఒక ద్వారా మీరు వెళ్ళి ఉంటే. 302 00:14:04,910 --> 00:14:08,640 కానీ సాధారణంగా, మీరు పొందుతారు మీరు చాలా ద్వారా వెళ్ళి ఉంటే చాలా ఇబ్బంది 303 00:14:08,640 --> 00:14:12,770 మరియు మీరు ఇప్పటివరకు పైగా మీరు వ్రాసే వెళ్ళి ఆ తిరిగి చిరునామా పైగా 304 00:14:12,770 --> 00:14:16,080 ఉన్న ఇది ఫంక్షన్, స్టాక్ ఫ్రేమ్ దిగువ. 305 00:14:16,080 --> 00:14:16,520 >> కుడి, ఎందుకంటే? 306 00:14:16,520 --> 00:14:17,670 మీరు - లో - క్షమించండి. 307 00:14:17,670 --> 00:14:18,550 కాదు "కుడి ఎందుకంటే." 308 00:14:18,550 --> 00:14:20,470 >> స్టాక్ ఫ్రేమ్ లో, మీరు మీ స్థానిక వేరియబుల్స్. 309 00:14:20,470 --> 00:14:27,090 స్టాక్ చాలా దిగువన ఫ్రేమ్ తిరిగి చిరునామా ఉంది. 310 00:14:27,090 --> 00:14:28,790 ఆ ఫంక్షన్ పేరు ఉంది ఇది ఓవర్ వెళుతుంది. 311 00:14:28,790 --> 00:14:33,750 మరియు మీరు తిరిగి తిరిగి రాస్తుంది ఉంటే చిరునామా, అప్పుడు ఈ స్టాక్ ఫ్రేమ్ ఉన్నప్పుడు, 312 00:14:33,750 --> 00:14:36,680 మీరు స్టాక్ ద్వారా వెళుతున్న చేసినప్పుడు ఫ్రేమ్ మరియు ప్రతి లైన్ అమలు, మీరు 313 00:14:36,680 --> 00:14:40,350 మీ కొత్త తిరిగి చిరునామా వెళ్ళండి అన్నారు బదులు అక్కడ వ్రాసిన 314 00:14:40,350 --> 00:14:40,910 అసలు ఒక. 315 00:14:40,910 --> 00:14:45,050 మరియు ఆ మేము చూసిన ఎలా కొన్ని భద్రతను నాశనం 316 00:14:45,050 --> 00:14:46,780 కంప్యూటర్లతో జరుగుతుంది. 317 00:14:46,780 --> 00:14:52,760 >> కనుక స్టాక్ ఓవర్ఫ్లో, చిన్న లో, ఉంది మీరు స్టాక్ లో భాగంగా తిరిగి రాస్తుంది 318 00:14:52,760 --> 00:14:55,440 మీరు స్థానిక ఉపయోగించడానికి చేయాలో వేరియబుల్ మీరు ఉపయోగించే కోరుకుంటున్నాము, మరియు చేస్తున్నారు 319 00:14:55,440 --> 00:14:58,070 ముఖ్యంగా మీరు తిరిగి రాయటం మొదలు ఉన్నప్పుడు వంటి ముఖ్యమైన విషయాలు 320 00:14:58,070 --> 00:14:59,100 చిరునామా తిరిగి. 321 00:14:59,100 --> 00:15:00,090 మీరు లోపం పొందుతారు పేరు మరియు ఆ. 322 00:15:00,090 --> 00:15:03,980 లేదా ఉండవచ్చు మీరు ప్రారంభిస్తారా కూడా లోకి రాయడం - 323 00:15:03,980 --> 00:15:05,370 బైనరీ శోధన చెప్పడం కుడి ప్రధాన పై. 324 00:15:05,370 --> 00:15:07,790 మీరు, చాలా ఓవర్ రైట్ చేసాయి ఉంటే ప్రధాన లోకి రాస్తుంది. 325 00:15:07,790 --> 00:15:10,230 కానీ సాధారణంగా, మీరు ముందు లోపం కంప్యూటర్ తెలుసు గనుక 326 00:15:10,230 --> 00:15:12,270 మీరు ఏదో చేస్తున్నా చేయడం లేదు. 327 00:15:12,270 --> 00:15:12,560 అవును. 328 00:15:12,560 --> 00:15:13,910 >> STUDENT: తేడా ఏమిటి ఒక స్టాక్ ఓవర్ఫ్లో మధ్య 329 00:15:13,910 --> 00:15:16,940 మరియు ఒక బఫర్ ఓవర్ఫ్లో? 330 00:15:16,940 --> 00:15:19,420 >> జాసన్ HIRSCHHORN: బఫర్ ఓవర్ఫ్లో మరింత సాధారణ రకమైన ఉంది 331 00:15:19,420 --> 00:15:20,395 నేను వివరించిన చేసిన ఏమి. 332 00:15:20,395 --> 00:15:22,610 >> STUDENT: కాబట్టి ఒక స్టాక్ ఓవర్ఫ్లో ఒక ఉంది ఒక బఫర్ ఓవర్ఫ్లో యొక్క ఉదాహరణకు. 333 00:15:22,610 --> 00:15:23,420 >> జాసన్ HIRSCHHORN: ఖచ్చితంగా. 334 00:15:23,420 --> 00:15:28,700 ఈ మేము ఒక భావిస్తున్నది వ్యూహం బఫర్, సైన్ వెళ్ళడానికి విషయాల కోసం ఒక స్థలం 335 00:15:28,700 --> 00:15:30,600 ఈ ఒక స్టాక్ బఫర్ ఓవర్ఫ్లో ఉంది. 336 00:15:30,600 --> 00:15:33,210 మేము ఒక నిండుగా బఫర్ ఓవర్ఫ్లో చూపుతుంది. 337 00:15:33,210 --> 00:15:36,870 ఇది అక్కడ తరచుగా బఫర్, ఉంది ఉంటే వ్యూహం కుప్ప ఉంది, మరియు మేము 338 00:15:36,870 --> 00:15:40,600 ఆ హద్దులు ఓవర్రైట్, అప్పుడు మనం ఒక నిండుగా బఫర్ ఓవర్ఫ్లో. 339 00:15:40,600 --> 00:15:44,870 >> మరియు ఈ కోర్సు యొక్క పరిధిని దాటి, వారు ఒక బిట్ భిన్నంగా కనుగొనబడింది చేస్తున్నారు. 340 00:15:44,870 --> 00:15:48,040 కంపైలర్ ప్రత్యేక ఉంది ప్రతి గుర్తించే మార్గాలు. 341 00:15:48,040 --> 00:15:50,660 కానీ ఒక బఫర్ ఓవర్ఫ్లో మరింత సాధారణ ఉంది నేను వివరించారు రకం, 342 00:15:50,660 --> 00:15:54,090 ఒక స్టాక్ బఫర్ ఓవర్ఫ్లో ఉంది. 343 00:15:54,090 --> 00:15:56,240 మీ ప్రశ్నకు సమాధానం లేదు? 344 00:15:56,240 --> 00:15:57,910 స్వీట్. 345 00:15:57,910 --> 00:16:01,850 >> ఇతర ప్రశ్నలు సంబంధిత ఉన్నాయి స్టాక్ లేదా కుప్ప? 346 00:16:01,850 --> 00:16:04,920 347 00:16:04,920 --> 00:16:05,510 అవును. 348 00:16:05,510 --> 00:16:08,220 >> STUDENT: నేను మీరు ఉచిత తీగలను కలిగి తెలుసు వారు కుప్ప లో ఉన్నారు ఎందుకంటే 349 00:16:08,220 --> 00:16:09,305 మరియు మీరు మెమొరీ లీక్ వద్దు. 350 00:16:09,305 --> 00:16:12,240 కానీ మీరు ప్రపంచ వేరియబుల్స్ విడిపించేందుకు ఉన్నాయి మరియు ఆ వంటి అంశాలను? 351 00:16:12,240 --> 00:16:14,335 లేదా వారు స్వయంచాలకంగా విముక్తి? 352 00:16:14,335 --> 00:16:15,700 >> జాసన్ HIRSCHHORN: మంచి ప్రశ్న. 353 00:16:15,700 --> 00:16:22,340 కాబట్టి cs50.h లో, మేము ఈ విషయం సృష్టించడానికి కోసం మీరు ఒక స్ట్రింగ్ అని. 354 00:16:22,340 --> 00:16:23,800 ఒక స్ట్రింగ్ నిజంగా ఏమిటి? 355 00:16:23,800 --> 00:16:24,810 >> STUDENT: చార్ స్టార్. 356 00:16:24,810 --> 00:16:29,180 >> జాసన్ HIRSCHHORN: ఒక చార్ స్టార్, ఒక పాయింటర్ ఒక పాత్ర, ఒక పాయింటర్ 357 00:16:29,180 --> 00:16:30,650 పాత్రల వ్యూహం. 358 00:16:30,650 --> 00:16:32,210 తీగ ఉంది ఏమిటి. 359 00:16:32,210 --> 00:16:36,050 కాబట్టి మేము, ఇది ఉచితం చేయాలి ఎందుకంటే GetString, ఇది మేము చాలా ఉపయోగిస్తారు - 360 00:16:36,050 --> 00:16:38,370 స్ట్రింగ్ పేరు GetString సమానం - 361 00:16:38,370 --> 00:16:43,560 మాకు కోసం కొన్ని మెమరీ mallocs నిండుగా ఆపై ఒక పాయింటర్ తిరిగి 362 00:16:43,560 --> 00:16:47,230 ఆ మొదటి పాత్ర స్ట్రింగ్, ఒక చార్ స్టార్. 363 00:16:47,230 --> 00:16:52,760 >> కాబట్టి కనబడే, మీరు లేకపోతున్నాను ఉంటే మీ తీగలను ఏ ఉచిత రాయడం 364 00:16:52,760 --> 00:16:55,600 మీరు ఇప్పటివరకు అని చేసిన, మీరు కొన్ని మెమరీ రావడం జరిగింది. 365 00:16:55,600 --> 00:16:57,430 కోర్సు యొక్క మేము గురించి మాట్లాడారు లేదు ఇది, కాబట్టి ఎవరూ లో సంపాదించిన 366 00:16:57,430 --> 00:16:58,520 ఇది చేయడం కోసం ఇబ్బంది. 367 00:16:58,520 --> 00:16:59,980 అయితే, ముందుకు వెళ్ళడం. 368 00:16:59,980 --> 00:17:03,990 మీరు GetString కాల్ వచ్చినప్పుడు, మీరు కుప్ప మీద కొన్ని అంతరిక్ష mallocing. 369 00:17:03,990 --> 00:17:07,640 మరియు మీరు ఆ తరువాత ఉచిత కాల్ లేకపోతే స్ట్రింగ్, మీరు మెమొరీ లీక్ ఉన్నాయి. 370 00:17:07,640 --> 00:17:09,440 మీ ప్రశ్నకు సమాధానం? 371 00:17:09,440 --> 00:17:10,606 >> అవును 372 00:17:10,606 --> 00:17:15,020 >> STUDENT: కాబట్టి అలా, మేము ఉపయోగించగలను తిరిగి ముందు ఉచిత కుడి? 373 00:17:15,020 --> 00:17:18,510 వంటి, పరిధిలో, నేను ఊహిస్తున్నాను ఉంటే మేము లోపల ప్రధాన Int,, చెప్పడానికి 374 00:17:18,510 --> 00:17:24,410 ఆ లోపల అని కోడ్ యొక్క పరిధిని వంకర జంట కలుపులు, కుడి ముందు - 375 00:17:24,410 --> 00:17:26,140 మీరు ఎక్కడ బీమా సాధారణంగా రిటర్న్ ఉంచండి. 376 00:17:26,140 --> 00:17:27,950 మీరు ముందు ఉచిత ఉంచగలను? 377 00:17:27,950 --> 00:17:31,000 >> జాసన్ HIRSCHHORN: మీరు ఉచిత ఉంచవచ్చు మీరు ఉచిత ఉంచాలి కావలసిన చోట. 378 00:17:31,000 --> 00:17:33,810 ఈ సాహసోపేతంగా కేటాయించిన ఎందుకంటే వేరియబుల్స్ Please, 379 00:17:33,810 --> 00:17:39,170 ఒక నిర్దిష్ట పరిధికి ఆవల నివసిస్తున్నారు ఫంక్షన్, మీరు ఒక లో malloc కాల్ ఉంటే 380 00:17:39,170 --> 00:17:44,140 ప్రత్యేక ఫంక్షన్, ఉదాహరణకు, GetString, మీరు ప్రధాన లో ఉచిత కాల్ చేయవచ్చు. 381 00:17:44,140 --> 00:17:46,050 మీరు కాల్ లేదు నిర్దిష్ట ఫంక్షన్ లో 382 00:17:46,050 --> 00:17:47,570 malloc అని పిలుస్తారు. 383 00:17:47,570 --> 00:17:50,340 కానీ మీరు కాల్ చేయాలి ప్రధాన తిరిగి ముందు. 384 00:17:50,340 --> 00:17:51,120 >> అది నిజంగా ఆధారపడి ఉంటుంది. 385 00:17:51,120 --> 00:17:54,960 ఇది మీరు ఆ malloced ఎందుకు ఆధారపడి మొదటి స్థానంలో స్పేస్. 386 00:17:54,960 --> 00:17:57,320 కొన్ని ప్రజలు కాల్ అందంగా త్వరగా విడిపించేందుకు. 387 00:17:57,320 --> 00:17:59,220 కొంతమంది వరకు ఉచిత కాల్ వారి కార్యక్రమం చివరిలో. 388 00:17:59,220 --> 00:18:00,660 మరియు వారు ద్వారా వెళ్తారో మరియు ఉచిత ప్రతిదీ. 389 00:18:00,660 --> 00:18:03,597 మీరు malloc అని ఎందుకు ఆధారపడి ఉంటుంది. 390 00:18:03,597 --> 00:18:11,270 >> STUDENT: మీరు ఏమి చెబుతారు మీరు ఉపయోగం GetString అని ఉంటే? 391 00:18:11,270 --> 00:18:13,320 మీరు ఏ ఉచిత చెప్పాను? 392 00:18:13,320 --> 00:18:20,040 >> జాసన్ HIRSCHHORN: కాబట్టి కోసం వాక్యనిర్మాణం ఉచిత కేవలం ఉచిత, ఓపెన్ బ్రాకెట్, దగ్గరగా ఉంది 393 00:18:20,040 --> 00:18:22,130 బ్రాకెట్, మరియు పాయింటర్ యొక్క పేరు. 394 00:18:22,130 --> 00:18:26,410 కాబట్టి మీరు స్ట్రింగ్ పేరు సమానం వ్రాస్తే GetString, మీరు ఇక్కడ పేరు చాలు. 395 00:18:26,410 --> 00:18:27,760 ఆ పాయింటర్ యొక్క పేరు ఉంది. 396 00:18:27,760 --> 00:18:30,570 మరియు అది స్వేచ్ఛా మెమొరీ తెలుసు. 397 00:18:30,570 --> 00:18:33,920 >> STUDENT: ఇది మెమరీ కాపాడి కాబట్టి, పాయింటర్ ఇప్పటికీ ఆ స్థానానికి పాయింట్లు 398 00:18:33,920 --> 00:18:34,970 మెమరీలో? 399 00:18:34,970 --> 00:18:39,020 లేదా కూడా ఖాళీ పాయింటర్ ఇది చూపాడు చిరునామా. 400 00:18:39,020 --> 00:18:40,290 >> జాసన్ HIRSCHHORN: మేము ఆ ప్రయత్నించాలి. 401 00:18:40,290 --> 00:18:41,430 మేము ఆ కోడ్ ఉండాలి. 402 00:18:41,430 --> 00:18:43,880 మేము వెళ్ళాక యొక్క వచ్చి తెలియజేయండి కోడింగ్, మరియు యొక్క ఆ కోడ్ తెలియజేయండి. 403 00:18:43,880 --> 00:18:46,000 మరియు మీరు సమాధానం గుర్తించడానికి కావాలా ఆ, మీరు కూడా కోడ్ ఆ 404 00:18:46,000 --> 00:18:46,690 ఈ సమయంలో. 405 00:18:46,690 --> 00:18:49,100 కానీ ఒక గొప్ప ప్రశ్న. 406 00:18:49,100 --> 00:18:53,480 >> STUDENT: ఇది సాధ్యమేనా చాలా త్వరగా ఉచిత ఏదో? 407 00:18:53,480 --> 00:18:58,530 కాబట్టి మీరు ఇప్పటికీ మీ ప్రోగ్రామ్ అవసరం, మరియు మీరు ఆ మెమరీ విముక్తి స్థలం? 408 00:18:58,530 --> 00:18:59,200 >> జాసన్ HIRSCHHORN: అవును. 409 00:18:59,200 --> 00:19:03,020 ఇది, అవకాశం ఉంటే మీరు ఉచిత ఏదో మరియు మీరు మళ్ళీ ఉపయోగించడానికి, మీరు 410 00:19:03,020 --> 00:19:06,890 లోపం ఆకస్మికంగా. 411 00:19:06,890 --> 00:19:10,810 మీరు విముక్తి కారణంగా ఆ, మీరు ఉంది అప్పుడు ఏదో మరియు తరువాత అని. 412 00:19:10,810 --> 00:19:13,940 కాబట్టి ఒక ప్రోగ్రామర్ యొక్క తప్పు. 413 00:19:13,940 --> 00:19:14,780 అయితే. 414 00:19:14,780 --> 00:19:17,760 ఆ రాస్తుంది. 415 00:19:17,760 --> 00:19:19,240 >> ప్రశ్నలేవీ - 416 00:19:19,240 --> 00:19:19,760 అవును. 417 00:19:19,760 --> 00:19:22,820 >> STUDENT: మీరు ఉండాల్సి ఉంటే కేవలం ముందు సాధారణంగా ఇది ఉచితం 418 00:19:22,820 --> 00:19:25,490 కార్యక్రమం ఉంటే అని అర్థం, ముగుస్తుంది కార్యక్రమం ముగుస్తుంది మరియు మీరు ఇది ఉచితం లేదు, 419 00:19:25,490 --> 00:19:27,580 మెమరీ ఇప్పటికీ కేటాయించబడుతుంది? 420 00:19:27,580 --> 00:19:31,330 >> జాసన్ HIRSCHHORN: మీ ప్రోగ్రామ్ ముగిస్తే మరియు మీరు, ఏదో విముక్తికై మర్చిపోతే 421 00:19:31,330 --> 00:19:34,390 ఆ స్మృతి అంతటా కేటాయించారు మీ ప్రోగ్రామ్ యొక్క జీవిత. 422 00:19:34,390 --> 00:19:37,670 మీ ప్రోగ్రామ్, పూర్తిగా మూసివేయబడినప్పుడు ఆ స్మృతి ఉండదని 423 00:19:37,670 --> 00:19:39,490 ఎప్పటికీ అక్కడే. 424 00:19:39,490 --> 00:19:42,080 కంప్యూటర్ తెలుసుకోవాలి తగినంత స్మార్ట్ ఉంది ఆ కార్యక్రమం మూసివేయబడినప్పుడు, ఇది 425 00:19:42,080 --> 00:19:46,440 మెమరీ అన్ని వదిలించుకోవటం అని ఆ కార్యక్రమం సంబంధం జరిగినది. 426 00:19:46,440 --> 00:19:51,240 >> అయితే, మీరు అమలు చెయ్యవచ్చు టూల్స్ ఉన్నాయి గుర్తించడానికి ఒక కార్యక్రమంలో, ఉంటే ఉన్నప్పుడు 427 00:19:51,240 --> 00:19:54,720 కార్యక్రమం మీరు మర్చిపోతే, పూర్తి కొన్ని మెమరీ విడిపించేందుకు. 428 00:19:54,720 --> 00:19:57,960 మరియు మీ తదుపరి సమస్య కోసం ఇక్కడ సెట్ మీరు malloc ఉపయోగించి మరియు ఉపయోగించి వస్తుంది 429 00:19:57,960 --> 00:20:02,610 గమనికలు, మీరు ఈ నడుస్తున్న ఉంటుంది చూడటానికి మీ కార్యక్రమాన్ని ప్రోగ్రామ్, 430 00:20:02,610 --> 00:20:06,530 ఉన్నప్పుడు ప్రధాన తిరిగి, మీరు కొన్ని కలిగి unfreed మిగిలారు ఆ విషయాలు. 431 00:20:06,530 --> 00:20:09,130 >> కాబట్టి వారు malloced ఉండడానికి వెళ్ళి లేదు ఎప్పటికీ మీ కంప్యూటర్ లో. 432 00:20:09,130 --> 00:20:11,720 ఆ, వృధా అవుతుంది, ఎందుకంటే చాలా త్వరగా, కంప్యూటర్లు 433 00:20:11,720 --> 00:20:12,960 మెమరీ రన్నవుట్. 434 00:20:12,960 --> 00:20:16,450 కానీ వారు మీ ముగిసే వరకు అమలు చేస్తే ప్రోగ్రామ్ మరియు వారు విముక్తులమై లేదు మీ 435 00:20:16,450 --> 00:20:20,260 కార్యక్రమం ఇప్పటికీ ఒక సమస్య, నిష్క్రమిస్తుంది ఈ సాధనం సహాయపడే మీకు పరిష్కరించడానికి. 436 00:20:20,260 --> 00:20:21,520 >> STUDENT: Valgrind అని? 437 00:20:21,520 --> 00:20:22,910 >> జాసన్ HIRSCHHORN: ఇది Valgrind అని. 438 00:20:22,910 --> 00:20:23,520 మరియు మీరు ఉంటాం - 439 00:20:23,520 --> 00:20:25,780 >> STUDENT: కానీ మేము తెలుసు లేదు ఆ క్విజ్, అయితే? 440 00:20:25,780 --> 00:20:27,600 నేను అర్థం, దాని గురించి మాట్లాడారు జరిగినది ఉపన్యాసంలో కొద్దిగా. 441 00:20:27,600 --> 00:20:33,600 >> జాసన్ HIRSCHHORN: కాబట్టి Valgrind ఆ ఉపకరణం యొక్క పేరు. 442 00:20:33,600 --> 00:20:37,180 అది తెలుసుకోకుండానే ఉంది క్విజ్ తగినంత. 443 00:20:37,180 --> 00:20:40,200 కానీ మీరు ఇంకా ఉపయోగించలేదు మీ మేము వచ్చింది కారణంగా సమస్య సెట్ ఒక 444 00:20:40,200 --> 00:20:43,520 స్పష్టంగా నిర్వహించాయి ఆ సమస్య సెట్ malloc తో లేదా మీరు malloc ఉపయోగించి. 445 00:20:43,520 --> 00:20:45,330 కాబట్టి మీరు ఇంకా Valgrind ఉపయోగించలేదు. 446 00:20:45,330 --> 00:20:47,760 కానీ మీరు దాన్ని ఇంకా ఉపయోగిస్తుంది కాకుండా తరువాత. 447 00:20:47,760 --> 00:20:48,710 >> STUDENT: మీరు మళ్ళీ ఏమి Valgrind ఉంది? 448 00:20:48,710 --> 00:20:49,190 >> జాసన్ HIRSCHHORN: క్షమించాలి? 449 00:20:49,190 --> 00:20:51,240 >> STUDENT: మీరు ఏమి మళ్ళీ Valgring ప్రయోజనం ఉంటుంది? 450 00:20:51,240 --> 00:20:53,100 >> జాసన్ HIRSCHHORN: Valgrind పేరు - 451 00:20:53,100 --> 00:20:59,890 GDB, మీరు మీ కార్యక్రమాన్ని డీబగ్ సహాయపడుతుంది వంటి Valgrind మీరు కనుగొనడానికి సహాయం చేస్తుంది ఉంటే 452 00:20:59,890 --> 00:21:03,210 విషయాలు విముక్తి కాలేదు మీ ప్రోగ్రామ్ మూసివేయబడినప్పుడు. 453 00:21:03,210 --> 00:21:05,110 కాబట్టి మీరు మీ కార్యక్రమాన్ని అమలు చేస్తాము. 454 00:21:05,110 --> 00:21:09,230 మీ ప్రోగ్రామ్ నిష్క్రమిస్తుంది, చెప్పాను చేస్తాము మీ ప్రోగ్రామ్ malloc ఈ అనేక అని 455 00:21:09,230 --> 00:21:13,670 ఈ అనేక బైట్లు కోసం సార్లు, మరియు మీరు ఈ అనేక సార్లు ఉచిత అని. 456 00:21:13,670 --> 00:21:16,520 కాబట్టి మీరు ఈ అనేక బైట్లు వదిలి విముక్తి లేకుండా. 457 00:21:16,520 --> 00:21:18,050 లేదా మీరు ప్రతిదీ విముక్తి చేసిన సే చేస్తాము. 458 00:21:18,050 --> 00:21:19,070 మంచి ఉద్యోగం. 459 00:21:19,070 --> 00:21:19,480 >> STUDENT: OK. 460 00:21:19,480 --> 00:21:21,060 మరియు అది Valgring అని? 461 00:21:21,060 --> 00:21:24,940 >> జాసన్ HIRSCHHORN: V-A-L-G-R-I-N-D. 462 00:21:24,940 --> 00:21:25,970 >> STUDENT: గమనికలు గురించి ఒక ప్రశ్న. 463 00:21:25,970 --> 00:21:30,080 మీరు n స్టార్ సే x ఏదో సమానం. 464 00:21:30,080 --> 00:21:33,330 మీరు పెట్టటం చేస్తున్నా, సమానం అక్కడ, ఏ లోపల పెట్టి చేయబడిన ఆ ఉంది 465 00:21:33,330 --> 00:21:36,120 ఏమి x సూచించే, లేదా x యొక్క పాయింటర్? 466 00:21:36,120 --> 00:21:37,690 >> జాసన్ HIRSCHHORN: మీరు చేయగలరా ప్రశ్న పునరుక్తి? 467 00:21:37,690 --> 00:21:39,340 మీరు చెప్పే అయితే మేము అది డ్రా చేయవచ్చు? 468 00:21:39,340 --> 00:21:42,710 >> STUDENT: క్విజ్ లో, నిజానికి, మీరు మాకు పంపిన ఒక, ఇది, చార్ వంటిది 469 00:21:42,710 --> 00:21:46,520 స్టార్ నిజం కుడి, CS50 రాళ్ళు సమానం? 470 00:21:46,520 --> 00:21:52,190 కాబట్టి అర్థం చేసే CS50 రాళ్ళు సత్యానికి సూచించబడిన ఏమిటి? 471 00:21:52,190 --> 00:21:55,810 >> జాసన్ HIRSCHHORN: కాబట్టి మీరు మాట్లాడటం చేస్తున్నాం ఒక స్ట్రింగ్ లో ఒక చార్ స్టార్ గురించి, ఎలా 472 00:21:55,810 --> 00:21:56,460 ఆ పని? 473 00:21:56,460 --> 00:21:56,890 అవును. 474 00:21:56,890 --> 00:21:57,700 OK. 475 00:21:57,700 --> 00:21:59,140 యొక్క ఇక్కడ ఈ డ్రా లెట్. 476 00:21:59,140 --> 00:22:07,100 >> [ప్రక్క సంభాషణ] 477 00:22:07,100 --> 00:22:11,130 >> జాసన్ HIRSCHHORN: ఈ వేరియబుల్ రకం చార్ స్టార్ అన్నారు. 478 00:22:11,130 --> 00:22:14,580 ఒక వేరియబుల్ ఎలా పెద్దది రకం చార్ స్టార్? 479 00:22:14,580 --> 00:22:15,510 ఎన్ని బైట్లు? 480 00:22:15,510 --> 00:22:16,450 >> విద్యార్థులు: నాలుగు. 481 00:22:16,450 --> 00:22:18,210 >> జాసన్ HIRSCHHORN: ఇది నాలుగు బైట్లు ఉంది. 482 00:22:18,210 --> 00:22:21,420 ఒక వేరియబుల్ ఎన్ని హక్కులు ఉంది రకం Int స్టార్? 483 00:22:21,420 --> 00:22:22,210 >> విద్యార్థులు: నాలుగు. 484 00:22:22,210 --> 00:22:24,910 >> జాసన్ HIRSCHHORN: నాలుగు బైట్లు. 485 00:22:24,910 --> 00:22:28,280 అది ఒక పాయింటర్, అది ఎల్లప్పుడూ ఉంది నాలుగు బైట్లు, ఎందుకంటే గమనికలు, వారి 486 00:22:28,280 --> 00:22:30,070 విలువ ఒక మెమరీ చిరునామా ఉంది. 487 00:22:30,070 --> 00:22:35,160 మరియు CS50 న మెమరీ చిరునామాలు ఉపకరణం నాలుగు బైట్లు పొడవు. 488 00:22:35,160 --> 00:22:42,900 కాబట్టి మేము GetString, లేదా మేము కాల్ చేసినప్పుడు సే, stringname లో అప్పుడు సమానం, మరియు 489 00:22:42,900 --> 00:22:46,140 డబుల్ కోట్స్ ఒక స్ట్రింగ్ ఉంచండి, మేము ఉంచడం ఉన్నాయి - 490 00:22:46,140 --> 00:22:46,920 అలాగే, ఒక చిన్న విభిన్నమైనది. 491 00:22:46,920 --> 00:22:48,630 మేము ఉదాహరణగా GetString చేస్తాను. 492 00:22:48,630 --> 00:22:52,150 లేదా చార్ స్టార్ ఏదో స్ట్రింగ్ సమానం. 493 00:22:52,150 --> 00:22:54,360 సారీ, ఉదాహరణ మీరు చదివే? 494 00:22:54,360 --> 00:22:57,590 >> STUDENT: చార్ స్టార్ సత్యం సమానం డబుల్ కోట్స్ లో "CS50 రాళ్ళు". 495 00:22:57,590 --> 00:23:02,260 >> జాసన్ HIRSCHHORN: ఈ స్టార్, ఈ మేము కోసం ఈ చరరాశి X పిలుస్తాను మా 496 00:23:02,260 --> 00:23:04,060 సాధారణ ప్రయోజనాల. 497 00:23:04,060 --> 00:23:05,970 మేము x అనే వేరియబుల్ సృష్టించారు. 498 00:23:05,970 --> 00:23:07,610 ఇది రకం చార్ తార. 499 00:23:07,610 --> 00:23:10,950 ఇది వరుస ఒక పాయింటర్ అక్షరాలు. 500 00:23:10,950 --> 00:23:12,200 ఇక్కడ డౌన్ - 501 00:23:12,200 --> 00:23:23,710 502 00:23:23,710 --> 00:23:25,890 >> కాబట్టి ఈ ఎలా ఈ చేస్తాను ఉంది మెమరీలో పని. 503 00:23:25,890 --> 00:23:27,410 ఈ ఒక మెమరీ చిరునామా నిల్వ చేస్తుంది. 504 00:23:27,410 --> 00:23:31,770 ఇది మెమరీ చిరునామా నిల్వ చేస్తుంది శ్రేణి లో మొదటి అక్షరం. 505 00:23:31,770 --> 00:23:33,830 ఆపై మీరు తర్వాత పాయింటర్, మీరు 506 00:23:33,830 --> 00:23:35,200 మొదటి పాత్ర పొందడానికి. 507 00:23:35,200 --> 00:23:38,780 >> మరియు మీరు వంటి ఈ విషయం చదువుతున్న ఒక స్ట్రింగ్, మీ కంప్యూటర్ స్మార్ట్ ఉంది 508 00:23:38,780 --> 00:23:42,930 తెలుసు తగినంత, ఈ మొత్తం విషయం చదవండి ఇది ఒక ఎదురుదెబ్బ 0 పొందేంత వరకు. 509 00:23:42,930 --> 00:23:45,530 కానీ మీరు అది ఒక పాత్ర చదువుతున్న ఒక సమయం, కాబట్టి మీరు ద్వారా iterating చేస్తున్నారు 510 00:23:45,530 --> 00:23:49,910 ఈ స్ట్రింగ్, మీరు కేవలం ఒక చదువుతాను ఒక సమయంలో పాత్ర మీరు ను వరకు 511 00:23:49,910 --> 00:23:50,850 బాక్ స్లాష్ 0. 512 00:23:50,850 --> 00:23:52,335 ఆ సమాధానం కాదు మీ ప్రశ్న, అయితే. 513 00:23:52,335 --> 00:23:55,610 >> STUDENT: అవును, కానీ మీరు కాదు malloced స్పేస్ 514 00:23:55,610 --> 00:23:58,400 ఇంకా ఆ పాయింటర్ కోసం. 515 00:23:58,400 --> 00:24:02,510 >> జాసన్ HIRSCHHORN: నేను చాలా ఖచ్చితంగా తెలియదు వేటి మీరు శోధిస్తున్న, 516 00:24:02,510 --> 00:24:03,640 నేను క్విజ్ లేదు ఎందుకంటే. 517 00:24:03,640 --> 00:24:06,370 ఒక ఉపయోగపడిందా రావలసిన మరో TF నుండి వనరు. 518 00:24:06,370 --> 00:24:11,380 మీరు ఒక స్ట్రింగ్ సృష్టిస్తున్నా స్టాక్ లేదా ఒక స్థానిక వేరియబుల్ వంటి, ఇది చేస్తాము 519 00:24:11,380 --> 00:24:16,920 కేవలం ఆరోపణలను శ్రేణి కాకుండా ఉంటుంది సూచించే సాధారణంగా ఒక చార్ స్టార్ 520 00:24:16,920 --> 00:24:18,600 మరొక స్ట్రింగ్. 521 00:24:18,600 --> 00:24:20,550 కానీ నేను తెలియదు. 522 00:24:20,550 --> 00:24:25,065 మరో ఒక పాయింటర్ కావచ్చు స్టాక్ స్ట్రింగ్ అలాగే. 523 00:24:25,065 --> 00:24:27,240 అవును. 524 00:24:27,240 --> 00:24:31,116 >> STUDENT: నేను మీరు అవసరం తెలుసు పాయింటర్ ఉంటే మెమరీ కేటాయించే 525 00:24:31,116 --> 00:24:33,360 లోపలి ప్రకటించింది విధానం మరొక ఫంక్షన్ యొక్క. 526 00:24:33,360 --> 00:24:36,740 మీరు ఉంటే అదే విషయం అలా చేయాలి ప్రధాన లోపలి ప్రకటించిన, 527 00:24:36,740 --> 00:24:39,570 మీరు ప్రధాన లోపలి ఉపయోగిస్తున్నట్లయితే? 528 00:24:39,570 --> 00:24:43,590 >> జాసన్ HIRSCHHORN: కాబట్టి అవును. 529 00:24:43,590 --> 00:24:46,670 మీరు ఏ ఒక పాయింటర్ ప్రకటించవచ్చు మెమరీలో మెమరీ చిరునామా. 530 00:24:46,670 --> 00:24:51,440 ఇది ఒక స్థానిక యొక్క మెమరీ చిరునామా ఉంటుంది వేరియబుల్, తరచు అయితే, 531 00:24:51,440 --> 00:24:55,760 ప్రజలు మెమరీ చిరునామాలు ప్రకటించలేదు వారు ఎందుకంటే స్థానిక వేరియబుల్స్ 532 00:24:55,760 --> 00:24:59,890 ఆ ఫంక్షన్ తిరిగి దూరంగా ఒకసారి, ఇది మేము సాధారణంగా malloc విషయాలు ఎందుకు. 533 00:24:59,890 --> 00:25:04,630 అయితే, మీరు ఒక పాయింటర్ డిక్లేర్ కాలేదు మరొక స్థానిక వేరియబుల్. 534 00:25:04,630 --> 00:25:06,360 ఇది కేవలం సాధారణంగా పని కాదు. 535 00:25:06,360 --> 00:25:09,480 కానీ నేను ఆ పరిశీలించి పడుతుంది తరగతి తర్వాత నిర్దిష్ట విషయం. 536 00:25:09,480 --> 00:25:10,650 అవును. 537 00:25:10,650 --> 00:25:12,350 >> STUDENT: నేను ఈ విధమైన భావిస్తున్నాను అడిగినప్పుడు ఏమి. 538 00:25:12,350 --> 00:25:16,930 ఇది ప్రారంభించడం వింత అనిపించడం లేదు ఒక వంటి ఒక పాయింటర్ 539 00:25:16,930 --> 00:25:20,760 చిరునామా, కానీ ఏమి ఒక విలువ వంటి తెలుస్తోంది. 540 00:25:20,760 --> 00:25:25,970 CS50 లోపల ఏమి ఉంది ఉన్నట్లు కనిపిస్తోంది విషయం చూపించి చేస్తున్నారు 541 00:25:25,970 --> 00:25:28,820 కాదు అసలు చిరునామా, కుడి? 542 00:25:28,820 --> 00:25:30,520 >> జాసన్ HIRSCHHORN: కాబట్టి ఆ కేసు, అయితే. 543 00:25:30,520 --> 00:25:32,470 ఏం కాదు. 544 00:25:32,470 --> 00:25:35,910 మీరు ఒక చార్ స్టార్ డిక్లేర్ చేసినప్పుడు, ఇది ఒక మెమరీ చిరునామా ఉంది. 545 00:25:35,910 --> 00:25:38,860 గమనికలు అన్ని మెమరీ చిరునామాలు ఏదో సూచించే. 546 00:25:38,860 --> 00:25:41,480 వేరే ఏదో న కావచ్చు స్టాక్, కానీ దాదాపు ఎల్లప్పుడూ ఉంది 547 00:25:41,480 --> 00:25:43,440 మేము ఉపయోగించారు చూస్తారు విధంగా నిండుగా. 548 00:25:43,440 --> 00:25:46,860 549 00:25:46,860 --> 00:25:53,500 కానీ stringname డబుల్ కోట్ సమానం ", GetString" మేము ఆ చూడగలరు మరియు మేము 550 00:25:53,500 --> 00:25:55,010 ఆ ద్వారా చూసి ఆ కోడ్ చేయడం. 551 00:25:55,010 --> 00:26:01,190 GetString స్ట్రింగ్ లో సేవ్ లేదు ఆ వేరియబుల్, లేదా సంసార స్ట్రింగ్ 552 00:26:01,190 --> 00:26:04,580 పేరు ఆ సేవ్ లేదు ఉంది వేరియబుల్, ఆ ఎందుకంటే కాదు ఎలా 553 00:26:04,580 --> 00:26:06,070 గమనికలు పని. 554 00:26:06,070 --> 00:26:06,770 అర్ధవంతం లేదు? 555 00:26:06,770 --> 00:26:07,170 >> STUDENT: అవును. 556 00:26:07,170 --> 00:26:08,570 >> జాసన్ HIRSCHHORN: OK. 557 00:26:08,570 --> 00:26:11,690 ఆశాజనక, ఆ కాదు ఎవరైనా గందరగోళంగా. 558 00:26:11,690 --> 00:26:15,732 ఇది అయితే, మేము మళ్ళీ చూడవచ్చు ఒక బిట్ లో, మేము నిజంగా ఎందుకంటే 559 00:26:15,732 --> 00:26:19,240 ఆశాజనక రెడీ ఏదో కోడ్ని తీగలను తో పని మరియు మీరు అనుభూతి సహాయం 560 00:26:19,240 --> 00:26:22,170 వారితో మరింత సౌకర్యవంతమైన. 561 00:26:22,170 --> 00:26:24,869 >> ఈ సంబంధించి ఏ ఇతర ప్రశ్నలు విషయాలు లేదా ఇతర అంశాలు 562 00:26:24,869 --> 00:26:26,119 నేను తిరిగి ఉంచుతాము? 563 00:26:26,119 --> 00:26:32,280 564 00:26:32,280 --> 00:26:34,840 మరియు - 565 00:26:34,840 --> 00:26:36,310 ప్రస్తుతం. 566 00:26:36,310 --> 00:26:37,630 అవును, అల్డెన్. 567 00:26:37,630 --> 00:26:39,860 >> ALDEN: ఈ పూర్తిగా సంబంధం, కానీ మేము కేవలం వెళ్ళే 568 00:26:39,860 --> 00:26:42,760 నిజంగా త్వరగా మేము తెలుసుకోవలసినది ఒక 32 మరియు మధ్య వ్యత్యాసం గురించి 569 00:26:42,760 --> 00:26:46,345 64-bit మిషన్? 570 00:26:46,345 --> 00:26:47,740 >> జాసన్ HIRSCHHORN: అవును. 571 00:26:47,740 --> 00:26:52,111 కాబట్టి 32 బిట్స్ ఎన్ని బైట్లు? 572 00:26:52,111 --> 00:26:53,060 >> ALDEN: ఇది నాలుగు బైట్లు ఉంది. 573 00:26:53,060 --> 00:26:54,360 >> జాసన్ HIRSCHHORN: ఇది నాలుగు బైట్లు ఉంది. 574 00:26:54,360 --> 00:26:58,420 మరియు 64 బిట్స్ ఎన్ని బైట్లు? 575 00:26:58,420 --> 00:26:59,112 >> STUDENT: ఎనిమిది. 576 00:26:59,112 --> 00:27:00,610 >> జాసన్ HIRSCHHORN: ఎనిమిది బైట్లు. 577 00:27:00,610 --> 00:27:03,980 మరలా, ఎనిమిది బిట్స్ ఒకటి బైట్ ఉంది. 578 00:27:03,980 --> 00:27:08,340 మీ CS50 ఉపకరణం ఒక 32-bit మిషన్. 579 00:27:08,340 --> 00:27:13,650 కాబట్టి మెమరీ చిరునామాలు పొడవైన నాలుగు బైట్లు. 580 00:27:13,650 --> 00:27:17,460 2 32 ఉన్నాయి మెమరీ చిరునామాలను. 581 00:27:17,460 --> 00:27:21,310 0 32 మైనస్ 1 2 కు. 582 00:27:21,310 --> 00:27:27,630 మరియు నేను మంచి కాదు, కానీ ఆ మీరు అవసరం ఏమి బహుశా పరిధిని 583 00:27:27,630 --> 00:27:35,230 , ఒక 32-bit మిషన్ కోసం తెలిసిన మెమరీ చిరునామాలు,, మళ్ళీ, నాలుగు బైట్లు పొడవు 584 00:27:35,230 --> 00:27:39,620 మరియు గరిష్ట మొత్తం ఉంది మెమరీ చిరునామాలు. 585 00:27:39,620 --> 00:27:41,680 >> అలాగే, డేటా రకాలు - 586 00:27:41,680 --> 00:27:45,020 ఈ వంటి ఏదో కావచ్చు బాగా పేర్కొంది ఉపయోగకరమని. 587 00:27:45,020 --> 00:27:49,610 ఒక డేటా రకాన్ని యొక్క పరిమాణం మీద ఆధారపడి ఉంటుంది మీరు పనిచేస్తున్న యంత్రం. 588 00:27:49,610 --> 00:27:56,760 కాబట్టి చార్, ఒక పాత్ర, ఎలా ఉంది మా CS50 ఉపకరణం అనేక బైట్లు? 589 00:27:56,760 --> 00:27:57,980 ఒక బైట్. 590 00:27:57,980 --> 00:28:02,310 మరియు అది నిజానికి ఒక బైట్ వంటి ఉంది బాగా ఒక 64-bit కంప్యూటరులో. 591 00:28:02,310 --> 00:28:05,920 >> మరియు అత్యంత డేటా రకాల అదే నెంబర్ ఉంటాయి రెండు కంప్యూటర్లలో బైట్లు. 592 00:28:05,920 --> 00:28:11,620 కానీ కొన్ని డేటా రకాలు వివిధ ఉంటుంది రెండు కంప్యూటర్లలో. 593 00:28:11,620 --> 00:28:14,590 కాబట్టి ఆ సమర్థవంతంగా ఉంటుంది మీరు తెలుసుకోవాలి మాత్రమే విషయం. 594 00:28:14,590 --> 00:28:16,710 >> అయితే ఆ, నేను, సరిహద్దులు దాటి ఉంది - 595 00:28:16,710 --> 00:28:20,990 మీరు తిరిగి చూస్తే, దాదాపు అనుకూల ఉన్నాను పాత క్విజ్లు వద్ద, అది, భావించవచ్చును 596 00:28:20,990 --> 00:28:24,090 మీరు ఉపయోగిస్తున్నట్లయితే సమస్యలు కోడింగ్ ఒక 32-bit మిషన్. 597 00:28:24,090 --> 00:28:26,620 598 00:28:26,620 --> 00:28:30,620 కానీ ఆ పాటు వెళ్ళడానికి, ఉన్నాయి మీకు ఆసక్తి కేసు, ఉన్నాయి 599 00:28:30,620 --> 00:28:35,920 ఒకటే డేటా రకాల అన్ని కంప్యూటర్లలో పరిమాణం. 600 00:28:35,920 --> 00:28:42,670 >> మీరు ఇలా చూసిన uint32_t, మీరు లేదా మారవచ్చు 601 00:28:42,670 --> 00:28:43,260 చూసాం కాదు. 602 00:28:43,260 --> 00:28:44,290 ఒక డేటా రకం. 603 00:28:44,290 --> 00:28:47,570 ఆ 32 బిట్స్ ఉన్నా ఉంటుంది, అని ఈ ఏమి కంప్యూటరులో. 604 00:28:47,570 --> 00:28:50,350 కాబట్టి ప్రజలు పోర్టబుల్ రాయడం చేసినప్పుడు కోడ్, వారు బహుశా ints ఉపయోగించదు. 605 00:28:50,350 --> 00:28:53,260 వారు ఈ ఇతర డేటా ఉపయోగిస్తాము వారు తెలిసిన రకాల అదే ఉంటుంది 606 00:28:53,260 --> 00:28:54,780 ప్రతి కంప్యూటరులో పరిమాణం. 607 00:28:54,780 --> 00:28:58,080 608 00:28:58,080 --> 00:28:58,250 మధు. 609 00:28:58,250 --> 00:29:00,150 >> మధు: నేను ఒక ప్రశ్న సంగ్రహం విధానంలో. 610 00:29:00,150 --> 00:29:04,110 కాబట్టి మీరు ఉపయోగించే ప్రోగ్రాం వ్రాస్తున్నట్లయితే CS50 లేదా ఏదో వంటి ఒక లైబ్రరీ 611 00:29:04,110 --> 00:29:06,840 ఆ వంటి, నేను తెలుసు లైబ్రరీ , ఏదో ఒక సమయంలో, ఉండాలి 612 00:29:06,840 --> 00:29:08,590 కంపైల్ మరియు సైన్ లింక్ 613 00:29:08,590 --> 00:29:13,380 కానీ ఎంత ఆ సమయంలో జరుగుతుంది మీ ప్రోగ్రామ్ సంగ్రహం? 614 00:29:13,380 --> 00:29:15,880 ఆ లైబ్రరీ ప్రక్రియ యొక్క ఏ భాగం మీరు జరుగుతుంది 615 00:29:15,880 --> 00:29:18,560 మీ స్వంత ప్రోగ్రామ్ కంపైల్? 616 00:29:18,560 --> 00:29:24,020 >> జాసన్ HIRSCHHORN: కాబట్టి యొక్క వీడలేదు ఈ ప్రక్రియ యొక్క సాధారణంగా దశలను. 617 00:29:24,020 --> 00:29:26,280 మీరు మీ. సి ఫైల్ను వ్రాయడానికి. 618 00:29:26,280 --> 00:29:33,530 మీ. సి ఫైలు, మీరు # ఉన్నాయి మీ శీర్షిక గ్రంథాలయాలు, ఉదాహరణకు, cs50.h. 619 00:29:33,530 --> 00:29:39,480 పదునైన కూడా ఏమి చేస్తుంది లైన్ మీ ప్రోగ్రామ్ ఏమి? 620 00:29:39,480 --> 00:29:40,525 Akchar. 621 00:29:40,525 --> 00:29:43,350 >> AKCHAR: ఇది యొక్క ప్రోటో జతచేస్తుంది శీర్షిక నుండి విధులు 622 00:29:43,350 --> 00:29:45,120 గ్రంథాలయాల్లో ఫైళ్లు. 623 00:29:45,120 --> 00:29:45,600 >> జాసన్ HIRSCHHORN: ఖచ్చితంగా. 624 00:29:45,600 --> 00:29:49,870 ఇది ఆ ఫంక్షన్ నమూనాలను జతచేస్తుంది మీ కోడ్. 625 00:29:49,870 --> 00:29:55,230 మీ కోడ్ లో కంపైల్ ఉంది కాబట్టి ప్రారంభ దశలు, కంపైలర్ తెలుసు 626 00:29:55,230 --> 00:29:59,250 ఈ విధులను నిజంగా, మరియు ఆ ఎక్కడో వారు నిర్వచించబడలేదు. 627 00:29:59,250 --> 00:30:02,460 . H ఫైళ్లు కలిపి శుభకార్యములకు నిర్వచనాలు లేదా ఎలా 628 00:30:02,460 --> 00:30:03,950 ఆగుతూ. 629 00:30:03,950 --> 00:30:07,960 Cs50.h కేవలం ఏదో కలిగి GetString నిజమైన విషయం 630 00:30:07,960 --> 00:30:09,270 జరుగుతుంది. 631 00:30:09,270 --> 00:30:14,240 మరియు standardio.h printf చెప్పారు ఇదే నిజమైన విషయం. 632 00:30:14,240 --> 00:30:23,190 >> ఈ తో మీ సి భాషను. శీర్షిక ఫైలు కొన్ని లోకి మారిన కావాలి 633 00:30:23,190 --> 00:30:27,750 కంప్యూటర్ కోడ్, ఇది చివరికి బైనరీ లోకి మారిన కావాలి 634 00:30:27,750 --> 00:30:30,030 కోడ్, 0 మరియు 1 యొక్క. 635 00:30:30,030 --> 00:30:33,590 మరియు ఆ కోడ్ చివరికి అమలు అవుతుంది. 636 00:30:33,590 --> 00:30:38,550 -L CS50 లైన్ - ఉదాహరణకు, మీరు గణగణమని ద్వని చేయు వ్రాస్తున్నప్పుడు - 637 00:30:38,550 --> 00:30:41,830 ఆపై మీరు ఉన్నాయి-l CS50, మీరు సైన్ టైప్ 638 00:30:41,830 --> 00:30:42,180 మరియు మీరు చూడండి. 639 00:30:42,180 --> 00:30:43,890 మీరు వ్రాసి, మీరు చేస్తాము ఇక్కడ ఆ లైన్ చూడండి. 640 00:30:43,890 --> 00:30:47,740 మరియు మేము రెండవ ఆ చూస్తారు ఉన్నప్పుడు మేము కోడ్ లేదా తరువాత మేము కోడ్ చేసిన. 641 00:30:47,740 --> 00:30:50,390 >> కానీ-l CS50 లైన్ ఏదో చేస్తుంది కంటే భిన్నమైనది 642 00:30:50,390 --> 00:30:52,440 # Cs50.h. ఉన్నాయి 643 00:30:52,440 --> 00:30:56,300 ఆ-l CS50 లైన్ ఏమి చేస్తుంది? 644 00:30:56,300 --> 00:30:56,820 Avi? 645 00:30:56,820 --> 00:31:00,310 >> AVI: నేను లింకున్న చెప్పాలనుకోవడం ఫంక్షన్ లైబ్రరీ 646 00:31:00,310 --> 00:31:02,710 . O ఫైళ్లు వంటి, కాల్. 647 00:31:02,710 --> 00:31:08,200 >> జాసన్ HIRSCHHORN: కాబట్టి చాలా దగ్గరగా, మచ్చ న లేకపోతే. 648 00:31:08,200 --> 00:31:16,220 -L CS50 బైనరీ ఫైలు తీసుకుని మీ బైనరీ ఫైల్ తో విలీనం. 649 00:31:16,220 --> 00:31:21,410 కాబట్టి cs50.h, టర్నింగ్ లో ఏ పాయింట్ ఉంది ప్రతి బైనరీ C భాష నుండి cs50.h 650 00:31:21,410 --> 00:31:23,130 ఇది ఉపయోగిస్తారు చేయబడిన సమయం. 651 00:31:23,130 --> 00:31:26,650 ఆ, వెర్రి ఉంటుంది ఎందుకంటే ఆ సమయం చాలా వృధా అవుతుంది. 652 00:31:26,650 --> 00:31:30,420 కాబట్టి ఇది ఇప్పటికే సంకలనం చేయబడింది మరియు ఒక ఎక్జిక్యూటబుల్ మారింది. 653 00:31:30,420 --> 00:31:35,430 ఇప్పుడు అది విలీనం కావడం చివరిలో మీ ఫైలు. 654 00:31:35,430 --> 00:31:38,370 కాబట్టి ఆ 1 మరియు 0 యొక్క వెళ్తున్నారు మీ వాటితో విలీనం 655 00:31:38,370 --> 00:31:39,150 మరియు చివరిలో 0 యొక్క. 656 00:31:39,150 --> 00:31:43,670 కాబట్టి ఇప్పుడు మీరు నిజంగా అసలు ఉంటుంది 1 మరియు 0 యొక్క ఎలా GetString నిర్వచించే, 657 00:31:43,670 --> 00:31:47,890 ఉదాహరణకు,, పనిచేస్తుంది, లేదా ఎలా printf ఉదాహరణకు, పనిచేస్తుంది. 658 00:31:47,890 --> 00:31:52,750 >> మరియు మరింత సమాచారం కోసం, ఉంది ఒక నేట్ అని ఇచ్చే చిన్న సంకలనం 659 00:31:52,750 --> 00:31:55,410 మీరు ఆ వెళ్తాడు తనిఖీ చెయ్యండి ఈ దశలను ద్వారా. 660 00:31:55,410 --> 00:31:56,050 కానీ - 661 00:31:56,050 --> 00:31:56,560 అవును. 662 00:31:56,560 --> 00:32:01,700 >> STUDENT: వారు ఎల్లప్పుడూ O ఫైళ్లు. వారు లైబ్రరీ రూపంలో ఉన్నప్పుడు, 663 00:32:01,700 --> 00:32:06,764 వంటి - లింక్, విలీనం చేయడానికి సిద్ధంగా వారు బైనరీ కోడ్ లో ఉన్నాము? 664 00:32:06,764 --> 00:32:07,600 >> జాసన్ HIRSCHHORN: OK. 665 00:32:07,600 --> 00:32:08,420 ఏ - 666 00:32:08,420 --> 00:32:11,780 >> STUDENT: అని ఎల్లప్పుడూ కోసం కేసు గ్రంథాలయాలు మీరు వాటిని లింక్? 667 00:32:11,780 --> 00:32:12,500 >> జాసన్ HIRSCHHORN: అవును. 668 00:32:12,500 --> 00:32:17,300 కాబట్టి. లు ఉంటుంది ఫైళ్ళకు ఉంది కూడా ఉంటుంది యంత్రం కోడ్, 669 00:32:17,300 --> 00:32:17,975 మీకు గుప్తమైన. 670 00:32:17,975 --> 00:32:19,410 మీరు ఆ గురించి ఆందోళన అవసరం లేదు. 671 00:32:19,410 --> 00:32:24,930 కానీ సాధారణంగా, అవును, వారు o సిద్ధంగా ఫైళ్లు లో. ఉంటుంది. 672 00:32:24,930 --> 00:32:27,170 >> STUDENT: మీరు రవాణా ఉన్నప్పుడు ఒక లైబ్రరీ, మీరు మాత్రమే రవాణా చెయ్యాలి 673 00:32:27,170 --> 00:32:28,880 . H మరియు. O? 674 00:32:28,880 --> 00:32:32,210 మీరు. సి లేదా. లు రవాణా లేదు. 675 00:32:32,210 --> 00:32:33,070 >> జాసన్ HIRSCHHORN: కాబట్టి - 676 00:32:33,070 --> 00:32:36,260 మరియు ఈ ఉంటే, అదే ఈ చిన్న లో ఉంది ఈ సమాచారం వస్తున్న తెలుస్తోంది 677 00:32:36,260 --> 00:32:36,700 చిన్న త్వరగా. 678 00:32:36,700 --> 00:32:39,870 కానీ కంపైలర్సును న చిన్న ఈ గురించి చర్చలు అలాగే. 679 00:32:39,870 --> 00:32:43,290 మీరు ఒక లైబ్రరీ రవాణా చేసినప్పుడు, మీరు రవాణా . H శీర్షికా ఫైలును, ఆ 680 00:32:43,290 --> 00:32:46,290 ఫంక్షన్ నమూనాలను మరియు 1 యొక్క మరియు 0 యొక్క, మీరు ఇవ్వాలని అవసరమైనవి. 681 00:32:46,290 --> 00:32:50,640 మీరు ఇవ్వాలని లేదు ఎలా ఫంక్షన్. సి ఫైలు, పనిచేస్తుంది. 682 00:32:50,640 --> 00:32:56,360 ఎందుకంటే ఊహ బిందువు లేదా API లు అభిప్రాయపడుతున్నారు, ఈ SPL బిందువును, 683 00:32:56,360 --> 00:32:59,650 స్టాన్ఫోర్డ్ పోర్టబుల్ లైబ్రరీ, అది మీరు గురించి ఆందోళన లేదు కోసం ఎలా కొత్త 684 00:32:59,650 --> 00:33:04,220 GRect, పనిచేస్తుంది, లేదా ఎలా పనిచేస్తుంది తరలించడానికి లేదా ఎలా పనిచేస్తుంది జోడించండి. 685 00:33:04,220 --> 00:33:06,520 మీరు తెలుసుకోవాలి అన్ని చేర్చండి ఉంది మీరు ఒక విధి 686 00:33:06,520 --> 00:33:08,880 ఉపయోగించడానికి, అది ఈ చేస్తుంది. 687 00:33:08,880 --> 00:33:12,760 కాబట్టి మీరు నిజంగా తెలుసుకోవాలి లేదు ఎలా ఇది C. మీరు వ్రాయబడినది కేవలం అవసరం 688 00:33:12,760 --> 00:33:15,460 తెలుసు, ఇక్కడ క్రియలు, వారు , మరియు ఇక్కడ 1 మరియు 0 యొక్క ఉన్నాయి 689 00:33:15,460 --> 00:33:18,870 మీరు నిజంగా వాటిని ఉపయోగించడానికి ఉన్నప్పుడు. 690 00:33:18,870 --> 00:33:19,530 >> కూల్. 691 00:33:19,530 --> 00:33:26,980 సంకలనం ప్రశ్నలేవీ లేదా బోర్డు ఇతర విషయాలు? 692 00:33:26,980 --> 00:33:30,300 >> STUDENT: నేను ఒక ప్రశ్న కలిగి పునరావృత విధులు అమలు. 693 00:33:30,300 --> 00:33:31,170 సూత్రం గురించి ఒక ప్రశ్న. 694 00:33:31,170 --> 00:33:33,030 నేను ఆలోచన అని ఒక భావన కలిగింది. 695 00:33:33,030 --> 00:33:38,310 కాబట్టి యొక్క త్వరగా వీలు ఒక నిర్దిష్ట సూత్రం 696 00:33:38,310 --> 00:33:40,690 ఉదాహరణకు, ఒక కారకమైన ఫంక్షన్. 697 00:33:40,690 --> 00:33:44,920 ఈ ఒక ఉదాహరణ ఎందుకంటే తరచుగా వచ్చే లేదా ఉపయోగిస్తారు 698 00:33:44,920 --> 00:33:46,170 సూత్రం వర్ణించేందుకు. 699 00:33:46,170 --> 00:33:52,390 700 00:33:52,390 --> 00:33:56,410 >> కాబట్టి "4!" 4 కారకమైన వంటి చదవబడుతుంది. 701 00:33:56,410 --> 00:33:59,120 మరియు 4 కారకమైన అర్థం ఏమిటి? 702 00:33:59,120 --> 00:34:00,696 ఆ ఏమి చేస్తుంది? 703 00:34:00,696 --> 00:34:02,235 ఎలా మీరు 4 కారకమైన లెక్కిస్తాము? 704 00:34:02,235 --> 00:34:05,250 705 00:34:05,250 --> 00:34:07,960 4 సార్లు 3 సార్లు 2 సార్లు 1. 706 00:34:07,960 --> 00:34:11,889 >> 4 కారకమైన రాయడానికి మరో మార్గం ఈ వ్రాయండి. 707 00:34:11,889 --> 00:34:16,780 708 00:34:16,780 --> 00:34:19,022 4 సార్లు 3 కారకమైన. 709 00:34:19,022 --> 00:34:22,080 3 కారకమైన ఎందుకంటే 3 సార్లు 2 సార్లు 1. 710 00:34:22,080 --> 00:34:27,580 కాబట్టి 4 సార్లు 3 కారకమైన 4 ఉంటుంది సార్లు 3 సార్లు 2 సార్లు 1. 711 00:34:27,580 --> 00:34:32,679 కారకమైన ఒక గొప్ప ఎందుకు ఉంది సూత్రం అభ్యర్థి, ఇది ఎందుకంటే 712 00:34:32,679 --> 00:34:36,630 ఏదో ఉంది స్పష్టం ఒక న మరియు పైగా మరియు పైగా జరుగుతుంది 713 00:34:36,630 --> 00:34:39,820 విషయాలు చిన్న సంఖ్య వరకు మీరు ముగింపు చేరుకోవడానికి. 714 00:34:39,820 --> 00:34:42,570 మీరు 1 ఉంటాయో, 1 కారకమైన 1 ఉంది. 715 00:34:42,570 --> 00:34:43,719 మీరు చాలా ముందుకు చేయవచ్చు. 716 00:34:43,719 --> 00:34:47,219 0 కారకమైన కూడా 1 నిర్వచిస్తారు. 717 00:34:47,219 --> 00:34:50,679 మీరు 1 లేదా 0 పొందుటకు కనుక, మీరు చివరిలో, మరియు మీరు 718 00:34:50,679 --> 00:34:53,219 తిరిగి అప్ వెళ్లి ప్రారంభించండి. 719 00:34:53,219 --> 00:34:59,540 మేము ఒక పునరావృత రాయడానికి కోరుకున్నారు ఉంటే ఒక కారకమైన లెక్కించేందుకు ఫంక్షన్, 720 00:34:59,540 --> 00:35:02,170 మేము కొన్ని రాయాలో వాళ్ళెవరూ pseudocode. 721 00:35:02,170 --> 00:35:03,300 మేము ఆ pseudocode వ్రాయడానికి ముందు - 722 00:35:03,300 --> 00:35:05,660 నేను మీరు అబ్బాయిలు నిమిషాలు ఇస్తాము నకిలీ కోడ్ వ్రాయడానికి లేదా కేవలం ఆలోచించడం 723 00:35:05,660 --> 00:35:09,600 దాని గురించి - ప్రతి రెండు ఉన్నాయి పునరావృత ఫంక్షన్ అవసరం. 724 00:35:09,600 --> 00:35:12,530 ఆ రెండు విషయాలు ఏమిటి? 725 00:35:12,530 --> 00:35:13,220 >> JACK: ఇది కూడా కాల్ ఉంది. 726 00:35:13,220 --> 00:35:13,680 >> జాసన్ HIRSCHHORN: నోహ్? 727 00:35:13,680 --> 00:35:14,460 ఓహ్, జాక్. 728 00:35:14,460 --> 00:35:15,100 కొనసాగి. 729 00:35:15,100 --> 00:35:16,640 >> JACK: ఇది కూడా కాల్ ఉంది. 730 00:35:16,640 --> 00:35:19,220 >> జాసన్ HIRSCHHORN: కాబట్టి ఒక పునరావృత ఫంక్షన్, ఒక పునరావృత కాల్ అవసరం ఒక 731 00:35:19,220 --> 00:35:20,220 తానే కాల్. 732 00:35:20,220 --> 00:35:20,770 ఒకరి. 733 00:35:20,770 --> 00:35:21,510 మరియు ఇతర విషయం ఏమిటి? 734 00:35:21,510 --> 00:35:22,250 >> JACK: ఒక బేస్ కేసు. 735 00:35:22,250 --> 00:35:23,780 >> జాసన్ HIRSCHHORN: ఒక బేస్ కేసు. 736 00:35:23,780 --> 00:35:26,940 ఒక బేస్ కేసు మేము చెప్పవలసిన ఇక్కడ, ఉంది. 737 00:35:26,940 --> 00:35:29,510 మీ ఫంక్షన్ అని చెపుతాడు. 738 00:35:29,510 --> 00:35:31,410 బేస్ కేసు మొదటి వచ్చింది. 739 00:35:31,410 --> 00:35:33,710 మీరు చివరిలో అయితే తెలుసుకోవాలంటే. 740 00:35:33,710 --> 00:35:37,110 మరియు మీరు, చివరిలో మీరు లేదు మీ పునరావృత కాల్. 741 00:35:37,110 --> 00:35:39,880 మరియు మీరు, మళ్ళీ ఈ చర్య ద్వారా వెళ్ళి మళ్ళీ మీ బేస్ కేసు తనిఖీ. 742 00:35:39,880 --> 00:35:42,575 మీరు ముగింపు కాదు, మీరు తయారు మరొక పునరావృత కాల్, 743 00:35:42,575 --> 00:35:44,130 మొదలైన మొదలైన. 744 00:35:44,130 --> 00:35:47,110 >> ఆ ఎందుకు పునరావృత విధులు ఎల్లప్పుడూ ఉంది ఆ బేస్ కేసులు మరియు ఆ అవసరం 745 00:35:47,110 --> 00:35:48,210 పునరావృత కాల్స్. 746 00:35:48,210 --> 00:35:51,280 మీరు ఒక పునరావృత కాల్ లేదు, అది ఒక పునరావృత ఫంక్షన్ కాదు. 747 00:35:51,280 --> 00:35:53,210 మీరు ఒక బేస్ కేసు లేదు, మీరు ఎప్పటికీ వెళ్లి చేస్తుంది 748 00:35:53,210 --> 00:35:54,780 ముగింపు ఉండొచ్చు. 749 00:35:54,780 --> 00:35:57,870 మరియు బేస్ కేసు ఎప్పుడూ మొదటి వచ్చింది, మీరు ఎల్లప్పుడూ చెక్ అనుకుంటున్నారా ఎందుకంటే 750 00:35:57,870 --> 00:36:00,420 మీరు మొదటి చివరిలో అయితే. 751 00:36:00,420 --> 00:36:04,770 మేము కొన్ని pseudocode కాబట్టి ముందు, ఎందుకు మీరు గురించి ఆలోచించడం ఒక నిమిషం తీసుకోకపోతే 752 00:36:04,770 --> 00:36:09,360 ఎలా ఒక పునరావృత కారకమైన ఫంక్షన్ వ్రాయబడుతుంది? 753 00:36:09,360 --> 00:36:23,340 754 00:36:23,340 --> 00:36:26,010 >> అలాగే, మీరు చేస్తున్న అనేక, రచన కాగితం ఒక షీట్ మీద ముగిసింది 755 00:36:26,010 --> 00:36:27,960 మీకు చూడాలని ఏ రేపు క్విజ్ న. 756 00:36:27,960 --> 00:36:32,160 చేయడానికి కాబట్టి బహుశా మంచి పద్ధతి మీరు రాస్తున్నాం కోడ్ 757 00:36:32,160 --> 00:36:34,420 పేపర్ షీట్ న - 758 00:36:34,420 --> 00:36:35,160 లేదా మీరు ఆ చేయగలరు. 759 00:36:35,160 --> 00:36:36,710 సెమికోలన్లు ఇక్కడ మీరు తెలుసు. 760 00:36:36,710 --> 00:36:37,660 మీరు సిన్టాక్స్ గుర్తు. 761 00:36:37,660 --> 00:36:40,400 మీరు చేయలేరు ఎందుకంటే ఒక కంపైలర్ మీరు ఒక చేసామని చెప్పండి. 762 00:36:40,400 --> 00:37:02,356 763 00:37:02,356 --> 00:37:07,240 >> అలాగే, ఆ ​​పంక్తులు, రేపు, పాటు ఉన్నప్పుడు ఉంటే మీరు, సమస్యలు కోడింగ్ చేశారు 764 00:37:07,240 --> 00:37:11,490 సారి తరలించారు, లేదా మీరు చాలా అయితే మీరు చేయాలో ఎలా గందరగోళంలో 765 00:37:11,490 --> 00:37:16,030 సి లో ప్రత్యేక విషయం వ్రాయడానికి, ఇది నకిలీ కోడ్ రాయడానికి మీరు వీటిని చేస్తుంది 766 00:37:16,030 --> 00:37:18,160 లేదా అలాగే లో వ్యాఖ్యలు రాయడం. 767 00:37:18,160 --> 00:37:21,940 ఒక కోసం పాక్షిక క్రెడిట్ ఎందుకంటే క్విజ్ లో ప్రశ్నలు చాలా. 768 00:37:21,940 --> 00:37:24,840 కాబట్టి మీరు తరలించారు, లేదా ఉండవచ్చు కేవలం అయోమయం. 769 00:37:24,840 --> 00:37:28,030 వ్యాఖ్యలు లేదా నకిలీ కోడ్ లో రాయడం తరచుగా మార్గాలు అని మీరు 770 00:37:28,030 --> 00:37:29,360 పాక్షిక క్రెడిట్ పొందవచ్చు. 771 00:37:29,360 --> 00:37:31,440 >> కాబట్టి ఏదో వదిలి లేదు క్విజ్ లో ఖాళీ. 772 00:37:31,440 --> 00:37:33,490 ఎలాంటి జరిమానాలు ఉంది సైన్ విషయాలు ఉంచడం 773 00:37:33,490 --> 00:37:37,650 నిజానికి, నకిలీ కోడ్ లో పెట్టటం లేదా వ్యాఖ్యలు grader సహాయం అన్నారు 774 00:37:37,650 --> 00:37:40,410 మీరు నిజంగా తెలిస్తే గుర్తించడానికి ఏమి మీరు బహుశా అవార్డు గురించి మాట్లాడుతూ, మరియు చేస్తున్నారు 775 00:37:40,410 --> 00:37:42,030 మీరు ఆ పాక్షిక గుర్తింపు. 776 00:37:42,030 --> 00:37:44,510 >> అలాగే ఆ తరహాలో, స్పష్టంగా వ్రాయండి. 777 00:37:44,510 --> 00:37:47,650 మేము నిజంగా మీరు రాస్తున్నాం కాదు ఏమి, మేము మీరు కాల్ వెళ్ళి లేదు 778 00:37:47,650 --> 00:37:49,900 ఫిగర్ అర్ధరాత్రి రేపు మీరు రాసిన ఏమిటో. 779 00:37:49,900 --> 00:37:51,520 మేము పాయింట్లు ఆఫ్ చూడాలని. 780 00:37:51,520 --> 00:37:56,570 బళ్ళో వినడానికి, లేదా స్పష్టంగా వ్రాయండి, మేము మీరు రాశారు చదవగలరు. 781 00:37:56,570 --> 00:38:00,230 >> ఇది రెండు వాక్యాలు చెప్పారు ఉంటే, ఒక పేరా రాయడానికి లేదు. 782 00:38:00,230 --> 00:38:02,280 సూచనలను అనుసరించండి. 783 00:38:02,280 --> 00:38:03,500 స్పష్టంగా వ్రాయండి. 784 00:38:03,500 --> 00:38:07,720 మరియు ఆ వ్యాఖ్యలు లో వ్రాయడానికి లేదా ప్రశ్నలు కోసం pseudocode ఆ అనుకొనుట 785 00:38:07,720 --> 00:38:10,270 అవార్డు పాక్షిక క్రెడిట్. 786 00:38:10,270 --> 00:38:12,520 >> OK, యొక్క కారకమైన వినుడు. 787 00:38:12,520 --> 00:38:15,000 కాబట్టి మేము ఒక ఫంక్షన్ కారకమైన కలిగి. 788 00:38:15,000 --> 00:38:18,400 789 00:38:18,400 --> 00:38:21,550 నేను నిజంగా సి ఈ రాయడానికి ఉంటే, నేను పేరు ముందు చాలు అవ్వాలి 790 00:38:21,550 --> 00:38:22,800 పనితీరు? 791 00:38:22,800 --> 00:38:24,880 792 00:38:24,880 --> 00:38:30,060 తిరిగి టైప్ ఈ లో ఇది, కేసు, మేము అది Int ఇస్తాము. 793 00:38:30,060 --> 00:38:35,450 ఆపై వంకర జంట కలుపులు లోపల ఉంది ఏమి కోసం వంకర జంట కలుపులు లోపల వెళుతుంది 794 00:38:35,450 --> 00:38:36,850 ఒక ఫంక్షన్? 795 00:38:36,850 --> 00:38:37,950 >> విద్యార్థులు: ఆర్గ్యుమెంట్ రకం. 796 00:38:37,950 --> 00:38:39,150 >> జాసన్ HIRSCHHORN: దీని వాదనలు. 797 00:38:39,150 --> 00:38:42,680 కాబట్టి కారకమైన బహుశా ఒక వాదన పడుతుంది. 798 00:38:42,680 --> 00:38:44,500 ఇది బహుశా మాత్రమే ఒక వాదన తీసుకొని వెళ్తాము. 799 00:38:44,500 --> 00:38:49,450 మరియు మేము దానిని రాదు అని వస్తుంది పూర్ణాంకం x అనే. 800 00:38:49,450 --> 00:38:52,770 మరియు తిరిగి, నమూనా యొక్క రాసేటప్పుడు ఒక ఫంక్షన్ లేదా ఫంక్షన్ రాయడం 801 00:38:52,770 --> 00:38:57,110 , మీరు నిర్వచించు ముందు మీ కోడ్ లో డేటా రకం మరియు యొక్క పేరు 802 00:38:57,110 --> 00:39:01,370 ఆ ఫంక్షన్ కోసం వేరియబుల్. 803 00:39:01,370 --> 00:39:06,350 మీరు ఈ కొన్ని సంఖ్య తరలిస్తారు ఫంక్షన్, ఇది x సూచిస్తారు వస్తారు 804 00:39:06,350 --> 00:39:07,340 అంతర్గతంగా. 805 00:39:07,340 --> 00:39:08,755 >> మేము మా కారకమైన చర్య. 806 00:39:08,755 --> 00:39:12,030 807 00:39:12,030 --> 00:39:15,850 మేము రెండు విషయాలు, ఒక బేస్ కేసు అవసరం మరియు ఒక పునరావృత కాల్. 808 00:39:15,850 --> 00:39:20,900 కారకమైన కోసం బేస్ కేసు ఏమిటి? 809 00:39:20,900 --> 00:39:24,850 వ్రాసియున్నాడు మరియు చేసిన ఎవరైనా ఇంకా మాట్లాడే, బేస్ ఏమిటి 810 00:39:24,850 --> 00:39:26,100 కారకమైన కేసు? 811 00:39:26,100 --> 00:39:28,400 812 00:39:28,400 --> 00:39:30,930 >> STUDENT: n తక్కువ ఉంటే 2 కంటే, 1 తిరిగి. 813 00:39:30,930 --> 00:39:33,520 >> జాసన్ HIRSCHHORN: n ఉంటే 2 కంటే తక్కువ, 1 తిరిగి. 814 00:39:33,520 --> 00:39:37,216 నేను నచ్చిన, ఎందుకంటే 0 మరియు 1 జాగ్రత్త తీసుకుంటుంది. 815 00:39:37,216 --> 00:39:45,290 కాబట్టి మేము, x <2 చేయండి 1 తిరిగి. 816 00:39:45,290 --> 00:39:47,870 మేము వస్తే మేము, 0 ఆమోదించింది కలిగితే 1 ఆమోదించింది, ఈ ఫంక్షన్ రెడీ 817 00:39:47,870 --> 00:39:49,790 వెంటనే 1 తిరిగి. 818 00:39:49,790 --> 00:39:54,020 మేము కొన్ని సంఖ్య ఎక్కువ ఆమోదించింది కలిగితే లేదా 2 సమానంగా, మేము చూడాలని 819 00:39:54,020 --> 00:39:55,370 మా పునరావృత కాల్. 820 00:39:55,370 --> 00:39:57,855 >> కాబట్టి ఎలా పని అన్నారు? 821 00:39:57,855 --> 00:40:01,070 ఈ పని చేసిన మరొకరిని ఎవరు ఇంకా మాట్లాడే నాకు ఇవ్వండి 822 00:40:01,070 --> 00:40:07,380 ఈ వేడుకలో పునరావృత కాల్ pseudocode లో? 823 00:40:07,380 --> 00:40:10,770 మేము అనేక x జారీ కలిగితే మరియు 2 కంటే ఎక్కువ, ఏ 824 00:40:10,770 --> 00:40:13,370 మేము ఏమి అనుకుంటున్నారు? 825 00:40:13,370 --> 00:40:17,930 మేము కూడా ఒక ఉదాహరణ పై రాసిన మీరు సూచనను ఇస్తుంది అని వైపు. 826 00:40:17,930 --> 00:40:20,770 >> STUDENT: x సార్లు కాల్ x మైనస్ 1 యొక్క కారకమైన? 827 00:40:20,770 --> 00:40:22,020 >> జాసన్ HIRSCHHORN: సరిగ్గా కుడి. 828 00:40:22,020 --> 00:40:24,610 829 00:40:24,610 --> 00:40:37,750 మేము x సార్లు తిరిగి చూడాలని x మైనస్ 1 యొక్క కారకమైన. 830 00:40:37,750 --> 00:40:41,810 మరియు, నేను అప్ రాశారు కూడా, ప్రధానంగా, మీరు ఇంగ్లీష్ లో చెప్పారు, 831 00:40:41,810 --> 00:40:44,580 ఈ కారకమైన ఫంక్షన్ మళ్ళీ అని అవుతారు. 832 00:40:44,580 --> 00:40:46,320 ఇది x మైనస్ 1 న అమలు చేస్తాము. 833 00:40:46,320 --> 00:40:49,320 ఇది కొన్ని పూర్ణాంక తిరిగి, మరియు చేస్తాము అది ఈ రెండు గుణిస్తారు చేస్తాము 834 00:40:49,320 --> 00:40:52,050 కలిసి మరియు ఆ విలువను ఉంటుంది ఈ అని సంసార తిరిగి 835 00:40:52,050 --> 00:40:55,010 కారకమైన ఫంక్షన్, ఇది మైట్ మరో ఉదాహరణ ఉంటుంది 836 00:40:55,010 --> 00:40:58,420 ఈ కారకమైన ఫంక్షన్. 837 00:40:58,420 --> 00:41:01,360 >> కాబట్టి ఒక పునరావృత ఒక ఉదాహరణ ఫంక్షన్, చాలా 838 00:41:01,360 --> 00:41:02,530 సాధారణ పునరావృత ఫంక్షన్. 839 00:41:02,530 --> 00:41:04,530 కానీ వాటిలో చాలా ఈ వంటి ఉంటుంది. 840 00:41:04,530 --> 00:41:11,170 మీరు ఒక మంచి పునరావృత కావాలనుకుంటే క్విజ్ సవాలు, కోడింగ్ ప్రయత్నించండి 841 00:41:11,170 --> 00:41:13,230 బైనరీ శోధన పునరావృతంగా. 842 00:41:13,230 --> 00:41:18,950 ఎందుకంటే మీరు కోసం బైనరీ శోధన చేస్తే సమస్య మూడు సెట్, మీరు బహుశా చేసియున్నారు 843 00:41:18,950 --> 00:41:21,730 మరల కొంత లూప్ లో. 844 00:41:21,730 --> 00:41:23,700 >> కానీ కూడా వ్రాయవచ్చు పునరావృతంగా. 845 00:41:23,700 --> 00:41:26,310 మీరు మీ స్వంత రాయడానికి అవసరం చూడాలని కొంత ప్రత్యేక ఫంక్షన్ 846 00:41:26,310 --> 00:41:29,020 వివిధ ఆదేశ పంక్తి వాదనలు - లేదా కాదు ఆదేశ పంక్తి వాదనలు, కొన్ని 847 00:41:29,020 --> 00:41:30,910 వివిధ సాధారణ వాదనలు. 848 00:41:30,910 --> 00:41:33,870 కానీ మీరు బైనరీ శోధన రాస్తుంది పునరావృతంగా అలాగే. 849 00:41:33,870 --> 00:41:36,190 >> STUDENT: మీరు కూడా రాసేసే బదులుగా x మైనస్ 1 యొక్క, మీరు 850 00:41:36,190 --> 00:41:39,502 కూడా x మైనస్ రాసేసే మైనస్, లేదా మీరు కలిగి ఉంటుంది 851 00:41:39,502 --> 00:41:40,830 వ్రాసిన మైనస్ మైనస్ x. 852 00:41:40,830 --> 00:41:44,740 మీరు నిజంగా త్వరగా ఎందుకు వివరిస్తుంది ఆ వివిధ విషయాలు ఉంటుంది, 853 00:41:44,740 --> 00:41:49,510 తేడా మధ్య ఏమి వంటి x మైనస్ మైనస్ మరియు మైనస్ మైనస్ x? 854 00:41:49,510 --> 00:41:51,320 >> జాసన్ HIRSCHHORN: లేదు, నేను తెలియదు ఆ వెళ్ళాలని అన్నారు. 855 00:41:51,320 --> 00:41:55,500 కానీ నేను తరువాత దాని గురించి మీకు చర్చ ఉంటుంది తరగతి. x మైనస్ మైనస్, మైనస్ మైనస్ x 856 00:41:55,500 --> 00:41:57,780 1 ద్వారా x తరుగుదల. 857 00:41:57,780 --> 00:41:59,090 కానీ వారు ఒక బిట్ చేయండి. 858 00:41:59,090 --> 00:42:00,340 కానీ నేను ఆ వెళ్లాలనుకుంటే లేదు. 859 00:42:00,340 --> 00:42:04,330 860 00:42:04,330 --> 00:42:09,090 సూత్రం గురించి ఇతర ప్రశ్నలు లేదా ఈ ఫంక్షన్? 861 00:42:09,090 --> 00:42:10,140 ఆ నిజంగా కూడా pseudocode కాదు. 862 00:42:10,140 --> 00:42:15,060 ప్రాథమికంగా లో కోడ్ ఉంది మీరు ఈ కోసం రాస్తుంది సి. 863 00:42:15,060 --> 00:42:19,393 >> OK, ఏ ఇతర ప్రశ్నలు ఇక్కడ విషయాలు అప్ గురించి? 864 00:42:19,393 --> 00:42:19,864 అవును. 865 00:42:19,864 --> 00:42:23,130 >> STUDENT: నేను త్వరగా తక్కువైన కలిగి ఫ్లోటింగ్ పాయింట్ మరియు ఖచ్చితత్వము. 866 00:42:23,130 --> 00:42:24,260 >> జాసన్ HIRSCHHORN: ఫ్లోటింగ్ పాయింట్ మరియు ఖచ్చితత్వము. 867 00:42:24,260 --> 00:42:26,920 కెన్ ఎవరైనా నిజంగా త్వరగా నాకు ఒక తక్కువైన కల్పించడానికి 868 00:42:26,920 --> 00:42:28,210 ఫ్లోటింగ్ పాయింట్ మరియు ఖచ్చితత్వము? 869 00:42:28,210 --> 00:42:30,420 మీరు అన్ని మీ కోసం దీన్ని వచ్చింది సమస్య సెట్, మీరు అన్ని ఉన్నాము 870 00:42:30,420 --> 00:42:31,700 ఇది తెలిసిన. 871 00:42:31,700 --> 00:42:35,090 లేదా ఉండవచ్చు కాదు అన్ని మీరు. 872 00:42:35,090 --> 00:42:36,602 ఎవరైనా? 873 00:42:36,602 --> 00:42:39,530 నాకు ఒక ప్రారంభించారు స్థానాన్ని ఇవ్వండి. 874 00:42:39,530 --> 00:42:40,750 ఫ్లోటింగ్ పాయింట్ మరియు ఖచ్చితత్వము. 875 00:42:40,750 --> 00:42:42,380 సమస్య ఏమిటి? 876 00:42:42,380 --> 00:42:42,960 అవును. 877 00:42:42,960 --> 00:42:43,680 విక్టోరియా? 878 00:42:43,680 --> 00:42:44,480 >> వెనెస్సా: వెనెస్సా. 879 00:42:44,480 --> 00:42:45,285 >> జాసన్ HIRSCHHORN: వెనెస్సా. 880 00:42:45,285 --> 00:42:45,680 క్షమించాలి. 881 00:42:45,680 --> 00:42:51,550 >> వెనెస్సా: ఒక పరిమిత సంఖ్య మాత్రమే ఉంది ప్రాతినిధ్యం చేసే సంఖ్యల 882 00:42:51,550 --> 00:42:57,930 మీరు ఒక, లో లో ఉన్నారు ఎందుకంటే మా కేసు, ఒక 32-bit వ్యవస్థ. 883 00:42:57,930 --> 00:43:03,080 కాబట్టి మీరు రకమైన ఉంటుంది కొన్ని సంఖ్యలు తయారు. 884 00:43:03,080 --> 00:43:03,910 >> జాసన్ HIRSCHHORN: కాబట్టి ఆ ఖచ్చితంగా కుడి. 885 00:43:03,910 --> 00:43:08,110 మాత్రమే కొంత ఉన్నాయి ప్రాతినిధ్యం ఆ సంఖ్యలు. 886 00:43:08,110 --> 00:43:11,770 మీరు రెండు పెద్ద సంఖ్యలో గుణిస్తారు, ఇది మొత్తం ఓవర్ఫ్లో వాటిని 887 00:43:11,770 --> 00:43:13,950 ఖాళీలు మీరు ప్రాతినిధ్యం కలిగి పూర్ణాంకం. 888 00:43:13,950 --> 00:43:17,930 కొన్నిసార్లు మేము ఉపయోగించే ఎందుకు పేర్కొంది ఒక బదులుగా ఒక పూర్ణాంకానికి యొక్క లాంగ్ లాంగ్. 889 00:43:17,930 --> 00:43:19,210 మరింత ప్రదేశములు ఉన్నాయి. 890 00:43:19,210 --> 00:43:21,210 ఒక పెద్ద ఎనెక్శర్. 891 00:43:21,210 --> 00:43:24,310 >> ఫ్లోటింగ్ పాయింట్ ఖచ్చితత్వము సంబంధం కలిగి ఆ, కానీ కూడా సంబంధం కలిగి 892 00:43:24,310 --> 00:43:29,300 దశాంశ సంఖ్యలు వాస్తవం ఎల్లప్పుడూ ప్రాతినిధ్యం కాదు. 893 00:43:29,300 --> 00:43:29,540 క్షమించాలి. 894 00:43:29,540 --> 00:43:31,280 నాకు ఈ తిరిగి ఏర్పాటు తెలియజేయండి. 895 00:43:31,280 --> 00:43:36,610 దశాంశ సంఖ్య 1.0 ఎల్లప్పుడూ కాదు మీరు వంటి ప్రాతినిధ్యం ఆలోచించే, 896 00:43:36,610 --> 00:43:40,770 1,000000000. 897 00:43:40,770 --> 00:43:50,360 ఇది కొన్నిసార్లు వంటి ప్రాతినిధ్యం ఉంది 1,000000001 లేదా 0,999999999. 898 00:43:50,360 --> 00:43:52,780 ఇది కూడా 89 విసిరి ఉండవచ్చు ఎక్కడో అక్కడ. 899 00:43:52,780 --> 00:43:56,560 కాబట్టి ఆ దశాంశ సంఖ్యలు కాదు ఖచ్చితంగా మీరు వంటి ప్రాతినిధ్యం 900 00:43:56,560 --> 00:43:58,430 వాటిని ప్రాతినిధ్యం కోరుకోవడం. 901 00:43:58,430 --> 00:44:00,010 >> కాబట్టి సమస్య సెట్ - 902 00:44:00,010 --> 00:44:00,860 ఇది రెండు ఉంది? - 903 00:44:00,860 --> 00:44:05,290 సమస్య మేము విచారించింది రెండు, సెట్ మేము కోరుకున్నారు ఫ్లోటింగ్ పాయింట్ సంఖ్యలు, 904 00:44:05,290 --> 00:44:08,690 వాటిని మేము కోరుకున్న ఏమిటి ప్రాతినిధ్యం వారికి, సంఖ్య 905 00:44:08,690 --> 00:44:12,860 నాణేలు, లేదా సెంట్లను, మేము 100 ద్వారా వాటిని గుణించాలి. 906 00:44:12,860 --> 00:44:14,750 మేము వాటిని గుండ్రంగా. 907 00:44:14,750 --> 00:44:18,660 మరియు తర్వాత మేము ప్రతిదీ కత్తిరించిన దశాంశ బిందువు వెనుక. 908 00:44:18,660 --> 00:44:22,020 ఆ నిర్ధారించడానికి అని వారు మేము కోరుకున్న ఏమిటి వాస్తవానికి సమాన 909 00:44:22,020 --> 00:44:22,410 వాటిని సమం. 910 00:44:22,410 --> 00:44:26,870 >> మీరు ఏదో పడుతుంది వార్తలు వచ్చాయి ఒక ఫ్లోట్ మరియు మీరు, ఒక Int మార్చడానికి 911 00:44:26,870 --> 00:44:29,860 ప్రతిదీ కత్తిరించిన మైనస్. 912 00:44:29,860 --> 00:44:33,900 కొన్ని తేలియాడే పాయింట్ ఉంది ఎందుకంటే ఖచ్చితంగా చెప్పలేని, 100.000 కావచ్చు 913 00:44:33,900 --> 00:44:37,440 99,999999999 వంటి ప్రాతినిధ్యం. 914 00:44:37,440 --> 00:44:40,350 మరియు మీరు ప్రతిదీ కట్ ఉంటే వెంటనే కుడి, మీరు చూడాలని 915 00:44:40,350 --> 00:44:41,600 తప్పు సంఖ్య పొందండి. 916 00:44:41,600 --> 00:44:44,050 917 00:44:44,050 --> 00:44:44,180 అవును. 918 00:44:44,180 --> 00:44:45,290 >> STUDENT: నేను ఒక ప్రశ్న గురించి కాస్టింగ్. 919 00:44:45,290 --> 00:44:47,500 ఏ క్రమంలో నిత్యజీవితం గురించి? 920 00:44:47,500 --> 00:44:54,480 మీరు ఫ్లోట్ చెయ్యాలనుకుంటే, బ్రాకెట్లలో, 1 విభజించబడింది 10 ద్వారా, 1, 10 ద్వారా విభజించబడింది ఎక్కడ చేస్తుంది 921 00:44:54,480 --> 00:44:58,910 అప్పుడు 0.1 ను, అప్పుడు చెయ్యి ఫ్లోట్ గా? 922 00:44:58,910 --> 00:45:01,470 >> జాసన్ HIRSCHHORN: మీకు 10 ద్వారా విభజించబడింది 1 ఫ్లోట్ - 923 00:45:01,470 --> 00:45:02,550 >> STUDENT: అవును, ఆపై సమానం - 924 00:45:02,550 --> 00:45:04,240 బాగా, అది సాధారణంగా లో సమాన - 925 00:45:04,240 --> 00:45:04,690 అవును. 926 00:45:04,690 --> 00:45:06,760 మీరు ఫ్లోట్ అనుకున్న, కుడి? 927 00:45:06,760 --> 00:45:12,790 >> జాసన్ HIRSCHHORN: OK, మేము చూడాలని ఇందుకు లోకి segue ఉపయోగిస్తామో 928 00:45:12,790 --> 00:45:15,390 ఈ ప్రశ్నలకు సమాధానాలు కోడింగ్ ద్వారా. 929 00:45:15,390 --> 00:45:18,180 మీరు బహుశా చాలా ఉంటుంది ఎందుకంటే ఈ సూక్ష్మ ప్రశ్నలు, మరియు మంచి మార్గం 930 00:45:18,180 --> 00:45:19,100 వాటిని పరిష్కరించడానికి కోడింగ్ ద్వారా. 931 00:45:19,100 --> 00:45:21,320 కాబట్టి మేము, ఇప్పుడు ఈ కుడి కోడ్ చూడాలని ఆపై మేము తిరిగి వెళ్ళడానికి చేస్తున్నాడనే 932 00:45:21,320 --> 00:45:24,020 మీరు కలిగి ప్రశ్న కోడ్. 933 00:45:24,020 --> 00:45:24,950 >> కాబట్టి మొదటి లైన్ - 934 00:45:24,950 --> 00:45:29,390 నేను వ్రాసి ఉండకూడదు - ఏమిటి మేము చేయాలనుకుంటున్నారా మొదటి విషయం మేము 935 00:45:29,390 --> 00:45:32,250 gedit ఒక కొత్త ఫైల్ తెరుచుకుంటుంది? 936 00:45:32,250 --> 00:45:34,190 >> STUDENT: చేర్చండి. 937 00:45:34,190 --> 00:45:35,920 >> జాసన్ HIRSCHHORN: ఏమి చేర్చండి? 938 00:45:35,920 --> 00:45:37,952 >> STUDENT: CS50 లైబ్రరీ. 939 00:45:37,952 --> 00:45:39,920 >> జాసన్ HIRSCHHORN: OK. 940 00:45:39,920 --> 00:45:42,590 మేము ఏమి కలిగి ఉండాలి? 941 00:45:42,590 --> 00:45:46,820 మేము కేవలం ఏమి తనిఖీ చూడాలని మీరు ఫ్లోట్ ఏదో నటింపచేయడంతో. 942 00:45:46,820 --> 00:45:48,605 కాని మేము మేము అయితే ఉన్నాయి చేయాలి ఒక సి కార్యక్రమం ఎలా రాయాలో? 943 00:45:48,605 --> 00:45:49,300 >> STUDENT: ప్రామాణిక I / O. 944 00:45:49,300 --> 00:45:50,625 >> జాసన్ HIRSCHHORN: stdio.h. 945 00:45:50,625 --> 00:45:54,880 మేము నిజంగా ఈ కోసం, అవసరం లేదు కార్యక్రమం, cs50.h, ఇది అయినప్పటికీ 946 00:45:54,880 --> 00:45:55,920 అది చేర్చడానికి ఎల్లప్పుడూ ఉపయోగపడిందా. 947 00:45:55,920 --> 00:45:58,260 కానీ మేము ఎల్లప్పుడూ stdio.h చేయాలి. 948 00:45:58,260 --> 00:45:59,660 >> STUDENT: C లో కోడింగ్ ఉన్నప్పుడు? 949 00:45:59,660 --> 00:46:15,770 >> జాసన్ HIRSCHHORN: C. లో కోడింగ్ ఉన్నప్పుడు 950 00:46:15,770 --> 00:46:17,090 >> నేను ఈ. సి ఫైల్ గా సేవ్. 951 00:46:17,090 --> 00:46:18,590 నేను కొన్ని nice సింటాక్స్ హైలైటింగ్ పొందండి. 952 00:46:18,590 --> 00:46:22,890 నేను ప్రధాన లోపల గర్జన రాశారు. 953 00:46:22,890 --> 00:46:24,792 గర్జన అర్థం ఏమిటి? 954 00:46:24,792 --> 00:46:26,740 >> STUDENT: ఏ వహించడానికి లేదు ఆదేశ పంక్తి వాదనలు. 955 00:46:26,740 --> 00:46:28,900 >> జాసన్ HIRSCHHORN: ఈ లో తప్ప అర్థం, కేసు, ప్రధాన ఏ తీసుకోదు 956 00:46:28,900 --> 00:46:29,700 ఆదేశ పంక్తి వాదనలు. 957 00:46:29,700 --> 00:46:32,720 ఇతర సందర్భాల్లో, ఇది ఫంక్షన్ అర్థం ఆదేశ పంక్తి వాదనలు తీసుకోదు. 958 00:46:32,720 --> 00:46:36,560 లేదా ఫంక్షన్, నేను అయితే తప్ప రాయడానికి ప్రధాన (తప్ప), ప్రధాన యొక్క చెబుతా 959 00:46:36,560 --> 00:46:38,460 ఏదైనా తిరిగి కాదు. 960 00:46:38,460 --> 00:46:39,960 కాబట్టి గర్జన కేవలం ఏమీ అర్థం. 961 00:46:39,960 --> 00:46:42,510 నేను ఒకవేళ నేను ఏమి రాస్తుంది ఆదేశ పంక్తి వాదనలు పడుతుంది? 962 00:46:42,510 --> 00:46:45,250 963 00:46:45,250 --> 00:46:47,150 >> STUDENT: Int ఆర్క్ సి స్ట్రింగ్ ఆర్క్ వి 964 00:46:47,150 --> 00:46:49,055 >> జాసన్ HIRSCHHORN: Int argc స్ట్రింగ్ argv. 965 00:46:49,055 --> 00:46:54,050 966 00:46:54,050 --> 00:46:55,572 అవునా? 967 00:46:55,572 --> 00:46:58,720 >> STUDENT: ఇది చార్ స్టార్ argv బ్రాకెట్లలో ఉంది. 968 00:46:58,720 --> 00:47:01,730 >> జాసన్ HIRSCHHORN: కాబట్టి మీరు రాస్తుంది స్ట్రింగ్ argv బ్రాకెట్లలో లేదా చార్ స్టార్ argv 969 00:47:01,730 --> 00:47:03,710 బ్రాకెట్లలో, కానీ మీరు బ్రాకెట్లలో అవసరం. 970 00:47:03,710 --> 00:47:06,290 Argv వ్యూహం ఎందుకంటే తంత్రుల గుర్తు. 971 00:47:06,290 --> 00:47:07,360 ఇది కేవలం ఒక స్ట్రింగ్ కాదు. 972 00:47:07,360 --> 00:47:10,350 కాబట్టి స్ట్రింగ్ argv ఇక్కడ, ఉంది ఒక స్ట్రింగ్ argv అని. 973 00:47:10,350 --> 00:47:13,630 స్ట్రింగ్ argv బ్రాకెట్లలో, ఇక్కడ ఉంది తీగలను యొక్క వ్యూహం. 974 00:47:13,630 --> 00:47:17,865 కాబట్టి Int argc స్ట్రింగ్ argv బ్రాకెట్లలో ఏదైనా అని నేను 975 00:47:17,865 --> 00:47:18,810 బహుశా రాస్తుంది. 976 00:47:18,810 --> 00:47:23,050 >> కాబట్టి మీరు పూర్ణాంకం లో సేవ్ భావించారా? 977 00:47:23,050 --> 00:47:24,285 >> STUDENT: అవును, పూర్ణ. 978 00:47:24,285 --> 00:47:25,840 లేదా ఫ్లోట్ లో. 979 00:47:25,840 --> 00:47:26,710 >> జాసన్ HIRSCHHORN: ఫ్లోట్ లో? 980 00:47:26,710 --> 00:47:30,790 వంటి, ఫ్లోట్ x 10 ద్వారా విభజించబడింది 1 సమానం. 981 00:47:30,790 --> 00:47:32,040 >> జాసన్ HIRSCHHORN: OK. 982 00:47:32,040 --> 00:47:40,160 983 00:47:40,160 --> 00:47:42,240 నేను printf లో ఫ్లోట్ ప్రింట్ చెయ్యాలి? 984 00:47:42,240 --> 00:47:45,100 985 00:47:45,100 --> 00:47:46,714 ఏ? 986 00:47:46,714 --> 00:47:47,560 >> STUDENT:% f. 987 00:47:47,560 --> 00:47:48,300 >> జాసన్ HIRSCHHORN:% f. 988 00:47:48,300 --> 00:47:50,810 పూర్ణాంకం ఏమిటి? 989 00:47:50,810 --> 00:47:52,110 d లేదా నేను. 990 00:47:52,110 --> 00:47:53,000 ఒక స్ట్రింగ్ ఏది? 991 00:47:53,000 --> 00:47:54,240 >> STUDENT: s. 992 00:47:54,240 --> 00:47:56,140 >> జాసన్ HIRSCHHORN: s. 993 00:47:56,140 --> 00:47:57,550 నేను ఒక కొత్త లైన్ వస్తుందా? 994 00:47:57,550 --> 00:47:58,800 >> STUDENT బ్యాక్స్లాష్ n. 995 00:47:58,800 --> 00:48:04,610 996 00:48:04,610 --> 00:48:07,100 >> జాసన్ HIRSCHHORN: నేను ఏమి తిరిగి లేదు ప్రధాన పరుగులు సరిగ్గా ఉంటే? 997 00:48:07,100 --> 00:48:08,360 >> STUDENT: 0. 998 00:48:08,360 --> 00:48:09,430 నేను అయితే, ఆ లైన్ రాయడానికి అవసరం? 999 00:48:09,430 --> 00:48:10,170 >> STUDENT: నం 1000 00:48:10,170 --> 00:48:11,513 OK, మేము అప్పుడు, ఇది వ్రాయడానికి కాదు. 1001 00:48:11,513 --> 00:48:16,450 1002 00:48:16,450 --> 00:48:17,190 అందరూ ఆ చదువుకోవచ్చు? 1003 00:48:17,190 --> 00:48:18,485 ఇది ఒక బిట్ చిన్న కనిపిస్తుంది. 1004 00:48:18,485 --> 00:48:20,160 అందరూ చూడండి, లేదా చేయాలి నేను పెద్ద చేయడానికి? 1005 00:48:20,160 --> 00:48:23,480 1006 00:48:23,480 --> 00:48:25,100 నేను కెమెరా కోసం, మేము చేస్తాము భావించడం అయితే, అది ఒక బిట్ పెద్ద. 1007 00:48:25,100 --> 00:48:35,750 1008 00:48:35,750 --> 00:48:38,410 >> జాసన్ HIRSCHHORN: నేను ఈ చెయ్యడానికి . ఒక ఎక్జిక్యూటబుల్ లోకి ఫైల్ c, ఏమి 1009 00:48:38,410 --> 00:48:39,260 నేను వ్రాస్తారా? 1010 00:48:39,260 --> 00:48:41,610 >> STUDENT: పరీక్ష చేయండి. 1011 00:48:41,610 --> 00:48:42,080 >> జాసన్ HIRSCHHORN: క్షమించాలి? 1012 00:48:42,080 --> 00:48:42,790 >> STUDENT: పరీక్ష చేయండి. 1013 00:48:42,790 --> 00:48:44,040 >> జాసన్ HIRSCHHORN: పరీక్ష చేయండి. 1014 00:48:44,040 --> 00:48:46,700 1015 00:48:46,700 --> 00:48:48,410 మేము గురించి మాట్లాడుతూ ఈ లైన్. 1016 00:48:48,410 --> 00:48:49,140 గణగణమని ద్వని చేయు. 1017 00:48:49,140 --> 00:48:51,270 గణగణమని ద్వని చేయు ఏమిటి? 1018 00:48:51,270 --> 00:48:52,200 కంపైలర్ యొక్క పేరు. 1019 00:48:52,200 --> 00:48:53,920 ఈ లైన్ ఏమిటి? 1020 00:48:53,920 --> 00:48:55,580 >> STUDENT: GDB ఉపయోగించడం కోసం దానిని అమర్చండి. 1021 00:48:55,580 --> 00:48:59,230 >> జాసన్ HIRSCHHORN: సెట్స్ దానిని GDB ఉపయోగించడం కోసం. 1022 00:48:59,230 --> 00:49:02,338 ఈ లైన్, అంటే ఏమిటి అర్థం? 1023 00:49:02,338 --> 00:49:03,290 >> STUDENT: మూల కోడ్. 1024 00:49:03,290 --> 00:49:06,010 >> జాసన్ HIRSCHHORN: పేర్కొంది మూలం ఫైలు,. సి ఫైలు. 1025 00:49:06,010 --> 00:49:08,150 ఈ రెండు పంక్తులు ఏమి చెయ్యాలి? 1026 00:49:08,150 --> 00:49:10,245 లేదా ఈ రెండు కాదు పంక్తులు. 1027 00:49:10,245 --> 00:49:12,300 >> STUDENT: ఇది పేర్లు పరీక్షించటం. 1028 00:49:12,300 --> 00:49:15,410 >> జాసన్ HIRSCHHORN: కాబట్టి డాష్ o చెప్పారు, భిన్నంగా అది ఏదో పేరు. 1029 00:49:15,410 --> 00:49:16,790 మరియు ఇక్కడ మీరు పరీక్ష ఇది చేస్తున్నారు. 1030 00:49:16,790 --> 00:49:18,900 నేను ఆ లో లేదు ఉంటే, ఏమి ఈ చేస్తుంది? 1031 00:49:18,900 --> 00:49:20,260 >> STUDENT: A.out. 1032 00:49:20,260 --> 00:49:22,340 >> జాసన్ HIRSCHHORN: A.out. 1033 00:49:22,340 --> 00:49:25,366 ఈ ఏమి చేస్తుంది? 1034 00:49:25,366 --> 00:49:27,670 >> STUDENT: గణిత లైబ్రరీ లింకులు. 1035 00:49:27,670 --> 00:49:29,550 >> జాసన్ HIRSCHHORN: ఇది లింకులు గణిత లైబ్రరీ. 1036 00:49:29,550 --> 00:49:32,880 మేము గణిత గ్రంధాలయం ఉన్నాయి, కానీ లేదు కనుక సాధారణంగా నుండి, వారు చేసిన 1037 00:49:32,880 --> 00:49:35,780 వ్రాసిన తయారు ఎల్లప్పుడూ ఉన్నాయి గణిత లైబ్రరీ. 1038 00:49:35,780 --> 00:49:39,050 మరియు అలాగే, ఈ కలిగి CS50 లైబ్రరీ. 1039 00:49:39,050 --> 00:49:43,010 >> మేము జాబితా ఉంటే సరే, కాబట్టి, మేము ఇప్పుడు పరీక్ష అని ఒక ఎక్జిక్యూటబుల్. 1040 00:49:43,010 --> 00:49:45,150 అది అమలు చేయడానికి, నేను పరీక్ష రాయడానికి. 1041 00:49:45,150 --> 00:49:48,330 నేను, నా ఫ్లోటింగ్ పాయింట్ చూడండి అనుకున్న, 0 సమానం. 1042 00:49:48,330 --> 00:49:50,890 1043 00:49:50,890 --> 00:49:51,590 ఆ చేస్తుంది - 1044 00:49:51,590 --> 00:49:52,060 కాబట్టి - 1045 00:49:52,060 --> 00:49:55,210 >> STUDENT: అప్పుడు మీరు ఉంచితే, ఇప్పుడు తేలుతూ మీరు ఫ్లోట్ గా నటింపజేయాలని - 1046 00:49:55,210 --> 00:49:56,870 >> జాసన్ HIRSCHHORN: తారాగణం ఒక ఫ్లోట్ 1? 1047 00:49:56,870 --> 00:49:59,180 >> ఎంత బాగా చేసినా పూర్తి వేసినను - 1048 00:49:59,180 --> 00:49:59,500 అవును. 1049 00:49:59,500 --> 00:50:02,460 మీరు చేస్తే, ఆ అది 0.1 తయారు? 1050 00:50:02,460 --> 00:50:07,170 >> జాసన్ HIRSCHHORN: OK, నిజంగా త్వరగా, 1 10 ద్వారా విభజించబడింది, ఆ ఉంటాయి 1051 00:50:07,170 --> 00:50:08,690 పూర్ణాంకాల విభజించబడుతుందో. 1052 00:50:08,690 --> 00:50:13,580 మీరు పూర్ణ విభజించబడినప్పుడు కాబట్టి, వారు 0, మరియు మీరు సేవ్ చేస్తున్న 0 ఒక లో 1053 00:50:13,580 --> 00:50:17,170 స్లాష్ ఎందుకంటే, తేలుతూ కేవలం పూర్ణాంక విభజన. 1054 00:50:17,170 --> 00:50:19,180 కాబట్టి ఇప్పుడు మేము ఏదో చెయ్యడానికి చేస్తున్నారు ఫ్లోట్ లోకి. 1055 00:50:19,180 --> 00:50:21,650 >> యొక్క ఏమి చూద్దాం. 1056 00:50:21,650 --> 00:50:22,900 మేము పరీక్ష చేస్తాము. 1057 00:50:22,900 --> 00:50:25,870 1058 00:50:25,870 --> 00:50:31,090 కాబట్టి ఇప్పుడు మేము ఆ స్లాష్ కాదని చూడండి పూర్ణాంక విభాగంలో, ఇది తేలుతూ 1059 00:50:31,090 --> 00:50:32,640 పాయింట్ విభాగ. 1060 00:50:32,640 --> 00:50:35,700 దీని అంశాల్లో ఒకటి ఒక ఫ్లోట్ వేయబడిందా. 1061 00:50:35,700 --> 00:50:38,380 కాబట్టి ఇప్పుడు ఈ చికిత్స, పాకిపోయింది విభజన వ్యవహరించే చేస్తున్న వంటి 1062 00:50:38,380 --> 00:50:40,140 ఫ్లోటింగ్ పాయింట్లు, కాదు పూర్ణ. 1063 00:50:40,140 --> 00:50:42,760 కాబట్టి మేము ఆశించిన సమాధానం. 1064 00:50:42,760 --> 00:50:44,620 >> యొక్క ఏమి చూద్దాం - 1065 00:50:44,620 --> 00:50:47,103 అయ్యో. 1066 00:50:47,103 --> 00:50:51,646 నేను మరింత దశాంశ ముద్రించడానికి కోరుకున్నారు మచ్చలు, నేను ఆ పని చేయడు? 1067 00:50:51,646 --> 00:50:55,550 >> STUDENT: పాయింట్ డాట్ f, లేదా అనేక మీకు కావలసిన దశాంశ ప్రదేశాలు. 1068 00:50:55,550 --> 00:51:02,280 1069 00:51:02,280 --> 00:51:04,440 >> జాసన్ HIRSCHHORN: నేను ప్రింట్ 10 దశాంశ మచ్చలు. 1070 00:51:04,440 --> 00:51:06,610 మరియు మేము ఇప్పుడు మేము చేస్తున్నారు చూడండి కొన్ని విచిత్రమైన విషయం. 1071 00:51:06,610 --> 00:51:09,650 మరియు ఆ తిరిగి మీ ప్రశ్నకు వెళుతుంది గురించి పాయింట్ imprecision తేలియాడే. 1072 00:51:09,650 --> 00:51:10,950 ఇక్కడ నిల్వ విచిత్రమైన విషయం ఉంది. 1073 00:51:10,950 --> 00:51:13,650 1074 00:51:13,650 --> 00:51:15,275 >> OK, మీ ప్రశ్నకు సమాధానం లేదు? 1075 00:51:15,275 --> 00:51:18,550 1076 00:51:18,550 --> 00:51:20,200 మీరు ఏమి నచ్చిందా త్వరగా కోడ్ చేయడం? 1077 00:51:20,200 --> 00:51:25,470 >> STUDENT: నేను లేదో చూడాలనుకుంటున్నాను కాదు, మీరు కొన్ని పాయింటర్ విముక్తి ఉంటే, 1078 00:51:25,470 --> 00:51:30,410 ఆ పాయింటర్ ఇప్పటికీ నిల్వ అని అది అప్పటి చిరునామా 1079 00:51:30,410 --> 00:51:32,170 గతంలో సూచించే. 1080 00:51:32,170 --> 00:51:34,100 >> జాసన్ HIRSCHHORN: OK, కాబట్టి యొక్క ఆ తెలియజేసేలా. 1081 00:51:34,100 --> 00:51:38,030 చార్ స్టార్ PTR, ఈ ఒక వేరియబుల్ సృష్టిస్తుంది రకం చార్ స్టార్ PTR అని. 1082 00:51:38,030 --> 00:51:39,280 నేను malloc వ్రాస్తారా? 1083 00:51:39,280 --> 00:51:40,550 అల్డెన్? 1084 00:51:40,550 --> 00:51:41,800 >> ALDEN: జస్ట్ malloc. 1085 00:51:41,800 --> 00:51:44,820 1086 00:51:44,820 --> 00:51:51,040 కానీ అది యొక్క పరిమాణం ఉండాలి, మరియు ఈ సందర్భంలో, నేను మీరు ఇష్టం అంచనా 1087 00:51:51,040 --> 00:51:52,465 చార్ సూచించే. 1088 00:51:52,465 --> 00:51:54,450 కనుక ఇది చార్ అంటాను. 1089 00:51:54,450 --> 00:51:57,520 >> జాసన్ HIRSCHHORN: OK, ఎక్కువ సాధారణంగా, ఇన్సైడ్ - 1090 00:51:57,520 --> 00:51:58,770 యొక్క సవరించడానికి అనుమతిస్తాయి. 1091 00:51:58,770 --> 00:52:05,100 1092 00:52:05,100 --> 00:52:09,260 Malloc లోపలి మీరు అనేక కావలసిన యొక్క కుప్ప బైట్లు. 1093 00:52:09,260 --> 00:52:12,320 సాధారణంగా, మేము ప్రధానంగా ఆ చూసిన చేయడం మేము malloc చూడాలని ఉంది 1094 00:52:12,320 --> 00:52:14,940 ఉదాహరణకు తీగలను, లేదా పూర్ణాంకాల శ్రేణుల. 1095 00:52:14,940 --> 00:52:21,600 కాబట్టి మేము 10 పూర్ణ, లేదా 10 కావాలా అక్షరాలు, 10 మాకు 10 ఇస్తుంది. 1096 00:52:21,600 --> 00:52:24,370 ఆపై అక్షరాలు యొక్క పరిమాణం ఇచ్చి మాకు ఆ అక్షరాలు యొక్క పరిమాణం, దీనిలో 1097 00:52:24,370 --> 00:52:25,120 ఈ సందర్భంలో 1 బైట్ ఉంది. 1098 00:52:25,120 --> 00:52:26,250 మేము 10 బైట్లు పొందండి. 1099 00:52:26,250 --> 00:52:28,540 మేము Int యొక్క పరిమాణం రాయడానికి ఉన్నాయి, ఉంటే మాకు 40 బైట్లు ఇచ్చి. 1100 00:52:28,540 --> 00:52:31,520 >> కాబట్టి మరింత సామాన్యముగా, malloc లోపలి మీరు బైట్లు సంఖ్య. 1101 00:52:31,520 --> 00:52:34,620 ఈ సందర్భంలో, మేము 1 బైట్ చేస్తున్నారు. 1102 00:52:34,620 --> 00:52:36,900 ఒక విచిత్రమైన ఉపయోగం వంటి కనబడే malloc యొక్క, కానీ మా 1103 00:52:36,900 --> 00:52:38,470 ప్రయోజనాల అర్ధమే. 1104 00:52:38,470 --> 00:52:40,420 కాబట్టి ఆ ఉంది. 1105 00:52:40,420 --> 00:52:43,420 >> మేము ఉచిత కాల్ చూడాలని. 1106 00:52:43,420 --> 00:52:47,040 మేము అది వదిలించుకోవటం మరియు మేము తిరిగి PTR ఉపయోగించడానికి. 1107 00:52:47,040 --> 00:52:48,750 మరియు మీరు తనిఖీ ఏమి చేశారు? 1108 00:52:48,750 --> 00:52:50,550 >> STUDENT: నేను లేదో తనిఖీ కావలెను లేదా ఏదైనా ఉంది కాదు 1109 00:52:50,550 --> 00:52:51,900 అది లోపలి. 1110 00:52:51,900 --> 00:52:53,050 >> జాసన్ HIRSCHHORN: లేదో ఇది ఏదైనా మళ్లించాల్సిన? 1111 00:52:53,050 --> 00:52:57,740 >> STUDENT: అవును, సరిగ్గా, లేదో ఇది ఇప్పటికీ ఒక మెమరీ చిరునామా కలిగి. 1112 00:52:57,740 --> 00:53:02,220 >> జాసన్ HIRSCHHORN: కాబట్టి మీరు PTR విలువ తనిఖీ? 1113 00:53:02,220 --> 00:53:03,470 >> STUDENT: అవును, సరిగ్గా. 1114 00:53:03,470 --> 00:53:07,940 1115 00:53:07,940 --> 00:53:10,160 >> జాసన్ HIRSCHHORN: నేను ఇక్కడ ఏమి వ్రాస్తారా నేను విలువ తనిఖీ అనుకుంటే 1116 00:53:10,160 --> 00:53:11,880 పాయింట్ - ఏమిటి, జోర్డాన్ విలువ, అన్నారు? 1117 00:53:11,880 --> 00:53:13,720 లేదా ఏ PTR లోపలి నిల్వ? 1118 00:53:13,720 --> 00:53:14,620 >> STUDENT: జ్ఞాపకం చిరునామా. 1119 00:53:14,620 --> 00:53:16,330 >> జాసన్ HIRSCHHORN: జ్ఞాపకం చిరునామా. 1120 00:53:16,330 --> 00:53:20,520 నేను ఈ వ్రాయడానికి కాబట్టి, అది చేస్తాము నాకు PTR విలువ ఇవ్వాలని. 1121 00:53:20,520 --> 00:53:22,800 మరియు ఎలా నేను ప్రింట్ చెయ్యాలి ఒక మెమరీ చిరునామా? 1122 00:53:22,800 --> 00:53:26,470 ఫార్మాట్ స్ట్రింగ్ ఏది ఒక మెమరీ చిరునామా కోసం? 1123 00:53:26,470 --> 00:53:27,430 >> STUDENT:% p. 1124 00:53:27,430 --> 00:53:28,050 >> జాసన్ HIRSCHHORN:% p. 1125 00:53:28,050 --> 00:53:29,500 % S స్ట్రింగ్ ఉంది. 1126 00:53:29,500 --> 00:53:30,750 పాయింటర్ కోసం% p. 1127 00:53:30,750 --> 00:53:40,820 1128 00:53:40,820 --> 00:53:43,540 అవునా? 1129 00:53:43,540 --> 00:53:44,790 ఆ హక్కు. 1130 00:53:44,790 --> 00:53:49,450 1131 00:53:49,450 --> 00:53:51,040 కాబట్టి PTR సమానం - 1132 00:53:51,040 --> 00:53:53,350 ఇప్పటికీ ఇది ఏదో ఉంది. 1133 00:53:53,350 --> 00:53:56,110 1134 00:53:56,110 --> 00:53:57,645 ఈ బహుశా మరింత ఉంది ఆసక్తికరమైన ప్రశ్న. 1135 00:53:57,645 --> 00:53:59,198 లైనును ఏమి చేస్తుంది? 1136 00:53:59,198 --> 00:54:00,830 >> STUDENT: Seg లోపాలుగా. 1137 00:54:00,830 --> 00:54:01,310 >> జాసన్ HIRSCHHORN: ఏమిటి? 1138 00:54:01,310 --> 00:54:02,678 >> STUDENT: నేను లోపాలుగా seg అనుకుంటున్నాను. 1139 00:54:02,678 --> 00:54:03,574 >> జాసన్ HIRSCHHORN: గతానుగతికం 1140 00:54:03,574 --> 00:54:04,920 >> STUDENT: నేను seg తప్పు భావిస్తున్నాను. 1141 00:54:04,920 --> 00:54:08,265 >> జాసన్ HIRSCHHORN: కాబట్టి ఈ లైన్ కోడ్, స్టార్ PTR, ఏమి 1142 00:54:08,265 --> 00:54:10,152 స్టార్ అర్థం ఏమిటి? 1143 00:54:10,152 --> 00:54:11,240 >> STUDENT: యొక్క కంటెంట్. 1144 00:54:11,240 --> 00:54:11,560 >> జాసన్ HIRSCHHORN: అవును. 1145 00:54:11,560 --> 00:54:13,910 కంటెంట్ పొందడానికి వెళ్ళండి. 1146 00:54:13,910 --> 00:54:16,830 కాబట్టి ఈ మెమరీ వెళ్ళండి అన్నారు అక్కడ పార్వతీపురం నాకు ఇవ్వండి. 1147 00:54:16,830 --> 00:54:21,030 నేను ఇక్కడే% సి ఉపయోగిస్తారు ఎందుకంటే అక్కడ అక్షరాలు అక్కడ నిల్వ ఉంటాయి. 1148 00:54:21,030 --> 00:54:23,390 కాబట్టి మేము ఆ చిరునామా మేము వెళుతున్నాం ఇప్పుడు చూసిన - లేదా అది బహుశా ఒక ఉంటాం 1149 00:54:23,390 --> 00:54:25,190 కొద్దిగా వివిధ ఈ మేము అమలు సమయం. 1150 00:54:25,190 --> 00:54:28,010 కానీ మేము ఆ చిరునామా వెళ్తాను మేము ఇంకా ఉనికిలో తెలుసు ఇది 1151 00:54:28,010 --> 00:54:29,260 మరియు అక్కడ ఏది చూడండి. 1152 00:54:29,260 --> 00:54:35,640 1153 00:54:35,640 --> 00:54:37,110 >> కనుక ఇది seg తప్పు లేదు. 1154 00:54:37,110 --> 00:54:38,970 ఇది కేవలం మాకు ఏదైనా ఇవ్వాలని లేదు. 1155 00:54:38,970 --> 00:54:43,350 ఇది నిజానికి మాకు ఇచ్చిన ఉండవచ్చు ఏదో, మేము దానిని చూడలేరు. 1156 00:54:43,350 --> 00:54:45,110 మరియు ఆ ఈ ఆలోచన వెళ్తాడు - 1157 00:54:45,110 --> 00:54:47,270 మరియు మేము లోకి చాలా ఎక్కువ పొందగలిగిన లేదు ఈ, ఆ మించి ఎందుకంటే 1158 00:54:47,270 --> 00:54:48,460 ఈ కోర్సు యొక్క పరిధిని. 1159 00:54:48,460 --> 00:54:51,260 మేము అయితే మేము, ఇక్కడే గురించి మాట్లాడారు శ్రేణి యొక్క సరిహద్దులు దాటి వెళ్లారు 1160 00:54:51,260 --> 00:54:54,890 1, మేము ఇబ్బంది లేదు విధంగా. 1161 00:54:54,890 --> 00:54:58,550 >> కొన్నిసార్లు, మీరు 1 రోడ్డు ఉన్నప్పుడు, మీరు ఏదో తప్పు చేస్తున్న 1162 00:54:58,550 --> 00:54:59,220 ఇబ్బందుల్లో పొందుటకు కాలేదు. 1163 00:54:59,220 --> 00:55:00,820 కానీ మీరు ఎప్పుడూ ఇబ్బందుల్లో పొందుటకు లేదు. 1164 00:55:00,820 --> 00:55:05,170 ఇది ఆధారపడి ఉంటుంది ఎంత మంచిది యొక్క మీరు , మీరు ఇబ్బందుల్లో పొందడానికి వెళుతున్న లేదు. 1165 00:55:05,170 --> 00:55:07,790 అలసత్వము ఉండాలి, చెప్పటానికి కాదు ఏ మీ కోడ్ తో. 1166 00:55:07,790 --> 00:55:12,080 కానీ కార్యక్రమం లేదు, చెప్పబడినది మీరు పోయెదను కూడా ఎల్లప్పుడూ, విడిచి 1167 00:55:12,080 --> 00:55:14,130 మీరు చేయాలో లేదు. 1168 00:55:14,130 --> 00:55:18,170 >> ఆ ఒక మంచి ఉదాహరణ, చాలా ఉంది వారి సమస్య వ్యక్తులతో, 3 సెట్ ఇది 1169 00:55:18,170 --> 00:55:22,350 15, తనిఖీ లేదు జరిగినది బోర్డు యొక్క సరిహద్దులు. 1170 00:55:22,350 --> 00:55:25,860 కాబట్టి మీరు నిలిపారు, ఎడమ నిలిపారు కుడి, చూసారు, టాప్ నిలిపారు 1171 00:55:25,860 --> 00:55:27,000 దిగువ. 1172 00:55:27,000 --> 00:55:31,540 కానీ మీరు చూడటానికి తనిఖీ లేదు టాప్ వాస్తవానికి బోర్డు మీద కానుంది. 1173 00:55:31,540 --> 00:55:35,220 మరియు ఆ నేర్చుకున్న వ్యక్తుల చాలా మరియు ఆ మారిన, వారి కార్యక్రమం పని 1174 00:55:35,220 --> 00:55:38,960 సంపూర్ణ, పేరు బోర్డు ఎందుకంటే మీరు ఒక వెళ్లి, మెమరీలో నిల్వ 1175 00:55:38,960 --> 00:55:42,300 ఇది పైన లేదా తనిఖీ మెమరీ చిరునామా, ఏదైనా లేదు ఉంది 1176 00:55:42,300 --> 00:55:44,870 గురించి ప్రత్యేకంగా భయంకరమైన, మీ ప్రోగ్రామ్, కాదు 1177 00:55:44,870 --> 00:55:45,970 మీరు అరుస్తుంటారు అన్నారు. 1178 00:55:45,970 --> 00:55:48,870 >> కానీ మేము ఇంకా పాయింట్లు టేకాఫ్ ఉంటే మీరు, అని తనిఖీ లేదు మీరు ఎందుకంటే 1179 00:55:48,870 --> 00:55:50,850 మీరు కాదు ఏదో చేస్తున్న ఏమి చేయాలో, మరియు మీరు కలిగి 1180 00:55:50,850 --> 00:55:51,860 సమస్యలకు ఉండాల్సిందని. 1181 00:55:51,860 --> 00:55:54,040 ఆడ్స్ మీరు బహుశా కాదు, అయితే, ఉన్నాయి. 1182 00:55:54,040 --> 00:55:57,790 కాబట్టి ఈ, అవును, ఆ ప్రదర్శిస్తాయి మేము ఇంకా వెళ్ళవచ్చు. 1183 00:55:57,790 --> 00:55:59,010 మరియు మేము లో పొందడానికి లేదు ఈ సందర్భంలో ఇబ్బంది. 1184 00:55:59,010 --> 00:56:04,000 మేము చదవడానికి చేయడానికి ప్రయత్నించాడు ఉంటే తదుపరి 100 అక్షరాలు, నడుమును 1185 00:56:04,000 --> 00:56:06,000 బహుశా ఇబ్బందుల్లో పొందుటకు. 1186 00:56:06,000 --> 00:56:09,400 మరియు మీరు తదుపరి 100 చదివిన కోడ్ చేయడం అక్షరాలు మీరు కొన్ని చేయడం ద్వారా కావాలా 1187 00:56:09,400 --> 00:56:10,110 విధమైన లూప్. 1188 00:56:10,110 --> 00:56:10,850 అవును. 1189 00:56:10,850 --> 00:56:16,250 >> STUDENT: మేము కేటాయించబడ్డాయి తరువాత స్పేస్ ఒక వాస్తవ విలువ, మేము కాదు 1190 00:56:16,250 --> 00:56:17,050 వాస్తవానికి ఏదైనా చూడగలరు. 1191 00:56:17,050 --> 00:56:21,740 మేము సెట్ తో ప్రయత్నించాల్సిన సి లేదా ఏదో ఇష్టం సమానంగా? 1192 00:56:21,740 --> 00:56:22,640 >> జాసన్ HIRSCHHORN: గ్రేట్ ప్రశ్న. 1193 00:56:22,640 --> 00:56:25,340 నేను ఆ విలువ సెట్ చెయ్యాలి - 1194 00:56:25,340 --> 00:56:28,980 ఏమి కోడ్ లైన్ నేను లైన్ వ్రాస్తారా ఏడు మీరు చెప్పాడు ఏమి? 1195 00:56:28,980 --> 00:56:34,040 >> STUDENT: స్టార్ PTR ఒకే సమానం కోట్ ఒక కోట్ ముగింపు సి. 1196 00:56:34,040 --> 00:56:36,970 >> జాసన్ HIRSCHHORN: కాబట్టి ఆ ఉంచడం ఒక పాత్ర, సి, ఆ స్థానాన్ని, 1197 00:56:36,970 --> 00:56:40,200 ఎందుకంటే మళ్ళీ, ఆ స్టార్ అక్కడ వెళ్ళి అర్థం. 1198 00:56:40,200 --> 00:56:43,320 మరియు ఎడమ చేతి వైపు వాడుతున్నప్పుడు ఒక కార్య ఆపరేటర్లు, ఆ సమానం 1199 00:56:43,320 --> 00:56:47,270 సైన్, మేము పొందడానికి వెళుతున్న చేస్తున్నట్లు విలువ ఆ విలువ సెట్ వంటి చాలా. 1200 00:56:47,270 --> 00:56:48,520 ఇప్పుడు ఏమి చూద్దాం. 1201 00:56:48,520 --> 00:56:54,700 1202 00:56:54,700 --> 00:56:56,770 >> మేము అక్కడ ఏదో చాలు మరియు అది ఉంది. 1203 00:56:56,770 --> 00:56:58,000 మేము ఉచిత అని. 1204 00:56:58,000 --> 00:57:00,100 కొన్ని విషయాన్ని బహుశా జరిగిన కుప్ప. 1205 00:57:00,100 --> 00:57:01,890 కనుక ఇది ఇకపై అక్కడ కాదు. 1206 00:57:01,890 --> 00:57:07,440 కానీ మళ్ళీ, మేము పొందడానికి లేదు అక్కడ వెళ్తున్నారు కోసం ఇబ్బందుల్లో. 1207 00:57:07,440 --> 00:57:10,260 >> నేను వర్ణించేందుకు కోడ్ లో ఈ చేస్తున్నాను ఈ చాలా 1208 00:57:10,260 --> 00:57:12,410 మీరు ప్రశ్నలు, వారు నిజంగా ఆసక్తికరమైన 1209 00:57:12,410 --> 00:57:13,650 సమయం జవాబులు. 1210 00:57:13,650 --> 00:57:15,260 మరియు వారు నిజంగా మంచి ప్రశ్నలు ఉన్నారు. 1211 00:57:15,260 --> 00:57:19,010 మరియు మీరు వాటిని గుర్తించడానికి మీ సొంత ఉంటే, ఉదాహరణకు, 1212 00:57:19,010 --> 00:57:19,990 మేము విభాగంలో లేదు. 1213 00:57:19,990 --> 00:57:20,940 అవును. 1214 00:57:20,940 --> 00:57:24,430 >> STUDENT: మీరు పంపే లేదు ఎందుకంటే ఎక్కడైనా పాయింటర్, మీరు చేయాలి 1215 00:57:24,430 --> 00:57:26,530 malloc ఉపయోగించవచ్చు? 1216 00:57:26,530 --> 00:57:28,400 >> జాసన్ HIRSCHHORN: ఈ వెనక్కు మీ ప్రారంభ ప్రశ్నకు. 1217 00:57:28,400 --> 00:57:28,620 [? ?] 1218 00:57:28,620 --> 00:57:29,980 ఇది కేవలం ఒక స్థానిక వేరియబుల్? 1219 00:57:29,980 --> 00:57:32,280 ఇక్కడ malloc ఉందనేందుకు కాదు. 1220 00:57:32,280 --> 00:57:35,260 ఇక్కడ malloc ఉపయోగం కాదు ఇది ఎందుకంటే ఉందనేందుకు 1221 00:57:35,260 --> 00:57:36,500 కేవలం ఒక స్థానిక వేరియబుల్. 1222 00:57:36,500 --> 00:57:40,970 >> STUDENT: మీరు చార్ చేయగల స్టార్ PTR హలో సమానం? 1223 00:57:40,970 --> 00:57:41,400 >> జాసన్ HIRSCHHORN: ఓహ్. 1224 00:57:41,400 --> 00:57:43,300 కాబట్టి మేము ఇప్పుడు తిరిగి పొందడానికి వెళుతున్న మీ ప్రారంభ ప్రశ్నకు. 1225 00:57:43,300 --> 00:57:46,885 నేను మీరు సంతృప్తి కాదు అనుకుంటున్నాను నా మనసు. 1226 00:57:46,885 --> 00:57:48,220 OK? 1227 00:57:48,220 --> 00:57:49,226 ఆ వంటి? 1228 00:57:49,226 --> 00:57:49,682 >> STUDENT: అవును. 1229 00:57:49,682 --> 00:57:50,932 వేచి. 1230 00:57:50,932 --> 00:57:54,090 1231 00:57:54,090 --> 00:57:57,850 >> జాసన్ HIRSCHHORN: మరియు పేరు మీరు ప్రింట్ అనుకుంటున్నారు? 1232 00:57:57,850 --> 00:58:00,026 కాబట్టి మేము ఆ వంటి స్ట్రింగ్ ప్రింట్ చేస్తాము? 1233 00:58:00,026 --> 00:58:06,380 1234 00:58:06,380 --> 00:58:07,630 >> STUDENT: ఆసక్తికరమైన. 1235 00:58:07,630 --> 00:58:09,900 1236 00:58:09,900 --> 00:58:14,285 >> జాసన్ HIRSCHHORN: సో ఈ చెప్పారు ఆర్గుమెంట్ పాత్ర రకం ఉంది. 1237 00:58:14,285 --> 00:58:17,200 1238 00:58:17,200 --> 00:58:18,620 కాబట్టి ఈ ఒక అక్షరం. 1239 00:58:18,620 --> 00:58:25,170 1240 00:58:25,170 --> 00:58:26,280 >> STUDENT: కేవలం ఒక పడుతుంది. 1241 00:58:26,280 --> 00:58:28,610 >> జాసన్ HIRSCHHORN: ఈ నేను ముందు చెప్పారు ఏమిటి. 1242 00:58:28,610 --> 00:58:34,240 ఇలా నేను నిల్వ కాదు, అన్నారు వేరియబుల్ పాయింటర్ లోపల స్ట్రింగ్. 1243 00:58:34,240 --> 00:58:35,120 ఇది నిల్వ - 1244 00:58:35,120 --> 00:58:36,350 >> STUDENT: మొదటి విలువ స్ట్రింగ్ యొక్క. 1245 00:58:36,350 --> 00:58:40,810 >> జాసన్ HIRSCHHORN: చిరునామా స్ట్రింగ్ మొదటి విలువ. 1246 00:58:40,810 --> 00:58:46,940 మేము ఈ ముద్రించడం ఉన్నాయి, మేము ఉన్నాము పాయింటర్ లోపల విలువ. 1247 00:58:46,940 --> 00:58:51,005 మరియు మేము, నిజానికి, ఉంది చూస్తారు ఒక మెమరీ చిరునామా. 1248 00:58:51,005 --> 00:58:53,595 1249 00:58:53,595 --> 00:58:56,440 >> అర్ధవంతం లేదు? 1250 00:58:56,440 --> 00:58:56,940 క్షమించాలి. 1251 00:58:56,940 --> 00:58:58,996 మీ జవాబిస్తాడు, వేచి ప్రశ్న, అయితే? 1252 00:58:58,996 --> 00:58:59,790 >> STUDENT: అవును. 1253 00:58:59,790 --> 00:59:05,830 >> జాసన్ HIRSCHHORN: కోడ్ యొక్క ఈ లైన్ ఒక స్ట్రింగ్ మరియు వేరొక సృష్టించడం 1254 00:59:05,830 --> 00:59:09,115 పై చేసే వేరియబుల్ పాయింటర్ ఆ స్ట్రింగ్, ఆ శ్రేణి. 1255 00:59:09,115 --> 00:59:14,320 1256 00:59:14,320 --> 00:59:14,980 అవును. 1257 00:59:14,980 --> 00:59:19,200 >> మేము ఒక మెమరీ బోయిరి ఉంటే: STUDENT మరింత పరిష్కరించేందుకు, మేము h జరుగుతుందని? 1258 00:59:19,200 --> 00:59:21,990 1259 00:59:21,990 --> 00:59:23,150 ఇది ఒక స్ట్రింగ్ వంటి నిల్వ ఉంది? 1260 00:59:23,150 --> 00:59:24,400 >> జాసన్ HIRSCHHORN: వలె, మేము - 1261 00:59:24,400 --> 00:59:28,540 1262 00:59:28,540 --> 00:59:30,790 కాబట్టి దీన్ని విలువైనది. 1263 00:59:30,790 --> 00:59:33,780 ఈ పాయింట్ గణిత, ఇది మీరు అబ్బాయిలు ఉంది ముందు చూసిన మరియు ఉండాలి 1264 00:59:33,780 --> 00:59:35,550 తో చాలా సౌకర్యంగా. 1265 00:59:35,550 --> 00:59:36,905 ఈ రచన పోలి ఉంటుంది - 1266 00:59:36,905 --> 00:59:41,980 1267 00:59:41,980 --> 00:59:46,350 మేము కోడ్ యొక్క ఈ లైన్ రాయడానికి ఉన్నాయి, ఉంటే మేము ముందు శ్రేణి సంజ్ఞామానం చూసిన. 1268 00:59:46,350 --> 00:59:55,900 ఈ సెకండ్ ఇవ్వాలి ఈ శ్రేణి, h విలువ. 1269 00:59:55,900 --> 01:00:05,010 >> మేము ఈ చేశాడు, ఈ కూడా ఇవ్వాలి మాకు ఆ శ్రేణి లో రెండవ విలువ. 1270 01:00:05,010 --> 01:00:08,320 ఇది మెమరీ లేదు అన్నారు ఎందుకంటే మొదటి విషయం యొక్క చిరునామా, కానీ 1271 01:00:08,320 --> 01:00:10,530 పైగా విషయం యొక్క మెమరీ చిరునామా. 1272 01:00:10,530 --> 01:00:14,360 ఆపై స్టార్ ఆపరేటర్లు dereferences ఆ పాయింటర్. 1273 01:00:14,360 --> 01:00:16,940 మరియు తిరిగి, యొక్క చూసేలా. 1274 01:00:16,940 --> 01:00:18,664 మేము మళ్ళీ h పొందండి. 1275 01:00:18,664 --> 01:00:20,980 >> STUDENT: సరిగ్గా అదే అర్థం dereference? 1276 01:00:20,980 --> 01:00:23,650 >> జాసన్ HIRSCHHORN: dereference వెళ్ళండి కోసం ఒక ఫాన్సీ పదం. 1277 01:00:23,650 --> 01:00:26,390 ఆ వెళ్ళి ఏమి పొందండి ఒక పాయింటర్ dereference ఉంది. 1278 01:00:26,390 --> 01:00:28,240 ఇది ఆ కోసం ఒక ఫాన్సీ పదం. 1279 01:00:28,240 --> 01:00:29,986 >> మేము ప్రింట్ కోరుకున్నాడు ఉంటే: STUDENT మొత్తం స్ట్రింగ్, అనుకొనుట మేము 1280 01:00:29,986 --> 01:00:31,930 ఏంపర్సెండ్ పాయింటర్ చేయండి? 1281 01:00:31,930 --> 01:00:33,490 >> జాసన్ HIRSCHHORN: OK, మేము ఇక్కడ విరామం అవకాశముంది. 1282 01:00:33,490 --> 01:00:35,480 మేము ఇక్కడ ముగిసింది వెళ్తున్నారు. 1283 01:00:35,480 --> 01:00:41,760 ఎమ్పారసన్డ్ మీరు ఒక యొక్క చిరునామా ఇస్తుంది నగర, ఆలాగైతే మీరు ఆంపర్సండ్ చిహ్నం 1284 01:00:41,760 --> 01:00:44,080 ఒక వేరియబుల్, మీరు చిరునామా ఇస్తుంది ఆ వేరియబుల్ నిల్వ. 1285 01:00:44,080 --> 01:00:48,580 ఎమ్పారసన్డ్ పాయింటర్ మీరు ఇస్తుంది PTR మెమరీలో ఉన్న PTR యొక్క చిరునామా. 1286 01:00:48,580 --> 01:00:50,140 >> మేము వెళ్ళి వెళ్ళి లేదు ఈ ఉదాహరణ. 1287 01:00:50,140 --> 01:00:52,640 మీరు ఈ గుర్తించడానికి మీ స్వంత విషయాలు. 1288 01:00:52,640 --> 01:00:55,740 కానీ మళ్ళీ, ఈ ఒక verging ఉండవచ్చు మీరు తెలుసుకోవలసినది దాటి బిట్ 1289 01:00:55,740 --> 01:00:58,000 ఈ మధ్య కాల పరిధికి - 1290 01:00:58,000 --> 01:00:59,070 లేదా ఈ క్విజ్, కాకుండా. 1291 01:00:59,070 --> 01:01:00,270 క్షమించాలి. 1292 01:01:00,270 --> 01:01:03,770 >> నేను ఎందుకంటే మేము, న తరలించడానికి వెళ్తున్నారు ఒక కోడింగ్ సమస్య చేయాలని 1293 01:01:03,770 --> 01:01:05,100 సమయం కంటే ముందే. 1294 01:01:05,100 --> 01:01:09,340 మరియు మేము నేను ఏమి కోడ్ వెళ్తున్నారు వీటిలో అతి బలవంతంగా ఉంది 1295 01:01:09,340 --> 01:01:11,020 ఉదాహరణలు, atoi. 1296 01:01:11,020 --> 01:01:14,520 ఈ న ఒక ప్రశ్న రెండు సంవత్సరాల క్రితం ఒక క్విజ్. 1297 01:01:14,520 --> 01:01:17,810 నేను ఇక్కడ బోర్డు కలిగి. 1298 01:01:17,810 --> 01:01:20,680 >> ప్రజలు క్విజ్ లో అడిగారు - 1299 01:01:20,680 --> 01:01:23,640 వారు కొంచెం tesxt ఇవ్వబడింది ప్రశ్న, కానీ నేను తొలగించబడుతుంది 1300 01:01:23,640 --> 01:01:26,640 అది అవసరం ఉంది టెక్స్ట్ ఎందుకంటే ఇప్పుడు మా ప్రయోజనాల కోసం. 1301 01:01:26,640 --> 01:01:29,180 ఇది కేవలం కొంత నేపథ్య ఉంది ఏమి atoi న. 1302 01:01:29,180 --> 01:01:31,425 కానీ మీరు అన్ని తెలిసిన మరియు చాలా atoi తెలిసిన. 1303 01:01:31,425 --> 01:01:35,620 >> నేను మీరు ఈ కోడ్ సూచిస్తున్నాయి కాగితం ఒక షీట్ మీద. 1304 01:01:35,620 --> 01:01:39,310 నేను కూడా మీరు వ్యూహం ఉపయోగించే సూచించారు మేము మారారు 1305 01:01:39,310 --> 01:01:41,040 మా విభాగంలో చాలా. 1306 01:01:41,040 --> 01:01:44,130 మొదటి, మీరు ఇంతలా ఏమి atoi యొక్క చేయడం. 1307 01:01:44,130 --> 01:01:47,580 ఒక చిత్రాన్ని గీయండి లేదా కొన్ని ఆలోచన మీ తల లో మానసిక చిత్రం. 1308 01:01:47,580 --> 01:01:51,120 తదుపరి, ఈ కోసం pseudocode వ్రాయండి. 1309 01:01:51,120 --> 01:01:53,120 క్విజ్, మీరు పొందుటకు అన్ని ఉంటే pseudocode, కనీసం మీరు 1310 01:01:53,120 --> 01:01:54,550 ఏదో అణిచివేసేందుకు. 1311 01:01:54,550 --> 01:02:00,070 ఆపై పై ఆ pseudocode మ్యాప్ C. మీరు ఒక చెక్ ఉంటే మీ 1312 01:02:00,070 --> 01:02:03,760 pseudocode, వంటి గమనించినట్లయితే ఏదో 1, ఒక ఉంటే పై పటాలను ఉంది 1313 01:02:03,760 --> 01:02:05,750 మొదలగునవి పరిస్థితి మరియు. 1314 01:02:05,750 --> 01:02:07,850 చివరకు, C. లో కార్యక్రమం కోడ్ 1315 01:02:07,850 --> 01:02:15,000 >> కాబట్టి తిరిగి atoi వెళ్లి ఐదు నిమిషాల సమయం ఒక షీట్ మీద ఈ సంకేతానికి 1316 01:02:15,000 --> 01:02:19,480 గురించి బహుశా ఇది కాగితం, మీరు ఒక న పడుతుంది సమయం 1317 01:02:19,480 --> 01:02:21,260 కోడ్ atoi క్విజ్. 1318 01:02:21,260 --> 01:02:27,060 ఐదు నుండి 15 నిమిషాలు, ఐదు ఐదు, 12 10 నిమిషాల, మొత్తం యొక్క గురించి 1319 01:02:27,060 --> 01:02:30,150 మీరు ఈ ఖర్చు ఇష్టం సమయం క్విజ్ ప్రశ్నను. 1320 01:02:30,150 --> 01:02:31,670 కాబట్టి, ఇప్పుడు ఐదు నిమిషాలు దయచేసి పడుతుంది. 1321 01:02:31,670 --> 01:02:35,957 మరియు మీరు ఏవైనా ప్రశ్నలు ఉంటే, పెంచడానికి మీ చేతి మరియు నేను చుట్టూ వచ్చి చేస్తాము. 1322 01:02:35,957 --> 01:06:39,570 1323 01:06:39,570 --> 01:06:41,066 >> [ప్రక్క సంభాషణ] 1324 01:06:41,066 --> 01:08:35,279 1325 01:08:35,279 --> 01:08:37,580 >> జాసన్ HIRSCHHORN: OK, ఆ ఐదు నిమిషాలు ఉంది. 1326 01:08:37,580 --> 01:08:39,880 ఆ మొత్తం గురించి బహుశా మీరు, ఒక క్విజ్ లో ఆ ఖర్చు ఇష్టం 1327 01:08:39,880 --> 01:08:42,120 ఆ సమయంలో బహుశా తక్కువ. 1328 01:08:42,120 --> 01:08:44,010 మేము ఒక బిట్ లో పునశ్చరణ చేస్తాము. 1329 01:08:44,010 --> 01:08:45,740 ఈ కోడింగ్ ప్రారంభిద్దాం. 1330 01:08:45,740 --> 01:08:49,479 మరియు మేము అన్ని మార్గం ద్వారా పొందలేము ఉంటే, ఈ సమాధానాలు మరియు ఈ 1331 01:08:49,479 --> 01:08:54,189 క్విజ్ ప్రశ్న మళ్ళీ, అందుబాటులో ఉన్నాయి, పతనం 2011 ఈ ఉన్నప్పుడు ప్రశ్న 1332 01:08:54,189 --> 01:08:54,913 క్విజ్ కనిపించింది. 1333 01:08:54,913 --> 01:08:57,830 >> మరియు అది ఎనిమిది పాయింట్లు విలువ క్విజ్ లో అప్పుడు. 1334 01:08:57,830 --> 01:09:01,140 ఎనిమిది పాయింట్లు అధిక ముగింపు ఉంది పాయింట్లు ఏదో మొత్తం ఉంటే విలువ. 1335 01:09:01,140 --> 01:09:04,790 చాలా ప్రశ్నలకు పరిధిలో ఒక ఆరు పాయింట్లు. 1336 01:09:04,790 --> 01:09:08,500 కాబట్టి ఈ మరింత సవాలు ఉంది ఖచ్చితంగా ప్రశ్న,. 1337 01:09:08,500 --> 01:09:09,750 నాకు ఎవరైనా ప్రారంభించవచ్చు? 1338 01:09:09,750 --> 01:09:13,260 1339 01:09:13,260 --> 01:09:15,380 >> సాధారణంగా, మేము వెళ్తున్నారు ఈ చేయాలనుకుంటున్నారా 1340 01:09:15,380 --> 01:09:17,550 తార్కికంగా, atoi పని? 1341 01:09:17,550 --> 01:09:19,569 మనం చెయ్యాలనుకుంటున్నారు? 1342 01:09:19,569 --> 01:09:22,279 కాబట్టి మేము ఎలా రాయాలో కొన్ని pseudocode. 1343 01:09:22,279 --> 01:09:24,090 >> STUDENT: అక్షరాలు మార్చు పూర్ణాంకాల లోకి. 1344 01:09:24,090 --> 01:09:26,700 >> జాసన్ HIRSCHHORN: అక్షరాలు మార్చు పూర్ణాంకాల లోకి. 1345 01:09:26,700 --> 01:09:27,479 OK. 1346 01:09:27,479 --> 01:09:30,870 కాబట్టి ఎన్ని అక్షరాలు మేము ద్వారా వెళ్ళడానికి అవసరం అన్నారు? 1347 01:09:30,870 --> 01:09:32,295 >> STUDENT: వాటిని అన్ని. 1348 01:09:32,295 --> 01:09:34,100 >> STUDENT: అన్ని అక్షరాలు స్ట్రింగ్ లో. 1349 01:09:34,100 --> 01:09:35,540 >> జాసన్ HIRSCHHORN: అన్ని స్ట్రింగ్ లో అక్షరాలు. 1350 01:09:35,540 --> 01:09:42,180 మేము ప్రతి ద్వారా వెళ్ళి కోరుకున్నారు ఉంటే ఒక స్ట్రింగ్ లో పాత్ర, ఒక విషయం ఏమిటి 1351 01:09:42,180 --> 01:09:44,560 సి లో మేము అనుమతించింది చూసిన మాకు ప్రతి ద్వారా వెళ్ళడానికి 1352 01:09:44,560 --> 01:09:45,939 ఒక స్ట్రింగ్ లో పాత్ర? 1353 01:09:45,939 --> 01:09:46,819 >> విద్యార్థులు: లూప్ ఒక. 1354 01:09:46,819 --> 01:09:48,069 >> జాసన్ HIRSCHHORN: లూప్ ఒక. 1355 01:09:48,069 --> 01:09:52,020 1356 01:09:52,020 --> 01:09:55,330 కాబట్టి మేము ద్వారా లూప్ చూడాలని లు లో ప్రతి పాత్ర. 1357 01:09:55,330 --> 01:10:00,940 >> అప్పుడు మనం చేయాలనుకుంటున్నారా వెళ్తున్నారు మేము ఒక నిర్దిష్ట వచ్చినప్పుడు? 1358 01:10:00,940 --> 01:10:02,480 మేము ఒక 90 జారీ చేస్తున్నారు సే. 1359 01:10:02,480 --> 01:10:03,460 మేము 9 పొందండి. 1360 01:10:03,460 --> 01:10:04,240 ఇది ఒక పాత్ర. 1361 01:10:04,240 --> 01:10:07,440 మనం తో చెయ్యాలనుకుంటున్నారు ఆ పాత్ర 9? 1362 01:10:07,440 --> 01:10:10,082 >> STUDENT: పాత్ర 0 నుంచి తీసివేయండి? 1363 01:10:10,082 --> 01:10:11,860 >> STUDENT: 0 జోడించండి? 1364 01:10:11,860 --> 01:10:13,350 >> జాసన్ HIRSCHHORN: తీసివేయి పాత్ర 0 నుండి? 1365 01:10:13,350 --> 01:10:13,800 >> STUDENT: అవును. 1366 01:10:13,800 --> 01:10:15,573 >> జాసన్ HIRSCHHORN: ఎందుకు చేయండి మీరు ఆ చేయాలనుకుంటున్నారా? 1367 01:10:15,573 --> 01:10:16,560 >> STUDENT: [వినబడని] 1368 01:10:16,560 --> 01:10:17,010 విలువ. 1369 01:10:17,010 --> 01:10:18,380 దీని Int విలువ. 1370 01:10:18,380 --> 01:10:21,580 >> జాసన్ HIRSCHHORN: OK, మేము పడుతుంది పాత్ర 9, నుండి వ్యవకలనం 1371 01:10:21,580 --> 01:10:25,820 పాత్ర 0 ఒక పొందడానికి అసలు పూర్ణాంక 9. 1372 01:10:25,820 --> 01:10:27,070 స్వీట్. 1373 01:10:27,070 --> 01:10:31,255 1374 01:10:31,255 --> 01:10:37,000 మరియు ఎలా మీరు ఆ పాత్ర తెలుసు 9 0 మైనస్ పాత్ర 9 ఉంది? 1375 01:10:37,000 --> 01:10:39,222 మీరు ఏ చార్ట్ చూడండి లేదు? 1376 01:10:39,222 --> 01:10:43,130 >> STUDENT: తొమ్మిది తార్కికంగా ఉన్నాయి 9 మరియు మధ్య 0 ప్రదేశాలు. 1377 01:10:43,130 --> 01:10:44,620 లేదా మీరు ASCII పట్టిక చూడండి కాలేదు. 1378 01:10:44,620 --> 01:10:45,120 >> జాసన్ HIRSCHHORN: ASCII పట్టిక. 1379 01:10:45,120 --> 01:10:46,490 అయితే, మీరు సరైన ఉన్నారు. 1380 01:10:46,490 --> 01:10:47,780 కాబట్టి మేము 0 వ్యవకలనం. 1381 01:10:47,780 --> 01:10:49,010 కాబట్టి ఇప్పుడు మేము పూర్ణాంక 9 ఉన్నాయి. 1382 01:10:49,010 --> 01:10:49,970 మరియు మేము ఆ చెయ్యాలనుకుంటున్నారు? 1383 01:10:49,970 --> 01:10:54,970 మేము 90 కలిగి ఉంటే, అది మొదటి పూర్ణాంక మేము, మేము ఏమి అనుకుంటున్నారు చేశారు? 1384 01:10:54,970 --> 01:10:58,180 >> STUDENT: నేను ఒక తాత్కాలిక పూర్ణాంక లో చాలు ఇష్టం శ్రేణి, దానికి గణిత 1385 01:10:58,180 --> 01:11:02,088 తరువాత అంతం చేయడానికి. 1386 01:11:02,088 --> 01:11:03,020 >> జాసన్ HIRSCHHORN: OK. 1387 01:11:03,020 --> 01:11:06,990 >> STUDENT: మీరు చివరిలో ప్రారంభించవచ్చు శ్రేణి మరియు ముందుకు 1388 01:11:06,990 --> 01:11:10,350 మీరు ముందుకు ప్రతిసారీ, మీరు 10 ద్వారా గుణిస్తారు. 1389 01:11:10,350 --> 01:11:10,830 >> జాసన్ HIRSCHHORN: OK. 1390 01:11:10,830 --> 01:11:12,250 ఒక అందమైన లాగా సమగ్ర ఆలోచన. 1391 01:11:12,250 --> 01:11:16,040 మేము మా శ్రేణి ముగింపు ప్రారంభించవచ్చు, మరియు మేము strleng ఉపయోగించవచ్చు. 1392 01:11:16,040 --> 01:11:17,030 మేము ఇక్కడ strleng ఉపయోగించవచ్చు. 1393 01:11:17,030 --> 01:11:18,870 మేము మా స్ట్రింగ్ యొక్క పొడవు పొందుతారు. 1394 01:11:18,870 --> 01:11:20,100 మేము చివరిలో ప్రారంభించడానికి. 1395 01:11:20,100 --> 01:11:29,170 మరియు + మొదటి ఒక మేము కేవలం కేటాయించడం పూర్ణాంక, మరియు బహుశా మేము ఒక వంటి సృష్టించడానికి 1396 01:11:29,170 --> 01:11:32,270 కొత్త పూర్ణాంక వేరియబుల్ టాప్ పేరు మేము ప్రతిదీ నిల్వ చేస్తున్నారు. 1397 01:11:32,270 --> 01:11:37,340 నుండి లు లో ప్రతి చార్ ద్వారా కాబట్టి మేము లూప్ తిరిగి ముందు, మేము 0 వ్యవకలనం, మరియు 1398 01:11:37,340 --> 01:11:42,790 అప్పుడు మేము దాని పట్టుకొని బట్టి ఇక్కడ, మేము గుణిస్తారు 1399 01:11:42,790 --> 01:11:45,860 10 యొక్క శక్తి ద్వారా. 1400 01:11:45,860 --> 01:11:50,644 ఎందుకంటే మొదటి ఒకటి, మనం కుడివైపు పాత్ర ద్వారా గుణిస్తారు? 1401 01:11:50,644 --> 01:11:51,440 >> STUDENT: 0 10. 1402 01:11:51,440 --> 01:11:53,170 >> జాసన్ HIRSCHHORN: 0 10. 1403 01:11:53,170 --> 01:11:56,010 మేము ఏ రెండవ గుణించండి కుడివైపు పాత్ర ద్వారా? 1404 01:11:56,010 --> 01:11:57,450 >> STUDENT: [వినబడని]. 1405 01:11:57,450 --> 01:11:57,960 >> జాసన్ HIRSCHHORN: ఏమిటి? 1406 01:11:57,960 --> 01:11:59,150 >> STUDENT: 1 10. 1407 01:11:59,150 --> 01:12:00,420 >> జాసన్ HIRSCHHORN: 1 10. 1408 01:12:00,420 --> 01:12:03,754 మూడవ కుడివైపు పాత్ర? 1409 01:12:03,754 --> 01:12:04,580 >> STUDENT: 2 10. 1410 01:12:04,580 --> 01:12:05,350 >> జాసన్ HIRSCHHORN: 2 10. 1411 01:12:05,350 --> 01:12:07,200 >> STUDENT: క్షమించండి, నేను అర్థం లేదు మేము ఇక్కడ చేస్తున్నా. 1412 01:12:07,200 --> 01:12:08,640 >> జాసన్ HIRSCHHORN: OK, అప్పుడు, తిరిగి వీడలేదు. 1413 01:12:08,640 --> 01:12:12,500 కాబట్టి మేము పొందడానికి వెళుతున్న ఒక స్ట్రింగ్, జారీ. 1414 01:12:12,500 --> 01:12:14,470 మేము atoi రాస్తున్నాం ఎందుకంటే. 1415 01:12:14,470 --> 01:12:15,260 కాబట్టి మేము ఒక స్ట్రింగ్ లో జారీ పొందుతారు. 1416 01:12:15,260 --> 01:12:17,640 మేము ఆమోదించిన చేస్తున్నారు సే స్ట్రింగ్ 90 లో. 1417 01:12:17,640 --> 01:12:19,930 >> మేము చేయబోతున్నామని మొదటి విషయం సెట్ మేము ఒక కొత్త పూర్ణాంక వేరియబుల్ 1418 01:12:19,930 --> 01:12:22,150 కేవలం సృష్టించబోతున్నాను మా కొత్త పూర్ణాంక వంటి. 1419 01:12:22,150 --> 01:12:24,630 మేము వెళుతున్న ఏమిటి చివరిలో తిరిగి. 1420 01:12:24,630 --> 01:12:30,110 మేము ప్రతి పాత్ర ద్వారా వెళ్లాలి స్ట్రింగ్ మేము కనుగొన్నాము ఎందుకంటే 1421 01:12:30,110 --> 01:12:34,430 మేము ప్రతి ఒక టచ్ అవసరం మరియు ఆ అప్పుడు మా కొత్త పూర్ణాంక జోడించి. 1422 01:12:34,430 --> 01:12:36,330 >> కానీ మేము కేవలం ఒక సంఖ్య ఇది ​​చేర్చలేరు. 1423 01:12:36,330 --> 01:12:38,270 మేము కేవలం 9 తీసుకొని కాదు మా పూర్ణాంక 9 జోడించండి. 1424 01:12:38,270 --> 01:12:40,560 ఇది ఏమి స్థానంలో ఆధారపడి ఇది స్ట్రింగ్ లో ఉంది. 1425 01:12:40,560 --> 01:12:42,960 మేము గుణిస్తారు అవసరం చూడాలని ఇది 10 ఒక శక్తి ద్వారా. 1426 01:12:42,960 --> 01:12:45,580 ఆ కారణంగా ఎలా బేస్ 10 రచనలు. 1427 01:12:45,580 --> 01:12:49,050 >> కాబట్టి మేము వాస్తవ పొందడానికి వెళుతున్న పాత్ర, లేదా అసలు పూర్ణాంక 1428 01:12:49,050 --> 01:12:53,860 సంఖ్య, పాత్ర 0 తీసివేయడం ద్వారా పాత్ర 9 మేము చేశాడు నుండి 1429 01:12:53,860 --> 01:12:57,560 నుండి పాత్ర రాజధాని A తీసివేయడం మేము ఒకటి లో ఏ పాత్ర 1430 01:12:57,560 --> 01:12:58,120 ఆ సమస్యలను. 1431 01:12:58,120 --> 01:13:04,190 మేము నిజంగా 0 నుండి అనేక పొందుతారు 9 నిజమైన సంఖ్య సేవ్, మరియు మేము చేస్తాము 1432 01:13:04,190 --> 01:13:07,590 ఆధారపడి 10 ఒక శక్తి ద్వారా గుణిస్తారు మేము స్ట్రింగ్ లో ఎక్కడ న. 1433 01:13:07,590 --> 01:13:19,430 1434 01:13:19,430 --> 01:13:22,575 మరియు తర్వాత మేము మళ్ళీ జోడించండి చూడాలని మా కొత్త పూర్ణాంక వేరియబుల్. 1435 01:13:22,575 --> 01:13:32,840 1436 01:13:32,840 --> 01:13:37,890 >> కాబట్టి ఈ చేస్తాను ఇలా ఉంటుంది మేము ఇక్కడ పైగా డ్రా చేస్తాము - అని. 1437 01:13:37,890 --> 01:13:40,086 మేము స్ట్రింగ్ 90 జారీ కలిగితే - 1438 01:13:40,086 --> 01:13:41,336 >> STUDENT: [వినబడని]. 1439 01:13:41,336 --> 01:13:43,190 1440 01:13:43,190 --> 01:13:45,540 >> జాసన్ HIRSCHHORN: కానీ atoi ఒక స్ట్రింగ్ తీసుకుని. 1441 01:13:45,540 --> 01:13:46,350 కాబట్టి మేము ద్వారా వెళ్ళి చూడాలని హోల్డింగ్. 1442 01:13:46,350 --> 01:13:49,900 మేము 90 జారీ పొందుతారు. 1443 01:13:49,900 --> 01:13:51,540 మేము వెనుక నుండి వెళ్ళి. 1444 01:13:51,540 --> 01:13:53,920 మేము 0 పడుతుంది. 1445 01:13:53,920 --> 01:13:55,080 >> STUDENT: క్షమించండి. 1446 01:13:55,080 --> 01:13:55,880 బహుశా ఈ స్టుపిడ్. 1447 01:13:55,880 --> 01:13:59,440 మేము ఒక స్ట్రింగ్, జారీ పొందుతుంటే, ఎందుకు మేము ఏ 90 ఉంది 1448 01:13:59,440 --> 01:14:00,260 జారీ విధానం? 1449 01:14:00,260 --> 01:14:03,160 90 పూర్ణాంకం ఎందుకంటే. 1450 01:14:03,160 --> 01:14:06,820 >> జాసన్ HIRSCHHORN: atoi ఒక ఉండడంతో స్ట్రింగ్ మరియు పూర్ణాంకం మారుతుంది 1451 01:14:06,820 --> 01:14:08,320 ఆ స్ట్రింగ్ ప్రాతినిధ్యం. 1452 01:14:08,320 --> 01:14:13,650 కానీ స్ట్రింగ్ 90 పూర్ణాంక 90 లేదా సంఖ్య 90. 1453 01:14:13,650 --> 01:14:17,920 స్ట్రింగ్ 90 ఒక రెండు శ్రేణి, లేదా ఉంది మూడు అక్షరాలు కాకుండా, 9 1454 01:14:17,920 --> 01:14:22,740 పాత్ర 0 పాత్ర, మరియు బాక్ స్లాష్ 0 పాత్ర. 1455 01:14:22,740 --> 01:14:26,260 >> మరియు మేము ఎందుకంటే, కోసం atoi రాస్తున్నాం ఉదాహరణకు, మీరు ఆదేశ తీసుకోవడం 1456 01:14:26,260 --> 01:14:30,230 లైన్ వాదన, మరియు అది లో సేవ్ argv, ఇది ఒక స్ట్రింగ్ వంటి సేవ్. 1457 01:14:30,230 --> 01:14:32,940 కానీ మీరు అనేక వంటి చికిత్స అనుకుంటే, మీరు ఒక మార్పు అవసరం 1458 01:14:32,940 --> 01:14:34,700 అసలు పూర్ణాంక. 1459 01:14:34,700 --> 01:14:37,210 ఏ మేము మా సమస్య సెట్లు ఒక చేశాడు. 1460 01:14:37,210 --> 01:14:38,800 మేము అనేక ఉపదేశాలిచ్చారు మా సమస్య సెట్లు. 1461 01:14:38,800 --> 01:14:41,690 పూర్ణాంకం పట్టింది అందరూ ఒక కమాండ్ లైన్ వాదన గా. 1462 01:14:41,690 --> 01:14:46,490 కాబట్టి ఆ ఎందుకు మా atoi ఫంక్షన్ ఒక స్ట్రింగ్ తీసుకుని. 1463 01:14:46,490 --> 01:14:51,910 >> మరలా, ఇక్కడ మా ఉదాహరణ లో, మేము చివరి తీసుకుంటున్నానని. 1464 01:14:51,910 --> 01:14:55,050 మేము పాత్ర వ్యవకలనం చూడాలని దాని నుండి 0, ఎందుకంటే అక్షరాలు 0 1465 01:14:55,050 --> 01:14:58,810 పాత్ర 0 ద్వారా తీసివేయటం మీరు ఇస్తుంది ప్రకారం వాస్తవ సంఖ్య 0, 1466 01:14:58,810 --> 01:15:00,950 మేము ఆ ASCII మఠం. 1467 01:15:00,950 --> 01:15:04,870 >> అక్షరాలు వంటి ప్రాతినిధ్యం ఎందుకంటే వారి అసలు కంటే వివిధ - 1468 01:15:04,870 --> 01:15:08,830 పాత్ర ఒక, ఉదాహరణకు, చిన్న ఒక 97 ఉంది. 1469 01:15:08,830 --> 01:15:10,260 ఇది కాదు - అయ్యో! 1470 01:15:10,260 --> 01:15:13,290 ఇది మీరు ఆశించిన ఏ కాదు ఇది ఉదాహరణకు,, 0 ఉండాలి. 1471 01:15:13,290 --> 01:15:16,200 కాబట్టి మీరు వ్యవకలనం ఉన్నాయి పాత్ర ఒక 0 పొందడానికి. 1472 01:15:16,200 --> 01:15:18,950 >> కాబట్టి మేము ఇక్కడ ఆ చేయబోతున్నామని వాస్తవ సంఖ్య పొందడానికి. 1473 01:15:18,950 --> 01:15:22,560 మరియు తర్వాత మేము ద్వారా గుణిస్తారు వెళ్తున్నారు 10 యొక్క శక్తి ఇక్కడ బట్టి 1474 01:15:22,560 --> 01:15:27,030 స్ట్రింగ్ లో ఉంది, మరియు ఆ పడుతుంది మరియు మా స్థానంలో ఉన్నవారు జోడించి 1475 01:15:27,030 --> 01:15:32,520 వేరియబుల్ కాబట్టి మేము ఆలోచన మా చివరి కొత్త పూర్ణాంక. 1476 01:15:32,520 --> 01:15:35,080 అని అందరికీ అర్ధమే లేదు? 1477 01:15:35,080 --> 01:15:37,730 >> కాబట్టి మేము ఈ కోడ్ వెళ్ళి లేదు ప్రస్తుతం, ఎందుకంటే మేము ఉన్నాము 1478 01:15:37,730 --> 01:15:38,830 సమయం తక్కువగా పొందడానికి. 1479 01:15:38,830 --> 01:15:40,860 నేను ఆ సమయం చింతిస్తున్నాము. 1480 01:15:40,860 --> 01:15:44,620 కానీ ఈ ఏమి, ఆశాజనక, మీరు ఉంది వద్ద - క్విజ్ లో చేస్తామని 1481 01:15:44,620 --> 01:15:47,710 చాలా కనీసం, ఈ pseudocode పొందండి బయటకు రాసిన. 1482 01:15:47,710 --> 01:15:50,840 >> ఆపై, మేము అయితే రాయడానికి pseudocode, నిజానికి, మేము ఈ చేయగల 1483 01:15:50,840 --> 01:15:51,490 అందంగా త్వరగా. 1484 01:15:51,490 --> 01:15:55,230 మేము రాశారు వ్యాఖ్యలు ప్రతి లైన్ ఇక్కడ గురించి అనువాదం 1485 01:15:55,230 --> 01:15:56,970 సి కోడ్ ఒకటి లైన్. 1486 01:15:56,970 --> 01:16:01,780 ఒక కొత్త కారకం, రచన ప్రకటించారు ఒక లూప్, కొన్ని తీసివేత, కొన్ని 1487 01:16:01,780 --> 01:16:07,070 గుణకారం, మరియు కొన్ని అప్పగించిన. 1488 01:16:07,070 --> 01:16:09,020 మేము బహుశా కూడా ఇష్టం తిరిగి లైన్ వ్రాయండి. 1489 01:16:09,020 --> 01:16:12,040 మేము కూడా ఉంచాలి కావలసిన ఉండవచ్చు ఇక్కడ కొన్ని తనిఖీలను. 1490 01:16:12,040 --> 01:16:12,655 అవును. 1491 01:16:12,655 --> 01:16:15,720 >> STUDENT: కాబట్టి మేము చికిత్స చేయవచ్చు అసలు స్ట్రింగ్ వంటి లు? 1492 01:16:15,720 --> 01:16:18,730 నేను తెలుసు ఎందుకంటే కేవలం ఒక చిరునామా ఉంది. 1493 01:16:18,730 --> 01:16:22,090 వంటి, ఎలా మీరు పొడవు పొందుతారు స్ట్రింగ్ ద్వారా జారీ చేస్తున్నారు? 1494 01:16:22,090 --> 01:16:25,310 >> జాసన్ HIRSCHHORN: కాబట్టి ఎలా ఒక స్ట్రింగ్ యొక్క పొడవు? 1495 01:16:25,310 --> 01:16:25,830 Strlen. 1496 01:16:25,830 --> 01:16:26,660 >> STUDENT: strlen, అవును. 1497 01:16:26,660 --> 01:16:30,550 కానీ మీరు లు ఉంచవచ్చు ఆ కోసం వాదన? 1498 01:16:30,550 --> 01:16:34,620 >> జాసన్ HIRSCHHORN: కాబట్టి strlen ఒక చార్ స్టార్ పడుతుంది. 1499 01:16:34,620 --> 01:16:38,090 మరియు ఆ చార్ స్టార్ క్రింది, మరియు ఇది ఇది ఒక పొందేంత వరకు లెక్కింపు ఉంచుతుంది 1500 01:16:38,090 --> 01:16:41,865 బాక్ స్లాష్ 0. strlen వాస్తవాని ఇతర కార్యక్రమాలు ఒకటి మేము 1501 01:16:41,865 --> 01:16:42,850 కోడ్ ఉండేవి. 1502 01:16:42,850 --> 01:16:44,560 ఆ కోడ్ చేతిలోపదునైన ఒకటి. 1503 01:16:44,560 --> 01:16:47,270 ఒక, ఒక బిట్ సులభం ఎందుకంటే మీరు ఆ గురించి మాటలకి 1504 01:16:47,270 --> 01:16:47,830 సందర్భానుసారంగా - 1505 01:16:47,830 --> 01:16:51,620 నేను బిగ్గరగా చెప్పితిననెను - strlen క్రింది ఒక పాయింటర్ మరియు ఉంచుతుంది వెళ్లి 1506 01:16:51,620 --> 01:16:54,210 లెక్కింపు మరియు వరకు పర్యవేక్షించే మీరు ఒక బాక్ స్లాష్ 0 చేరుకోవడానికి. 1507 01:16:54,210 --> 01:16:56,530 >> STUDENT: సరే, అర్థమైంది. 1508 01:16:56,530 --> 01:17:00,200 >> జాసన్ HIRSCHHORN: సో ఉత్తమ క్విజ్ 0 రేపు అదృష్టం. 1509 01:17:00,200 --> 01:17:03,170 మీరు ఏవైనా ప్రశ్నలు ఉంటే, నేను చేస్తాము ఈ తరువాత బయట. 1510 01:17:03,170 --> 01:17:05,610 నాకు ఇమెయిల్ సంకోచించకండి. 1511 01:17:05,610 --> 01:17:08,480 మీరు తెలియకపోతే మీ స్వంత TF చేరుకునేందుకు నా విభాగంలో, లేదా పొందుటకు నా 1512 01:17:08,480 --> 01:17:10,005 అది మీకు ఇమెయిల్. 1513 01:17:10,005 --> 01:17:13,140 >> మీరు ఫ్రీక్ మీరు మరియు కేవలం పంపితే ఒక ఇమెయిల్, ఒక freakout ఇమెయిల్, నేను చేస్తాము 1514 01:17:13,140 --> 01:17:16,710 , ఒక స్మైలీ ముఖం, వంటి, తిరిగి పంపడానికి లేదా, వంటి, ఒక జోక్ లేదా ఏదో. 1515 01:17:16,710 --> 01:17:18,190 కాబట్టి అలాగే అలా సంకోచించకండి. 1516 01:17:18,190 --> 01:17:20,750 అదృష్టం మళ్ళీ, మరియు నేను చేస్తాము అన్ని వచ్చే వారం మీరు చూడండి. 1517 01:17:20,750 --> 01:17:23,435