حلقه روی آرایه (Array Loops)
می خواهیم با حلقه for روی آرایه بچرخیم. «حلقه (Loop)» یعنی تکرار منظم دستورات. اما بهتر است طول آرایه را درست حساب کنیم.
روش ساده اما وابسته به اندازه ثابت
این روش عدد 4 را دستی می نویسد. پس فقط برای همین آرایه کار می کند.
int myNumbers[] = { 25, 50, 75, 100 };
int i;
for (i = 0; i < 4; i++) {
printf("%d\n", myNumbers[i]);
}
هشدار: اگر عنصر اضافه شود، این کد ناقص چاپ می کند.
ساخت حلقه بهتر با sizeof
با فرمول sizeof، طول واقعی آرایه را می گیریم. سپس حلقه همیشه درست می چرخد.
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]);
}
نکته: این روش با هر اندازه آرایه سازگار است.
مراحل عملی سریع
- یک آرایه بساز و مقداردهی کن.
- length را با sizeof محاسبه کن.
- حلقه for را تا length اجرا کن.
برای «اندازه آرایه»، به اندازه آرایه برو. همچنین مرور کلی را در آرایه ها ببین. اگر به «حلقه روی آرایه» علاقه داری، مثال های بعدی هم مفیدند.
جمع بندی سریع
- حلقه روی آرایه باید تطبیق پذیر باشد.
- sizeof طول درست را می دهد.
- از عدد ثابت در شرط استفاده نکن.
- کدت با تغییر آرایه نشکند.