diff --git a/guide/arabic/c/arrays/index.md b/guide/arabic/c/arrays/index.md index 252a680470..b60eea3ab5 100644 --- a/guide/arabic/c/arrays/index.md +++ b/guide/arabic/c/arrays/index.md @@ -96,6 +96,9 @@ datatype name[size1][size2]...[sizeN] int arr[2][5] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; ``` +قد يتصور البعض ‘ ولكن كيف تخزن المصفوفات متعددة الأبعاد في الذاكرة ؟ جواب ذلك بسيط ‘ جميعنا نعلم ان الذاكرة هي في الحقيقة عبارة عن مجموعة كبيرة جداً من المربعات (الاماكن التخزينية) المصفوفة على شكل خط (احادي الابعاد) طويل و يتم تخزين المصفوفات متعددة الأبعاد .عن طريق ضرب الابعاد و حجز مساحة كافية تساوي ناتج الضرب لتخزين البيانات + + قد يكون من الصعب تصور صفيف ثنائي الأبعاد باستخدام البنية الموضحة أعلاه حتى يستخدم المطورون أقواسًا اختيارية متداخلة لتوضيح بنية الصفيف. هذه أيضًا طريقة صالحة لتهيئة مصفوفة ثنائية الأبعاد. ```C @@ -193,4 +196,4 @@ int b = test[89]; السبب في أن C لا يتحقق من تقييد الفهرسة بسيط: C هي لغة فعالة. تم إعداده ، بحيث يكون البرنامج الأسرع: يتواصل بشكل جيد مع الأجهزة الخ. لا يحتوي كود C المكتوب بشكل جيد على أخطاء في الفهرسة ، فلماذا تريد C أن تتحقق أثناء التشغيل؟ -* عند محاولة الوصول إلى العنصر الأخير من الصفيف. لنفترض أن طول الصفيف A يكون 4 وعند الوصول إلى العنصر الأخير كـ سيعرض A \[4\] خطأ ، نظرًا لأن الفهرسة تبدأ من 0. \ No newline at end of file +* عند محاولة الوصول إلى العنصر الأخير من الصفيف. لنفترض أن طول الصفيف A يكون 4 وعند الوصول إلى العنصر الأخير كـ سيعرض A \[4\] خطأ ، نظرًا لأن الفهرسة تبدأ من 0.