




السمعة:
- إنضم2 سبتمبر 2023
- المشاركات 142
- مستوى التفاعل 244
- النقاط 43
تعتبر المؤشرات Pointers من أقوى الميزات التي تمتاز بها لغة ++C عن باقي اللغات المشهورة مثل جافا، فيجوال بيسك..الخ.
لفهم عمل المؤشرات واستخدامها لابد أولًا أن يكون لديك معرفة عن ما هو العنوان Address في ذاكرة الحاسوب.
تُقسم ذاكرة الحاسوب إلى أجزاء من bytes وكل بايت لديه العنوان الخاص به على سبيل المثال في ذاكرة حجمها 1 KB يوجد 1024 bytes وكل بايت يعطي عنوان (أي أن مجال العناوين من 0 - 1023).
فالمؤشرات إذًا هي متغيرات تختزن عناوين متغيرات أخرى في الذاكرة بالـ hexadecimal النظام الست عشري، يمكن للمؤشرات أن تؤشر على متغير من نوع primitive أو عنصر من مصفوفة array أو غرض object.
يُعرّف المؤشر بطريقتين:
مثال على طريقة تعريف مؤشر وإسناد عنوان متغير من نوع int إليه:
فهنا قمنا بتعريف Pointers إسمه ptr من نوع int وبعد ذالك قمنا بتعريف متغير من نوع int اسمه a وقمنا بتخزين قيمة فيه وهي (5)
وفي المرحلة الاخيرة قمنا بتخزين عنوان المتغير a في المؤشر ptr حيث أن ال a& تعني عنوان المتغير a ويطلق مسمى عليها (Reference a) رفرنس a).
مثال:
في هذا المثال تم تعريف متغير ومؤشر من نوع int وتخزين القيمة 5 في المتغير c
حيث تم معرفة عنوان المتغير c فكانت =>>> ( c = 0x7fff5fbff80c& )
في المرحلة الثانية [ ; pc = &c ] قام بتخزين عنوان المتغير c في المؤشر pc
معلومة : نستطيع الوصول للقيمة المخزنة في المتغير أولا => كما تعلمنا في السابق بالوصول الى قيمة المتغير c
ثانيا => عن طريق pc* ( لطباعة قيمة المتغير c)
الناتج :
ونستطيع أيضا تغير قيمة المتغير c اولا => كما تعلمنا في السابق بتغير قيمة المتغير نفسه
ثانيا => عن طريق pc* (لتغير قيمة المتغير المسند للمؤشر )
مثال:
فكان الناتج : 
مثال أخير للتوضيح وتلخيص الأفكار بإذن الله
: (يوجد شرح كل خطوة في المثال نفسه ) 
فكان الناتج :
أن شاء الله تكون الفكرة وضحت و وصلت الكم
يعطيكم العافية
اللهم انتصر لهم واربط على قلوبهم وردَّهم إلى ديارهم ومسجدهم آمنين،
اللهم واشدد على أعدائهم حتى يروا العذاب الأليم
. اللهم احرس أهل غزة بعينك التي لا تنام
. اللهم حرر المسجد الأقصى، واجبر كسرهم،
واشف مرضاهم، وتقبل شهدائهم برحمتك.
ما ننسى أهلنا في غزة من دعاء
لفهم عمل المؤشرات واستخدامها لابد أولًا أن يكون لديك معرفة عن ما هو العنوان Address في ذاكرة الحاسوب.
تُقسم ذاكرة الحاسوب إلى أجزاء من bytes وكل بايت لديه العنوان الخاص به على سبيل المثال في ذاكرة حجمها 1 KB يوجد 1024 bytes وكل بايت يعطي عنوان (أي أن مجال العناوين من 0 - 1023).
فالمؤشرات إذًا هي متغيرات تختزن عناوين متغيرات أخرى في الذاكرة بالـ hexadecimal النظام الست عشري، يمكن للمؤشرات أن تؤشر على متغير من نوع primitive أو عنصر من مصفوفة array أو غرض object.
يُعرّف المؤشر بطريقتين:
وفي المرحلة الاخيرة قمنا بتخزين عنوان المتغير a في المؤشر ptr حيث أن ال a& تعني عنوان المتغير a ويطلق مسمى عليها (Reference a) رفرنس a).
مثال:
في هذا المثال تم تعريف متغير ومؤشر من نوع int وتخزين القيمة 5 في المتغير c
حيث تم معرفة عنوان المتغير c فكانت =>>> ( c = 0x7fff5fbff80c& )
معلومة : نستطيع الوصول للقيمة المخزنة في المتغير أولا => كما تعلمنا في السابق بالوصول الى قيمة المتغير c
ثانيا => عن طريق pc* ( لطباعة قيمة المتغير c)

ثانيا => عن طريق pc* (لتغير قيمة المتغير المسند للمؤشر )




أن شاء الله تكون الفكرة وضحت و وصلت الكم



اللهم انتصر لهم واربط على قلوبهم وردَّهم إلى ديارهم ومسجدهم آمنين،
اللهم واشدد على أعدائهم حتى يروا العذاب الأليم
. اللهم احرس أهل غزة بعينك التي لا تنام
. اللهم حرر المسجد الأقصى، واجبر كسرهم،
واشف مرضاهم، وتقبل شهدائهم برحمتك.
ما ننسى أهلنا في غزة من دعاء
فهرس الدروس
-
-
-
-
-
-
-
-
-
-
-
دروس البرمجة الكائنية
التعديل الأخير بواسطة المشرف: