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


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

int *suxx=NULL; int *r=0;
Биринчи сатрда махсус NULL ўзгармаси ишлатилган, иккинчи сатрда 0 қиймат ишлатилган. Иккала ҳолда ҳам кўрсаткич ҳеч қандай объектга мурожаат қилмайди. Бўш кўрсаткич асосан кўрсаткични аниқ бир объектга кўрсатаётган ёки йўқлигини аниқлаш учун ишла- тилади.

  1. Динамик хотирада new амали билан жой ажратиш ва уни адресини кўрсаткичга бериш:

int * n=new int; // биринчи оператор int * m=new int(10); // иккинчи оператор int * q=new int[5]; // учинчи оператор
Биринчи операторда new амали ёрдамида динамик хотирада int учун етарли жой ажратиб олиниб, унинг адреси n кўрсаткичга юкланади. Кўрсаткичнинг ўзи учун жой компиляция вақтида ажра- тилади.
6.1-расм. Динамик хотирадан жой ажратиш
Иккинчи операторда жой ажратишдан ташқари m адресига бошланғич қиймат - 10 сонини жойлаштиради.
Учинчи операторда int туридаги 5 элемент учун жой ажра- тилган ва унинг бошланғич адреси q кўрсаткичга берилаяпти.
Хотира new амали билан ажратилган бўлса, у delete амали билан бўшатилиши керак. Юқоридаги динамик ўзгарувчилар билан боғлан- ган хотира қуйидагича бўшатилади:
delete n; delete m; delete[]q;
Агарда хотира new[] амали билан ажратилган бўлса, уни бўшатиш учун delete [] амалини ўлчови кўрсатилмаган ҳолда қўллаш керак.
Хотира бўшатилганлигига қарамасдан кўрсаткични ўзини кейинчалик қайта ишлатиш мумкин.
Кўрсаткич устида амаллар
Кўрсаткич устида қуйидаги амаллар бажарилиши мумкин:

  1. объектга воситали мурожаат қилиш амали;

  2. қиймат бериш амали;

  3. кўрсаткичга ўзгармас қийматни қўшиш амали;

  4. айириш амали;

  5. инкремент ва декремент амаллари;

  6. солиштириш амали;

  7. турга келтириш амали.

Воситали мурожаат қилиш амали кўрсаткичдаги адрес бўйича жойлашган қийматни олиш ёки қиймат бериш учун ишлатилади:

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