Aniq fanlar


byte c=65; byte Byte=0xFF


Download 0.61 Mb.
bet18/20
Sana02.12.2023
Hajmi0.61 Mb.
#1780558
1   ...   12   13   14   15   16   17   18   19   20
Bog'liq
O

byte c=65;
byte Byte=0xFF;
{
Massiv ko‘rinishidagi foydalanuvchi tomonidan aniqlanuvchi tur
e’loni quyidagicha bo‘ladi:

typedef char Ism[30];


Ism ism;
Ism turidagi ism o‘zgaruvchisi e’loni - bu 30 belgidan iborat massiv
(satr) e’lonidir.
Odatda echilayotgan masalaning predmet sohasi terminlarida ishlash
uchun strukturalar qayta nomlanadi. Natijada murakkab tuzilishga ega
bo‘lgan va zarur xususiyatlarni o‘ziga jamlagan yangi turlami yaratishga
muvofiq bo‘linadi.
Masalan, kompleks son haqidagi ma’lumotlami o‘z ichiga oluvchi
Complex turi quyidagicha aniqlanadi:
typedef struct
44
{
double re; double im;
} Complex;
Endi kompleks son e’lonini
Complex KSon;
yozish mumkin va uning maydonlariga murojaat qilish mumkin:
KSon.re=5.64;
KSon.im=2.3;

Strukturalarga yaqin tushuncha bu birlashma tushunchasidir. Birlashmalar union hizmatchi so’zi yordamida kiritiladi. Misol uchun union {long h; int I,j; char c[4]}UNI;


Birlashmalarning asosiy hususiyat shundaki uning hamma elementlari bir hil boshlangich adresga ega bo’ladi.
Qo’yidagi dastur yordamida bu hususiyatni tekshirish mumkin:

#include
void main()
{ union {long h; int k; char c[3]}U={10l;-3;”ALI”);
Cout<<(“\n l=%d”;&u.l);
Cout<<(“\n k=%d”;&u.k);
Cout<<(“\n c=%d”;&u.c);
};
Birlashmalarning asosiy avfzalliklaridan biri hotira biror qismi qiymatini har hil tipdagi qiymat shaklida qarash mumkindir. Misol uchun qo’yidagicha birlashma union {float f; unsigned long k; char h[4];}fl;
Hotiraga fl.f=2.718 haqiqiy son yuborsak uning ichki ko’rinishi kodini fl.l
45
yordamida ko’rishimiz, yoki alohida baytlardagi qiymatlarni fl.h[0]; fl.h[1] va
hokazo yordamida qo’rishimiz mumkin.
Birlashmalar imkoniyatlarini ko’rsatish uchun bioskey() funktsiyasidan foydalanishni ko’rib chiqamiz. Bu funktsiya bios.h sarlavhali faylda joylashgan bo’lib, qo’yidagi prototipga ega:
int bioskey(int);
MS DOS operatsion tizimida ihtiyoriy klavishaning bosilishi klaviatura buferiga ieei bayt ma'lumot yozilishiga olib keladi.
Agar funktsiyaga bioskey(0) shaklda murojat qilinsa va bufer bo’sh bo’lsa biror klavishaga bosilishi kutiladi, agar bufer bo’sh bo’lmasa funktsiya buferdan ikki baytli kodli o’qib butun son sifatida qaytaradi. Funktsiyaga bioskey(0) shaklda murojat qilinsa va bufer bo’sh bo’lsa biror klavisha bosilishi kutiladi, agar bufer bo’sh bo’lmasa funktsiya buferdagi navbatdagi kodni qaytaradi. Funktsiyaga bioskey(1) shaklda murojat qilish bufer bush yoki bo’shmasligini aniqlashga imkon beradi. Agar bufer bo’sh bo’lmasa funktsiya buferdagi navbatdagi kodni qaytaradi, lekin bu kod buferdan o’chirilmaydi.
Qo’yidagi dastur buferga kelib tushuvchi kodlarni ukib monitorga chikarishga imkon beradi:

Download 0.61 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   20




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