أهلا ومرحبا.
في هذه المحاضرة أريد أن أتحدث حول تهيئة مصفوفة.
نحن نعرف كيفية استخدام المصفوفة ، نحن نعرف كيفية إنشاء مصفوفة.
لكن على وجه التحديد ، ماذا لو كنت تريد لتعيين قيم أولية محددة للمصفوفة
، كيف تفعل ذلك؟
لذلك سترغب في تعيين الأحرف الأولية قيم عناصر المصفوفة الخاصة
بك في معظم الأوقات.
السبب الذي تريده تعيين القيم الأولية لمصفوفة
أو حتى للمتغيرات لأن يجعل من السهل اكتشاف متى تسوء
الأمور.
عندما لا يكون لديك بيانات أولية وحاولت أن تفعل شيئًا ما ، فقد تتسبب في
حدوث مشكلات في برنامجك.
لذا فإن التهيئة جيدة جدًا الشيء الذي تريده دائمًا.
وباستخدام المصفوفة ، هناك العديد والعديد من العناصر في المصفوفة.
وهناك طريقة محددة لذلك يمكنك تهيئة هذه العناصر.
هناك شيء مختلف بناء الجملة التي يمكنك استخدامها.
لكن التهيئة شيء جيد وتريد دائمًا أن تفعل ذلك.
أردت أن أتحدث بسرعة كيف يمكنك عمل مصفوفة لأن هناك طرقًا
مختلفة للقيام بذلك.
لذلك تمامًا كما يمكنك تعيين الأحرف الأولى القيم للمتغيرات ، عندما
يتم التصريح عنها ، يمكنك أيضًا تعيينها القيم الأولية لعناصر
المصفوفة ، عندما يتم التصريح عنها.
لتهيئة قيم المصفوفة ، يجب عليك ما عليك سوى تقديم القيم في القائمة.
القائمة مفصولة بفواصل والقائمة بأكملها محاطة بزوج
من الأقواس المتعرجة.
يبدو شيء من هذا القبيل.
هنا نقوم بإنشاء ملف مجموعة المسماة عدادات.
إنه من النوع int ، يحتوي على 5 عناصر.
وبعد ذلك ما نفعله هو نحن تحتوي على أقواس متعرجة
ولا نستخدم أي فهارس هنا.
ستلاحظ أن لدينا فقط الأرقام مفصولة بفواصل.
ما يفعله هذا هو الإعداد جميع العناصر الخمسة في مصفوفة العدادات
حتى 0 ، كل عنصر منها يساوي 0.
إذا كان لدينا مجموعة أخرى وقمنا بتسمية هذه المصفوفة من الأعداد الصحيحة
وهي أيضًا بحجم 5 ثم لدينا الأقواس المتعرجة بعد عامل التعيين
0 فاصلة 1 فاصلة 2 فاصلة 3 فاصلة 4 ، ما الذي يفعله ذلك؟
إنه تخصيص العدد الصحيح الأول مجموعة الأعداد الصحيحة للعنصر
إلى 0 ، والعنصر الثاني إلى 1 ، والعنصر الثالث العنصر إلى 2 ، والعنصر الرابع إلى 3 والعنصر
الخامس إلى 4.
إنها بنية لطيفة حيث يمكنك ذلك قم بتهيئة المصفوفة فورًا عندما
تعلنها بمجرد تقديم أرقام مفصولة بفواصل داخل أقواس وتريد
القيام بذلك.
كما أنه ليس من الضروري تمامًا تهيئة المصفوفة بأكملها.
لذلك في هذين السابقتين أمثلة ، قمنا بتهيئة جميع
العناصر الخمسة لمصفوفة بحجم 5.
ماذا لو كنت تريد فقط تهيئة بعض القيم؟
إذا
قمت بتوفير القيم الأولية التي لا تساوي عدد حجم المصفوفة ، ثم يتم تعيين القيم المتبقية على 0.
لذلك إذا فعلت شيئًا مثل هذا حيث يكون لديك مصفوفة
تسمى بيانات العينة من النوع تدفق يحتوي على 500 عنصر.
لكن في الأقواس المتعرجة ، كل شيء ترى هنا العناصر الثلاثة لدينا.
ما سيفعله هذا هو ستقوم بتهيئة القيم الثلاث
الأولى للعينة مجموعة البيانات إلى 100300500. 5.
ثم الباقي 5497 العناصر ستكون 0.
لذلك لا داعي لذلك حدد كل شيء.
هناك أيضًا هذا المفهوم من مُهيئ معين.
تم تقديم هذا على ما أعتقد في C99.
إنها ميزة صغيرة لطيفة حيث أنت يمكنك انتقاء واختيار العناصر التي
تريد تهيئتها.
أعتقد أنه في C99 ، أضافوه و ثم في C11 ، جعلوها اختيارية.
ذلك تبعا لما المترجم لديك ، قد تكون قادرًا أو لا تتمكن
من القيام بذلك.
لكن أريد أن أذكرها لأنه شائع إلى حد ما.
لن يسمح بعض المترجمين عليك القيام بذلك بعد C99.
لكنه رائع لأنك تستطيع في الواقع ، ما عليك سوى الاختيار والاختيار.
لذا يمكنك إرفاق عنصر number في زوج من الأقواس ثم حدد عناصر المصفوفة
يمكن تهيئتها ويمكنك القيام بذلك بأي
ترتيب.
إذن هذا مثال.
مرة أخرى ، لدينا مجموعة بيانات العينة الخاصة بنا.
إنه من نوع تعويم.
سيكون حجمها 500.
ولكن هنا داخل مجعدنا الأقواس ، لدينا فهارس إضافية.
يقول لدينا الأقواس في 2 الأقواس 2 sub-2 يساوي 500. 5 ، sub-1 يساوي
300. 0 و 0 يساوي 100. 0.
يتم فصلهم بفواصل.
كل ما يفعله هذا هو التحديد نفس الشيء الذي كان لدينا في المثال
السابق ، لكنه القيام بذلك بترتيب مختلف.
لكنك ما زلت ذاهبًا إلى تحتوي على العناصر 0 أو العنصر الأول يساوي
100 ، والعنصر الثاني عنصر يساوي 300 والألبوم الثالث يساوي
500. 5.
لكننا نحدد ما هو الفهرس المراد تهيئته في الأقواس
المتعرجة.
مثال آخر هنا لدينا عدد صحيح مجموعة تسمى arr ، حجمها 6.
وعندما نعلن ذلك ، نحن تهيئة العنصر الخامس
وهو العنصر الأخير إلى 212 ، ستكون جميع العناصر 0.
إذن هذا مثال على التقليد التهيئة حيث تقوم فقط بتعريف اسم المصفوفة
الخاصة بك و يمكنك توفير العديد من الأرقام المختلفة.
في هذا المثال ، نعلن مصفوفة وستخزن
كل الأيام في كل شهر.
وهكذا عندما نمر بهذا المصفوفة ونطبعها
وهو أمر شائع جدًا ، عادةً ما تستخدمه حلقات لطباعة العناصر في المصفوفة
أو على الأقل تكرارها.
ما نفعله هنا هو نحن سأطبع كل شهر وكم
عدد الأيام فيه.
لذلك دعنا ننتقل إلى هذا في الكود كتل لتظهر لك الإخراج.
إذن هذا هو مثالنا.
لدينا أيام وشهور و نحن نقوم بتهيئة المصفوفة.
العنصر الأول ليكون 31 ، 28 التالية ، 31 التالية.
تلاحظ أيضًا في السطر 10 ، نحن باستخدام تعريف لإنشاء ثابت.
وبالمناسبة في c ، يمكنك أيضًا استخدم كلمة رئيسية ثابتة سنتحدث عنها
وأشياء أخرى ، وهي طريقة أخرى لإنشاء الثوابت.
لكن في الوقت الحالي نحن نتحدث فقط حول المصفوفات
وتهيئتها ، من السهل جدًا القيام بها ، منفصلة بفواصل داخل الأقواس المتعرجة.
إذن ما الذي سيعرضه هذا ستمر
عبر المصفوفة وستنظر في الأمر فهرس زائد 1 ثم فهرس الأيام.
لذلك سيقول الشهر الأول عدد الأيام اعتمادًا على القيم.
لذلك نحن ندخل إلى الفهرس بواسطة اسم الصفيف ثم القيمة المنخفضة
، الفهرس قيمة ونحن نستخدم مصفوفة.
لذلك فهو متغير يتغير من خلال كل تكرار.
لذلك نحاول تشغيل هذا.
الإخراج الذي تريده انظر هو الشهر الأول به 31 يومًا ، والشهر 2 به 28 يومًا نوعًا
من التمثيل يناير فبراير مارس أبريل ، لكنه يمر عبر
صفيف وطباعة أيام الخروج.
لذلك هذا يثبت أن يعمل التهيئة.
ومرة أخرى ، سوف تريد لتهيئة بياناتك.
الآن دعنا نتحدث عن آخر مثال وتحدث عن تكرار عناصر
التهيئة.
سيكون هنا مثالًا آخر ، لكن في هذا المثال سنستخدم
مُهيئًا معينًا.
سنقوم بتحديد بالضبط العناصر التي نريد تهيئتها.
إذن الخط الرئيسي الذي يجب عليك إشعار هنا هو الذي يقول
في الأيام والشهور حيث نحن نقوم بالتهيئة لدينا.
ستلاحظ داخل المجعد بين قوسين
أن العنصر الأول يحصل على 31 ، والعنصر الثاني 28 ، ولكن بعد ذلك
هناك شيء داخل الأقواس يقول 4 ، سيحصل على القيمة 31.
ثم لدينا فاصلة سيحصل العنصر 5 على 30 ، وسيحصل
العنصر 6 على 31.
ثم لدينا 1.
هذا يعني أننا ذاهبون الآن إلى بالكتابة فوق 28 ، وسنضع 29
بالفعل ، ونضعها في صورة 29.
لذا فهو نوع من الزائدة عن الحاجة هنا.
لا نحتاج حقًا إلى القيام بذلك ، لكنك ستزيل
العنصر الفرعي 1 لأن 31 و 28 تم تعيين sub-1 بالفعل هنا.
لكن يبدو أننا نقول يمكن أيضًا أن تكون القيمة الفرعية 1 هي القيمة 29.
لذلك هذا فقط باستخدام التهيئة المعينة.
ماذا لو أردنا ذلك كرر نفس القيمة.
الآن في c ، يمكنك دائمًا تهيئة المصفوفة بأكملها
من نفس القيمة إذا حددت 0.
يمكنك دائما التهيئة إنها مثل المعلمة الفارغة.
لكن بخلاف ذلك ، لا تفعل c توفر أي آليات اختصار لتهيئة
المصفوفة العناصر ، على الأقل ليس في C89.
قد ترى في C11 ، مرة أخرى ، أين أنت يمكن تهيئة نفس القيمة للمصفوفة بأكملها
فقط باستخدام الأقواس مع عدم وجود الرمز فقط الرقم.
ولكن الآن في C89 و C99 ، هناك لا توجد طريقة لتحديد تكرار العد.
لا توجد طريقة لقول كل العناصر من هذا الشعاع يجب أن يكون 55 ، على سبيل المثال.
لذلك إذا كان المطلوب في البداية قم بتعيين جميع قيم بيانات العينة
البالغ عددها 500 إلى 1 ، سيكون لكل 500 قيمة ليتم تعيينه بشكل صريح مما سيكون بمثابة ألم
كبير في المؤخرة.
إذن ما ستفعله في النهاية هو أنك ستفعله فقط ضعهم داخل حلقة.
أسهل طريقة للتكرار من خلال مصفوفة تستخدم حلقة.
حسنًا ، إليك مثال سريع على كيف يمكنك تهيئة جميع العناصر
بنفس القيمة.
في هذه الحالة على الرغم من أننا تهيئة
العناصر الأولى إلى 0 1 4 9 و 16.
هذا هو في الحقيقة مجرد تهيئة كل العناصر المتبقية إلى قيمة.
أساسا العنصر السادس من العنصر العاشر باستخدام الفهرس من 5 إلى 9.
هذا ما تفعله حلقة for.
الحلقة الأولى هي قول ذلك سنقوم بتهيئة العناصر
من 5 إلى 9 لتكون أنا ضرب أنا.
ثم الثاني ل حلقة هنا ، يجب وضع مسافة بادئة
لها ، ومن الصعب قراءتها.
حلقة for الثانية هي في الواقع من خلال المصفوفة
بأكملها وعرض البيانات فقط على تظهر لك أن القيم الخمس الأخيرة قد
تمت تهيئتها بالفعل.
لذلك كلما أردت أن أكرر نفس القيمة أو التهيئة لقيم مختلفة
، ما عليك سوى استخدام حلقة.
مرة أخرى ، التهيئة مهمة.
سوف ترغب في التهيئة ، لذلك تأكد من أن هذه الصيغة هي طبيعة ثانية بالنسبة
لك لأننا سنفعل استخدام المصفوفات كثيرًا في c.