فارسی
باز کردن در Telegram

پست ‏Array indexing چیست؟🚀

23 اوت 2024
G
genix
‏Array indexing چیست؟🚀 ‏Array indexing تکنیکیه که برای دسترسی به المنت ها در یک آرایه بر اساس موقعیت یا ایندکس اونها استفاده میشه. همونطور که میدونید هر المنت در یک آرایه با ایندکس خود مشخص میشه که نشون دهنده موقعیت اون نسبت به المنت اول هست. ایندکسینگ امکان دسترسی موثر و مستقیم به هر المنت در آرایه رو فراهم میکنه که برای کارهای محاسباتی مختلف ضروری هست. به عنوان مثال یک آرایه یک بعدی رو در نظر بگیرید: int A[5] ={10, 20, 30, 40, 50} در این آرایه 5 عنصر وجود داره که در مکان های حافظه به هم پیوسته ذخیره میشن. ایندکس المنت اول 0، المنت دوم 1 و... هست. و همونطور که میدونید برای دسترسی مثلا به المنت سوم آرایه باید اینکار رو انجام بدیم: A[2] = 30; از اونجا که ایندکسینگ از صفر شروع میشه در واقع ایندکس دوم به المنت سوم اشاره داره. اما میدونستید میشه هر کدوم از این هارو محاسبه کرد؟ موقعیت هر المنت در یک آرایه یک بعدی رو میشه با استفاده از یک فرمول ساده محاسبه کرد. این فرمول آدرس پایه آرایه، ایندکس المنت و اندازه هر المنت در حافظه رو محاسبه میکنه( توجه داشته باشید فقط برای آرایه های یک بعدی جوابه) Address of A[i] = Base Address + (i * Size of each element) به عنوان مثال، اگر آدرس پایه آرایهA هزار باشه و هر عدد صحیح 4 بایت حافظه اشغال کنه، آدرس المنت در ایندکس دوم میشه: Address of A[2] = 1000 + (2 * 4) = 1008 بنابراین، المنت در ایندکس 2 در حافظه به آدرس 1008 ذخیره میشه. محاسبه آدرس المنت چند بعدی ⬇️ اما این ها برای آرایه های یک بعدی بود و برای آرایه های چند بعدی مساعل پیچیده تر میشه، چون باید چندین ایندکس رو در نظر بگیرید. با این حال، فرآیند رو میشه به صورت انتراعی توضیح داد. به عنوان مثال فرمول کلی ما در آرایه های یک بعدی اینه: ( فرمول بالایی هم هست اما این جامع تره) Address of A[i] = B + W * (i - L_B) به صورت خلاصه معنی این فرمول یعنی این: ‏- B: آدرس پایه آرایه است. ‏- W: اندازه هر المنت در بایت. ‏- i: ایندکس المنت. ‏- L_B(lower bound): به کوچکترین یا مقدار ایندکس اولیه ای که المنت آرایه از اون ایندکس شروع میشه اشاره داره. ( به صورت دیفالت 0 هست که در نظر گرفته نمیشه) برای اینکه پست زیادی طولانی نشه، ادامه مطالب رو در تلگراف برای شما عزیزان آماده کردیم🙂 #array @CodeModule
11 · 1.2K ·

در همان حوالی فید

𔓙𔓙نظرسنجی𔓙𔓙درود میخواستم یه Matlab خدمتتون عرض کنم 🦦 من این زندگی Ruby شما نمیخوام. شاید فکر کنید من Sql هستم ولی نه من میخوام توی دلتون Java کنم و به خاطر شما با همه Djan
این پیام
𔓙𔓙اگه برای تمرین و کدنویسی دنبال ui خاصی میگردید، این طرح فیگما رو به هیچ وجه از دست ندید 💀 🔵 Link #figma @CodeModuleMMahan-Heydariآماده شید باهم دیگه بریم جنگل 🗿😂 #fun @CodeModule
CCode Module | کد ماژولCode Module | کد ماژول@CodeModule · کانال · فناوری
2 180مشترک594میانگین دسترسی پست
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما