آرايه ای از اشاره گرها

    عناصر يک آرايه می توانند اشاره گرها باشند . يکی از کاربردهای چنين آرايه ای ساختن آرايه ای شامل رشته هايی از حروف می باشد . هر عنصر چنين آرايه ای يک رشته از حروف می باشد که اين رشته از حروف توسط اشاره گری به اولين حرف رشته مشخص می شود . به دستور زير توجه کنيد :

const char *s[4] =
 { "string1","string2","string3","string4" }

   دستور فوق آرايه ای چهار عنصری شامل رشته هايی از حروف ايجاد می کند. *char در دستور فوق مشخص می کند که هر عنصر آرايه s ، اشاره گری به داده ای از نوع char می باشد . چهار مقداری که در آرايه قرار می گيرند "string1" و "string2" و "string3" و "string4" می باشند . انتهای هر کدام از اين رشته ها که در حافظه قرار می گيرند با کاراکتر پوچ مشخص می شود ، لذا طول اين رشته ها يک واحد بيشتر از تعداد حروفی می باشد که بين " " قرار دارد . در اين دستور طول هر يک از رشته ها هشت حرف می باشد . اگر چه به نظر می رسد که اين رشته از حروف درآرايه قرار می گيرند ولی در واقع اشاره گرهايی به اولين حرف هر يک از اين رشته ها در آرايه قرار دارد . به شکل زير توجه کنيد :

   اگر چه آرايه طول ثابتی دارد ، اما اين شيوه ما را قادر می سازد که به رشته هايی با طول نا مشخص دسترسی پيدا کنيم . اين انعطاف پذيری مثالی از توان زبان ++C در ايجاد ساختمان های داده ای می باشد .

   نکته : توجه داشته باشيد که آرايه ای از حروف را می توان توسط يک آرايه دو بعدی از نوع char نيز ايجاد کرد که هر سطر حاوی يک رشته و هر ستون حاوی يک حرف از يک رشته می باشد . در چنين حالتی تعداد ستون ها در هر سطر بايد عددی ثابت باشد و اين عدد بايد برابر با طول بزرگترين رشته باشد ، لذا هنگامی که رشته های زيادی از حروف داريم و طول اکثر رشته ها از طول بزرگترين رشته کمتر می باشند ، مقدار زيادی از خانه های حافظه به هدر می رود . به شکل زير توجه کنيد :

 

 

   معرفی کامپيوتروبرنامه نويسی

   ساختارهای کنترلی

   توابع

   آرايه ها

   اشاره گر ها و رشته ها

   کلاسها

   گرانبار کردن عملگر ها

 
 
 
   
 
 
 

حق کپی رایت محفوظ می باشد