المصفوفات نوع من بنية البيانات التي يمكنها تخزين مجموعة متسلسلة ذات حجم ثابت من العناصر من نفس النوع. تُستخدم المصفوفة لتخزين مجموعة من البيانات ، ولكن غالبًا ما يكون من المفيد التفكير في المصفوفة كمجموعة من المتغيرات من نفس النوع.
بدلاً من التصريح عن متغيرات فردية ، مثل 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 | مؤشر إلى مصفوفة يمكنك إنشاء مؤشر للعنصر الأول في المصفوفة ببساطة عن طريق تحديد اسم المصفوفة ، بدون أي فهرس. |
تعليقات
إرسال تعليق