1 00:00:06,650 --> 00:00:09,390 [Powered by Google Translate] JOE MCCORMICK: Deri tani, ne do të flasim rreth variablave. 2 00:00:09,390 --> 00:00:13,270 Variablat në shkenca kompjuterike janë një mënyrë për të ruajtur një vlerë. 3 00:00:13,270 --> 00:00:14,980 Tani, çfarë dhe se si ne dyqan se 4 00:00:14,980 --> 00:00:16,210 vlera nuk është shumë e rëndësishme. 5 00:00:16,210 --> 00:00:19,780 Ne mund të kemi një vlerë që është një fjalë, që mund të 6 00:00:19,780 --> 00:00:21,170 të ruhen si një varg. 7 00:00:21,170 --> 00:00:23,160 Ose ne mund të kemi diçka që është një karakter, 8 00:00:23,160 --> 00:00:24,110 si një letër. 9 00:00:24,110 --> 00:00:26,420 Dhe që do të ruhen si një char. 10 00:00:26,420 --> 00:00:29,660 Ne mund të kemi një numër, si njërit apo 12, që do të jetë 11 00:00:29,660 --> 00:00:32,310 ruhet si një numër të plotë apo Int. 12 00:00:32,310 --> 00:00:35,940 Pastaj, ne kemi gjëra të ndryshme si një float, të cilat mund të ruajë 13 00:00:35,940 --> 00:00:41,700 gjëra të tilla si 1,01 ose 111,13. 14 00:00:41,700 --> 00:00:43,530 Këto vlera janë quajtur gjithmonë të ndryshueshme. 15 00:00:43,530 --> 00:00:46,490 Që do të thotë se në qoftë se ne të ruajtur numër një në një numër të plotë në 16 00:00:46,490 --> 00:00:49,490 në krye të një programi më vonë, ne mund të ndryshojë atë numër të 17 00:00:49,490 --> 00:00:51,460 të jetë tre ose shtatë. 18 00:00:51,460 --> 00:00:53,890 Tani, një ndryshore lokale është ajo që ju do të hasni në mënyrë tipike, 19 00:00:53,890 --> 00:00:55,250 kur ekzekutimin e një funksion. 20 00:00:55,250 --> 00:00:57,260 Pra, le të thonë se ju jeni brenda funksionit tuaj kryesor. 21 00:00:57,260 --> 00:00:59,910 Dhe ju doni të krijoni një num ndryshueshme quajtur. 22 00:00:59,910 --> 00:01:01,240 Dhe ne do të ruajë një numër të plotë në të. 23 00:01:01,240 --> 00:01:04,680 Pra, ne mund të themi diçka si int num = 3. 24 00:01:04,680 --> 00:01:05,319 Tani, ju shkoni atje. 25 00:01:05,319 --> 00:01:06,830 Ju keni një ndryshore lokale. 26 00:01:06,830 --> 00:01:09,670 Tani, kjo është e ndryshueshme mund të ndryshohet më vonë në kryesore 27 00:01:09,670 --> 00:01:13,700 funksion, duke thënë diçka si num = num = 6 ose 7. 28 00:01:13,700 --> 00:01:15,940 Por ndryshueshme juaj është mbërthyer brenda 29 00:01:15,940 --> 00:01:18,320 Shtrirja e këtij funksioni. 30 00:01:18,320 --> 00:01:21,690 Shtrirja dhe zakonisht fillon me mbajtëse kaçurrel më së 31 00:01:21,690 --> 00:01:23,990 fillimi i kryesor dhe përfundon me mbajtëse kaçurrel atë 32 00:01:23,990 --> 00:01:26,230 mbyll funksionin kryesor. 33 00:01:26,230 --> 00:01:29,610 Dhe kjo është e ndryshueshme lokale është mbërthyer tani në këtë fushë. 34 00:01:29,610 --> 00:01:32,200 Kështu që nuk mund të arrihen në një tjetër funksion, 35 00:01:32,200 --> 00:01:33,950 jashtë funksionit kryesor. 36 00:01:33,950 --> 00:01:36,230 Dhe një herë Funksioni kryesor përfundon ekzekutimin e saj dhe 37 00:01:36,230 --> 00:01:40,460 kthimit, ky lokal num ndryshueshme quajtur është zhdukur. 38 00:01:40,460 --> 00:01:42,760 Pra, në kontrast me variablat lokale, ne kemi diçka 39 00:01:42,760 --> 00:01:43,970 quajtur variabla globale. 40 00:01:43,970 --> 00:01:46,890 Tani, një ndryshore globale është shpallur në krye të 41 00:01:46,890 --> 00:01:49,860 programi dhe mund të arrihen kudo në program. 42 00:01:49,860 --> 00:01:51,805 Pra, le të thonë se ju deklaruar një ndryshore globale në krye të 43 00:01:51,805 --> 00:01:53,200 programi juaj, të quajtur test. 44 00:01:53,200 --> 00:01:54,990 Tani, kjo është e ndryshueshme mund të arrihen 45 00:01:54,990 --> 00:01:56,000 kudo në program. 46 00:01:56,000 --> 00:01:58,230 Ju mund të hyni në atë në funksion tuaj kryesore ose në një funksion 47 00:01:58,230 --> 00:01:59,300 më poshtë se. 48 00:01:59,300 --> 00:02:02,210 Por në qoftë se ju ndonjëherë të përpiqet të krijojë një ndryshore lokale në një nga 49 00:02:02,210 --> 00:02:04,170 këto funksione, me të njëjtin emër si 50 00:02:04,170 --> 00:02:05,880 Testi, ka një konflikt. 51 00:02:05,880 --> 00:02:07,720 Sepse ju nuk e dini që ndryshueshme ju doni të përdorni. 52 00:02:07,720 --> 00:02:09,039 A doni të përdorni testin globale, 53 00:02:09,039 --> 00:02:10,910 deklaruar në programin e lartë? 54 00:02:10,910 --> 00:02:12,495 Apo ju doni të përdorni testin lokale ndryshueshme që 55 00:02:12,495 --> 00:02:14,920 jeni duke u përpjekur për të krijuar brenda këtij funksioni? 56 00:02:14,920 --> 00:02:16,700 Tani, kjo është një nga arsyet pse ne nuk duan të 57 00:02:16,700 --> 00:02:18,960 vetëm përdorni variabla globale lirisht. 58 00:02:18,960 --> 00:02:21,570 Ka diçka që quhet cluttering hapësirë ​​emrin. 59 00:02:21,570 --> 00:02:23,940 Edhe nëse ju nuk do të thotë për të, ju mund të aksidentalisht krijuar një 60 00:02:23,940 --> 00:02:26,270 variabël lokale, më vonë në program, me të njëjtën 61 00:02:26,270 --> 00:02:28,140 Emri si ndryshore globale. 62 00:02:28,140 --> 00:02:30,130 Dhe kjo nuk do të përbëjë një problem të madh kur ju jeni duke punuar në 63 00:02:30,130 --> 00:02:33,120 vogël 10, 20, 30-line programeve. 64 00:02:33,120 --> 00:02:35,520 Pasi të keni deri në mijëra e linjave të kodit, ju nuk do të 65 00:02:35,520 --> 00:02:38,740 mbani mend saktësisht se çfarë ju keni ruajtur për variable globale. 66 00:02:38,740 --> 00:02:41,000 Pra, një gjë të marrin në konsideratë kur duke përdorur lokale dhe globale 67 00:02:41,000 --> 00:02:43,570 variablave është që të mendoni rreth fushëveprimit të tyre. 68 00:02:43,570 --> 00:02:47,270 Tani, qëllimi i referohet ku këto variabla mund të përdoren në 69 00:02:47,270 --> 00:02:48,500 programi. 70 00:02:48,500 --> 00:02:51,080 Pra, një ndryshore globale ka atë që quhet qëllimin global, 71 00:02:51,080 --> 00:02:53,820 do të thotë se ajo mund të përdoret kudo në program. 72 00:02:53,820 --> 00:02:56,860 Pasi të keni nisja këtë ndryshore, ajo mund të përdoret në 73 00:02:56,860 --> 00:03:00,530 çdo funksion, qoftë ajo të jetë funksioni kryesor ose një 74 00:03:00,530 --> 00:03:03,780 10 funksion funksionet poshtë, të quajtur foo10. 75 00:03:03,780 --> 00:03:05,160 Kjo nuk ka rëndësi se ku ju përdorni atë. 76 00:03:05,160 --> 00:03:07,490 Por një ndryshore lokale ka fushë të veçantë. 77 00:03:07,490 --> 00:03:09,800 Dhe fushëveprimi i këtij variablit lokal është përcaktuar nga 78 00:03:09,800 --> 00:03:11,030 ku është initialized. 79 00:03:11,030 --> 00:03:13,680 Tani, qëllimi është përcaktuar në mënyrë tipike nga hapja 80 00:03:13,680 --> 00:03:16,540 mbajtëse e funksionit që variabli është deklaruar në, deri në 81 00:03:16,540 --> 00:03:18,300 shtrëngoj mbylljen e atij funksioni. 82 00:03:18,300 --> 00:03:19,730 Pra, le të thonë se ju jeni në funksion kryesor. 83 00:03:19,730 --> 00:03:21,410 Dhe ju e krijoni një ndryshore. 84 00:03:21,410 --> 00:03:23,110 Por tani, në kuadër të këtij funksioni kryesor, që ne e quajmë një tjetër 85 00:03:23,110 --> 00:03:24,640 funksionojnë foo. 86 00:03:24,640 --> 00:03:27,070 Në foo funksion, ne nuk mund të telefononi variabli ne vetëm 87 00:03:27,070 --> 00:03:29,940 krijuar në funksion kryesor, sepse ajo nuk është në fushë. 88 00:03:29,940 --> 00:03:33,410 Kjo variabël është vetëm në kuadër brenda funksionit kryesor. 89 00:03:33,410 --> 00:03:36,540 Kështu që ne mund ta përdorin atë më tej, në kuadër të funksionit kryesor, por 90 00:03:36,540 --> 00:03:40,650 jo brenda një funksion që quhet nga funksioni kryesor. 91 00:03:40,650 --> 00:03:43,390 Pra, si rafte dhe tog, variabla globale janë 92 00:03:43,390 --> 00:03:45,580 ruhen në një pjesë të caktuar të kujtesës. 93 00:03:45,580 --> 00:03:47,665 Tani, kjo pjesë e kujtesës varet nga sistemi që 94 00:03:47,665 --> 00:03:48,490 ju jeni duke përdorur. 95 00:03:48,490 --> 00:03:50,840 Variablat globale kanë dy vende të veçanta që ata janë 96 00:03:50,840 --> 00:03:54,570 ruajtur, një për variablat initialized globale, të tilla si 97 00:03:54,570 --> 00:03:58,130 ju kishte deklaruar testin int = 5, në krye të programit tuaj. 98 00:03:58,130 --> 00:04:01,010 Dhe zona tjetër është për variablat unitialized globale, 99 00:04:01,010 --> 00:04:03,190 në qoftë se ju vetëm tha, test int, në krye të programit tuaj dhe 100 00:04:03,190 --> 00:04:05,040 ishte duke shkuar për të vendosur variablave provë 101 00:04:05,040 --> 00:04:07,626 më vonë në program. 102 00:04:07,626 --> 00:04:10,140 Kështu që tani unë jam do të flasim për diçka të quajtur # define, 103 00:04:10,140 --> 00:04:13,380 cila është një mënyrë që të japë një emër simbolik tek një konstante. 104 00:04:13,380 --> 00:04:17,420 Dhe këtu kemi një shembull të një programi C që llogarit 105 00:04:17,420 --> 00:04:19,470 zona e rrethit. 106 00:04:19,470 --> 00:04:21,690 Dhe në krye të programit, ne do të bëjmë diçka që thotë se 107 00:04:21,690 --> 00:04:25,830 # Define pi 3,14159. 108 00:04:25,830 --> 00:04:29,330 # Define nuk teknikisht të krijojë një ndryshore globale. 109 00:04:29,330 --> 00:04:31,590 Përkundrazi, ajo tregon preprocessor përpiluesit për të 110 00:04:31,590 --> 00:04:34,350 gjeni dhe të zëvendësojë të gjitha instancat e pi me 111 00:04:34,350 --> 00:04:37,540 3,14159 para hartimit. 112 00:04:37,540 --> 00:04:39,830 Megjithatë, ai bëhet një teknikë e dobishme për shpalljen 113 00:04:39,830 --> 00:04:41,510 konstanta, për përdorim në të gjithë programin. 114 00:04:41,510 --> 00:04:44,540 Tani, duke kërkuar në funksion zonë, ajo merr në një noton 115 00:04:44,540 --> 00:04:48,150 RAD dhe thjesht e kthen zonën e një rrethi me atë 116 00:04:48,150 --> 00:04:52,920 rrezja ose pi r katror, ​​ose herë pi rad herë rad. 117 00:04:52,920 --> 00:04:56,040 Dhe ky është vendi ku # define luan një rol kyç. 118 00:04:56,040 --> 00:04:59,270 Sepse përpiluesit në thelb do të zëvendësojë atë pi 119 00:04:59,270 --> 00:05:02,780 Simboli me numrin 3,14159. 120 00:05:02,780 --> 00:05:05,560 Dhe kështu që ne nuk duhet të shkruani se mbi dhe mbi përsëri. 121 00:05:05,560 --> 00:05:08,900 Dhe më vonë, në qoftë se ne vendosim për të përdorur një shifra më e pi, le të 122 00:05:08,900 --> 00:05:12,800 thonë 3.1415926, ne vetëm mund të shtoj se në krye të 123 00:05:12,800 --> 00:05:14,330 Programi dhe nuk do të ketë për të ndryshuar atë, 124 00:05:14,330 --> 00:05:16,160 më vonë në program. 125 00:05:16,160 --> 00:05:18,240 Kjo është një përdorim të mirë të përcaktojë #. 126 00:05:18,240 --> 00:05:20,520 Ne nuk duam të ruajtur pi si një ndryshore globale sepse ajo 127 00:05:20,520 --> 00:05:21,780 mund të ndryshojë më vonë në program. 128 00:05:21,780 --> 00:05:23,430 Dhe ne e dimë pi nuk ndryshon. 129 00:05:23,430 --> 00:05:25,650 Kjo është një konstante. 130 00:05:25,650 --> 00:05:28,120 Pra, kjo përfundon temën tonë të variablave globale. 131 00:05:28,120 --> 00:05:29,930 Pra, sot kemi biseduar në lidhje me dallimin në mes të lokale dhe 132 00:05:29,930 --> 00:05:32,490 variabla globale, kur për përdorimin e tyre, në varësi të tyre 133 00:05:32,490 --> 00:05:36,660 Shtrirja dhe pse jo për të përdorur ndryshoret globale sipas dëshirës 134 00:05:36,660 --> 00:05:39,360 për shkak të cluttering e hapësirës së emrit. 135 00:05:39,360 --> 00:05:40,270 Unë jam Joe McCormick. 136 00:05:40,270 --> 00:05:42,290 Dhe kjo është CS50.