C ko‘rinish sohasi (scope)


ULASHISH

Ko‘rinish sohasi (scope)

Endi funksiyalar qanday ishlashini tushundingiz, navbatdagi muhim mavzu — o‘zgaruvchilar funksiyalar ichida va tashqarisida o‘zini qanday tutishini o‘rganish.

C tilida o‘zgaruvchilarga faqat ular yaratilgan soha ichida murojaat qilish mumkin. Bu ko‘rinish sohasi (scope) deb ataladi.


Lokal ko‘rinish sohasi

Funksiya ichida yaratilgan o‘zgaruvchi shu funksiyaning lokal ko‘rinish sohasiga tegishli bo‘ladi va undan faqat shu funksiya ichida foydalanish mumkin:

Misol

void myFunction() {   // Local variable that belongs to myFunction   int x = 5;   // Print the variable x   printf("%d", x); } int main() {   myFunction();   return 0; }
O‘zingiz sinab ko‘ring »

Lokal o‘zgaruvchidan u tegishli bo‘lgan funksiyadan tashqarida foydalanib bo‘lmaydi.

Agar unga funksiyadan tashqarida murojaat qilmoqchi bo‘lsangiz, xato yuz beradi:

Misol

void myFunction() {   // Local variable that belongs to myFunction   int x = 5; } int main() {   myFunction();   // Print the variable x in the main function   printf("%d", x);   return 0; }
O‘zingiz sinab ko‘ring »

Global ko‘rinish sohasi

Funksiyadan tashqarida yaratilgan o‘zgaruvchi global o‘zgaruvchi deb ataladi va global ko‘rinish sohasiga tegishli bo‘ladi.

Global o‘zgaruvchilardan istalgan ko‘rinish sohasida — ham global, ham lokal sohada foydalanish mumkin:

Misol

Funksiyadan tashqarida yaratilgan o‘zgaruvchi global bo‘ladi, shuning uchun undan istalgan joyda foydalanish mumkin:

// Global variable x int x = 5; void myFunction() {   // We can use x here   printf("%d", x); } int main() {   myFunction();   // We can also use x here   printf("%d", x);   return 0; }
O‘zingiz sinab ko‘ring »

O‘zgaruvchilarni nomlash

Agar funksiya ichida va tashqarisida bir xil nomli o‘zgaruvchidan foydalansangiz, C ularni ikki alohida o‘zgaruvchi sifatida qabul qiladi: biri global ko‘rinish sohasida (funksiyadan tashqarida), ikkinchisi esa lokal ko‘rinish sohasida (funksiya ichida) mavjud bo‘ladi:

Misol

Funksiya lokal x qiymatini, so‘ngra kod global x qiymatini chiqaradi:

// Global variable x int x = 5; void myFunction() {   // Local variable with the same name as the global variable (x)   int x = 22;   printf("%d\n", x); // Refers to the local variable x } int main() {   myFunction();   printf("%d\n", x); // Refers to the global variable x   return 0; }
O‘zingiz sinab ko‘ring »

Biroq global va lokal o‘zgaruvchilar uchun bir xil nomdan foydalanishdan qochish kerak, chunki bu xatolar va chalkashliklarga olib kelishi mumkin.

Umuman olganda, global o‘zgaruvchilar bilan ehtiyot bo‘lish kerak, chunki ularga istalgan funksiyadan murojaat qilish va ularni o‘zgartirish mumkin:

Misol

myFunction ichidan x qiymatini o‘zgartiring:

// Global variable int x = 5; void myFunction() {   printf("%d\n", ++x); // Increment the value of x by 1 and print it } int main() {   myFunction();   printf("%d\n", x); // Print the global variable x   return 0; } // The value of x is now 6 (no longer 5)
O‘zingiz sinab ko‘ring »


Xulosa

Xulosa qilib aytganda, imkon qadar lokal o‘zgaruvchilardan (yaxshi nomlar bilan) foydalaning. Bu kodingizni qo‘llab-quvvatlashni osonlashtiradi va uni tushunarliroq qiladi. Biroq mavjud C dasturlari ustida ishlaganda yoki boshqalar bilan hamkorlik qilganda global o‘zgaruvchilarga duch kelishingiz mumkin. Shuning uchun kodingiz aniq va to‘g‘ri ishlashi uchun ko‘rinish sohasi qanday ishlashini va undan qanday samarali foydalanishni tushunib olgan ma’qul.




W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!