Aniq fanlar


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

(*pa).color=red;
pa->x=125;
pa->y=300;

Dasturda nuqtaviy jismni tasvirlovchi particle strukturali tipga tegishli m_point strukturasi aniqlangan bo’lsin. Shu strukturaga pinta ko’rsatkichini kiritamiz:


Struct particle * pinta=&m_point;
Bu holda m_point struktura elementlarini qo’yidagicha o’zgartirish mumkin:
Pinta->mass=18.4;
For (I=0;I<3;I++)
Pinta->coord[I]=0.1*I;

Strukturalar va funktsiyalar.

Strukturalar funktsiyalar argumentlari sifatida yoki funktsiya qaytaruvchi qiymat kelishi mumkin. Bundan tashqari ikkala holda ham strukturaga ko’rsatkichlardan foydalanish mumkindir. Misol uchun kompleks son modulini hisoblash dasturini keltiramiz:


Double modul(complex a)
{return sqrt(a.real*a.real+a.imag*a.imag}
Ikki kompleks son yigindisini hisoblash funktsiyasi:
Complex add(complex a, complex b)
37
{ complex c;
c.real=a.real+b.real;
c.imag=a.imag+b.imag;
return c;
}
Bu funktsiyani ko’rsatkichlar yordamida qo’yidagicha yozish mumkin
Complex* add(complex* a, complex* b)
{ complex* c; c=(complex*)malloc(sizeof(complex));
c->real=(*a).real+(*b).real;
c->imag=(*a).imag+(*b).imag;
return c;
}
Bu funktsiya complex tipidagi dinamik ob'ekt yaratib adresini qaytaradi. Dasturda bu ob'ekt uchun ajratilgan joyni ozod qilish maqsadga muvofiq. Bu funktsiyaga dasturda qo’yidagicha murojaat qilish mumkin:
Complex a={0.1,-0.3},b={0.2,-0.5};
Complex* pa; pa=add(&a,&b);

38



BIRLASHMALAR
Birlashmalar xotiraning bitta sohasida (bitta adres bo‘yicha) har xil
turdagi bir nechta berilganlami saqlash imkonini beradi.
Birlashma e’loni union kalit so‘zi, undan keyin identifikator va blok
ichida har xil turdagi elementlar e’lonidan iborat bo‘ladi, masalan:
union Birlashma

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