Student ss=s;
Struktura elementlariga murojaat. Struktura elementlariga murojaat aniqlangan ismlar yordamida bajariladi:
.
Masalan:
employee.name – «Ashurov» satriga ko’rsatkich;
employee.rate – 10000 qiymatga ega bo’lgan butun tipdagi o’zgaruvchi
Strukturaga ko’rsatkichlar. Strukturaga ko’rsatkichlar oddiy ko’rsatkichlar kabi tasvirlanadi:
Student*ps;
Strukturaga ko’rsatkich ta’riflanganda initsializatsiya qilinishi mumkin:
Student *ps=&mas[0];
Ko’rsatkich orkali struktura elementlariga ikki usulda murojaat qilish mumkin. Birinchi usul adres 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 quyidagi murojaatlar uzaro tengdir:
cin>>(*ps).name;
cin>>ps->title;
Bitli maydonlar
Bitli maydonlar strukturalarning xususiy xolidir. Bitli maydon ta’riflanganda uning uzunligi bitlarda ko’rsatiladi (butun musbat konstanta).
Misol:
struct {
int a:10;
int b:14}xx,*pxx;
. . . .
xx.a=1;
pxx=&xx;
pxx->b=8;
Bitli maydonlar ixtiyoriy butun tipga tegishli bo’lishi mumkin. Bitli maydonlar adresini olish mumkin emas. Xotirada bitli maydonlarni joylashtirish kompilyator va apparaturaga bog’liq.
Birlashmalar
Strukturalarga yakin tushuncha bu birlashma tushunchasidir. Birlashmalar union xizmatchi so’zi erdamida kiritiladi. Misol uchun:
union {long h; int i,j; char c[4]}UNI;
Birlashmalarning asosiy xususiyat shundaki uning xamma elementlari bir xil boshlang’ich adresga ega bo’ladi.
Masalan:
union{
char s[10];
Do'stlaringiz bilan baham: |