R. A. Ro‘ziyev, U. M. Mirsanov, F. J. Toxirov, L. S. Isroilova, H. N. Arziqulov


Toifa nomini o‘zgartirish (typedef)


Download 1.27 Mb.
bet41/45
Sana14.10.2023
Hajmi1.27 Mb.
#1703549
1   ...   37   38   39   40   41   42   43   44   45
Bog'liq
C qo`llanma 29.06

Toifa nomini o‘zgartirish (typedef)
C++ tilida dasturni tushunarli qilish uchun typedef kalit so‘zidan foydalanib, turga yangi nom berish mumkin:
typedef toifa_nomi yangi_nom [ o‘lcham ];
Kvadrat qavslar ichidagi o‘lchamni yozish majburiy emas.
Masalan:
typedef short int shint;
typedef char xyz[100];
typedef struct{
char fio[30];
int a, b;
double qiymat;} talaba;
Bu ko‘rinishda hosil qilingan toifa nomlari standart toifalarning nomlari bilan bir xil tarzda ishlatilishi mumkin:
shint i, j ; // short int toifasidagi ikkita o‘zgaruvchi;
xyz str[5]; // 5 ta satrda 100 ta elementli massiv;
talaba guruh[25]; // 25 ta strukturali massiv.
Uzun tavsifli toifalarga qisqartirilgan yangi nomlarni berishdan tashqari, typedef dasturlarning ko‘chirilishini osonlashtirish uchun ham ishlatiladi. Agar mashinaga bog‘liq turlar typedef operatorlari yordamida e’lon qilinsa, dasturni ko‘chirishda faqat ushbu operatorlarga o‘zgartirish kiritish talab etiladi.
Sanovchi o‘zgarmaslar (enum)
C++ tilida dasturlash jarayonida ko‘pincha, har xil ma’noga ega bo‘lishi talab etiladigan bir nechta nomlangan o‘zgarmaslardan foydalanishga to‘g‘ri keladi. Buning uchun barcha mumkin bo‘lgan qiymatlari butun sonli o‘zgarmaslar ro‘yxati bilan ko‘rsatilgan ma’lumotlar turidan foydalanish qulay hisoblanadi.
Sanovchi o‘zgarmaslar umumiy holda quyidagi ko`rinishda yoziladi:
enum [ toifa_nomi ] { o‘zgarmaslar_ro‘yxati };
Agar dasturda ushbu turdagi o‘zgaruvchilardan foydalanish talab etilsa, toifa nomi o‘rnatiladi. Bunda kompilyator o‘zgaruvchilar faqat o‘zgarmaslar ro‘yxatidan qiymatlarni qabul qilishini ta’minlaydi. O‘zgarmaslar butun son bo‘lishi kerak va ularga odatiy usulda boshlang‘ich qiymat beriladi. Agar boshlang‘ich qiymat berilmasa, birinchi o‘zgarmasga nolga qiymat va har bir keyingi o‘zgarmasga oldingisidan bir birlik katta qiymat beriladi:
enum raqam {nol, bir, ikki, uch};
Bunda nol, bir, ikki, uch o‘zgarmaslarga mos ravishda 0, 1, 2, 3 qiymatlari tenglashtiriladi.
enum {ikki = 2, uch, to‘rt, o‘n = 10, o‘n_bir, ellik = o‘n + 40};
Bunda uch va to‘rt o‘zgarmasga 3 va 4 qiymat, o‘n_birga esa 11 qiymat tenglashtiriladi.
Sanovchi o‘zgarmaslarning nomlari unikal bo‘lishi kerak va qiymatlari bir xil bo‘lishi mumkin.
Ro‘yxatga olish uchun qiymatlar diapazoni, uning barcha qiymatlarini ko‘rsatish uchun zarur bo‘lgan bitlar soni bilan belgilanadi. Butun sonning har qanday qiymati sanab chiqish turiga berilishi mumkin, ammo agar qiymat, uning qiymatlar doirasidan tashqarida bo‘lsa, natija aniqlanmaydi.

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   37   38   39   40   41   42   43   44   45




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling