58 - DARS. STRUKTURALI TIPLAR VA STRUKTURALAR.
Strukturali tip.
Struktura bu turli tipdagi ma'lumotlarning birlashtirilgan tipdir. Struktura har hil tipdagi elementlar-komponentalardan iborat buladi. Strukturalar qo’yidagicha ta'riflanishi mumkin:
Struct struturali_tip_nomi
{Elementlar_ta'riflari}
Misol uchun ombordagi mollarni tasvirlovchi strukturani quramiz. Bu struktura qo’yidagi komponentalarga ega bo’lishi mumkin:
- Mol nomi (char*)
- Sotib olish narhi (long)
- Ustiga quyilgan narh, foizda (float)
- Mol soni (int)
- Mol kelib tushgan sana (char[9])
Bu struktura dasturda qo’yidagicha ta'riflanadi:
struct goods {
char* name;
long price;
float percent;
int vol;
char date[9];
} year;
Konkret strukturalar va strukturaga ko’rsatkichlar bu tip yordamida qo’yidagicha ta'riflanishi mumkin:
Struct goods food, percon; struct goods *point_to;
Strukturalarni tasvirlashda ihtiyoriy murakkab tip uchun nom berishga imkon beruvchi typedef hizmatchi so’zidan foydalanish mumkin. Bu holda strukturali tip qo’yidagi shaklda ta'riflanadi:
Typedef struct
{Elementlar_ta'riflari}
strukturali_tip_nomi
Misol uchun:
Typedef struct
{ double real;
double imag;
}
complex;
Bu misolda kompleks sonni tasvirlovchi strukturali tip complex kiritilgan bo’lib, kompleks son haqiqiy qismini tasvirlovchi real va mavhum qismini tasvirlovchi komponentalaridan iboratdir. Konkret strukturalar bu holda qo’yidagicha tasvirlanadi:
Complex sigma,alfa;
Strukturali tip typedef yordamida aniqlangan nomdan tashqari, standart usulda aniqlangan nomga ega bo’lishi mumkin. Qo’yidagi misolda kasr sonni tasvirlovchi numerator –sur'at va denominator-mahraj komponentalaridan iborat struktura ta'rifi keltirilgan.
Typedef struct rational_fraction
{ int numerator;
int denominator;
} fraction;
Bu misolda fraction kasrning Typedef orqali kiritilgan nomi, rational_fraction standart usulda kiritilgan nom. Bu holda konkret strukturalar qo’yidagicha tasvirlanishi mumkin:
Struct rational_fraction alfa; fraction beta;
Dostları ilə paylaş: |