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


-§. C++ dasturlash tilida strukturalar va birlashmalar


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

2.7-§. C++ dasturlash tilida strukturalar va birlashmalar


Strukturalar
Avvalgi mavzulardan ma’lumki, massiv bir xil turdagi bir nechta ma’lumotlarni saqlash uchun xizmat qiladi. Agar turli tipdagi ma’lumotlarni bir butun sifatida qayta ishlash zaruriyati tug‘ilsa, unda struktura ma’lumotlar turidan foydalaniladi. Bu turli xil ma’lumotlar tipidagi obyektlarni bitta nom ostida guruhlash imkonini beradi.
Struktura tipidagi o‘zgaruvchilarni e’lon qilish uchun avval strukturaning nomini va uning elementlarini ko‘rsatib, yangi ma’lumotlar turini o‘rnatish talab etiladi. Strukturaning elementlari maydonlar deb nomlanadi. Quyida kitob deb nomlangan strukturali tip na’munasi keltirilgan, uning nomi, muallifi, nashr_yili, sahifa_soni, narxi, nashriyot nomli maydonlari berilgan:
struct kitob
{
// struktura maydonlari
char nomi [40];
char muallif [ 8 ];
int nashr_yili, sahifa_soni, narxi;
char nashriyot;
}
Yaratilgan strukturali tipga asoslanib, kitob tipidagi o‘zgaruvchilarni tavsiflash mumkin. Masalan:
kitob dasturlash; // kitob tipidagi dasturlash o‘zgaruvchisi;
kitob A[10]; // elementlari kitob tipidagi massiv;
kitob *B; // kitob tipli ko‘rsatkich;
Struktura tipli o‘zgaruvchi maydonlari quyidagicha ko‘rib chiqiladi:
struktura_nomi . maydon
Masalan:
dasturlash . muallif; // dasturlash o‘zgaruvchisi muallif maydoniga murojaat;
A [3] . narxi; // A[3] elementning narxi maydoniga murojaat;
A [5] . nashriyot; // A[5] elementning nashriyot maydoniga murojaat.
Struktura ko‘rsatkichlari
Strukturaga ko‘rsatkichlar ham oddiy ko‘rsatkichlar kabi tasvirlanadi:
Complex *a,*b; struct misol *x;
Strukturaga ko‘rsatkich ta’riflanganda initsializatsiya qilinishi mumkin. Misol uchun ekrandagi rangli nuqtani tasvirlovchi quyidagi strukturali tip va strukturalar massivi kiritiladi. Strukturaga ko‘rsatkich qiymatlari initsializatsiya va qiymat berish orqali aniqlanadi:
struct nuqta
{int rang;
int x, y;
} i, j;
struct point *n=&i;
Ko‘rsatkich orqali struktura elementlariga ikki usulda murojaat qilish mumkin. Birinchi usul manzil bo‘yicha qiymat olish amaliga asoslangan bo‘lib, quyidagi shaklda qo‘llaniladi:
(* strukturaga ko‘rsatkich).element nomi;
Ikkinchi usul maxsus strelka (->) amaliga asoslangan bo‘lib, quyidagi ko‘rinishga ega:
strukturaga ko‘rsatkich->element nomi
Struktura elementlariga qo‘yidagi murojaatlar o‘zaro tengdir:
(*n).rang==i.rang==n->rang
Struktura elementlari qiymatlarini ko‘rsatkichlar yordamida quyidagicha o‘zgartirish mumkin:
(*n).rang=green;
n->x=100;
n->y=200;

Download 1.27 Mb.

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




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