سؤال

لقد صادفت خطًا يرد أدناه

           char *ch=(char*)3000

أريد أن أعرف معنى هذا الخط .....

لا يوجد حل صحيح

نصائح أخرى

يبدو أن المؤشر ، CH ، يتم تعيين عنوان ذاكرة مطلق 3000. بالضبط ما هو في موقع الذاكرة 3000.

ربما ستكون رؤية بقية الكود ذات صلة ...

يمكن أن يكون هذا المؤشر نسبة إلى مقطع التي توجد فيها (على معالجات Intel). في هذه الحالة 3000 يمكن أن يكون مجرد فهرس في هذا القطاع ، محدد سابقًا في البرنامج ، حيث ليس لدينا الخطوط.

هذا يعتمد على بنية النظام ، والبيئة ، ونظام التشغيل ، والمترجم ، وبقية الكود (والمبرمج ...).

أليس هذا واضحا؟

القيمة العددية "3000" تم إلقاؤها على مؤشر Char ، أي ch تتم تهيئته إلى عنوان الذاكرة 3000 (عشري).

AFAIK ، 3000 لا يوجد عنوان/قيمة خاصة ، وفي معظم الحالات التي تصل إليها قد تؤدي إلى خطأ تجزئة أو قيمة القمامة.

إذا رأيت ذلك في التعليمات البرمجية ، فقد يتم استخدامه بشكل غير صحيح بدلاً من (باطل*) ، على سبيل المثال في حالة وجود خرائط حيث يكون لديك أزواج القيمة الرئيسية ، قد يتم إلقاء النتيجة في عدد صحيح في هذه الحالة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top