Mustaqil ish Mavzu: С/С++ дастурлаш тилида кўрсаткичлар билан боғлиқ муаммолар. Dasturiy vositalar xavfsizligi


Кўрсаткичга бошланғич қиймат бериш


Download 348.42 Kb.
bet4/9
Sana21.04.2023
Hajmi348.42 Kb.
#1374143
TuriПрограмма
1   2   3   4   5   6   7   8   9
Bog'liq
mustaqil-ish

Кўрсаткичга бошланғич қиймат бериш


Кўрсаткичлар кўпинча динамик хотира (бошқача номи «уюм» ёки «heap») билан боғлиқ ҳолда ишлатилади. Хотиранинг динамик дейилишига сабаб, бу соҳадаги бўш хотира программа ишлаш жараёнида, керакли пайтида ажратиб олинади ва зарурат қолмаганида қайтарилади (бўшатилади). Кейинчалик, бу хотира бўлаги программа томонидан бошқа мақсадда яна ишлатилиши мумкин. Динамик хотирага фақат кўрсаткичлар ёрдамида мурожаат қилиш мумкин. Бундай ўзгарувчилар динамик ўзгарувчилар дейилади ва уларни яшаш вақти яратилган нуқтадан бошлаб программа охиригача ёки ошкор равишда йўқотилган (боғланган хотира бўшатилган) жойгача бўлади.
Кўрсаткичларни эълон қилишда унга бошланғич қийматлар бериш мумкин. Бошланғич қиймат (инициализатор) кўрсаткич номи- дан сўнг ёки қавс ичида ёки ‘=’ белгидан кейин берилади. Бошланғич қийматлар қуйидаги усуллар билан берилиши мумкин:

  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);// функцияга кўрсаткични эълон қилиш
pf=f; // функция адресини кўрсаткичга бериш

  1. Ошкор равишда хотиранинг абсолют адресини бериш:

char *vp = (char *)0xB8000000;
Бунда 0xB8000000 - ўн олтилик ўзгармас сон ва (char*) - турга келтириш амали бўлиб, у vp ўзгарувчисини хотиранинг абсолют
адресидаги байтларни char сифатида қайта ишловчи кўрсаткич турига айлантирилишини англатади.

  1. Бўш қиймат бериш:


Download 348.42 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