[Powered by Google Translate] JOE MCCORMICK: Taigi, dabar mes ketiname kalbėti apie kintamuosius. Kintamieji kompiuterių mokslo būdas saugoti vertę. Dabar, ką ir kaip mes saugome, kad vertė yra ne per daug svarbūs. Mes galime turėti vertę, kuri yra žodis, kad galėtų turi būti saugomas kaip eilutė. Arba mes galime turėti kažką, kad yra požymių, kaip laiške. Ir kad būtų saugomi kaip char. Galėtume turėti numerį, kaip vienas ar 12, kad būtų saugomi kaip sveikasis skaičius arba int. Tada mes turime skirtingus dalykus, pavyzdžiui, plūdės, kuriose galima patalpinti dalykų, pavyzdžiui, 1,01 arba 111,13. Šios vertybės yra visada ragino permainingas. Reiškia, kad jei mes saugomi numeris vienas sveikasis skaičius viršuje programą vėliau, mes galime pakeisti, kad numeris trijų ar septynių. Dabar, vietos kintamasis yra tai, ką jūs paprastai susiduria su , kai vykdant tam tikrą funkciją. Tarkime, jūs per savo pagrindinę funkciją. Ir norite sukurti kintamasis vadinamas num. Ir mes saugoti sveikasis skaičius. Taigi, mes galime pasakyti kažką panašaus į int num = 3. Dabar ten jūs einate. Turite vietos kintamąjį. Dabar šis kintamasis gali būti pakeistas vėliau pagrindinis funkcija, sakydamas kažką panašaus skaičius = 6 arba skaicius = 7. Bet jūsų kintamasis įstrigo per apimtis šią funkciją. Ir taikymo sritis paprastai prasideda garbanotas petnešomis ne pradžios pagrindinis ir baigiasi garbanotas petnešomis, kad uždaroma pagrindinę funkciją. Ir tai vietos kintamąjį dabar pakimba per šią sritį. Todėl ji nebegali būti atvertas kitos funkcijos, už pagrindinės funkcijos. Ir kai pagrindinė funkcija baigia savo vykdymą ir grąžą, tai vietos kintamąjį vadinamas skaičius dingo. Taigi Priešingai nei lokalūs kintamieji, mes turime ką nors "visuotiniai kintamieji. Dabar, pasaulio kintamasis paskelbtas viršuje programa ir gali būti prieinama bet kurioje programoje. Tarkime, paskelbė pasaulinį kintamąjį viršuje jūsų programa, vadinama testas. Dabar šis kintamasis gali būti atvertas bet kurioje programoje. Jūs galite prieiti prie jį savo pagrindinę funkciją ar funkcija žemiau, kad. Bet jei jūs kada nors pabandyti sukurti kintamąjį, vienoje iš šių funkcijų, su tokiu pačiu pavadinimu kaip testas, ten konfliktas. Nes jūs nežinote, iš jos kintama norite naudoti. Ar norite naudoti bendrą bandymą, viršuje programoje deklaruotas? Ar jūs norite naudoti vietos kintamąjį bandymas, kad bandote sukurti per šią funkciją? Dabar, tai yra viena iš priežasčių, kodėl mes nenori tiesiog naudoti globalių kintamųjų laisvai. Yra kažkas vadinama cluttering pavadinimas erdvė. Net jei jūs tai nereiškia, galite netyčia sukurti vietos kintamąjį, o vėliau į programą, su tuo pačiu vardas kaip pasaulinį kintamąjį. Ir tai nekelia didžiulė problema, kai dirbate maža 10, 20, 30-line programos. Kai jūs turite tūkstančių eilučių kodo, jums nebus prisiminti, ką turite saugomi pasaulinį kintamąjį. Taigi vienas dalykas, apsvarstyti, naudojant vietos ir globalinės kintamuosius galvoti apie jų taikymo sritį. Dabar, apimtis tai, kur šie pokyčiai gali būti naudojamas programa. Taigi pasaulio kintamasis yra tai, kas vadinama pasaulio taikymo sritį, tai reiškia, kad jis gali būti naudojamas bet kurioje programoje. Kai jūs inicijuoti tas kintamo dydžio, jis gali būti naudojamas bet kokia funkcija, ar tai būtų pagrindinė funkcija arba funkcijos 10 funkcijų žemyn, vadinama foo10. Nesvarbu, kur jūs naudojate jį. Bet vietos kintamąjį turi konkrečią taikymo sritį. Ir apimtis nustatoma pagal tos vietos kintamąjį kur jis yra inicializuoti. Dabar, taikymo sritis paprastai nustatomas remiantis atidarymo petnešomis funkcija, kintamasis paskelbtas, kol uždarymo petnešomis šią funkciją. Tarkime, esate pagrindinės funkcijos. Ir jūs sukurti kintamąjį. Bet dabar, per šios pagrindinės funkcijos, mes vadiname kitą veikti FOO. Funkciniam foo, mes negali skambinti kintamasis mes tiesiog sukurta pagrindinė funkcija, nes jis nėra komplekte. Kad kintamasis yra tik pagrindinės funkcijos, taikymo sritį. Taigi, mes galime jį naudoti toliau, per pagrindinę funkciją, bet ne per funkcija, kuri yra vadinama pagrindinė funkcija. Taigi, kaip kamino ir krūvos visuotiniai kintamieji yra saugomi tam tikroje atminties. Dabar, tai atminties dalis priklauso nuo sistemos, kad jūs naudojate. Visuotiniai kintamieji, turi du atskirus taškus, kad jie saugomi, inicijuoti globalių kintamųjų, pavyzdžiui, jei jums pareiškė, int testą = 5, prie jūsų programos viršuje. , O kitas plotas yra prie unitialized globalių kintamųjų, jei ką tik sakė, int testas, jūsų programos viršuje ir ketina nustatyti bandymo kintamuosius vėliau programoje. Taigi, dabar aš ruošiuosi kalbėti apie vadinamąjį # define , kuri yra būdas suteikti simbolinę vardas konstanta. Ir čia mes turime pavyzdį C programą, kuri apskaičiuoja apskritimo plotas. Ir programos viršuje, mes padarysime kažką, kad sako # Define pi 3,14159. # Define nėra techniškai sukurti pasaulinį kintamąjį. Atvirkščiai, jis pasakys, kompiliatorių, procesorių rasti ir pakeisti visus pi atvejus 3,14159 prieš sudarant Nepaisant to, jis tampa naudinga technika, pagal kurią konstantos, naudoti visoje programoje. Dabar žiūri vietovės funkcija, ji imasi plūdės rad ir tiesiog grąžina apskritimo plotas su spindulys arba pi r kvadratu, arba pi kartų rad kartų rad. Ir tai, kur # define vaidina svarbų vaidmenį. Nes kompiliatorių bus iš esmės pakeisti, kad pi skaičius simbolis su 3,14159. Ir todėl mes negalime parašyti, kad vėl ir vėl. , O vėliau, jei mes nuspręsime naudoti daugiau skaitmenys pi, galime pasakyti 3.1415926 tiesiog galėtume pridurti, kad į viršų programa ir neturės jį pakeisti, vėliau programoje. Tai gerai panaudoti # define. Mes nenorime laikyti Pi kaip pasaulinį kintamąjį, nes vėliau galėtų pakeisti programoje. Ir mes žinome, Pi nekeičia. Tai pastovus. Taigi, šis apsiaustas iki mūsų tema globalių kintamųjų. Taigi, šiandien mes kalbėjome apie skirtumo tarp vietos ir visuotiniai kintamieji, kada juos naudoti, atsižvelgiant į jų taikymo sritį, ir kodėl gi ne naudoti globalių kintamųjų bus dėl cluttering pavadinimą erdvės. Aš esu Joe McCormick. Ir tai yra CS50.