السلطان
  1. الرئيسية
  2. الأمثلة
  3. الذاكرة

قيم في الكومة بـ`صندوق`، ومؤشرات خام تحتاج كتلة `غير_آمن`

memory/box_and_pointers.sn
// قيم في الكومة بـ`صندوق`، ومؤشرات خام تحتاج كتلة `غير_آمن`.
استورد std.io.println;
استورد std.text.number;

عرف الرئيسية(): عدد {
    دع المعلب: صندوق عدد = صندوق 40;
    دع المجموع: عدد = *المعلب + 2;
    اطبع_سطر(عدد_إلى_نص(المجموع));

    دع العداد: متغير عدد = 10;
    دع المؤشر: *متغير عدد = &متغير العداد;
    غير_آمن {
        *المؤشر := *المؤشر * 3;
    }
    اطبع_سطر(عدد_إلى_نص(العداد));
    أرجع 0;
}

التشغيل

بالمفسر، دون ترجمة:

./build/sultanc run examples/ar/memory/box_and_pointers.sn

أو ترجمه إلى ملف تنفيذي:

./build/sultanc examples/ar/memory/box_and_pointers.sn -o build/example && ./build/example

المصدر على GitHub   كل الأمثلة