ما هو الفرق بين * والمشغلين في برمجة سي

Ma Hw Alfrq Byn Walmshghlyn Fy Brmjt Sy



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

في هذا المبدأ التوجيهي ، سنرى الفرق بين * و & المشغلين في البرمجة بلغة C.

* عامل في C

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





& عامل في C

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



أمثلة

فيما يلي بعض الأمثلة على برامج سي التي تستخدم * المشغل أو العامل، & العامل ومزيج من كليهما.



مثال 1: برنامج يستخدم (*) عامل التشغيل

# تضمين

int رئيسي ( ) {
int أ = 5 ؛
int * ص = & أ ؛
printf ( 'قيمة A هي٪ d ' و * ص ) ؛
يعود 0 ؛
}

الكود يهيئ المتغير أ مع القيمة 5 ثم يعلن عن متغير من نوع المؤشر أن يكون له بعض عناوين الذاكرة وفي وظيفة printf ، فإنه يعرض قيمة العنوان أ وهو 5.





انتاج |



مثال 2: برنامج يستخدم (&) عامل التشغيل

# تضمين

int رئيسي ( )
{
int var1 = 1000 ؛
int var2 ؛
var2 = & var1 ؛
printf ( 'عنوان موقع الذاكرة الخاص بـ var2 هو٪ i' var2 ) ؛
يعود 0 ؛
}

في الكود أعلاه ، أولاً ، يوجد متغير عدد صحيح var1 قيمة 1000. هناك متغير آخر var2 يأخذ عنوان المتغير var1 . ثم يتم طباعة العنوان باستخدام ملف ٪أنا محددات التنسيق.

انتاج |

المثال 3: البرنامج يستخدم عوامل التشغيل & و *

# تضمين
int رئيسي ( ) {
int أأ = 5 ، ب ؛
int * ص ؛
ص = & أأ ؛
ب = * ص ؛
printf ( '----- عنوان aa هو 0x٪ x ----- ' و & أأ ) ؛
printf ( '----- Addres of-bb هي 0x٪ x ----- ' و & ب ) ؛
printf ( '----- قيمة pp هي 0x٪ x ----- ' ، ص ) ؛
printf ( '--------- الآن قيمة aa هي٪ d ----- ' ، أأ ) ؛
printf ( '------- قيمة * pp iss٪ d ----- ' و * ص ) ؛
printf ( '----- قيمة bb هي:٪ d ----' ، ب ) ؛
يعود 0 ؛
}

في كود C أعلاه ، تمت تهيئة متغيرين عدد صحيح بسيط ومتغير نوع مؤشر واحد * pp. ثم نقوم بتعيين عنوان aa إلى pp ونرجع قيمته مرة أخرى بواسطة متغير bb. في النهاية ، نطبع جميع القيم باستخدام وظيفة printf.

انتاج |

خاتمة

يلعب المشغلون دورًا مهمًا جدًا في لغة البرمجة. في هذه المقالة ، ناقشنا عاملين يعملان مع معاملات واحدة فقط ويستخدمان لرفع أداء الكود في لغة البرمجة سي. كلاهما * و & يستنتج المشغلون في معناها ووظائفها * يستخدم من أجل 'إرجاع القيمة المتغيرة' بينما & هو من أجل 'معالجة القيم في وقت التشغيل عن طريق أخذ عناوين الذاكرة'.