C++ da massivlardan foydalangan holda dasturlash reja: C/C++ dasturlash tili haqida va Massivlar
Ko'rsatkich va massivni almashtirish
Download 19.63 Kb.
|
C DA MASSIVLARDAN FOYDALANGAN HOLDA DASTURLASH
- Bu sahifa navigatsiya:
- FOYDALANILGAN ADABIYOTLAR
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 https://aim.uz/ https://google.ru/ «INFORMATIKANI O`QITISH METODIKASI» fanidan o’quv metodikasi Alaminov M. Nukus-2016. Download 19.63 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling