Nawayi ma`mleketlik ka`nshilik instuti No`kis filali


int b[10]; // dızbekti járiyalaw int *t=b



Download 25,06 Kb.
bet4/8
Sana07.01.2022
Hajmi25,06 Kb.
#329062
1   2   3   4   5   6   7   8
Bog'liq
C te fayl qatlamindagi strukturaliq magliwmatlardi taraw boyinsha paydalangan halda programma duziw

int b[10]; // dızbekti járiyalaw

int *t=b; // dızbektiń baslanǵısh adresin beriw

void f (int a) {/*... */} // funksiyanı anıqlaw

void (*pf) (int); // funksiyaǵa kórsetkishni járiyalaw

pf=f; // funksiya adresin kórsetkishke beriw

II. Ashiq jarıya túrde yaddıń absolyut adresin beriw:

Tırtıq *vp = (char*) 0 xB8000000;

Bunda 0 xB8000000- on altılıq ózgermeytuǵın san hám (char*)- túrge keltiriw ámeli bolıp, ol vp ózgeriwshin yaddıń absolyut adresindegi báyitlerdi tırtıq retinde qayta isleytuǵın kórsetkish túrine aylantırilishini ańlatadı.

III. Bos baha beriw:

int *suxx=NULL;

int *r=0;

Birinshi qatarda arnawlı NULL ózgermeytuǵını isletilingen, ekinshi qatarda 0 baha isletilingen. Eki halda da kórsetkish hesh qanday obiektke shaqırıq etpeydi. Bos kórsetkish tiykarınan kórsetkishni anıq bir obiektke kórsetip atırǵan yamasa joq ekenligin anıqlaw ushın isletiledi.

Iv. Dinamikalıq yadta new ámeli menen jay ajıratıw jáne onı adresin kórsetkishke beriw:

Int*n=new int; // birinshi operator

Int*m=new int (10 ); // ekinshi operator,,

Int*q=new int[10]; // úshinshi operator

Birinshi operatorda new ámeli járdeminde dinamikalıq yadta int ushın jetkilikli jay ajıratıp alınıp, onıń adresi n kórsetkishke juklenedi. Kórsetkishtiń ózi ushın jay kompilyatsiya waqtında ajratıladı.

Ekinshi operatorda jay ajıratıwdan tısqarı m adresine baslanǵısh baha -10 sanın jaylastıradı.

Úshinshi operatorda int túrindegi 10 element ushın jay ajıratılǵan jáne onıń baslanǵısh adresi q kórsetkishke berilayapti.

Yad new ámeli menen ajıratılǵan bolsa, ol delete ámeli menen bosatilishi kerek. Joqarıdaǵı dinamikalıq ózgeriwshiler menen baylanısqan Yad tómendegishe bosatiladi:

delete n; delete m; delete[] q;

Egerde yad new[] ámeli menen ajıratılǵan bolsa, onı bosatish delete[] ámelin ólshewi kórsetilmagan halda qóllaw kerek.

Yad bosatilganligiga qaramastan kórsetkishni ózin keyinirek qayta isletiw múmkin.

Kórsetkish ústinde ámeller:Kórsetkish ústinde tómendegi ámeller orınlawǵa bolatuǵın :

1) obiektke qurallı shaqırıq qılıw ámeli;

2) baha beriw ámeli;

3) kórsetkishke ózgermeytuǵın bahanı qosıw ámeli;

4) ayırıw ámeli;

5) inkrement hám dekrement ámelleri;

6 ) salıstırıw ámeli;

7) túrge keltiriw ámeli.

qurallı shaqırıq qılıw ámeli kórsetkish degi adres boyınsha jaylasqan bahanı alıw yamasa baha beriw ushın isletiledi:

tırtıq a; // tırtıq túrindegi ózgeriwshi daǵazası,

tırtıq *p=new tırtıq; // Kórseshkichni járiyalay otirip, oǵan

// dinamikalıq yaddan ajıratılǵan

// yaddıń adresin beriw

*p='b'; // p adresine baha jaylastırıw

a=*p; // a ózgeriwshisine p adresindegi bahanı beriw

Sonı belgilengenler etip ótiw kerek, yaddıń anıq bir jayındaǵı bir waqıttıń ózinde bir neshe hám hár túrlı túrdegi kórsetkishlerge beriw múmkin hám olar arqalı shaqırıq etilgende berilgendiń qıylı túrdegi bahaların alıw múmkin:

unsigned long int A=0 xcc77 ffaa;

unsigned short int *pint= unsigned short int*) &A;

unsigned char* pchar= ( unsigned char*) &A;

cout <

Ekranǵa hár túrlı bahalar baspadan shıǵarıladı :

cc77 ffaa ffaa aa

Ózgeriwshiler bir adresde jaylasqan halda pútin bahanıń túrli bóleklerin ózlestiredi. Bunda san manisiniń yadta «teskari» jaylasıwı inabatqa alınıwı kerek.

Eger hár túrlı túrdegi kórsetkishlerge bahalar berilsa, álbette túrge keltiriw ámelinen paydalanıw kerek:

int n=5;


float x=1. 0;

int *pi=&n;

float *px=&x;

void *p;


int *r, *r1;

px= (float*) &n;

p=px;

r= (int*) px;



r1=pi;

Kórsetkish túrin void túrine keltiriw ámelde mániske iye emes. Tap sonday, túrleri birdey bolǵan kórsetkishler ushın turni keltiriw ámelin orınlawdıń hájeti joq.dı (bosatiladi). Keyinirek, bul yad bólegi programma tárepinen basqa maqsette taǵı isletiliwi múmkin. Dinamikalıq yadqa tek kórsetkishler járdeminde shaqırıq qılıw múmkin. Bunday ózgeriwshiler dinamikalıq ózgeriwshiler dep ataladı hám olardı jasaw waqıtı jaratılǵan noqattan baslap programma aqırıǵa shekem yamasa ashiq jarıya túrde joǵatılǵan (baylanısqan yad bosatilgan) jayınasha boladı.

Kórsetkishlerdi járiyalawda oǵan baslanǵısh bahalar beriw múmkin. Baslanǵısh baha (initsializator) kórsetkish atınan keyin yamasa qawıs penenishinde yamasa '=' belginen keyin beriledi. Baslanǵısh bahalar tómendegi usıllar menen beriliwi múmkin:

I. Kórsetkishke ámeldegi bolǵan obiekttiń adresin beriw:

a) adresti alıw ámel arqalı :

int i=5, k=4; // pútkil ózgeriwshiler

Kórsetkish ústinen atqarılatuǵın arifmetik ámellerde avtomatikalıq túrde túrlerdiń ólshemi esapqa alınadı.

Arifmetik ámeller tek birdey túrdegi kórsetkishler ústinen atqarıladı hám olar tiykarınan, dızbek strukturalarına kórsetkishler ústinde atqarıladı.

Inkrement ámeli kórsetkishni dızbektiń keyingi elementine, dekrement bolsa kerisinshe, bir aldınǵı elementiniń adresine kóshiredi. Bunda kórsetkishtiń manisi sizeof () manisine ózgeredi. Eger kórsetkishtiń manisi k ózgermeytuǵın bahaǵa asırılsa yamasa kemeytirilse, ol k*sizeof () manisine ózgeredi.

Mısalı :


shor int *p=new short[5];

long *q=new long [5];

p++; // p manisi 2 asadı

q++; // q manisi 4 ke asadı

q+=3; // manisi 3*4=12 asadı

Kórsetkishlerdiń ayırması dep, olar ayırmasınıń tur ólshemine bóliniwine aytıladı. Kórsetkishlerdi óz-ara qosıw múmkin emes.

Shaqırıwlar :Shaqırıwlar daǵazada, kórsetilgen nomning sinonimi retinde isletiledi, yaǵnıy bir ózgeriwshige xar qıylı at menen shaqırıq qılıw imkaniyatın beredi. Shaqırıqtı turaqlı bahaǵa iye bolǵan kórsetkish dep qaraw múmkin. Shaqırıq tómendegishe daǵaza etiledi:

& ;

Bul jerde - shaqırıq kórsetiwshi bahanıń túri, '&' belgisi, odan keyin jazılǵan - shaqırıq túrindegi ózgeriwshi atı. Basqasha aytqanda, '&' belgisine adresti alıw ámeli dep ataladı.

Mısal :


Download 25,06 Kb.

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




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