1 – dars. C++ Dasturlash tilining kelib chiqishi xaqida ma’lumot


– DARS. KO’RSATKICHLAR VA MASSIVLAR



Download 4,47 Mb.
bet35/89
Sana15.04.2022
Hajmi4,47 Mb.
#553102
1   ...   31   32   33   34   35   36   37   38   ...   89
Bog'liq
C kitob TAYYOR

36 – DARS. KO’RSATKICHLAR VA MASSIVLAR

Ko’rsatkichlar qiymati yuqorida ko’rsatilganidek bu biror ob'ekt adresidir.


Ko’rsatkichlar ta'riflanganda ularning tiplari ko’rsatilishi shart. K’orsatkichlarni initsializatsiya qilish ya'ni boshlang’ich qiymatlarini kiritish mumkin. Ko’rsatkichlarga boshlangich mahsus NULL kiymati berilsa bunday kursatkich bush kursatkich deb ataladi.
Misol uchun:
Long double ld=0.0;
Long double *ldtr=&ld;
Int *pr;
char *alfa;
unsigned longint *ul=NULL;
Mahsus void tipidagi ko’rsatkichlar ajdodiy ko’rsatkichlar deb atalib har hil tipdagi ob'ektlar bilan bog’lanish uchun ishlatiladi.
Misol uchun:
Int I=77;
Float Euler=2.18282;
Void *vp;
Vp=&I;
Cout<<(“%d”,*(int*)vp);
Vp=&euler;
Cout<<(“%d”,*(float*)vp);
Qo’yidagi operatorlar ketma ketligi hatolikka olib keladi:
Void *vp;int *ip; ip=vp;
Bu hatolik sababi bitta ob'ektga har hil tipdagi ko’rsatkichlar bilan murojaat qilish mumkin emas. Ko’rsatkichlar ustida qo’yidagi amallarni bajarish mumkin:
* operatsiyasi o’zgaruvchi qiymatini adres deb qarab shu adresda joylashgan qiymatni ajratadi.
& operatsiyasi o’zgaruvchi joylashgan adresni aniqlaydi.
= Qiymat berish
+ Binar plyus
- Binar minus
++ Oshirish
-- Kamaytirish
Nisbat amallari;
Adresni aniqash amaliga misol:
Unsigned int *up1=NULL, *up2;
Up2=(unsigned int*)&up1;
Qiymat berish operatorida tiplarni o’zgartirishni ko’rsatmaslik ya'ni up2=&up1 hatolikka olib keladi.
Ayirish amali ikki ko’rsatkich yoki ko’rsatkich va butun son ustida amalga oshirilishi mumkin. Ikki ko’rsatkich ayirmasi p1-p2=((long)p1-(long)p2)/sizeof() formulasi orqali aniqlanadi. Ikki yonma-yon ko’rsatkichlar ayirmasi absolyut qiymati birga teng.
1- misol
char a=’d’,b=’2’;
char pa=&a,pb=&b;
U holda BC++ da
Pa-pb =1;
(int)pa-(int)pb=1;
pb-pa=-1 bo’ladi, chunki BC++da oldin ta'riflangan o’zgaruvchilar adreslari keyin ta'riflangan o’zgaruvchilar adreslaridan kattaroq bo’ladi.

2- misol


long a=12, b=3;
long pa=&a,pb=&b;
U holda BC++ da
Pa-pb =1;
(int)pa-(int)pb=4;
Ko’rsatkichdan k butun son ayrilganda qiymati k*sizeof() ga kamayadi.
Qo’shish amalini faqat ko’rsatkich va songa qo’llash mumkin.
Misol:
Float z=0.0,pi=3.14,e=2.7;
Float *pr=&e;
U holda
*pr=2.7
*(pr+1)=3.14
*(pr+2)=0.0
++ va – amallari ham shu kabi bajariladi.
Massivlar nomi konstanta ko’rsatkichdir. Shuning uchun ham int z[4] massiv elementiga *(z+4) shaklda murojaat qilish mumkin.
Massivlar bilan ishlanganda qavslarsiz ishlash mumkin.
Qo’yidagi misolda har bir harf alohida bosib chiqariladi:
Void main()
{ char x[][=”DIXI”;
int=0;
while (*(x+I)!=’\0’)
Cout<<(“/n%c”,*(x=I++));
}
Kompilyator x[I] qiymatni hisoblaganda (x+i)*sizeof(<>) formula bo’yicha adresni hisoblab shu adresdagi qiymatni oladi. Agar massiv x[n,k,m] shaklda ta'riflangan bo’lsa, x[I,j,l] qiymatni hisoblanganda (x+k*j+l) *sizeof(<>) formula bo’yicha adresni hisoblab shu adresdagi qiymatni oladi.



Download 4,47 Mb.

Do'stlaringiz bilan baham:
1   ...   31   32   33   34   35   36   37   38   ...   89




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish