في برمجة الكمبيوتر ، يعمل مشغل dereference ، المعروف أيضًا باسم عامل التشغيل غير المباشر ، على متغير المؤشر ويعيد قيمة الموقع ، أو القيمة l ، التي يشير إليها في الذاكرة. في لغة البرمجة C ، يُشار إلى عامل التفضيل بعلامة نجمية ( * ).
على سبيل المثال ، في C ، يمكننا إعلان متغير x يحمل قيمة عددية ، ومتغير p يحتفظ بمؤشر إلى قيمة عدد صحيح في الذاكرة:
int x ؛ int * p؛
هنا ، تخبر العلامة النجمية المترجم ، " p ليس عددًا صحيحًا ، بل هو مؤشر إلى موقع في الذاكرة يحمل عددًا صحيحًا". هنا ، ليس dereference ، ولكن جزء من إعلان المؤشر.
الآن يمكننا ضبط p على الموقع المخصص لقيمة x باستخدام & عامل التشغيل ، مما يعني "عنوان."
p = & x؛
يخبر هذا الإجراء المحول البرمجي ، "العنوان في الذاكرة الذي يشير إليه p هو العنوان الذي قمت بتخصيصه للأعداد الصحيحة x ."
للتوضيح ، إذا قمنا بتعيين قيمة x إلى 1 باستخدام الطريقة التقليدية ، وقمنا بطباعة القيمة ، فسيكون الناتج 1 .
س = 1 ؛ printf ("٪ d"، x)؛
ومع ذلك ، يمكننا أيضًا تغيير قيمة x بالرجوع إلى ص . ونحن نفعل هذا مع النجمة:
* ع = 2 ؛ printf ("٪ d"، x)؛
ويتغير الإخراج إلى 2 .
بمعنى آخر ، بعد التصريح بـ p كمؤشر من نفس النوع مثل x ثم تعيينه للإشارة إلى قيمة x ، يمكننا استخدام x و * p بالتبادل. نظرًا لأن كلاهما يشير إلى نفس الشيء ، فإن تغيير قيمة أحدهما سيغير قيمة الآخر.
مؤشر ، مصطلحات البرمجة ، متغير