بدست آوردن طول آرایه در C++

از آنجایی که در c++ توابع size یا length وجود ندارد مجبوریم برای بدست آوردن طول آرایه در c++ از تابع sizeof استفاده کنیم.کار تابع sizeof این است که سایز(میزان فضای اشغالی در حافظه) متغیر داده شده را به ما برمیگرداند. از آنجایی که سایز یک آرایه برابر است با سایز یکی از عناصر آرایه ضرب در طول آرایه در نتیجه برای بدست آوردن طول یک آرایه کافیست سایز کل آرایه را بر سایز یکی از عناصر آن تقسیم کنیم تا طول آرایه بدست آید.

کد زیر طول یک آرایه را برای ما چاپ میکند

البته طول یک آرایه را با استفاده از پوینتر و اختلاف آدرس خانه های آرایه نیز میتوان بدست آورد. از آنجایی که نحوه ی کار کمی پیچیده است فقط میتوانم بگویم که *(&arr + 1) – arr اختلاف آدرس شروع آرایه تا آدرس بعد از آن را برمیگرداند که همان طول آرایه است.

و کد زیر طول آرایه را بدون استفاده از sizeof چاپ میکند

نتیجه اجرای هر دو برنامه به صورت زیر خواهد بود