PDA

View Full Version : طول آرایه



saeedthp
دوشنبه 30 فروردین 1395, 15:50 عصر
دوستان تابع برگرداندن طول آرایه چه هست

LinuxBox
سه شنبه 31 فروردین 1395, 21:50 عصر
اگر آرایه به صورت استاتیک تعریف شده باشه به راحتی میتونید با عملگر sizeof(ArrayName) طول آرایه رو بدست بیارید.
اما اگر آرایه بصورت داینامیک تعریف شده باشه و توسط عملگر new برای اون حافظه در اختیار گرفته باشید باید sizeof نوع عناصر آرایه را در تعداد عناصر اون ضرب کنید تا طول آرایه بدست بیاد. در نتیجه در این حالت شما خودتون مسئول نگهداری تعداد عناصر آرایه در طول برنامه هستید.

size_t count = 10;
int *myArray = new int[count];
size_t myArraySize = sizeof(myArray[0])*count;

اما راه حل بهتر استفاده از کلاس هایی مثل vector هست که در اون برای بدست آوردن اندازه آرایه ، توابع عضوی پیش بینی شده است.