Junior — Middle
Dasturda global o'zgaruvchilarining xususiyatlariga static kalit so'zining ta'siri qanday?
sobes.tech AI
AIdan javob
C/C++ da global o'zgaruvchini e'lon qilishda static kalit so'zi bu o'zgaruvchining ko'rinish doirasini hozirgi fayl (tarjimalar birligi) bilan cheklaydi. Bu shuni anglatadiki, bunday o'zgaruvchi boshqa fayllardan ko'rinmaydi va unga kirish mumkin emas, hatto ular bu faylni extern orqali ulashsa ham.
Shunday qilib, static global o'zgaruvchini fayl ichida qiladi, nomlar to'qnashuvlarini oldini oladi va fayl darajasida inkapsulyatsiya ta'minlaydi.
Misol:
// file1.c
static int counter = 0; // faqat file1.c da ko'rinadi
void increment() {
counter++;
}
// file2.c
extern int counter; // Xato: static sababli counter ko'rinmaydi