الوصول إلى العناصر
جزء من قسم الأساسيات في رحلة C على Coddy. الدرس 54 من 63.
تخزّن المصفوفات قيمًا متعددة من النوع نفسه. نستخدم موضع الفهرس للوصول إلى العناصر الفردية في المصفوفة.
في C، تبدأ فهارس المصفوفات من 0. وهذا يعني أن العنصر الأول يقع عند الفهرس 0، والثاني عند الفهرس 1، وهكذا.
أنشئ مصفوفة أعداد صحيحة تحتوي على 5 عناصر:
int numbers[5] = {10, 20, 30, 40, 50};الوصول إلى العنصر الأول (الفهرس 0):
int firstElement = numbers[0];بعد تنفيذ الشيفرة أعلاه، يحتوي firstElement على:
10الوصول إلى العنصر الثالث (الفهرس 2):
int thirdElement = numbers[2];يخزّن هذا القيمة 30 في thirdElement.
تؤدي محاولة الوصول إلى عنصر خارج حدود المصفوفة (مثل numbers[5] في مثالنا) إلى سلوك غير محدد، وقد تتسبب في تعطل البرنامج.
التحدي
سهلاكتب دالة باسم getElement تقوم بما يلي:
- تأخذ مصفوفة من الأعداد الصحيحة وحجمها كمعاملين
- تأخذ معاملًا للفهرس
- إذا كان الفهرس صالحًا (ضمن حدود المصفوفة)، تطبع العنصر عند ذلك الفهرس
- إذا كان الفهرس غير صالح (خارج حدود المصفوفة)، تطبع
Index out of bounds
المعامل
indexيبدأ ترقيمه من الصفر بالفعل: استخدمه مباشرةً كـarr[index](الفهرس5هو العنصر السادس). تتراوح الفهارس الصالحة من0إلىsize - 1.
جرّب بنفسك
#include <stdio.h>
void getElement(int arr[], int size, int index) {
// اكتب الكود الخاص بك هنا
}
int main() {
int size, index;
// اقرأ حجم المصفوفة
scanf("%d", &size);
int arr[size];
// اقرأ عناصر المصفوفة
for(int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
// اقرأ فهرس العنصر المطلوب الوصول إليه
scanf("%d", &index);
getElement(arr, size, index);
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
2المتغيرات
أنواع البياناتالأعداد الصحيحة (Integer)الأعداد العشرية (Float - Double)المحارف (Characters)القيم المنطقية (Booleans)الثوابتأساسيات printfقواعد تسمية المتغيراتتحويل الأنواع (Type Casting) - الجزء 1تحويل الأنواع (Type Casting) - الجزء 2تحدي المراجعة3المعاملات
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانمعاملات الإسنادالمعاملات العلائقيةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيالمعاملات المنطقية - الجزء الثالثتحدي المراجعةتدرّب بنفسك: مترجم C عبر الإنترنت