في هذا المبدأ التوجيهي ، سنرى الفرق بين * و & المشغلين في البرمجة بلغة 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.
انتاج |
خاتمة
يلعب المشغلون دورًا مهمًا جدًا في لغة البرمجة. في هذه المقالة ، ناقشنا عاملين يعملان مع معاملات واحدة فقط ويستخدمان لرفع أداء الكود في لغة البرمجة سي. كلاهما * و & يستنتج المشغلون في معناها ووظائفها * يستخدم من أجل 'إرجاع القيمة المتغيرة' بينما & هو من أجل 'معالجة القيم في وقت التشغيل عن طريق أخذ عناوين الذاكرة'.