D=d+i; i=d+i. O'zgaruvchilar va o'zgarmaslar



Yüklə 142,5 Kb.
səhifə4/12
tarix29.11.2023
ölçüsü142,5 Kb.
#169843
1   2   3   4   5   6   7   8   9   ...   12
C tilida bir o\'lchovli ikki o\'lchovli va dinamik massivlar

Belgili o'zgarmaslar. Belgili o'zgarmas – bu nomga ega bo'lgan o'zgarmasdir. C++ tilida belgili o'zgarmasni aniqlashning ikki usuli mavjud:
# define direktivasi yordamida o'zgarmasni aniqlash.
const kalitli so'zi orqali o'zgarmasni aniqlash.
An'anaviy usul hisoblangan #define direktivasi orqali o'zgarmasni aniqlashni quyidagi misolda ko'rishimiz mumkin.

#define StudentsPerClass 15


Bu holda StudentsPerClass o'zgarmas hech qanday tipga tegishli bo'lmaydi.


Preprosessor StudentsPerClass so'ziga duch kelganida uni 15 literaliga almashtiradi.
C++ tilida #define direktivasidan tashqari o'zgarmasni aniqlashning nisbatan qulayroq bo'lgan yangi usuli ham mavjud:

const unsigned short int StudentsPerClass=15


Bu misolda ham belgili konstanta StudentsPerClass nomi bilan aniqlanayapti va unga unsigned short int tipi berilyapti. Bu usul bir qancha imkoniyatlarga ega bo'lib u sizning dasturingizni keyingi himoyasini engillashtiradi. Bu o'zgarmasni oldingisidan eng muhim afzalligi uning tipga egaligidir.


Belgili o'zgarmaslarni literal o'zgarmaslarga nisbatan ishlatish qulayroqdir. Chunki agarda bir xil nomli literalli o'zgaruvchini qiymatini o'zgartirmoqchi bo'lsangiz butun dastur bo'yicha uni o'zgartirishga to'g'ri keladi, belgili o'zgarmaslarni esa faqatgina birining qiymatini o'zgartirish etarli.
To'plam o'zgarmaslari. Bunday o'zgarmaslarni hosil qilish uchun yangi berilgan ma'lumotlar tiplari tuziladi va undan so'ng bu tipga tegishli o'zgarmasli qiymatlar to'plami bilan chegaralangan o'zgaruvchilar aniqlanadi. Masalan, RANG nomli sanoqli tip deb e'lon qilaylik va uning uchun 5 ta QIZIL, KUK, YASHIL, OQ, QORA qiymatlarini aniqlaylik.
Sanoqli tiplarni hosil qilish uchun enum kalitli so'zi va undan keyin tip nomi hamda figurali qavs ichida vergullar bilan ajratilgan o'zgarmas qiymatlari ro'yxati ishlatiladi.
Masalan,
enum RANG { QIZIL, KUK, YASHIL, OQ, QORA };

Bunda ifoda ikkita ishni bajaradi:


RANG nomli yangi sanoqli tip hosil qiladi;
Quyidagi belgili o'zgarmaslarni aniqlaydi.
0 qiymat bilan QIZIL;
1 qiymat bilan KUK;
2 qiymat bilan YASHIL va hokazo;
Har bir sanoqli o'zgarmas biror bir aniqlangan butun qiymatga mos keladi.
Boshlang'ich holatda o'zgarmaslarga 0 dan boshlab qiymat beriladi. Lekin, ixtiyoriy o'zgarmasga boshqa qiymatni o'zlashtirish ham mumkin. Bunda ularga qiymat berish o'sish tartibida bo'lishi lozim.
Masalan,
enum RANG { QIZIL=100, KUK=200, YASHIL=300, OQ, QORA=500 };
ko'rinishda sanoqli tipni aniqlasak QIZIL o'zgarmasi 100 ga, KUK – 200 ga, Yashil – 300 ga, OQ –301 ga, QORA – 500 ga teng bo'ladi.



Yüklə 142,5 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   ...   12




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin