C da statik va uchuvchini birgalikda ishlata olamizmi?
C da statik va uchuvchini birgalikda ishlata olamizmi?

Video: C da statik va uchuvchini birgalikda ishlata olamizmi?

Video: C da statik va uchuvchini birgalikda ishlata olamizmi?
Video: Shavkat Mirziyoyev: Yulduzing manga yoqmayapti #shavkatmirziyoyev #ruhlantiruvchi 2024, Dekabr
Anonim

Statik o'zgaruvchilar funktsiya chaqiruvlari orasida o'z qiymatini saqlab qoladilar. O'zgaruvchan o'zgaruvchilar (bu teskari emas statik ) bor ishlatilgan o'zgaruvchi bo'lganda ishlatilgan ISR (xizmatni uzish tartibi) ichida ham, undan tashqarida ham. O'zgaruvchan kompilyatorga CPU registerida keshlashdan ko'ra har doim operativ xotiradan o'zgaruvchilarni yuklashni aytadi.

Xuddi shunday savol tug'ilishi mumkin, biz statik va uchuvchidan birgalikda foydalana olamizmi?

Xatto.. bo'lganda ham siz kirish a statik bir nechta iplar orqali qiymat, har bir ip mumkin uning mahalliy keshlangan nusxasi bor! Buning oldini olish uchun Siz.. qila olasiz; siz … mumkin o'zgaruvchini deb e'lon qiling statik uchuvchan va bu bo'ladi global qiymati har safar yirtilgan ipni majbur. Biroq, uchuvchan to'g'ri sinxronizatsiya o'rnini bosa olmaydi!

Xuddi shunday, nima uchun biz C da volatile ishlatamiz? C o'zgaruvchan kalit so'z - o'zgaruvchi e'lon qilinganda unga qo'llaniladigan kvalifikatsiya. U kompilyatorga o'zgaruvchining qiymati istalgan vaqtda o'zgarishi mumkinligini aytadi - kompilyator yaqin joyda topadigan kod bilan hech qanday harakat qilmasdan. Buning oqibatlari juda jiddiy.

Buni hisobga olsak, C da statik uchuvchi nimani anglatadi?

statik o‘zgaruvchi doirasiga ishora qiladi. Agar o'zgaruvchi global bo'lsa, u e'lon qilingan manba fayli bilan chegaralanganligini bildiradi. Agar o'zgaruvchi ishlash uchun mahalliy bo'lsa, bu o'zgaruvchini saqlash uchun ishlatiladigan xotira ilovaning statik ravishda ajratilgan xotirasida ekanligini bildiradi.

C da volatile bilan const dan foydalana olamizmi?

Ha. Oʻzgaruvchi mumkin ikkalasi deb e'lon qilinadi uchuvchan va doimiy ichida C . Const modifikator o'zgaruvchining qiymatini ichki dastur orqali o'zgartirishga ruxsat bermaydi. Biroq, bu qiymatni anglatmaydi const o'zgaruvchi tashqi kod bilan o'zgartirilmasligi kerak.

Tavsiya: