English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا الدرس، ستعلم كيفية استخدام الصف. ستعلم من خلال الأمثلة كيفية إعلان وتحديد وتحديد عناصر الصف.
الصف هو متغير يمكنه تخزين عدة قيم. على سبيل المثال، إذا كنت تريد تخزين 100 عدد صحيح، يمكنك إنشاء صف.
int data[100];
dataType arrayName[arraySize];
مثلاً.
float mark[5];
في هذا السياق، تم الإعلان عن مصفوفة من النوع العددي mark. حجمها 5. مما يعني أن يمكنها استيعاب 5 قيم عددي.
يجب ملاحظته،لا يمكن تغيير حجم أو نوع الصف عند الإعلان عنه.
يمكنك الوصول إلى عناصر الصف باستخدام الفهرس.
افترض أنك قمت بالإعلان عن الصف mark كما ذكرت. العنصر الأول هو mark[0],العنصر الثاني هو mark[1]، وهكذا.
الإيضاح الأولي للصف هو 0، وليس 1. في هذا المثال، الصف هو العنصر الأول mark[0].
إذا كان حجم الصف n، فيجب استخدام ن-1 للاستدلال على العنصر الأخير. في هذا المثال mark[4]
. افترض عنوان البداية mark[0] هو2120d. ثم، عنوان mark[1] سيكون2124d. وبالتالي، عنوان mark[2] سيكون2128dمثلاً.
هذا لأن حجم a float هو 4 بايت.
يمكنك أيضًا تحديد الصف عند الإعلان عنها. على سبيل المثال،
int mark[5] = {19, 10, 8, 17, 9};
يمكنك أيضًا تحديد الصف كما يلي.
int mark[] = {19, 10, 8, 17, 9};
في هذا السياق، لم نحدد حجمها. ولكن عندما نستخدم 5 عناصر للتحديد، يعرف الماكينة حجمها كـ 5.
هنا،
mark[0] يساوي 19 mark[1] يساوي 10 mark[2] يساوي 8 mark[3] يساوي 17 mark[4] يساوي 9
int mark[5] = {19, 10, 8, 17, 9}; //جعل قيمة العنصر الثالث سالباً mark[2] = -1; //جعل قيمة العنصر الخامس صفر mark[4] = 0;
كيفية الحصول على إدخال المستخدم واستخدامه لتخزين عنصر عناصر الصف
// 获取输入并将其存储在第三个元素中 scanf("%d", &mark[2]); // 把输入存储在第i个元素中 scanf("%d", &mark[i-1]);
هذه هي طريقة طباعة عنصر مصفوفة واحد.
printf("%d", mark[0]); //طباعة العنصر الأول من المصفوفة printf("%d", mark[2]); //طباعة العنصر الثالث من المصفوفة //طباعة العنصر i من المصفوفة printf("%d", mark[i-1]);
//يأخذ البرنامج 5 أرقام من المستخدم ويخزنها في المصفوفة //طباعة العناصر المخزنة في المصفوفة #include <stdio.h> int main() { int values[5]; printf("أدخل 5 أرقام: "); //قبول المدخل وتخزينه في المصفوفة for(int i = 0; i < 5; ++i) { scanf("%d", &values[i]); } printf("عرض عدد: "); //طباعة عناصر المصفوفة for(int i = 0; i < 5; ++i) { printf("%d\n", values[i]); } return 0; }
نتيجة الخروج
أدخل 5 أرقام: 1 -3 34 0 3 عرض عدد: 1 -3 34 0 3
في هذا المثال، استخدمنا حلقة for لجمع 5 أرقام مدخلة من المستخدم، وقمنا بتخزينها في مصفوفة. ثم، باستخدام حلقة for أخرى، عرضنا هذه العناصر على الشاشة.
//يستخدم البرنامج مصفوفة للبحث عن متوسط n من الأرقام #include <stdio.h> int main() { int marks[10], i, n, sum = 0, average; printf("أدخل عدد العناصر: "); scanf("%d", &n); for(i=0; i<n; ++i) { printf("أدخل الرقم %d: ", i+1); scanf("%d", &marks[i]); //إضافة عدد المدخل من المستخدم إلى متغير sum sum += marks[i]; } average = sum/n; printf("متوسط = %d", average); return 0; }
نتيجة الخروج
أدخل عدد العناصر: 5 أدخل الرقم 1: 45 أدخل الرقم 2: 35 أدخل الرقم 3: 38 أدخل الرقم 4: 31 أدخل الرقم 5: 49 متوسط = 39
في هذا المكان، قمنا بحساب متوسط الأرقام المدخلة من المستخدم.
افترض أنك أعلنت مصفوفة تحتوي على 10 عناصر.
int testArray[10];
يمكنك زيارة عنصر اللوحة testArray[0] - testArray[9].
الآن،افترض أنك تحاول الوصول إلى testArray[12].العنصر غير المتاح.قد يؤدي ذلك إلى输出生不小心的(抛出 خطأ).
لذلك،لا تصل إلى العناصر خارج حدود المحطة أبدًا.
في هذا التدريب،لقد تعرفت على المحطات.هذه المحطات تسمى محطات أحادية البعد.
في التدريب التالي،سوف تتعلمالمحطات المتعددة الأبعاد (محطات محطات).