القائمة الرئيسية

الصفحات

C - Arrays / المصفوفات

 المصفوفات نوع من بنية البيانات التي يمكنها تخزين مجموعة متسلسلة ذات حجم ثابت من العناصر من نفس النوع. تُستخدم المصفوفة لتخزين مجموعة من البيانات ، ولكن غالبًا ما يكون من المفيد التفكير في المصفوفة كمجموعة من المتغيرات من نفس النوع.

بدلاً من التصريح عن متغيرات فردية ، مثل number0 و number1 و ... و number99 ، فإنك تعلن عن متغير مصفوفة واحد مثل الأرقام وتستخدم الأرقام [0] والأرقام [1] و ... ، والأرقام [99] لتمثيلها المتغيرات الفردية. يتم الوصول إلى عنصر معين في المصفوفة بواسطة فهرس.

تتكون جميع المصفوفات من مواقع ذاكرة متجاورة. يتوافق العنوان الأدنى مع العنصر الأول والعنوان الأعلى للعنصر الأخير.


التصريح عن المصفوفات

للإعلان عن مصفوفة في لغة C ، يحدد المبرمج نوع العناصر وعدد العناصر التي تتطلبها المصفوفة على النحو التالي -

type arrayName [ arraySize ];

هذا يسمى مصفوفة أحادية البعد . و arraySize يجب أن يكون ثابت أكبر عدد صحيح من الصفر و نوع يمكن أن يكون أي نوع C بيانات صالحة. على سبيل المثال ، للإعلان عن مصفوفة من 10 عناصر تسمى Balance of type double ، استخدم هذه العبارة -

double balance[10];

التوازن هنا عبارة عن مجموعة متغيرة تكفي لاستيعاب ما يصل إلى 10 أرقام مزدوجة.

تهيئة المصفوفات

يمكنك تهيئة مصفوفة في C إما واحدًا تلو الآخر أو باستخدام جملة واحدة على النحو التالي -

double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};

لا يمكن أن يكون عدد القيم بين الأقواس الكبيرة {} أكبر من عدد العناصر التي نعلن عنها للمصفوفة بين قوسين مربعين [].

إذا حذفت حجم المصفوفة ، فسيتم إنشاء مصفوفة كبيرة بما يكفي لاستيعاب التهيئة. لذلك ، إذا كتبت -

double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};

ستقوم بإنشاء نفس المصفوفة تمامًا كما فعلت في المثال السابق. فيما يلي مثال لتعيين عنصر واحد من المصفوفة -

balance[4] = 50.0;

البيان أعلاه يعين العنصر الخامس في المصفوفة بقيمة 50.0. تحتوي جميع المصفوفات على 0 كمؤشر لعنصرها الأول والذي يُسمى أيضًا الفهرس الأساسي وسيكون آخر فهرس من المصفوفة الحجم الإجمالي للمصفوفة ناقص 1. الموضح أدناه هو التمثيل التصويري للمصفوفة الذي ناقشناه أعلاه -

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

يتم الوصول إلى عنصر عن طريق فهرسة اسم المصفوفة. يتم ذلك عن طريق وضع فهرس العنصر بين أقواس مربعة بعد اسم المصفوفة. على سبيل المثال -

double salary = balance[9];

فإن العبارة أعلاه تأخذ 10 عشر عنصرا من مجموعة وتعيين القيمة إلى متغير الراتب. يوضح المثال التالي كيفية استخدام جميع المفاهيم الثلاثة المذكورة أعلاه. التصريح والتنازل والوصول إلى المصفوفات -


#include <stdio.h>
 
int main () {

   int n[ 10 ]; /* n is an array of 10 integers */
   int i,j;
 
   /* initialize elements of array n to 0 */         
   for ( i = 0; i < 10; i++ ) {
      n[ i ] = i + 100; /* set element at location i to i + 100 */
   }
   
   /* output each array element's value */
   for (j = 0; j < 10; j++ ) {
      printf("Element[%d] = %d\n", j, n[j] );
   }
 
   return 0;
}

عندما يتم تجميع التعليمات البرمجية أعلاه وتنفيذها ، فإنها تنتج النتيجة التالية -

Element[0] = 100
Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109

المصفوفات بالتفصيل

المصفوفات مهمة لـ C ويجب أن تحتاج إلى مزيد من الاهتمام. يجب أن تكون المفاهيم المهمة التالية المتعلقة بالمصفوفة واضحة لمبرمج سي -

الأب رقم.المفهوم والوصف
1المصفوفات متعددة الأبعاد

يدعم C المصفوفات متعددة الأبعاد. أبسط شكل من أشكال المصفوفة متعددة الأبعاد هو المصفوفة ثنائية الأبعاد.

2مصفوفات التمرير إلى الوظائف

يمكنك تمرير مؤشر إلى الدالة من خلال تحديد اسم المصفوفة بدون فهرس.

3مجموعة العودة من وظيفة

يسمح C للدالة بإرجاع مصفوفة.

4مؤشر إلى مصفوفة

يمكنك إنشاء مؤشر للعنصر الأول في المصفوفة ببساطة عن طريق تحديد اسم المصفوفة ، بدون أي فهرس.


الصفحة التالية                                                                الصفحة السابقة   

هل اعجبك الموضوع :

تعليقات