C++ da massivlardan foydalangan holda dasturlash reja: C/C++ dasturlash tili haqida va Massivlar


Ko'rsatkich va massivni almashtirish



Yüklə 19,63 Kb.
səhifə3/3
tarix12.04.2023
ölçüsü19,63 Kb.
#96790
1   2   3
C DA MASSIVLARDAN FOYDALANGAN HOLDA DASTURLASH

Ko'rsatkich va massivni almashtirish
X [i] indeks yozuvi (bu erda x ko'rsatkichni bildiradi) * (x + i) uchun sintaktik shakar. Kompilyatorning ko'rsatgich turi haqidagi bilimlaridan foydalanib, x + i bilan ko'rsatilgan manzil ibitlar tomonidan oshirilgan asosiy x (x bilan ko'rsatilgan) emas, aksincha i ning kattaligidan i baravar oshirilgan asosiy manzil sifatida aniqlanadi. ishora qiluvchi element x. Demak, x [i] massivning i + 1-elementini bildiradi.Bundan tashqari, aksariyat ifoda kontekstlarida (e'tiborga loyiq istisno - bu o'lchamdagi operand), massiv nomi avtomatik ravishda massivning birinchi elementiga ko'rsatgichga aylantiriladi. Bu shuni anglatadiki, funktsiya argumenti sifatida nomlanganida massiv hech qachon to'liq nusxa ko'chirilmaydi, faqat uning birinchi elementining manzili beriladi. Shuning uchun, C da funktsiya chaqiruvlari qiymatlar bo'yicha semantikani ishlatsa ham, massivlar aslida ma'lumotnoma orqali uzatiladi. Elementning kattaligi sizeof operatorini istalgan berilgan x elementga qo'llash orqali aniqlanishi mumkin, masalan n = sizeof * x yoki n = sizeof x [0] va e'lon qilingan A massividagi elementlar soni quyidagicha aniqlanishi mumkin. sizeof A / sizeof A Ikkinchisi faqat qator nomlariga tegishli: indekslar yordamida e'lon qilingan o'zgaruvchilar (int A C semantikasi tufayli massivlarga ko'rsatgichlar yordamida massivlarning to'liq hajmini aniqlash mumkin emas, masalan dinamik ajratish (malloc) yoki massiv funktsiyalari parametrlari bilan yaratilgan massivlar; sizeof arr / sizeof arr [0] kabi kod ishlamaydi (bu erda arr ko'rsatgichni bildiradi), chunki kompilyator ko'rsatgichning o'zi talab qilinmoqda deb hisoblaydi. Sizeofdagi qator nomlari argumentlari ko'rsatgichga aylantirilmaganligi sababli, ular bu noaniqlikni ko'rsatmaydi. Shu bilan birga, dinamik ajratish bilan yaratilgan massivlarga massivning haqiqiy o'zgaruvchilari emas, balki ko'rsatgichlar kirishadi, shuning uchun ular massivga ko'rsatgichlar bilan bir xil muammolarga duch kelishadi.Shunday qilib, massiv va ko'rsatgich o'zgaruvchilarining bu aniq ekvivalentligiga qaramay, ular o'rtasida hali ham farq qilish kerak. Massiv nomi aksariyat ifoda kontekstida ko'rsatgichga (birinchi elementiga) aylantirilsa ham, bu ko'rsatkich o'zi xotirani iste'mol qilmaydi; massivning nomi l-qiymat emas va uning manzili o'zgaruvchidan farqli o'laroq doimiydir. Shuning uchun massiv nimani "ishora qiladi" ni o'zgartirish mumkin emas va massiv nomiga yangi manzil tayinlash mumkin emas. Shu bilan birga, qator tarkibini memcpy funktsiyasi yoki individual elementlarga kirish yordamida nusxalash mumkin.

FOYDALANILGAN ADABIYOTLAR

  1. https://aim.uz/

  2. https://google.ru/

  3. «INFORMATIKANI O`QITISH METODIKASI» fanidan o’quv metodikasi Alaminov M. Nukus-2016.

Yüklə 19,63 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin