Programmer نشر 21 نوفمبر 2015 أرسل تقرير نشر 21 نوفمبر 2015 أقوم بدراسة الفروقات بين لغات البرمجة وأحتاج لفهم المؤشرات في لغة C++ ومعرفة استخدامها مع الشرح اقتباس
0 Lujain Maaz نشر 21 نوفمبر 2015 أرسل تقرير نشر 21 نوفمبر 2015 تعتبر المؤشرات Pointers من أقوى الميزات التي تمتاز بها لغة ++C عن باقي اللغات المشهورة مثل جافا، فيجوال بيسك..الخ.لفهم عمل المؤشرات واستخدامها لابد أولًا أن يكون لديك معرفة عن ما هو العنوان Address في ذاكرة الحاسوب. تُقسم ذاكرة الحاسوب إلى أجزاء من bytes وكل بايت لديه العنوان الخاص به على سبيل المثال في ذاكرة حجمها 1 KB يوجد 1024 bytes وكل بايت يعطي عنوان (أي أن مجال العناوين من 0 - 1023).فالمؤشرات إذًا هي متغيرات تختزن عناوين متغيرات أخرى في الذاكرة بالـ hexadecimal النظام الست عشري، يمكن للمؤشرات أن تؤشر على متغير من نوع primitive أو عنصر من مصفوفة array أو غرض object.يُعرّف المؤشر بطريقتين:int *p; أو int* p;مثال على طريقة تعريف مؤشر وإسناد عنوان متغير من نوع int إليه:int* ptr; int a = 5; ptr = &a; // &a is the address of a.التعليمة البرمجية int* ptr تعرف مؤشر pointer من نوع int أي أن العنوان الذي يختزنه هو عنوان متغير من نوع int.التعليمة البرمجية ptr = &a تقوم بإسناد عنوان المتغير a إلى المؤشر p (أي أن a& هو عنوان المتغير a وتُقرأ ( Reference a) رفرنس a).مثال:#include <iostream> using namespace std; int main() { int *pc, c; c = 5; cout<< "Address of c (&c): " << &c << endl; cout<< "Value of c (c): " << c << endl << endl; pc = &c; // Pointer pc holds the memory address of variable c cout<< "Address that pointer pc holds (pc): "<< pc << endl; cout<< "Content of the address pointer pc holds (*pc): " << *pc << endl << endl; c = 11; // The content inside memory address &c is changed from 5 to 11. cout << "Address pointer pc holds (pc): " << pc << endl; cout << "Content of the address pointer pc holds (*pc): " << *pc << endl << endl; *pc = 2; cout<< "Address of c (&c): "<< &c <<endl; cout<<"Value of c (c): "<< c<<endl<< endl; return 0; }النتيجة:ماذا تعني المؤشرات pointers في ++C ؟ 1 اقتباس
السؤال
Programmer
أقوم بدراسة الفروقات بين لغات البرمجة وأحتاج لفهم المؤشرات في لغة C++ ومعرفة استخدامها مع الشرح
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.