فيما يتعلق بكيفية تخزين المتغير في ذاكرة الوصول العشوائي ، ما هو الفرق بين "int؟ X = 0" و "int؟ X = null"؟


الاجابه 1:

سيكون للنوع الفارغ نوع من الحقول الإضافية التي تشير إلى ما إذا كانت القيمة صالحة. يبدو أن المثال الخاص بك في C #. في هذه الحالة ، كثافة العمليات؟ اختصار لـ System.Nullable . System.Nullable هو نوع عام يلف حرف T مع حقل منطقي إضافي ، HasValue. سيتم تخزين هذا الحقل المنطقي الإضافي في الذاكرة مع تخزين T. بناء الجملة المضافة في C # لأنواع القيمة الفارغة يخفي الإجراءات الأساسية التي تستخدم الحقل.

من الناحية النظرية ، يبدو الرمز كما يلي:

كثافة العمليات؟ س = 0 ؛ // يترجم إلى
x.Value = 0 ؛
x.HasValue = صواب ؛

كثافة العمليات؟ س = لاغ // ترجمة الى
x.HasValue = false؛

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

هيكل لاغى (النظام)


الاجابه 2:

يعتمد كليا على كيفية تطبيق لغة البرمجة. يمكن تنفيذ نفس اللغة بعدة طرق مختلفة اعتمادًا على الأجهزة ومجمعيها المعينين.

بعد قولي هذا ، في العديد من اللغات ، يحدد المتغير موقع ذاكرة محدد حيث يتم تخزين البيانات الفعلية. إذا كان للمتغير قيمة ، حتى صفر ، فسيتم تعيين الموقع. إذا كانت خالية ، فسيتم تعيين الموقع نفسه على قيمة لا معنى لها ، صفر أو غير ذلك.


الاجابه 3:

يعتمد كليا على كيفية تطبيق لغة البرمجة. يمكن تنفيذ نفس اللغة بعدة طرق مختلفة اعتمادًا على الأجهزة ومجمعيها المعينين.

بعد قولي هذا ، في العديد من اللغات ، يحدد المتغير موقع ذاكرة محدد حيث يتم تخزين البيانات الفعلية. إذا كان للمتغير قيمة ، حتى صفر ، فسيتم تعيين الموقع. إذا كانت خالية ، فسيتم تعيين الموقع نفسه على قيمة لا معنى لها ، صفر أو غير ذلك.


الاجابه 4:

يعتمد كليا على كيفية تطبيق لغة البرمجة. يمكن تنفيذ نفس اللغة بعدة طرق مختلفة اعتمادًا على الأجهزة ومجمعيها المعينين.

بعد قولي هذا ، في العديد من اللغات ، يحدد المتغير موقع ذاكرة محدد حيث يتم تخزين البيانات الفعلية. إذا كان للمتغير قيمة ، حتى صفر ، فسيتم تعيين الموقع. إذا كانت خالية ، فسيتم تعيين الموقع نفسه على قيمة لا معنى لها ، صفر أو غير ذلك.


الاجابه 5:

يعتمد كليا على كيفية تطبيق لغة البرمجة. يمكن تنفيذ نفس اللغة بعدة طرق مختلفة اعتمادًا على الأجهزة ومجمعيها المعينين.

بعد قولي هذا ، في العديد من اللغات ، يحدد المتغير موقع ذاكرة محدد حيث يتم تخزين البيانات الفعلية. إذا كان للمتغير قيمة ، حتى صفر ، فسيتم تعيين الموقع. إذا كانت خالية ، فسيتم تعيين الموقع نفسه على قيمة لا معنى لها ، صفر أو غير ذلك.