روش بدست آوردن تعداد اعضا یک آرایه در زبان C

گاهی اوقات نیاز است بدانیم طول یک آرایه یا به عبارت دیگر تعداد عضوهای آن چقدر است.

که برای اینکار می توان از عبارت sizeof استفاده کرد.


int myNumbers[] = {10, 25, 50, 75, 100};
printf("%lu", sizeof(myNumbers));

نکته: نتیجه خروجی آزمایش بالا 20 شد در حالی که تعداد عضوهای آرایه 5 می باشد !

 در آموزش های قبلی در بخش نوع داده یاد گرفتیم که مقادیر نوع عددی مقدار 4 بیت از حافظه را اشغال می کنند و چون عبارت sizeof مقدار بیت را بر می گرداند عدد 20 یعنی 5 عدد با مقدار 4 بیت را نمایش می دهد.

اگر این بخش را به یاد ندارید حتماً برگردید و کامل آموزش ها را مطالعه کنید چرا که در نوشتن برنامه های بزرگ این موضوع بسیار کمک خواهد کرد.

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


int myNumbers[] = {10, 25, 50, 75, 100};
int length = sizeof(myNumbers) / sizeof(myNumbers[0]);
  
printf("%d", length);

اجرا حلقه for با طول آرایه در زبان C

در بخش قبل حلقه for را با شرط (i < 4) اجرا کردیم، اما امکان دارد طول یک آرایه را نداشته باشیم.

در اینصورت برای پایداری بیشتر و بهتر شدن کدهای خود می توانیم بجای کد :


int myNumbers[] = {25, 50, 75, 100};
int i;
  
for (i = 0; i < 4; i++) {
  printf("%d\n", myNumbers[i]);
}

از کد زیر استفاده کنیم.


int myNumbers[] = {25, 50, 75, 100};
int length = sizeof(myNumbers) / sizeof(myNumbers[0]);
int i;

for (i = 0; i < length; i++) {
  printf("%d\n", myNumbers[i]);
}

 

توسعه دهندگان
امین آهن کوبی