Global va lokal o‘zgaruvchilar
C++ dasturlash tilida tuziladigan dasturlar tarkibida bir nechta o‘zgaruvchilardan foydalaniladi. C++ dasturlash tilida funksiyalar mavzusidan keyin o‘zgaruvchilar ikki turga ajratiladi, ya’ni global va lokal o‘zgaruvchilar.
Ta’rif: Dastur tarkibining ixtiyoriy joyida foydalanish mumkin bo‘lgan o‘zgaruvchilar global o‘zgaruvchilar deyiladi.
Global o‘zgaruvchilar dasturning ixtiyoriy qismida o‘z qiymatini saqlaydi, hattoki, main() funksiyasining ichidagi o‘zgaruvchilar ham global hisoblanmaydi, chunki main() funksiyasidan tashqarida main() funksiyasi ichidagi o‘zgaruvchilar o‘z qiymatini saqlamaydi. Global o‘zgaruvchilar main() funksiyasidan oldin e’lon qilinadi.
C++ dasturlash tilidagi funksiyalar tarkibidagi o‘zgaruvchilar global hisoblanmaydi. Global bo‘lmagan o‘zgaruvchilar faqatgini o‘z funksiya blok ichiga tegishli bo‘ladi.
Ta’rif: C++ dasturlash tilidagi funksiyalar tarkibidagi o‘zgaruvchilar lokal o‘zgaruvchilar deyiladi.
Dastur tarkibidagi funksiyalar tarkibidagi barcha o‘zgaruvchilar lokal hisoblanadi, funksiya tarkibidagi o‘zgaruvchilar faqatgina funksiyaning o‘z bloki ichida o‘rinli bo‘ladi. Global va lokal o‘zgaruvchilarni aniqlash uchun quyidagi keltirilgan sonning bo‘luvchilar yig’indisini hisoblovchi dastur orqali aniqlaymiz.
#include
int buluvchi(int x);
float m;
int x=16;
using namespace std;
int main()
{
cout<return 0;
}
int buluvchi(int n)
{ int p;
for(int i=1;i<=n;i++)
if(n%i==0) p++;
return p;
}
|
Dastur natijasi
5
|
Yuqoridagi dastur tarkibiga e’tibor qaratsak, main() funksiyasidan oldin e’lon qilingan m va k o‘zgaruvchilar global hisoblanadi, main() va bo’luvchi(n) funksiyalari tarkibidagi o‘zgaruvchilar lokal hisoblanadi. Global o‘zgaruvchilarni dasturning ixtiyoriy joyida foydalanish imkoniyati mavjud, lokal o‘zgaruvchilarni esa faqatgina o‘z funksiya bloki ichida foydalanish mumkin. Global va lokal o‘zgaruvchilar haqida aytilganda global va lokal o‘zgaruvchilarni yashash davri haqida tushuncha beriladi. Global o‘zgaruvchilarni yashash davri dastur ishga tushirilgandan toki tugaguncha hisoblanadi. Lokal o‘zgaruvchilarni yashash davri esa faqatgina o‘zgaruvchi keltirilgan funksiya ishga tushurilgan vaqti hisoblanadi. Agar dasturdagi global o‘zgaruvchilar funksiya tarkibida alohida boshlang’ich qiymati berilsa, uning global qiymati unutiladi va funksiya tarkibidagi qiymat hisobga olinadi. Global va lokal o‘zgaruvchilarni yashash davrini quyidagi masala orqali aniqlaymiz:
#include
int buluvchi(int x);
int a=20, b=10;
using namespace std;
int main()
{
cout<return 0;
}
int yig(int a, int b)
{ a=4; b=5;
return a+b;
}
|
Dastur natijasi
9
|
Dastur tarkibida a=20, b=10 global sifatida aniqlangan edi, lekin yig(a,b) funksiyasini tarkibida a=4, b=5 bo‘lganligi uchun a va b larning boshlang’ich qiymatlari unitiladi va natija 9 ga teng bo‘ladi. Global o‘zgaruvchilarning qiymatlarini saqlab qolish uchun a o‘zgaruvchini boshqacha qilib e’lon qilish kerak. Global o‘zgaruvchilar qiymatlarini saqlab qolish uchun quyidagi rejaga asosan aniqlanadi.
Do'stlaringiz bilan baham: |