Kitob uchta qismdan iborat. "Strukturali dasturlash", "Obyektli-yo’nalishli dasturlash", "Standart kutubxonalar"



Download 333,2 Kb.
bet29/90
Sana10.07.2022
Hajmi333,2 Kb.
#770437
1   ...   25   26   27   28   29   30   31   32   ...   90
Bog'liq
C majmua

Ko’rsatgichlar bilan amallar
Ko’rsatgichlar bilan quyidagi amallarni bajarishni mumkin: manzillarga ajratish yoki (*) obyektga bilvosita murojaat, qiymat berish, konstanta bilan qo’shish, ayirish, (++) inkrement, (--) dekrement, taqqoslash, tiplarga keltirish. Ko’rsatgichlar bilan ishlashda ko’pincha (&) adres olish amali qo’llanilladi.
Manzilga ajratish amali, yoki nomlarga ajratish, adresi ko’rsatgichda saqlangan miqdorga kirish uchun mo’ljallangan. Bu amalni miqdor qiymatini olish uchun ham, o’zgartirish uchun ham foydalanish mumkin (agar u konstanta deb elon qilinmagan bo’lsa):
char a; // char tipidagi o’zgaruvchi
char * p = new char; / * ko'rsatgichga va char tipidagi o'zgaruvchiga
xotira ajratish*/
*p = '10' ; a = *p; // ikkila o'zgaruvchiga qiymatlar berish

Misoldan ko’rinadiki, *ko’rsatgich_nomi konstruksiyasini qiymat berish operatorining chap qismida foydalanish mumkin, chunki u L – qiymat hisoblanadi, ya’ni xotira sohasi adresini aniqlaydi. Oddiylik uchun bu konstruksiyani ko’rsatgich murojaat etadigan o’zgaruvchi nomi deb hisoblash mumkin. U bilan tegishli tipdagi miqdorlar uchun aniqlangan barcha amallarni qo’llasa bo’ladi (agar ko'rsatgich initsializatsiyalangan bo'lsa). Xotiraning bitta sohasiga turli tipdagi bir nechta ko’rsatkichlarga murojaat qilishi mumkin. Unga qo’llanilgan adreslarni ajratish amali turli natijalar beradi. Masalan, dastur


#include
int main()
{
unsigned long int A = 0Xcc77ffaa;
unsigned short int* pint = (unsigned short int*) &A;
unsigned char* pchar = (unsigned char *) &A;
printf("| %x | %x | %x |", A, *pint, *pchar);
return 0;
}
IBM PC – muvofiq kompyuerida
| cc77ffaa | ffaa | aa |
satrni ekranga chiqaradi.
pint va pchar ko’rsatgichlar qiymatlari bir xil, lekin pchar ni adresga ajratish natijasida bu adres bo’yicha bitta kichik bayt, pint esa ikkita kichik bayt beradi.
Yuqoridagi misolda ko’rsatgichlarni initsializatsiyalashda tiplarga keltirish amallaridan foydalanildi. Tipga ochiq keltirish amali sintaksisi oddiy: o’zgaruvchi nomi oldiga qavslarda u almashtirish talab etilgan tip ko’rsatiladi. Bunda axborotni saqlash kafolatlanmaydi, shuning uchun umumiy holda tipni ochiq almashtirishlardan foydalanmaslik lozim.
Ko’rsatgichlar ifodasida turli tiplarni aralashtirganda tiplarni ochiq almashtirish void* dan tashqari barcha ko’rsatgichlar uchun talab etiladi. Ko’rsatgich oshkormas ravishda bool tipidagi qiymatga almashish mumkin (masalan, shartli operator ifodasida), bunda nol bo’lmagan ko’rsatgich true ga, nolli esa false ga aylanadi.
Tiplarni oshkormas keltirmasdan qiymat berish ikkita holda mumkin:

  • void* tipidagi ko’rsatgichlarga;

  • agar ko’rsatgichlar tipi qiymat berish amalidan chapda va o’ngda bir xil bo’lsa;

Shunday qilib, oshkormas almashtirish faqat void* tipga bajariladi. 0 qiymat oshkormas ixtiyoriy tipdagi ko’rsatkichga almashtiriladi. Obyektlarga ko’rsatgichlarga funksiyaga ko’rsatgichlarni berish (va aksincha) mumkin emas. Ko’rsatgich konstantalarga qiymatlar berish man qilingan, shuningdek ixtiyoriy tipdagi konstantalarga ham (konstantalarga va o’zgaruvchilarga ko’rsatkichlar qiymatlar berish, ko’rsatkich-konstanta murojaat qilgan bo’lsa mumkin).

Download 333,2 Kb.

Do'stlaringiz bilan baham:
1   ...   25   26   27   28   29   30   31   32   ...   90




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