Мавзу: Локал ва глобал ўзгарувчилар. Функсиялардан фойдаланиш. Олдиндан аниқланган функсиялар. Фойдаланувчи томонидан аниқланадиган функсиялар



Download 30,56 Kb.
bet1/5
Sana11.03.2022
Hajmi30,56 Kb.
#490929
TuriПрограмма
  1   2   3   4   5
Bog'liq
1-Мавзу


Мавзу: Локал ва глобал ўзгарувчилар. Функсиялардан фойдаланиш. Олдиндан аниқланган функсиялар. Фойдаланувчи томонидан аниқланадиган функсиялар
Локал ва глобал ўзгарувчилар
Ўзгарувчилар функциятанаси ичида ёки ундан бошқаларида эълон қилиниши мумкин. Функция ичида эълон қилинган ўзгарувчиларга локал ўзгарувчилар дейилади. Бундай ўзгарувчилар программа стекида жойлашади ва фақат ўзи эълон қилинган функция танасида амал қилади. Бошқарув асосий функцияга қайтиши билан локал ўзгарувчилар учун ажратилган хотира бўшатилади.
Ҳар бир ўзгарувчи амал қилиш соҳаси ва яшаш вақти хусусияти билан характерланади.
Ўзгарувчи амал қилиш соҳаси деганда ўзгарувчини ишлатиш мумкин бўлган программа соҳаси (қноми) тушунилади. Бу тушунча билан ўзгарувчининг кўриниш сохаси узвий боғланган. Ўзгарувчи амал қилиш соҳасидан чиққанда кўринмай қолади. Иккинчи томондан, ўзгарувчи амал қилиш сохасида бўлиши, лекин кўринмас бўлиши мумкин. Охирги ҳолда кўришга рухсат берувчи амаллар ёрдамида кўринмас ўзгарувчига мурожат қилиш мумкин бўлади.
Ўзгарувчининг яшаш вақти деб у мавжуд бўлган программа бажариш интервалига айтилади.
Локал ўзгарувчилар ўзлари эълон қилган функция ёки блок чегарасида кўриниш соҳасига эга. Блок ичидаги ички блокларда худди шу номдаги ўзгарувчи эълон қилинган бўлса, ички блокларда локал ўзгарувчи амал қилмай қолади. Локал ўзгарувчи яшаш вақти блок ёки функцияни бажариш вақти билан аниқланади. Бу ҳол шуни англатадики, турли функцияларда бир хил номдаги, лекин бир-бирига умуман боғлиқ бўлмаган локал ўзгорувчиларни ишлатиш мумкин.
Қуйидаги программада main( ) ва sum( ) функцияларда бир хил номдаги ўзгарувчиларни ишлатиш кўрсатилган. Программада иккита соннинг йиғиндиси ҳисобланади ва чоп этилади:
# include
// функция прототипи
// int sum(int a; int b);
int main( )
{
// локал ўзгарувчилар
int x = r;
int y=4;
cout <return 0;
}
int Sum(int a, int b)
{
// локал ўзгарувчи
int x=a+b;
return x;
}
Глобал ўзгарувчилар ҳар қандай функциялардан ташқарида эълон қилинади ва программа бажарилишининг охиригача амал қилади. Бундай ўзгарувчиларга программадан иҳтиёрий функциялардан мурожат қилиш мумкин. Функция ичидан глобал ўзгарувига мурожат қилиш учун функцияда унинг номи билан мос тушадиган локал ўзгарувчилар бўлмаслиги керак. Агар глобал ўзгарувчи эълонида унга бошланғич қиймат берилмаган бўлса, уларнинг қиймати 0 ҳисобланади. Глобал ўзгарувчининг амал қилиш соҳаси унинг кўриниш соҳаси билан устма-уст тушади.
Шуни қайд қилиш керакки, программа тузувчилар имкон қадар глобал ўзгарувчиларни ишлатмасликка ҳаракат қилади, чунки бундай ўзгарувчилар қийматини программанинг ихтиёрий жойидан ўзгартириш имконияти мавжуд ва бу ҳолат программанинг ишлашида мазмуний хатоларга олиб келиши мумкин. Бу фикримизни тасдиқловчи программани кўрайлик.
# include
// глобал ўзгарувчи эълони
int test = 100;
void Chop_qilish(void );
int main( )
{
//локал ўзгарувчи эълони
int test =10;
//глобал ўзгарувчи чоп қилиш функциясини чақириш
Chop_qilish( );
сout << “Локал ўзгарувчи: ” << test<< ‘\n’;
return 0;
}
void Chop_qilish(void)
{
cout << “Глобал ўзгарувчи: ”<}
Бошда test глобал ўзгарувчи 100 қиймати билан эълон қилинади. Кейинчалик, main( ) функциясида test номи билан локал ўзгарувчиси 10 қиймати билан эълон қилинади. Программада, Chop_qilish( ) функциясига мурожаат қилинганида, асосий функция танасидан вақтинча чиқилади ва ерда эълон қилинган барча локал ўзгарувчиларга мурожаат қилиш мумкин бўлмайди ва Chop_qilish( ) функциясида глобал ўзгарувчи test қиймати чоп этилади. Асосий программага қайтгандан кейин, локал test ўзгарувчиси глобал test ўзгарувчисини “беркитади” ва “cout <<” қурилмаси билан локал test ўзгарувчини қиймати чоп этилади. Программа ишлаши натижасида экранга қуйидаги натижалар чоп этилади:
Глобал ўзгарувчи: 100
Локал ўзгарувчи: 10

Download 30,56 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish