سي بلس بلس: الدرس الثامن عشر

التعامل مع الذاكرة باستخدام المؤشرات (Pointers):

في C++، يمكنك استخدام المؤشرات للإشارة إلى عناوين الذاكرة والتحكم فيها مباشرة. تُستخدم المؤشرات لتخزين عناوين الذاكرة للمتغيرات والكائنات، مما يسمح لك بالوصول إلى البيانات وتعديلها بشكل مباشر. على سبيل المثال:

cppCopy code#include <iostream>
using namespace std;

int main() {
    int x = 10;
    int* ptr; // تعريف مؤشر
    ptr = &x; // تعيين قيمة المؤشر لعنوان x

    cout << "Value of x: " << x << endl;
    cout << "Address of x: " << &x << endl;
    cout << "Value of ptr: " << ptr << endl;
    cout << "Value pointed to by ptr: " << *ptr << endl;

    // تعديل قيمة x باستخدام المؤشر
    *ptr = 20;
    cout << "New value of x: " << x << endl;

    return 0;
}

التعامل مع المصفوفات باستخدام المؤشرات:

يمكن استخدام المؤشرات للوصول إلى عناصر المصفوفات والتعامل معها بشكل فعال. يمكن تعريف المؤشرات لتحديد عناصر المصفوفة والوصول إليها باستخدام التفريغ (dereferencing) للمؤشرات. على سبيل المثال:

cppCopy code#include <iostream>
using namespace std;

int main() {
    int numbers[5] = {1, 2, 3, 4, 5};
    int* ptr = numbers; // المؤشر يشير إلى عنوان العنصر الأول

    // الوصول إلى عناصر المصفوفة باستخدام المؤشر
    cout << "First element: " << *ptr << endl;
    cout << "Second element: " << *(ptr + 1) << endl;

    return 0;
}

التعامل مع المصفوفات متعددة الأبعاد باستخدام المؤشرات:

يمكن استخدام المؤشرات للوصول إلى عناصر المصفوفات متعددة الأبعاد والتعامل معها بشكل مماثل. يمكن تعريف المؤشرات للتنقل في المصفوفات متعددة الأبعاد باستخدام العناوين الفرعية (subscripts) لكل بُعد. على سبيل المثال:

cppCopy code#include <iostream>
using namespace std;

int main() {
    int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};
    int* ptr = *matrix; // المؤشر يشير إلى العنصر الأول في المصفوفة

    // الوصول إلى عناصر المصفوفة باستخدام المؤشر
    cout << "First element: " << *ptr << endl;
    cout << "Second element: " << *(ptr + 1) << endl;

    return 0;
}

الختام:

في هذا الدرس، قمنا بتوسيع فهمنا للمفاهيم الأساسية في C++، بما في ذلك التعامل مع المؤشرات واستخدامها للتحكم في الذاكرة، وكيفية التعامل مع المصفوفات باستخدام المؤشرات. يمكنك الآن استخدام هذه المفاهيم بشكل فعّال لتطوير برامجك بشكل أكثر تعقيدًا وفعالية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *