korsatkichlar va murojaatlar

DOC 12 стр. 107,0 КБ Бесплатная загрузка

Предварительный просмотр (5 стр.)

Прокрутите вниз 👇
1 / 12
кўрсаткичлар ва мурожаатлар кўрсаткичлар ва мурожаатлар программа матнида ўзгарувчи эълон қилинганда, компилятор ўзгарувчига хотирадан жой ажратади (программа коди хотирага юкланганда берилганлар учун сегментнинг бошига нисбатан силжишини аниқлайди) ва объект код ҳосил қилишда шу ўзгарувчи учраган жойга унинг адресини жойлаштиради. умуман олганда, программа объектларининг (ўзгарувчилар, функцияларнинг) адресларини хотиранинг алоҳида жойида сақлаш ва улар устидан амаллар бажариш мумкин. қийматлари адрес бўлган ўзгарувчиларга кўрсаткич ўзгарувчилар дейилади. кўрсаткич уч хил турда бўлиши мумкин: а) бирорта объектга, хусусан ўзгарувчига кўрсаткич; б) функцияга кўрсаткич; в) voidга кўрсатгич. кўрсатгичнинг бу хусусиятлари унинг қабул қилиши мумкин бўлган қийматлари билан фарқланади. кўрсаткич албатта бирорта турга боғланган бўлиши керак, яъни у кўрсатган адресда қандайдир қиймат жойланиши мумкин ва бу қийматнинг хотирада қанча жой эгаллаши олдиндан маълум бўлиши шарт. функцияга кўрсаткич программа жойлашган хотирадаги функция кодининг бошланғич адреси кўрсатади, яъни функцияга мурожаат бўлганда (чақирилганда) бошқариш шу адресга узатилади. функцияга кўрсаткич орқали мурожаат, функцияга воситали мурожаат ҳисобланади. чунки, функцияга унинг номи бўйича …
2 / 12
он қилинади: *ном; бу ерда - кўрсаткич аниқлайдиган адресдаги қиймат тури бўлиб, у майдон туридан ташқари хар қандай тур бўлиши мумкин. агар бир турда бир нечта кўрсаткичлар эълон қилинадиган бўлса, ҳар бир кўрсаткич учун ‘*’ белгиси қўйилиши шарт: int *i, j,* k; float x,*y,*z; бу мисолда i ва k - бутун турдаги кўрсаткичлар ва j - бутун турдаги ўзгарувчи, иккинчи операторда х- ҳақиқий ўзгарувчи ва y,z ҳақиқий турдаги кўрсаткичлар эълон қилинган . void кўрсаткич. бу кўрсаткич объект тури олдиндан маълум бўлмаганда ишлатилади, яъни бир кўрсаткичда турли вақтда ҳар хил турдаги объектлар адреси сақланиши мумкин. фақат void кўрсаткичга ҳар қандай турдаги кўрсаткичнинг қийматини юклаш мумкин. лекин, кўрсатилган адресдаги қийматни ишлатишдан олдин, уни тури аниқ бир турга ошкор равишда келтирилиши керак. void кўрсаткични эълон қилиш куйидагича бўлади: void * ; кўрсатrични ўзи ўзгармас ёки ўзгарувчан бўлиши ва ўзгармас ёки ўзгарувчига кўрсатииши мумкин, масалан: int i; // бутун ўзгарувчи const int ci=1; // …
3 / 12
айтарилади (бўшатилади) ва у кейинчалик программа томонидан яна ишлатилиши мумкин. бундай хотирага фақат кўрсаткичлар ёрдамида мурожаат қилиш мумкин. бундай ўзгарувчилар динамик ўзгарувчилар дейилади ва уларни яшаш вақти яратилган нуқтадан бошлаб программа охиригача ёки ошкор равишда бўшатилиш жойигача. кўрсаткичларни эълон қилишда унга бошланғич қийматлар бериш мумкин. бошланғич қиймат (инициализатор) кўрсаткич номидан сўнг ёки қавс ичида ёки ‘=’ белгидан кейин берилади. бошланғич қийматлар қуйидаги усуллар билан берилиши мумкин: 1. кўрсаткичга мавжуд бўлган объектнинг адресини бериш: адресни олиш амал орқали: int i=5,k=4; // бутун ўзгарувчилар int *p = &i; // p кўрсаткичга i ўзгарувчини адреси ёзилади int *p1(&k); // p1 кўрсаткичга k ўзгарувчини адреси ёзилади бошқа инициализацияланган кўрсаткични қийматини бериш: int * r=p; // p олдин эълон қилинган ва қийматга эга бўлган кўрсаткич массив ёки функция номини бериш: int b[10]; //массивни эълон қилиш int * t=b; //массивнинг бошланғич адресини бериш … void f(int a) { /* … */} // функцияни аниқлаш void (*pf)(int); …
4 / 12
ада int учун етарли жой ажратиб олиниб ва унинг адреси n кўрсаткичга юкланган. кўрсаткичнинг ўзи учун жой компиляция вақтида ажратилади. иккинчи операторда жой ажратишдан ташқари m адресига бошланғич қиймат - 10 сонини жойлаштиради. учинчи операторда int туридаги 10 элемент учун жой ажратиган ва уни бошланғич адреси q кўрсаткичга берилаяпти. бу мисолда, аниқроғи массивга жой ажратилиб, унга q номи берилган бўлиб, кейинчалик шу ном орқали массив элементларига мурожаат қилиш мумкин. хотира new амали билан ажратилган бўлса, у delete амали билан бўшатилиши керак : delete n; delete m; delete [ ] q; агарда хотира new[] амали билан ажратилган бўлса, уни бўшатиш учун delete [] амалини ўлчови кўрсатилмаган ҳолда қўллаш керак. хотира бўшатилганлигига қарамасдан кўрсаткични ўзини қайта ишлатиш мумкин. кўрсаткич устидан амаллар кўрсаткич устидан қуйидаги амаллар бажарилиши мумкин: 1) объектга воситали мурожаат қилиш амали; 2) қиймат бериш амали; 3) кўрсаткичга константа қийматни қўшиш; 4) айириш амали; 5) инкремент ва декремент амаллари; 6) солиштириш …
5 / 12
q қиймати 4 га ошади q+=3; // q қиймати 3*4=12 ошади кўрсаткичларнинг айирмаси деб, улар айирмасининг тур ўлчамига бўлинишига айтилади. кўрсаткичларни ўзаро қўшиш мумкин эмас. мурожаатлар мурожаатлар эълонда кўрсатилган номнинг синоними сифатида ишлатилади, яни битта ўзгарувчига хар хил ном билан мурожаат қилиш мумкин. мурожаатни доимий қийматга эга бўлган кўрсаткич деб қараш мумкин хам бўлади. мурожаат қуйидагича эълон қилинади: & ; бу ерда – мурожаат кўрсатувчи қийматнинг тури, ‘&’ белгиси, ундан кейин ёзилган - мурожаат туридаги ном эканлигини билдирувчи оператор. бошқача айтганда ‘&’ белгисига адресни олиш амали дейилади. мисол: int kol; int & pal=kol; // pal мурожаати - kol ўзгарувчисининг альтернатив номи const char & cr=’\n’; // cr – константага мурожаат мурожаатни ишлатишда қуйидаги қойидаларга риоя қилиш керак: мурожаат, функция параметри сифатида ишлатилган, extern билан тавсифланган ва синф майдонига мурожаат қилган ҳоллардан ташқарида барча ҳолатларда бошланғич қийматга эга бўлиши керак. мурожаат асосан функцияларда адрес орқали узатилувчи параметрлар сифатида ишлатилади. мурожаатни кўрсаткичдан …

Хотите читать дальше?

Скачайте все 12 страниц бесплатно через Telegram.

Скачать полный файл

О "korsatkichlar va murojaatlar"

кўрсаткичлар ва мурожаатлар кўрсаткичлар ва мурожаатлар программа матнида ўзгарувчи эълон қилинганда, компилятор ўзгарувчига хотирадан жой ажратади (программа коди хотирага юкланганда берилганлар учун сегментнинг бошига нисбатан силжишини аниқлайди) ва объект код ҳосил қилишда шу ўзгарувчи учраган жойга унинг адресини жойлаштиради. умуман олганда, программа объектларининг (ўзгарувчилар, функцияларнинг) адресларини хотиранинг алоҳида жойида сақлаш ва улар устидан амаллар бажариш мумкин. қийматлари адрес бўлган ўзгарувчиларга кўрсаткич ўзгарувчилар дейилади. кўрсаткич уч хил турда бўлиши мумкин: а) бирорта объектга, хусусан ўзгарувчига кўрсаткич; б) функцияга кўрсаткич; в) voidга кўрсатгич. кўрсатгичнинг бу хусусиятлари унинг қабул қилиши мумкин бўлган қийматлари билан фарқланади. кўрсаткич ...

Этот файл содержит 12 стр. в формате DOC (107,0 КБ). Чтобы скачать "korsatkichlar va murojaatlar", нажмите кнопку Telegram слева.

Теги: korsatkichlar va murojaatlar DOC 12 стр. Бесплатная загрузка Telegram