الدرس 28: التكرار عبر المصفوفات وعمليات المصفوفة
بما أن عناصر المصفوفة يتم الوصول إليها بشكل تسلسلي عبر الفهارس، فإن الحلقات (خاصة حلقة for) هي الطريقة القياسية لمعالجة المصفوفات.
التكرار وطباعة محتويات المصفوفة
c #include <stdio.h>
int main() { int data[] = {45, 67, 12, 89, 33}; int size = sizeof(data) / sizeof(data[0]); // حساب الحجم ديناميكياً
printf("عناصر المصفوفة:\n");
for (int i = 0; i < size; i++) {
printf("العنصر في الفهرس %d: %d\n", i, data[i]);
}
return 0;
}
عملية شائعة: الجمع
c #define ARRAY_SIZE 5
int main() { int values[ARRAY_SIZE] = {10, 20, 30, 40, 50}; int sum = 0;
for (int i = 0; i < ARRAY_SIZE; i++) {
sum += values[i]; // sum = sum + values[i]
}
printf("المجموع الكلي: %d\n", sum); // المخرجات: 150
return 0;
}
التحقق من الحدود (Boundary Checking)
لغة C لا تقوم تلقائياً بالتحقق من حدود المصفوفة أثناء التشغيل. الوصول إلى عنصر خارج الحجم المحدد (مثلاً data[10] عندما يكون الحجم 5) يسمى انتهاك حدود المصفوفة. قد يؤدي هذا إلى قراءة أو كتابة في مواقع ذاكرة عشوائية، مما يسبب تعطلاً للبرنامج، أو فساد البيانات، أو ثغرات أمنية.