Programmer نشر 21 نوفمبر 2015 أرسل تقرير نشر 21 نوفمبر 2015 (معدل) لاحظت في استخدام المؤشرات pointers في لغة C++ أنه يتم استخدام أحيانًا المتغير pointer مع وضع علامة نجمة '*' قبله واحيانًا يتم استخدام المتغير بدون نجمة فما الفرق بين كلا الاستخدامين؟ تم التعديل في 21 نوفمبر 2015 بواسطة Programmer اقتباس
0 Lujain Maaz نشر 22 نوفمبر 2015 أرسل تقرير نشر 22 نوفمبر 2015 (معدل) المؤشر هو متغير يُخزّن قيمة عنوان متغير آخر في الذاكرة بالنظام الست عشري hexadecimal، بالنسبة لاستخدام المؤشرات يتم اسناد عنوان متغير ما (عن طريق كتابة علامة '&' وتُقرأ "رفرنس" قبل المتغير) إلى المؤشر pointer عند تعريفه مثال:int number = 5; int *p = &number;أو بعد تعريف المؤشر:int number = 5; int *p; p= &numberلاحظ أن علامة نجمة '*' عرّفت المتغير على أنه pointer أي أنه عند وجود علامة '*' بعد نوع المتغير فهذا يعني أن المتغير هو مؤشر pointer.ولكن هناك استخدام آخر للعلامة '*' لاحظ المثال التالي:int number = 5; int *p; p= &number; printf(*p);عند وضع علامة '*' قبل المتغير وبعد تعريفه وإسناد عنوان متغير آخر إليه فهذا يعني أن p* هي قيمة هذا المتغير الذي يؤشر عليه المؤشر p.أي أن*p = 5 وهي قيمة المتغير number.int *p; // تعرف مؤشر من نوع int int number=5;// تعرف متغير من نوع int وقيمته 5 p= &number// تسند عنوان المتغير number في الذاكرة إلى المؤشر p int x = *p; تسند قيمة المتغير الذي يؤشر عليه المؤشر p إلى المتغير x أي *p=5 تم التعديل في 22 نوفمبر 2015 بواسطة Lujain اقتباس
السؤال
Programmer
لاحظت في استخدام المؤشرات pointers في لغة C++ أنه يتم استخدام أحيانًا المتغير pointer مع وضع علامة نجمة '*' قبله واحيانًا يتم استخدام المتغير بدون نجمة فما الفرق بين كلا الاستخدامين؟
تم التعديل في بواسطة Programmer1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.