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


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

Strukturalar va funksiyalar
Strukturalardan funksiya argumentlari sifatida yoki funksiya qabul qiladigan qiymat sifatida foydalanish mumkin. Bundan tashqari ikkala holda ham strukturaga ko‘rsatkichlardan foydalanish mumkin. Misol uchun ikki kompleks son yig‘indisini hisoblash funksiyasi:
Complex summ(complex x, complex y)
{
complex a;
a.real=x.real+y.real;
a.imag=x.imag+y.imag;
return a;
}
Bu funksiyani ko‘rsatkichlar yordamida quyidagicha yozish mumkin:
Complex* summ(complex* x, complex* y)
{
complex* a; a=(complex*)malloc(sizeof(complex));
a->real=(*x).real+(*y).real;
a->imag=(*x).imag+(*y).imag;
return a;
}
Ushbu funksiya Complex tipidagi dinamik obyekt yaratib, manzilini qabul qiladi. Dasturda bu obyekt uchun ajratilgan joyni ozod qilish maqsadga muvofiq hisoblanadi. Bu funksiyaga quyidagicha murojaat qilish mumkin:
Complex x={0.1,-0.3}, x={0.2,-0.5};
Complex* n; n=add(&x,&y);
Birlashmalar
Birlashmalar - bu har xil tipdagi bir nechta o‘zgaruvchiga xotiraning bitta qismini joylashtirish imkonini beradigan obyektdir. Birlashmalarni e’lon qilish umumiy holda quyidagi ko`rinishda yoziladi:
union birlashma_nomi
{
toifa_nomi 1-o‘zgaruvchi;
toifa_nomi 2-o‘zgaruvchi;
...
toifa_nomi 2-o‘zgaruvchi;
}
Bu yerda birlashma_nomi – to‘g‘ridan-to‘g‘ri yangi yaratilgan turning nomi. 1-o‘zgaruvchi, 2-o‘zgaruvchi, n-o‘zgaruvchi – birlashma tarkibidagi o‘zgaruvchilar. Ushbu o‘zgaruvchilar har xil toifada bo‘lishi mumkin. toifa_nomi – birlashma tarkibidagi o‘zgaruvchilarning toifasi.
Masalan, tarkibida butun va belgili o`zgaruvchi bo`lgan birlashma quyidagi ko`rinishda yoziladi:
union birlashma_tur {
int a;
char b;
};
Strukturalarda bo‘lgani kabi, siz o‘zgaruvchining nomi ta’rifning oxirida yoki alohida e’lon qilishinishi mumkin. birlashma_tur ning x o‘zgaruvchisini e’lon qilish uchun quyidagi dastur kodi yoziladi:
union birlashma_tur x;
Bunda x birlashmada butun a o‘zgaruvchi va belgili b o‘zgaruvchi xotiraning bitta qismidan joy egallaydi (bunda a o‘zgaruvchi 2 yoki 4 bayt, b o‘zgaruvchi esa 1 bayt) Quyidagi rasmda a va b o‘zgaruvchilarni xotiraning bitta qismiga qanday joylashishi tasvirlangan. birlashma_tur -da saqlangan ma’lumotlarga butun son yoki belgi sifatida murojaat qilishingiz mumkin.

21-rasm.

Download 1.27 Mb.

Do'stlaringiz bilan baham:
1   ...   35   36   37   38   39   40   41   42   ...   45




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