خاصية المصفوفات (Arrays) في لغة C هي هيكل بيانات يُستخدم لتخزين مجموعة من العناصر من نفس النوع في مواقع متجاورة في الذاكرة. تُعتبر المصفوفات من أهم المفاهيم في لغة C، وتُستخدم على نطاق واسع في مختلف التطبيقات.

مفهوم المصفوفة:

تخيل المصفوفة كصف من الخانات المتجاورة، كل خانة تُخزن قيمة واحدة من نوع معين. يُعرف كل عنصر في المصفوفة بموقعه أو فهرسه (index)، ويبدأ الفهرس دائمًا من الصفر.

تعريف المصفوفة:

يتم تعريف المصفوفة في لغة C بالشكل التالي:

C
نوع_البيانات اسم_المصفوفة[حجم_المصفوفة];
  • نوع_البيانات: يُحدد نوع البيانات التي ستُخزن في المصفوفة (مثل int للأعداد الصحيحة، float للأعداد العشرية، char للأحرف).
  • اسم_المصفوفة: هو الاسم الذي سيُستخدم للإشارة إلى المصفوفة.
  • حجم_المصفوفة: يُحدد عدد العناصر التي ستُخزن في المصفوفة.

مثال:

C
int numbers[5]; // تعريف مصفوفة باسم numbers تتكون من 5 عناصر من نوع int
float grades[10]; // تعريف مصفوفة باسم grades تتكون من 10 عناصر من نوع float
char name[20]; // تعريف مصفوفة باسم name تتكون من 20 عنصر من نوع char

الوصول إلى عناصر المصفوفة:

يتم الوصول إلى عناصر المصفوفة باستخدام الفهرس بين قوسين مربعين []. تذكر أن الفهرس يبدأ من الصفر.

مثال:

C
numbers[0] = 10; // تخزين القيمة 10 في العنصر الأول من المصفوفة numbers
numbers[1] = 20; // تخزين القيمة 20 في العنصر الثاني من المصفوفة numbers
int x = numbers[2]; // قراءة قيمة العنصر الثالث من المصفوفة numbers وتخزينها في المتغير x

مزايا استخدام المصفوفات:

  • تخزين مجموعة من البيانات من نفس النوع: تُسهل المصفوفات التعامل مع مجموعة من البيانات المتشابهة.
  • الوصول السريع إلى العناصر: يُمكن الوصول إلى أي عنصر في المصفوفة مباشرة باستخدام فهرسه.
  • تحسين كفاءة الكود: تُقلل المصفوفات من حجم الكود وتُحسن أدائه.

عيوب استخدام المصفوفات:

  • حجم ثابت: يجب تحديد حجم المصفوفة عند تعريفها، ولا يُمكن تغييره لاحقًا.
  • تجاوز الحدود: يُمكن أن يؤدي الوصول إلى عنصر خارج حدود المصفوفة إلى حدوث أخطاء في البرنامج.

أنواع المصفوفات:

  • المصفوفات أحادية البعد: هي المصفوفات التي تحتوي على صف واحد من العناصر.
  • المصفوفات متعددة الأبعاد: هي المصفوفات التي تحتوي على أكثر من صف وعمود، مثل المصفوفات ثنائية البعد (matrices).

مثال على مصفوفة ثنائية البعد:

C
int matrix[3][4]; // تعريف مصفوفة ثنائية البعد تتكون من 3 صفوف و 4 أعمدة

استخدامات المصفوفات:

تُستخدم المصفوفات في العديد من التطبيقات، مثل:

  • تخزين البيانات في جداول.
  • معالجة الصور والصوت.
  • الخوارزميات وهياكل البيانات.