مؤشرات C ++
تكوين المؤشرات
لقد تعلمت من الفصل السابق أنه يمكننا الحصول على عنوان ذاكرة متغير باستخدام &
عامل التشغيل:
مثال
string food = "Pizza";
// A food variable of type string
cout <<
food; // Outputs the value of food (Pizza)
cout << &food; // Outputs the memory address of food (0x6dfed4)
ومع ذلك ، فإن المؤشر هو متغير يخزن عنوان الذاكرة على أنه قيمته .
يشير متغير المؤشر إلى نوع بيانات (مثل int
أو string
) من نفس النوع ، ويتم إنشاؤه باستخدام *
عامل التشغيل. يتم تعيين عنوان المتغير الذي تعمل معه للمؤشر:
مثال
string food = "Pizza"; // A food variable
of type string
string* ptr =
&food; // A pointer variable, with the name
ptr, that stores the
address of food
// Output the value of food (Pizza)
cout << food << "\n";
// Output
the memory address of food (0x6dfed4)
cout << &food << "\n";
//
Output the memory address of food with the pointer (0x6dfed4)
cout <<
ptr << "\n";
شرح المثال
أنشئ متغير مؤشر بالاسم ptr
الذي يشير إلى متغير string
باستخدام علامة النجمة
*
( string* ptr
). لاحظ أن نوع المؤشر يجب أن يتطابق مع نوع المتغير الذي تعمل معه.
استخدم &
عامل التشغيل لتخزين عنوان ذاكرة المتغير المسمى food
، وقم بتعيينه للمؤشر.
الآن ، ptr
يحمل قيمة food
عنوان الذاكرة.
نصيحة: هناك ثلاث طرق للإعلان عن متغيرات المؤشر ، لكن الطريقة الأولى مفضلة:
string* mystring; // Preferred
string *mystring;
string * mystring;