أهلا ومرحبا بكم مرة أخرى.
أريد أن أتحدث قليلاً عن مؤشرات الفراغ في هذه المحاضرة.
نحن نعلم ما هو الفراغ لأننا استخدمنا هذه الكلمة
الأساسية عندما تحدثنا عن الوظائف.
بشكل أساسي ، إذا لم نرغب في إرجاع أي بيانات من دالة ، فإننا نستخدم
الفراغ كجزء من توقيع الوظيفة. ماذا عن عندما نستخدم مؤشر التجنب ، ماذا يعني هذا؟
حسنًا ، اسم النوع فارغ يعني عدم وجود أي نوع.
لذلك يمكن أن يحتوي مؤشر نوع void star على عنوان عنصر بيانات من أي نوع ، لذلك يتمتع
بقدر كبير من المرونة.
إذا كنت لا تعرف ما الذي ستقوم بتخزينه كمؤشر ، فيمكنك أن تقول
نجم باطل ، أنيق جدًا. عادة ما تستخدم في وظائف معلمات الوظيفة.
غالبًا ما يتم استخدام نجمة الفراغ كنوع معلمة أو نوع
إرجاع مع وظائف ، والتي
تتعامل مع البيانات بطريقة مستقلة عن النوع.
لذلك يمكنك السماح لوظيفتك بأن تكون أكثر مرونة
إذا كانت تتطلب مؤشرات نجمة باطلة.
هذا يعني بشكل أساسي أن وظيفتك يمكن أن
تأخذ أكثر من نوع واحد من المتغيرات باستثناء
أنها ليست مرنة تمامًا لأنه يجب عليك وضعها بطريقة ما عند الرجوع إليها.
لذلك يمكن تمرير أي نوع من المؤشرات كقيمة من نوع void ، أي نوع.
لا يعرف مؤشر الفراغ نوع الكائن الذي يشير إليه.
لذلك لا يمكنك الرجوع إليه مباشرة
، وهنا يأتي الفواق الحقيقي جنبًا إلى جنب مع النجم الفارغ.
إنه أمر رائع بالنسبة إلى المرونة الطويلة لأنواع البيانات المختلفة ، ولكن لا يمكنك
استخدامها إلا إذا كنت تعرف نوع البيانات.
لذلك عليك تقديم قالب صريح
للمؤشر عند الرجوع إليه.
يمكن تخزين عنوان متغير من النوع int في متغير مؤشر من النوع void
لأن void star تعني أنه يمكن تخزين أي نوع من البيانات بالداخل.
لذلك عندما تريد الوصول إلى قيمة الفاصل الزمني على
العنوان المخزن في مؤشر النجمة الفارغة ، يجب عليك أولاً تحويلها
إلى مؤشر من النوع int.
في هذا المثال سنرى كيف تستخدم مؤشر النجمة الفارغة.
لدينا ثلاثة متغيرات قمنا بتعريفها ، عدد صحيح وعائم وحرف.
سنقوم الآن بإنشاء مؤشر نجمة فارغ.
نظرًا لأن المؤشر من النوع void ، فيمكننا تعيين
عنوان i وهو int. يمكننا تعيين عنوان
f له ، وهو عدد عشري ويمكننا تخصيص عنوان الحرف
أو ch وهو حرف.
المشكلة الوحيدة هي عندما تقوم بإلغاء المرجع ، عليك أن تعرف هذا النوع ، لكنك لا تزال ترى الميزة هنا.
الميزة هنا هي أنه يتعين علينا فقط إنشاء نوع متغير واحد
ويمكننا تخزين عدة عناوين مختلفة فيه.
ولكن متى أردت استخدامه ، عليك أن تستخدمه في وضع النجمة.
وسترى هنا عندما نطبع البيانات ، أن النجم الموجود في الصورة يلقي بالمؤشر
ومن ثم نقوم بإلغاء الإشارة إليه ، فإن النجمة الموجودة خارج الأقواس int تقوم بإلغاء
الإشارة إليها. لذلك سيطبع ذلك القيمة التي
يشير إليها مؤشر v ، ولكن أولاً
سيحولها إلى النوع الصحيح.
لذلك في جميع مؤشرات v الثلاثة هذه ، ستطبع للنملة 10.
بالنسبة للطفو ، سيخرج 2. 34.
وبالنسبة إلى الفصل ، شار ، سيطبع k.
سنرى مؤشر الفراغ يستخدم أكثر في معاملات الوظيفة
، كما قلت ، في أنواع الإرجاع.
وهذه هي القيمة حقًا عندما يتعلق الأمر وكذلك استخدام
مؤشر نجمة فارغ في إعلان واحد وتعيين العديد
من أنواع البيانات المختلفة. شكرًا لك.