[Powered by Google Translate] ДАВИД ДИЦИУРЦИО: Значи важно да се схвати концепт у програмирање је појам обима. Обим се може дефинисати као контекста у коме је променљива видљива или колицима. На пример, рецимо да имамо функцију, главни, то јест требало да повећате променљиву, к, од један до два. Као што можемо видети, главни иницијализује к једном, штампа из неког текста, а затим покреће функцију прираштај, пре штампање још текста. Ако ова функција је да се правилно бежи, то би штампати као 2 к. Хајде да пробамо. Дакле, као што можете да видите, главна не радимо оно што очекује. Она враћа вредност 1, а од 2 смо очекивали. Разлог за овај буг може објаснити обиму. У функцији маин, ми смо иницијализује Кс само у функцији. Другим речима, променљива к је локално проглашена у оквиру функција, главни, и није доступан ван функције. Само главни могу да приступе Кс у овој ситуацији. Када зовемо осцилацију не прође к као улаз, али само копија к. Као резултат тога, функција прираст само додаје вредност од 1 до копију вредности к. Али не да се к. Када смо се вратили на главни, к сама није променило. Тако штампање Кс ће само дати вредност 1. Па, онда то оставља питање: како би требало да поправи ова функција? Једно решење је да прираст врати вредност. На тај начин, ова функција ће прираст дајте нам вратити цео број. Дакле, овде је наш ревидирани код са алтернативни прираст функција. Ево, ми смо уместо вратио к + 1, а не само до краја са к бити једнак к + 1. Такође, приметити да смо заменио излаз прираст, претходно пониште, са инт, наводећи да прираст сада ће проћи поново целобројну вредност. Сада, после прираст трчања, она ће се вратити са вредношћу 2, баш као што смо намеравали. Друга ситуација која показује значај делокруга а је у сцопелооп.ц. У овом коду, имамо за петљу у којој променљива Укупно је активиран током сваког корака. Нажалост, овај закон не саставити. То је зато што је променљива укупна заправо не постоји ван за петљу. Променљиве декларисане у оквиру петље постоји само у оквиру петља сам и показао у нашем грешке порука, укупно неизјашњени. Променљива укупно тек треба да буде проглашена у оквиру функције главни. Осим тога, приликом сваког нашег итерације за петље, ми смо су реинитиализинг наше укупно на 0. Сама ова не води код са компајлирања, али је би спречили укупно више никада сабирањем у вредности прошлости 1. Опет, шта је најбољи начин да се ово поправити? Један од лакших начина обухвата израду укупно локалног до функција, главни, него саме петље. Ово ће укупно да заправо увећати, и на крају, дозвољава да се штампа након фор петљи. Друга техника која ћу само укратко би бити коришћење глобалних варијабли. Глобалне променљиве су променљиве које су декларисане пре главна да одрже своју вредност током целог програма. Наравно, функције може да промени вредност глобалне, али они не излазе из оквира као локалних променљивих. Међутим, коришћење глобалних варијабли има тенденцију да се намршти се као лош дизајн, јер постоје бољи начини размену података међу функцијама. На пример, користећи показиваче. Али више о томе други пут. Коначно, важно је да имају разумевање обима у контексту меморије рачунара или РАМ. Када смо извршавају програм, локалне променљиве и функције се додају на одређену локацију у РАМ се зове штос. Као повратка функције, штос оквири варијабли су ефикасно уклања са стека ослобађање више меморије. Дакле, када разматра обим, уверите се сећаш ове три Кључне тачке. Један, обим може бити локално или глобално. То зависи од тога где је променљива декларисана. Два, променљиве су објављени или иницијализован функција су локално на ту функцију и не може се мењати од стране других функције, барем не без коришћења тројке. Коначно, променљиве су локалне петље који су на изјавио изнутра. Променљиве нису доступни изван петље. То је све за сада обиму. Хвала за гледање.