ما علاقة pointers مع memory وهل يمكن إجراء بعض التعديلات ؟

محمد الحربي • منذ 4 سنوات

السلام عليكم

 

في هذا الترم الدراسي ندرس عن memory &  address 

فخطر في بالي سؤال 

وهو هل هناك علاقة بين المؤشر (pointer) مع (memory) وهل يمكن التعديل على القيمه من خلال معرفة العنوان فقط ؟!

على سبيل المثل

نفترض ان هناك كود مكتوب بلغة c++ 

int a = 5;

int *aPtr = &a; // hold the address of a

إذن قيمة البوينتر هي عنوان متغير a

سيتخرج بهذا الشكل تقريبا 

0xaa22bb55

فهل بإمكانني التعديل على القيمه الموجوده في هذا العنوان من خلال لغة الاسمبلي على سبيل المثال ؟!

كلمات دليلية: assembly pointers

الإجابة الصحيحة

xlmnxp • منذ 4 سنوات

نعم بإمكانك التعديل عليها مباشرة من عنوانها في الذاكرة

int a = 5;
int *aPtr = &a; // hold the address of a
*aPtr = 2;

printf("a content: %d", a); // a content: 2

 

الإجابات (1)

xlmnxp • منذ 4 سنوات
الإجابة الصحيحة

نعم بإمكانك التعديل عليها مباشرة من عنوانها في الذاكرة

int a = 5;
int *aPtr = &a; // hold the address of a
*aPtr = 2;

printf("a content: %d", a); // a content: 2

 

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !