أهلا ومرحبا بكم مرة أخرى.
لدينا تحد آخر لك.
هذا التحدي سوف حول الهياكل مرة أخرى.
سوف تجعلك مألوفًا مع عناصر في بنية تحتوي
على مؤشر.
لذلك عليك أن تخصص ذاكرة لهذا العنصر.
سوف تجعلك مألوفًا أيضًا مع إعلان
بنية كمؤشر وأيضًا تمرير بنية كمؤشر لدالة.
حتى الهياكل و مؤشرات في هذا التحدي.
لذلك تحتاج إلى كتابة برنامج c يقوم بإنشاء مؤشر هيكل
ويمرره إلى وظيفة.
إنشاء هيكل يسمى البند مع الأعضاء التالية أسماؤهم.
اسم العنصر الذي ينبغي يكون مؤشر شخصية.
كمية يجب أن تكون عدد صحيح.
يجب أن يكون السعر تعويم و يجب أن يكون المبلغ تعويمًا.
المبلغ الذي تم تخزينه في ملف سيكون الهيكل بشكل أساسي
هو الكمية مضروبة في السعر لأن سيكون هذا هو المبلغ الإجمالي.
أريدك أن تنشئ وظيفتين.
أريدك أن تنشئ وظيفة عنصر قراءة مسمى يأخذ
مؤشر بنية لعنصر النوع كـ يجب أن تكون المعلمة مؤشرًا.
نحن نعلم مزايا الوظائف أخذ المؤشرات كحجج بدلاً من هيكل منتظم ، بشكل
أساسي كونها متوافقة مع الإصدارات السابقة.
الإصدارات السابقة من المترجم سي لم يعمل مع الهياكل.
وهو أيضًا أسرع كثيرًا و أكثر كفاءة عند تمرير
مؤشر إلى دالة لأن ليس عليك نسخ جميع العناصر ، ما
عليك سوى نسخ العنوان.
لذلك سيكون لدينا وظائف التي تأخذ كمؤشرات المعلمات
للهياكل.
هذا البند المقروء سوف يأخذ على.
ما يجب أن تفعله هذه الوظيفة هو ، يجب أن
يقرأ من المستخدم اسم المنتج ، السعر وكمية أو اسم عنصر.
يجب أن تكون محتويات الحق في مخزنة في الماضي في الهيكل.
إذن أنت تمر في a مؤشر إلى الهيكل الذي تريد تخزينه
فيه.
أريدك أن تصنع آخر الوظيفة المسماة عنصر الطباعة.
يأخذ هذا أيضًا كمعامل مؤشر هيكل من نوع البند.
هذه الوظيفة سوف تطبع محتويات المعلمة.
لذا أنت فقط ذاهبة للقيام ببعض printfs.
سيكون ذلك أساسيًا جدًا.
في الوظيفة الرئيسية التي تريدها للإعلان
عن عنصر بشكل أساسي عنصر من بنية المؤشر أو إعلان عنصر ومؤشر للهيكل
لأنك حينها يمكن تعيين عنوان
العنصر إلى نقطة العنصر.
وبعد ذلك تحتاج أيضًا إلى التخصيص ذاكرة لمؤشر اسم العنصر.
لذا تذكر ، اسم العنصر العنصر الموجود داخل الهيكل يشير إلى الحرف
مما يعني أنك يجب أن تخصص ذاكرة لذلك.
إذا كانت شخصية مجموعة ، لن تضطر إلى ذلك.
لكن تذكر ، عندما يكون لديك عنصر كمؤشر حرف ، كل ما يفعله
هو إنشاء ذاكرة فعلية العنوان ، قيمة هذا المؤشر.
إنه لا يخلق ذاكرة لما تشير إليه.
لذلك إذا قمت بتعيين ثابت حرفي في أي مكان في الذاكرة.
لذلك تريد أن تخصص الذاكرة لعنصر
اسم العنصر هذا داخل الهيكل.
يجب أن يكون مؤشر العنصر تم تمريرها إلى كل من
وظائف قراءة عنصر الطباعة.
إذن مرة أخرى ما سيساعده هذا التحدي أنت تفهم المؤشرات كيفية
استخدامها كعضو داخل هيكل ومن ثم أيضًا كيفية تمريرها
ولديك بعض الممارسة مع القيام ببعض malloc أيضًا.
ثم لا تنسى متى تقوم بعمل malloc ، عليك أن تفعل ذلك
مجانًا ، لذا تأكد من ذلك أضف ذلك إلى برنامجك.
إذا حظا سعيدا.
سأقدم حلا في المحاضرة القادمة.
بقدر ما تضيق الحجم ، يمكنك ذلك فقط اختر حجمًا عشوائيًا مثل 30 حرفًا
أو شيء من هذا القبيل.
ليس عليك قراءتها باللغة.
اسمحوا لي أن أعرف إذا كان لديك أي أسئلة. شكرًا لك.