Andijon davlat universiteti axborot texnalogiyalari va kompyuter injiniring fakulteti axborot texnologiyalari kafedrasi




Download 116 Kb.
bet4/8
Sana16.11.2022
Hajmi116 Kb.
#30595
1   2   3   4   5   6   7   8
Bog'liq
Курс иши
2021 3.53.03.03-Kon ishchisi, tugara ichi, img006, web hilola, 1 Algoritm murakkabligini statik va dinamik o‘lchovlari Vaqt va, 1 Гектар Иссикхона учун, BUYUK BRITANIYA QIROLICHA VIKTORYA DAVRIDA
3. Strukturalar va funksiyalar.
Strukturalar funksiyalar argumentlari sifatida yoki funksiya 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 yig‘indisini hisoblash funksiyasi:
complex add(complex a, complex b)
{ complex c;
c.real=a.real+b.real;
c.imag=a.imag+b.imag;
return c; }
Strukturalar uchun xotiradan joy ajratish. Struktura uchun ajratilgan joy xajmini quyidagi amallar yordamida aniqlash mumkin:
Sizeof (strukturali_tip_nomi);
Sizeof (struktura_nomi); Sizeof struktura_nomi.
Oxirgi holda struktura nomi ifoda deb karaladi. Ifodaning tipi aniqlanib, xajmi hisoblanadi.
Misol uchun:
Sizeof (struct goods)
Sizeof (tea)
Sizeof coat
Murakkab tiplar ya’ni massivlar va strukturali tiplar uchun xotiraga talab ularning ta’rifiga bog‘liqdir. Masalan double array[10] ta’rif xotiradan 10*sizeof bayt joy ajratilishiga olib keladi.

Struct mixture
{ int ii; long ll; char cc[8];
};

Bu ta’rif har bir Struct mixture tipidagi ob’ekt xotirada sizeof(int)+sizeof(long)+8*sizeof(char) bayt joy egallashini ko‘rsatadi. Ob’’ekt aniq xajmini quyidagi amal hisoblaydi:
Sizeof(struct mixture)
Xotirani tekislash. Strukturali tip kiritilishi bu tip uchun xotiradan joy ajratilishiga olib kelmaydi. Har bir konkret struktura (ob’ekt) ta’riflanganda, shu ob’ekt uchun elementlar tiplariga qarab xotiradan joy ajratiladi. Xotiradan joy zich ajratilganda struktura uchun ajratilgan joy xajmi har bir element uchun zarur bo‘lgan xotira xajmlari yigindisiga teng bo‘ladi. SHu bilan birga xotiradan joy zich ajratilmasligi ham mumkin ya’ni elementlar orasida bo‘sh joylar ham kolishi mumkin. Bu bo‘sh joy keyingi elementni xotira qismlarining qabul qilingan chegaralari bo‘yicha tekislash uchun koldiriladi.
Strukturalarga yakin tushuncha bu birlashma tushunchasidir. Birlashmalar union xizmatchi suzi yordamida kiritiladi. Misol uchun
union { long h;
int i,j;
char c[4]
}UNI;
Birlashmalarning asosiy xususiyat shundaki uning hamma elementlari bir xil boshlang‘ich adresga ega bo‘ladi.
Birlashmalarning asosiy avfzalliklaridan biri xotira biror qismi qiymatini har xil tipdagi qiymat shaklida karash mumkindir. Misol uchun quyidagicha birlashma
union {
float f; unsigned long k; char h[4]; }fl;
Xotiraga fl.f=2.718 xaqiqiy son yuborsak uning ichki ko‘rinishi kodini fl.l yordamida ko‘rishimiz, yoki aloxida baytlardagi qiymatlarni fl.h[0]; fl.h[1] va xokazo yordamida kurishimiz mumkin.

Download 116 Kb.
1   2   3   4   5   6   7   8




Download 116 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Andijon davlat universiteti axborot texnalogiyalari va kompyuter injiniring fakulteti axborot texnologiyalari kafedrasi

Download 116 Kb.