Muhammad Al-Xorazmiy nomidagi Toshkent Axborot texnologiyalari Universiteti Dasturiy injenering fakulteti swd 008 guruh talabasi Qo’chqorov Jasurning Dasturlash fanidan “Ko’rsatkich nima ?


Download 166.52 Kb.
bet2/9
Sana28.12.2022
Hajmi166.52 Kb.
#1019139
1   2   3   4   5   6   7   8   9
Bog'liq
Jasur Qo\'chqorov dasturlash mustaqil i9sh

Ob’ektga koʻrsatkich. Agar bir tipda bir nechta koʻrsatkichlar eʻlon
qilinadigan boʻlsa, har bir koʻrsatkich uchun ʻ*ʻ belgisi qoʻyilishi shart:
int *i, j,*k;
float x,*y,*z;
Keltirilgan misolda i va k - butun tipdagi koʻrsatkichlar va j - butun
tipdagi oʻzgaruvchi, ikkinchi operatorda x - haqiqiy oʻzgaruvchi va y,z -
haqiqiy tipdagi koʻrsatkichlar eʻlon qilingan.
Void koʻrsatkich. Bu koʻrsatkich ob’ekttipi oldindan nomaʻlum
boʻlganda ishlatiladi. void koʻrsatkichining muhim afzalliklaridan biri -
unga har qanday tipdagi koʻrsatkich qiymatini yuklash mumkinligidir.
void koʻrsatkich adresidagi qiymatni ishlatishdan oldin, uni aniq bir
tipga oshkor ravishda keltirish kerak boʻladi. void koʻrsatkichni eʻlon
qilish quyidagicha boʻladi:
void koʻrsatkich
int i; // butun oʻzgaruvchi
const int ci=1; // butun oʻzgarmas
int * pi; // butun oʻzgaruvchiga koʻrsatkich
const int *pci; // butun oʻzgarmasga koʻrsatkich
nt *const cp=&i;//butun oʻzgaruvchiga oʻzgarmas koʻrsatkich
const int*const cpc=&ci; // butun oʻzgarmasga oʻzgarmas
koʻrsatkich.

Dinamik xotira bilan ishlash.Koʻrsatkichlar koʻpincha dinamikxotira (boshqacha nomi «uyum» yoki «heap») bilan bogʻliq holda ishlatiladi. Xotiraning dinamik deyilishiga sabab, bu sohadagi boʻsh xotira dastur ishlash jarayonida, kerakli paytida ajratib olinadi va zarurat qolmaganida qaytariladi (boʻshatiladi).
Dinamik xotiraga faqat koʻrsatkichlar yordamida murojaat qilish
mumkin. Bunday oʻzgaruvchilar dinamik oʻzgaruvchilar deyiladi va
ularni yashash vaqti yaratilgan nuqtadan boshlab dastur oxirigacha yoki
oshkor ravishda yoʻqotilgan (bogʻlangan xotira boʻshatilgan) joygacha
boʻladi.


Koʻrsatgichlarga dastlabki qiymat kiritish. Koʻrsatkichlarni eʻlon qilishda unga boshlangʻich qiymatlar berish mumkin. Boshlangʻich qiymat (initsializator) koʻrsatkich nomidan soʻng yoki qavs ichida yoki ʻ=ʻ belgidan keyin beriladi. Boshlangʻich qiymatlar quyidagi usullar bilan berilishi mumkin:
Koʻrsatkichga mavjud boʻlgan ob’ektning adresini berish:
Oshkor ravishda xotiraning absolyut adresini berish:
Boʻsh qiymat berish:
Dinamik xotirada new amali bilan joy ajratish va uni adresini
koʻrsatkichga berish:
Koʻrsatkichning adreslarni saqlash vositasi sifatida qoʻllanilishi.
Koʻrsatkichga mavjud boʻlgan ob’ektning adresini berish:
a) adresni olish amal orqali:
int i=5,k=4; // butun oʻzgaruvchilar
int *p=&i; // p koʻrsatkichga i oʻzgaruvchining
// adresi yoziladi
int *p1(&k); // p1 koʻrsatkichga k oʻzgaruvchining
// adresi yoziladi
b) boshqa initsializatsiyalangan koʻrsatkich qiymatini berish:
int * r=p; // p oldin eʻlon qilingan va qiymatga ega
// boʻlgan koʻrsatkich
v) massiv yoki funksiya nomini berish:
int b[10]; // massivni eʻlon qilish
int *t=b; // massivning boshlangʻich adresini berish
void f(int a){/* … */} // funksiyani aniqlash
void (*pf)(int);// funksiyaga koʻrsatkichni eʻlon qilish
pf=f; // funksiya adresini koʻrsatkichga berish
Oshkor ravishda xotiraning absolyut adresini berish:
char *vp = (char *)0xB8000000;
Bunda 0xB8000000 - oʻn oltilik oʻzgarmas son va (char*) – tipiga keltirish amali boʻlib, u vp oʻzgaruvchisini xotiraning absolyut
adresidagi baytlarni char sifatida qayta ishlovchi koʻrsatkich tipiga
aylantirilishini anglatadi.
Boʻsh qiymat berish:
int *suxx=NULL;
int *r=0;
Birinchi satrda maxsus NULL oʻzgarmasi ishlatilgan, ikkinchi satrda 0 qiymat ishlatilgan. Ikkala holda ham koʻrsatkich hech qanday ob’ektga murojaat qilmaydi. Boʻsh koʻrsatkich asosan koʻrsatkichni aniq bir ob’ektni koʻrsatayotgan yoki yoʻqligini aniqlash uchun ishlatiladi.

Download 166.52 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9




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