18. «خطر» واستدعاء C
الهدف
رابط إلى قسم «الهدف»أن تستدعي دالة من مكتبة C، وتعرف ما الذي لا يُكتب إلا في كتلة خطر ولماذا.
الشرح
رابط إلى قسم «الشرح»خارجييصرّح بدالة من مكتبة C بأنواع C صريحة، ثم تستدعيها كأي دالة. المجمّع يتحقق عند الترجمة أن الرمز موجود.طول("ميم")يعدّ الأحرف (3)، وstrlenمن C يعدّ البايتات (6): الحرف العربي بايتان في UTF-8.
خارجي "m" داله جذر_c(س كسر) كسر باسم "sqrt"خارجي داله طول_c(ن نص) حجم باسم "strlen"اطبع(جذر_c(2.0))اطبع("ميم بالبايتات: ", طول_c("ميم"), "، وبالأحرف: ", طول("ميم"))- الذاكرة الخام (
احجز_خام) وفهرسة المؤشر الخام وتعطيل الفحوص (بلا_فحص) لا تُكتب إلا داخلخطر:. هناك لا يفحص المجمّع الحدود، والخطأ مسؤوليتك.
خطر: م = احجز_خام(عدد32, 3) م[0] = 10 م[1] = 20 م[2] = 30 اطبع(م[0] + م[1] + م[2]) حرر(م)- لا يحتاجه المبتدئ: القوائم والقواميس والوحدات القياسية تكفي أغلب البرامج. و
خطريحصر ما قد يُفسد الذاكرة في كتل تراها بعينك وتراجعها. - الخيار
--no-unsafeيمنعخطركله، و--no-ffiيمنعخارجي.
تمرين
رابط إلى قسم «تمرين»صرّح بالدالة abs من مكتبة C (تأخذ عدد32 وترجعه)، واطبع قيمتها المطلقة لـ -7 و0 و12.
اعرض الحل
خارجي داله abs_c(س عدد32) عدد32 باسم "abs"لكل ع في [-7, 0, 12]: اطبع(ع, " ← ", abs_c(ع))الأخطاء الشائعة
رابط إلى قسم «الأخطاء الشائعة»عملية خام خارج خطر:
م = احجز_خام(عدد, 2)رمز الخروج: 2
في فهرس الأخطاء: E0414
اقرأ أيضاً
رابط إلى قسم «اقرأ أيضاً»ما هو خطر؟ · الطبقة المنخفضة · استدعاء C