1 00:00:00,000 --> 00:00:05,587 2 00:00:05,587 --> 00:00:07,670 డౌ LLOYD: మీరు చూసిన ఉంటే సూత్రం లో వీడియో, 3 00:00:07,670 --> 00:00:10,170 మొత్తం ప్రక్రియ ఉండవచ్చు కొద్దిగా మాయా అనిపించింది. 4 00:00:10,170 --> 00:00:10,930 ఇది ఎలా పని చేస్తుంది? 5 00:00:10,930 --> 00:00:15,010 విధులు ఎలా తెలుసు వారు వేచి మరియు మరొక విలువ కోసం వేచి అవసరం 6 00:00:15,010 --> 00:00:19,150 వేరే ఫంక్షన్ నుండి తిరిగి మేము కావలసిన ఫలితంగా పొందడానికి కాల్? 7 00:00:19,150 --> 00:00:22,550 >> Well, ఈ పని కారణం ఎందుకంటే కాల్ స్టాక్ అని పిలుస్తారు ఏదో. 8 00:00:22,550 --> 00:00:26,360 మీరు ఒక ఫంక్షన్ కాల్ చేసినప్పుడు, వ్యవస్థ మెమరీలో స్పేస్ పక్కన అమర్చుతుంది 9 00:00:26,360 --> 00:00:28,120 ఆ ఫంక్షన్ కోసం పని చేయడానికి. 10 00:00:28,120 --> 00:00:31,720 మరియు మేము మెమరీ ఈ రాళ్లను కాల్ ప్రతి ఫంక్షన్ ప్రక్కన సెట్ చేస్తున్నారు 11 00:00:31,720 --> 00:00:35,670 ఒక స్టాక్ ఫ్రేమ్ లేదా ఒక చర్యను ఫ్రేమ్ కాల్. 12 00:00:35,670 --> 00:00:38,290 మరియు మీరు ఆశించిన విధంగా, ఈ స్టాక్ ఫ్రేమ్లలో 13 00:00:38,290 --> 00:00:41,000 మెమరీ స్టాక్ భాగంగా నివసిస్తున్నారు. 14 00:00:41,000 --> 00:00:43,960 15 00:00:43,960 --> 00:00:47,540 >> ఒక పని కంటే ఎక్కువ స్టాక్ ఫ్రేమ్ ఇచ్చిన సమయంలో మెమరీలో ఉండవచ్చు. 16 00:00:47,540 --> 00:00:51,240 ప్రధాన ఒక ఫంక్షన్ తరలింపు కాల్స్ ఉంటే, మరియు తరలింపు దిశలో కాల్స్, 17 00:00:51,240 --> 00:00:54,460 అన్ని మూడు విధులు ఓపెన్ ఫ్రేమ్లను కలిగి. 18 00:00:54,460 --> 00:00:57,350 కానీ వారు చురుకుగా ఫ్రేములు అన్ని ఉన్నాయి. 19 00:00:57,350 --> 00:00:59,410 ఈ ఫ్రేములు ఒక స్టాక్ ఏర్పాటు చేస్తారు. 20 00:00:59,410 --> 00:01:01,820 నుండి ఫ్రేమ్ ఇటీవల అనే 21 00:01:01,820 --> 00:01:04,390 ఫంక్షన్ స్టాక్ ఎగువ ఎల్లప్పుడూ ఉంటుంది. 22 00:01:04,390 --> 00:01:07,150 మరియు ఎల్లప్పుడూ చురుకుగా ఫ్రేమ్. 23 00:01:07,150 --> 00:01:10,420 మాత్రమే నిజంగా ఎప్పుడూ ఒక ఉంది ఒక సమయంలో చురుకుగా ఉండే ఫంక్షన్. 24 00:01:10,420 --> 00:01:12,420 ఇది స్టాక్ పైన ఒకటి. 25 00:01:12,420 --> 00:01:17,620 >> ఒక ఫంక్షన్ మరొక కాల్స్ ఫంక్షన్, అది విధమైన విరామం యంత్రాలపై. 26 00:01:17,620 --> 00:01:20,590 ఇది విధమైన వేచి, పట్టు ఉంది. 27 00:01:20,590 --> 00:01:24,050 మరియు మరొక స్టాక్ ఫ్రేమ్ నెట్టడమే దాని పైభాగంలో స్టాక్ లో. 28 00:01:24,050 --> 00:01:26,150 మరియు ఆ చురుకుగా ఫ్రేమ్ అవుతుంది. 29 00:01:26,150 --> 00:01:28,600 మరియు ఫ్రేమ్ వెంటనే అది వేచి అవసరం క్రింద 30 00:01:28,600 --> 00:01:33,560 అది మళ్ళీ చురుకుగా ఫ్రేమ్ వరకు దాని పనిని తిరిగి ముందు. 31 00:01:33,560 --> 00:01:35,870 ఒక ఫంక్షన్ ఉంది పూర్తి మరియు అది పూర్తి, 32 00:01:35,870 --> 00:01:37,720 దాని ఫ్రేమ్ స్టాక్ ఆఫ్ popped ఉంది. 33 00:01:37,720 --> 00:01:38,950 పరిభాష ఉంది. 34 00:01:38,950 --> 00:01:41,110 మరియు ఫ్రేమ్ వెంటనే ఇది దిగువ, నేను కేవలం అన్నాడు, 35 00:01:41,110 --> 00:01:42,880 కొత్త చురుకుగా ఫ్రేమ్ అవుతుంది. 36 00:01:42,880 --> 00:01:45,960 >> మరియు అది మరొక ఫంక్షన్ ఉంటే, అది మళ్ళీ విరామం జరగబోతోంది. 37 00:01:45,960 --> 00:01:49,290 ఆ కొత్త ఫంక్షన్ యొక్క స్టాక్ ఫ్రేమ్ రెడీ స్టాక్ ఎగువ పై ఒత్తిడి. 38 00:01:49,290 --> 00:01:50,650 ఇది దాని పని చేస్తాను. 39 00:01:50,650 --> 00:01:52,100 ఇది ఆఫ్ పాప్ ఉండవచ్చు. 40 00:01:52,100 --> 00:01:55,630 మరియు ఇతర ఫంక్షన్ దిగువ దాన్ని మళ్ళీ చేసుకోగలుగుతారు. 41 00:01:55,630 --> 00:02:00,080 >> కాబట్టి యొక్క చూస్తూ, మళ్ళీ ఈ ద్వారా వెళ్ళడానికి వీలు కారకమైన చర్య ఆలోచన వద్ద 42 00:02:00,080 --> 00:02:03,070 మేము లో నిర్వచించిన సూత్రం వీడియో చూడండి 43 00:02:03,070 --> 00:02:07,770 ఎలా ఈ వెనుక మేజిక్ పునరావృత ప్రక్రియ జరుగుతున్న ఉంది. 44 00:02:07,770 --> 00:02:09,870 కాబట్టి ఈ మా మొత్తం ఫైల్ కుడి ఉంది? 45 00:02:09,870 --> 00:02:14,000 మేము రెండు నిర్వచించిన ప్రధాన మరియు నిజానికి విధులను. 46 00:02:14,000 --> 00:02:15,980 మరియు మేము భావిస్తున్నాము ఉండవచ్చు, ఏ సి కార్యక్రమం అన్నారు 47 00:02:15,980 --> 00:02:18,470 ప్రధాన మొదటి లైన్ వద్ద మొదలు. 48 00:02:18,470 --> 00:02:21,660 >> కాబట్టి మేము ప్రధాన కోసం ఒక కొత్త స్టాక్ ఫ్రేమ్ సృష్టించడానికి. 49 00:02:21,660 --> 00:02:23,320 మరియు అది నడుస్తున్న ప్రారంభించడానికి జరగబోతోంది. 50 00:02:23,320 --> 00:02:25,270 ప్రధాన కాల్స్ printf. 51 00:02:25,270 --> 00:02:29,390 మరియు printf అన్నారు 5 కారకమైన ప్రింట్. 52 00:02:29,390 --> 00:02:31,440 Well, అది తెలీదు 5 ఏ కారకమైన ఉంది 53 00:02:31,440 --> 00:02:35,620 అందువలన ఈ కాల్ ఇప్పటికే ఉంది మరొక ఫంక్షన్ కాల్ బట్టి. 54 00:02:35,620 --> 00:02:37,270 కాబట్టి ప్రధాన అక్కడే విరామం అన్నారు. 55 00:02:37,270 --> 00:02:39,103 నేను వదిలి గొన్న రెడీ దాని అక్కడే రంగు బాణం 56 00:02:39,103 --> 00:02:41,360 ఇది అదే రంగు కుడివైపు ఫ్రేమ్ స్టేక్ 57 00:02:41,360 --> 00:02:47,720 ప్రధాన స్తంభింప అన్నారు సూచించుటకు 5 కారకమైన అంటారు ఇక్కడ ఉండగా. 58 00:02:47,720 --> 00:02:49,300 >> కాబట్టి 5 యొక్క కారకమైన అంటారు. 59 00:02:49,300 --> 00:02:53,160 మరియు అది చాలా వద్ద ఆరంభమవుతుంది కారకమైన విధి ప్రారంభంలో. 60 00:02:53,160 --> 00:02:55,440 ఇది ప్రశ్న నేను 1 సమానం చేస్తున్నాను అడుగుతుంది? 61 00:02:55,440 --> 00:02:56,810 1 సమానంగా 5? 62 00:02:56,810 --> 00:02:57,410 ఏ, బాగా. 63 00:02:57,410 --> 00:03:01,110 కనుక ఇది డౌన్ వెళ్ళడానికి జరగబోతోంది వేరే భాగాన్ని n సార్లు 64 00:03:01,110 --> 00:03:02,990 n మైనస్ 1 యొక్క కారకమైన. 65 00:03:02,990 --> 00:03:03,490 OK, అలాగే. 66 00:03:03,490 --> 00:03:07,070 >> కాబట్టి ఇప్పుడు, 5 యొక్క కారకమైన ఉంది మరొక కాల్ ఆధారపడి 67 00:03:07,070 --> 00:03:09,740 దాటారు కారకమైన ప్రామాణికంగా 4. 68 00:03:09,740 --> 00:03:14,210 కాబట్టి కారకమైన 5 ఫ్రేమ్, ఎరుపు ఫ్రేమ్ ఆ 69 00:03:14,210 --> 00:03:17,160 అక్కడే స్తంభింప అన్నారు ఆ లైన్ వద్ద నేను సూచించిన చేసిన 70 00:03:17,160 --> 00:03:21,914 మరియు పూర్తి 4 యొక్క కారకమైన కోసం వేచి అది తద్వారా చేయవలసిన ఏమి 71 00:03:21,914 --> 00:03:23,330 క్రియాశీల ఫ్రేములో మరల తయారవుతుంది. 72 00:03:23,330 --> 00:03:26,890 >> సో 4 ప్రారంభాల్లో కారకమైన కారకమైన ప్రారంభం. 73 00:03:26,890 --> 00:03:28,556 1 సమానంగా 4 ఏమిటి? 74 00:03:28,556 --> 00:03:30,180 లేదు, కాబట్టి అది ఇదే జరగబోతోంది. 75 00:03:30,180 --> 00:03:31,590 అది వేరే శాఖ డౌన్ వెళ్ళడానికి జరగబోతోంది. 76 00:03:31,590 --> 00:03:33,240 ఇది కోడ్ యొక్క లైనును ను జరగబోతోంది. 77 00:03:33,240 --> 00:03:35,710 సరే, నేను నాలుగు సార్లు తిరిగి వెళుతున్న. 78 00:03:35,710 --> 00:03:41,270 ఓహ్, 3-- యొక్క కారకమైన కాబట్టి కారకమైన 4 3 పూర్తి కారకమైన ఆధారపడి ఉంటుంది. 79 00:03:41,270 --> 00:03:43,055 >> మరియు కనుక ఇది 3 యొక్క కారకమైన కాల్ అవసరం. 80 00:03:43,055 --> 00:03:45,180 మరియు ఆ గొన్న ద్వారా వెళ్ళి మళ్ళీ అదే ప్రక్రియ. 81 00:03:45,180 --> 00:03:48,200 ఇది ద్వారా మొదలవుతుంది ఇక్కడ పొందుతాడు. 82 00:03:48,200 --> 00:03:50,980 3 యొక్క కారకమైన ఆధారపడి 1 యొక్క కారకమైన మీద. 83 00:03:50,980 --> 00:03:53,750 2 ప్రారంభాల్లో కాబట్టి కారకమైన, ఇక్కడ పొందుతాడు. 84 00:03:53,750 --> 00:03:56,310 ఇది 1 యొక్క కారకమైన ఆధారపడి ఉంటుంది. 85 00:03:56,310 --> 00:03:57,430 1 ప్రారంభమవడం కారకమైన. 86 00:03:57,430 --> 00:03:57,650 >> అలాగే. 87 00:03:57,650 --> 00:03:59,775 కాబట్టి ఇప్పుడు, మేము పొందుతుంటే ఎక్కడో ఆసక్తికరమైన, కుడి? 88 00:03:59,775 --> 00:04:02,190 కాబట్టి ఇప్పుడు, 1 1 సమానము. 89 00:04:02,190 --> 00:04:05,130 అందువలన మేము 1 తిరిగి. 90 00:04:05,130 --> 00:04:06,770 ఈ సమయంలో, మేము తిరిగి ఉంటాయి. 91 00:04:06,770 --> 00:04:07,880 ఫంక్షన్ ప్రదర్శనతో. 92 00:04:07,880 --> 00:04:11,140 ఇది ప్రవర్తన ఉంది is-- దీన్ని వేరే ఏమీ, 93 00:04:11,140 --> 00:04:17,006 అందువలన స్టాక్ ఫ్రేమ్ 1 యొక్క కారకమైన ఆఫ్ బయటకు. 94 00:04:17,006 --> 00:04:17,589 ఇది పూర్తయ్యే. 95 00:04:17,589 --> 00:04:19,480 ఇది 1 తిరిగి. 96 00:04:19,480 --> 00:04:23,370 మరియు ఇప్పుడు, 2 కారకమైన ఇది ఫ్రేమ్ క్రింద వెంటనే 97 00:04:23,370 --> 00:04:26,160 స్టాక్ లో, చురుకుగా ఫ్రేమ్ అవుతుంది. 98 00:04:26,160 --> 00:04:29,030 >> మరియు అది అప్ ఎంచుకోవచ్చు సరిగ్గా అది వదిలి పేరు. 99 00:04:29,030 --> 00:04:32,240 ఇది ఒక కారకమైన కోసం వేచి అయిన 1 దాని పని పూర్తి చేయడానికి. 100 00:04:32,240 --> 00:04:33,610 ఇది ఇప్పుడు పూర్తయింది. 101 00:04:33,610 --> 00:04:35,510 మరియు ఇక్కడ మేము ఉన్నాయి. 102 00:04:35,510 --> 00:04:38,080 >> 1 యొక్క కారకమైన 1 విలువ తిరిగి. 103 00:04:38,080 --> 00:04:42,430 2 చెయ్యవచ్చు కాబట్టి కారకమైన సే 2 సార్లు 1 తిరిగి. 104 00:04:42,430 --> 00:04:43,680 దాని పని ఇప్పుడు జరుగుతుంది. 105 00:04:43,680 --> 00:04:49,110 ఇది కారకమైన 2 తిరిగి యొక్క 3, అది వేచి జరిగినది. 106 00:04:49,110 --> 00:04:53,370 3 యొక్క కారకమైన ఇప్పుడు టాప్ ఫ్రేమ్ స్టాక్ లో చురుకుగా ఫ్రేమ్. 107 00:04:53,370 --> 00:04:58,617 కాబట్టి అది సరే, బాగా, నేను వెళుతున్న చెప్పారు 6 ఇది 3 సార్లు 2, తిరిగి. 108 00:04:58,617 --> 00:05:00,700 నేను ఆ ఇవ్వాలని వెళుతున్న కారకమైన తిరిగి నాణ్యం 109 00:05:00,700 --> 00:05:03,430 4, నాకు వేచి ఉంది. 110 00:05:03,430 --> 00:05:04,500 నేను పూర్తిచేసాను. 111 00:05:04,500 --> 00:05:09,410 3 యొక్క కారకమైన స్టాక్ ఆఫ్ బయటకు, మరియు 4 యొక్క కారకమైన ఇప్పుడు చురుకుగా ఫ్రేమ్. 112 00:05:09,410 --> 00:05:13,510 >> 4 OK, నేను 4 సార్లు తిరిగి వెళుతున్న చెప్పారు ఆరు 3 యొక్క కారకమైన. 113 00:05:13,510 --> 00:05:15,980 ఆ విలువ అని 3 యొక్క కారకమైన తిరిగి. 114 00:05:15,980 --> 00:05:19,010 అందువలన 4 సార్లు 6 24. 115 00:05:19,010 --> 00:05:20,990 మరియు నేను పాస్ వెళుతున్న ఆ వెనుక కారకమైన 116 00:05:20,990 --> 00:05:23,160 5, నాకు వేచి ఉంది. 117 00:05:23,160 --> 00:05:25,270 5 కారకమైన ఇప్పుడు చురుకుగా ఫ్రేమ్. 118 00:05:25,270 --> 00:05:30,700 ఇది 5 సార్లు తిరిగి వెళుతున్న 4-- 5 సార్లు 24, లేదా 120-- యొక్క కారకమైన 119 00:05:30,700 --> 00:05:32,722 మరియు ఆ విలువ ఇవ్వాలని తిరిగి కలిగి, ప్రధాన 120 00:05:32,722 --> 00:05:35,680 ఒక చాలా ఓపికగా వేచి స్టాక్ దిగువన కాలం. 121 00:05:35,680 --> 00:05:36,640 >> ఎక్కడ ప్రారంభమైందో అంతే. 122 00:05:36,640 --> 00:05:37,670 ఇది ఈ కాల్ చేసింది. 123 00:05:37,670 --> 00:05:39,400 అనేక ఫ్రేమ్లను ఎగువన చేపట్టాడు. 124 00:05:39,400 --> 00:05:41,890 ఇది ఇప్పుడు తిరిగి స్టాక్ పైన ఉంది. 125 00:05:41,890 --> 00:05:43,450 ఇది చురుకుగా ఫ్రేమ్ ఉంది. 126 00:05:43,450 --> 00:05:47,810 కాబట్టి ప్రధాన విలువ వచ్చింది 120 తిరిగి 5 యొక్క కారకమైన నుండి. 127 00:05:47,810 --> 00:05:50,750 ఇది వేచి చెయ్యబడిన ఆ విలువ అవ్ట్ ప్రింట్. 128 00:05:50,750 --> 00:05:51,657 ఆపై అది పూర్తి అయిన. 129 00:05:51,657 --> 00:05:53,240 ప్రధాన కోడ్ మరిన్ని పంక్తులు ఏ ఉంది. 130 00:05:53,240 --> 00:05:56,800 కాబట్టి యొక్క ప్రధాన ఫ్రేమ్ ఆఫ్ ది పాప్స్ స్టాక్, మరియు మేము పూర్తి చేసిన. 131 00:05:56,800 --> 00:05:58,992 >> సూత్రం పనిచేస్తుంది ఎలా ఆ. 132 00:05:58,992 --> 00:06:00,200 స్టాక్ ఫ్రేములు పని ఎలా. 133 00:06:00,200 --> 00:06:03,120 ఆ ఫంక్షన్ కాల్స్ ఇంతకు ముందు జరిగిన 134 00:06:03,120 --> 00:06:06,620 కేవలం విరామం ఉన్నాయి వేచి తదుపరి కాల్స్ కోసం 135 00:06:06,620 --> 00:06:12,050 కాబట్టి వారు చురుకుగా తయారవుతుంది పూర్తి ఫ్రేమ్ మరియు వారు ఏమి చెయ్యాలో పూర్తి. 136 00:06:12,050 --> 00:06:13,060 >> నేను డౌ లాయిడ్ ఉన్నాను. 137 00:06:13,060 --> 00:06:14,880 ఈ CS50 ఉంది. 138 00:06:14,880 --> 00:06:16,580