ئەررەیەکان چۆن کاردەکەن؟
لە بابەتی داتاسترەکچەر چیە باسی ئەوەمان کرد ئەررەی چیە لەگەڵ هەندێک شتی تر گەر نازانی ئەررەی چیە ئەوا بابەتەکە بخوێنەوە و پاشان ئەم بابەتەیان , بیرۆکەیەک هەیە دەبێت بگەیەندرێت ئەویش چۆنیەتی کارکردنی ئەررەیە لەناو میمۆری کۆمپیتەرەکانمان.
سوودی چیە ئەوە بزانم؟
لەوانەیە راستەوخۆ سوودەکەی دیار نەبێت بەڵام زۆر یارمەتیت دەدات لە هەندێک بیرۆکە کاتی کۆد کردن یان ئەو هەڵانەی توشیان دەبیت لە کاتی کۆد کردن هەروەها من وای دەبینم کە خۆشە بزانیت چۆنە و کەمێک لە زانیاریەکانت زیاد دەکات و خوا دەزانێت لە کوێی کارت بە بیرۆیەکەیکی لەو شێوەیە دەبێت نموونەیەکی سادە ئەوەیە لە زمانی ++c کاتێک دەتەوێت درێژی(length) ئەررەیەک بگۆریت لەکاتی کارکردنی پرۆگرامەکە ئەوا دوو مێثێۆد بەکار دەهێنیت ناویان malloc,alloc ە دەسکاری میمۆری دەکەن کە دەبێت بزانیت ئەررەی چۆن کاردەکات بۆ ئەوەی ئەو کارە بکەیت بە تەواوی
شیکردنەوە و چۆنیەتی کارکدن
سەرەتا پێش دەسپێکردن دەبێت بیرۆکەی ئەوە فێرببیت میمۆری(RAM) چۆن کاردەکات چونکە کەمێک شت هەن دەبێت فێریان ببیت پێش دەسپێکردن بە کردارەکە
میمۆری RAM
سەرەتا دەبێت باسی میمۆری رام بکەین چیە و چۆنە کاتێک کۆمپیتەر کاردەکات دەبێت شوێنێکی خێرا هەبێت زانیاریەکانیان لەناو پاشەکەوت بکات بە شێوازێک نوسین و وەرگرتنەوەیان زۆر خێرایە رام ئەمەیە کارەکەی بەڵام رام چۆن دروست کراوە رام ئەررەیەکی گەورەیە کە دەشێت چەند ملیۆنێک خانەی هەبێت بۆ هەڵگرتنی زانیاری هەر یەک لەو خانانە دەتوانێت چەند بتێک هەڵگرێت خۆی ستاندەر وایە کە 8bit هەڵدەگرێت کە دەکات یەک byte
هەر خانەیەک لە ئەررەی ژمارەیەکی هەیە پێی بگەیت تاکە جیاوازی لە رام ئەوەیە کە ئەو ژمارانەی بەکار دەهێندرێن ژمارەی Hexa ن نەک Decimal کە ئێمە بەکاریان دەهێنین لەناو کۆد ئەم وێنەیەی خوارەوە میمۆری نیشان دەدات کە چۆنە شێوازەکەی
گەر سەیر بکەیت میمۆری بەشێوازێکی ستوونی نیشان دەدرێت هەر خانەیەی هەشت بیت تێدایە واتە یەک بایت هەروەها ژمارەیەکی هێکسا کە هەشت خانەیە ئەوشیان ئەوە نیشان دەدات کە میمۆریەکە زۆر گەورەیەو خانەی زۆر زۆرە گرنگ لێرەدا پێوست ناکات بزانین چەند گەورەیە
ئەررەیەکان
لێرەدا باسە خۆشەکە دەسپێدەکات بێگومان هەر ئەررەیەک جۆرە زانیاریەکی لەناو هەڵدەگیرێت واتە خانەکانی ئەررەیەکە جۆرە زانیاریەکیان دەچێتە ناو ئەو زانیاریانەش دەشێ
ئێستە کاتێک ئەررەیەک دروست دەکەیت و لەناو پرۆگرامەکەت شتێکی لەو شێوەیە دەنوسیت بۆ نموونە
راستیەکەی لەناو میمۆری تۆ 16 خانە دەگریت بەو شێوەیە چۆن
هەر خانەیەک 1byte ە لەناو رام یان میمۆری تۆش ئەررەیەکی ئینتیجەرت دروست کردوە کە قەبارەکەی 4byte ە واتە بۆ هەڵگرتنی هەر ژمارەیەک کە ئینتیجەر بێت لەناو پرۆگرامەکەت ئەوا چوار شوێن دەگریت لە میمۆری دەتوانیت بەو هاوکێشەیە نیشانی بدەیت
how many memory locations needed = (dataSize/memory location size) * array length
ئەمەیان یەکەم خانەی ناو ئەررەیەکە بەو شێوەیە هەڵدەگیرێت لەناو میمۆری بەڵام شتێکی تریش هەیە یەکەم خانە لە میمۆری کە پەیوەندی بە ئەررەیەکەوە هەیە ناونیشانەکەی هەڵدەگیرێت (memory address) ەکەی لەو ئێ بەم شێوەیە کار دەکات کاتێک دەڵێی ئەررەیەکەم لە خانەی 0 ئەو لە ژێرەوە دەڵێت یەکەم ئەدرێس بهێنەوە کە پەیوەندی بەو ئەررەیەوە هەیە کاتێک ئەوە گەرایەوە کۆی ئەو ژمارەیە دەکرێت کە دەڵێت خانەی چەندەمت دەوێت لەناو ئەررەیەکەت جارانی قەبارەی زانیاری هەڵگیراو بەو شێوەیە
(Get Index = Base Address + (Data Type Size * Which Element
نموونە
ئەررەیەکەی سەرەوەت هەیە و وادابنێ لەناو میمۆردی یەکەم خانە کە تەرخان کرا بۆ ئەررەیەکەت بریتی بوو لە 100 ئەررەیەکەش زانیاری Int واتە ژمارەی تەواوی لەناو هەڵدەگیرا کە قەبارەکەی 4byte بوو
ئەگەر بڵێیت یەکەم ژمارەی ناو ئەررەیەکە بێنەوە [0]array بەم شێوەیە دەبێت
کەواتە یەکەم شوێن لەناو میمۆری کە ژمارەی خانەی یەکەمی ناو ئەررەیەکەی هەبێت 100 ە سیستەمەکە لەو شوێنەوە 4byte وەردەگرێت و ژمارەکەی خۆتت دەست دەکەوێت
ئەگەر بڵێیت سێیەم ژمارەی ناو ئەررەیەکە بێنەوە [2]array بەم شێوەیە دەبێت
کەواتە یەکەم شوێن لەناو میمۆری کە ژمارەی خانەی سێیەمی ناو ئەررەیەکەی هەبێت 108 ە سیستەمەکە لەو شوێنەوە 4byte وەردەگرێت و ژمارەکەی خۆتت دەست دەکەوێت
کۆتایی
لەکۆتایی دا هیوادارم بابەتەکە روون بوبێت و سودی گەیاندبێت ئەوەش کورتە باسێک بوو لەسەر ئەوەی ئەررەی چۆن هەڵدەگیرێت و کاری لەگەڵ دەکرێت لەناو میمۆری کۆمپیتەر
بۆچوونەکان