Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

C++العوامل الحسابية و المؤشرات

عندما نقوم بتعريف مصفوفة, فإننا نقوم بتعريف شيء واحد و نحدد عدد عناصره.
و عندها يقوم المترجم بإنشاء جميع عناصر المصفوفة بالترتيب وراء بعضها في الذاكرة.
إذا قمت بإضافة مؤشر لتعريف المصفوفة فهذا يجعلك قادر على التنقل بين عناصرها باستخدام العوامل الحسابية -, --, +, ++.


معلومة

عندما نستخدم مؤشر للتنقل بين عناصر المصفوفة, نقوم بجعل قيمة المؤشر تساوي المصفوفة كما هي.
عندها سيتم وضع عنوان أول عنصر في المصفوفة كقيمة للمؤشر كما سترى في المثال التالي.


في المثال التالي قمنا بتعريف مصفوفة إسمها fruit تحتوي على ثلاث قيمة نصية.
بعدها قمنا بإنشاء مؤشر إسمه ptr و جعله يشير للمصفوفة.

مثال

main.cpp
#include <iostream>
using namespace std;
int main()
{
// تحتوي على ثلاث قيم fruit هنا قمنا بتعريف مصفوفة إسمها
string fruit[3] = {"Apple", "Banana", "Orange"};
// fruit و جعلناه يشير لعناصر المصفوفة ptr هنا قمنا بتعريف مؤشر إسمه
string* ptr = fruit;
// و من الطبيعي أنها ستكون أول قيمة موجودة في المصفوفة ptr هنا قمنا بطباعة قيمة العنصر الذي يشير إليه المؤشر
cout << *ptr << endl;
// بهدف الإنتقال إلى العنصر التالي الموجود في المصفوفة ptr هنا قمنا بإضافة 1 على عنوان العنصر الموجود في المؤشر
ptr++;
// و من الطبيعي أنها ستكون ثاني قيمة موجودة في المصفوفة ptr هنا قمنا بطباعة قيمة العنصر الذي يشير إليه المؤشر
cout << *ptr << endl;
// بهدف الإنتقال إلى العنصر التالي الموجود في المصفوفة ptr هنا قمنا بإضافة 1 على عنوان العنصر الموجود في المؤشر
ptr++;
// و من الطبيعي أنها ستكون ثالث قيمة موجودة في المصفوفة ptr هنا قمنا بطباعة قيمة العنصر الذي يشير إليه المؤشر
cout << *ptr;
return 0;
}
#include <iostream> using namespace std; int main() { // تحتوي على ثلاث قيم fruit هنا قمنا بتعريف مصفوفة إسمها string fruit[3] = {"Apple", "Banana", "Orange"}; // fruit و جعلناه يشير لعناصر المصفوفة ptr هنا قمنا بتعريف مؤشر إسمه string* ptr = fruit; // و من الطبيعي أنها ستكون أول قيمة موجودة في المصفوفة ptr هنا قمنا بطباعة قيمة العنصر الذي يشير إليه المؤشر cout << *ptr << endl; // بهدف الإنتقال إلى العنصر التالي الموجود في المصفوفة ptr هنا قمنا بإضافة 1 على عنوان العنصر الموجود في المؤشر ptr++; // و من الطبيعي أنها ستكون ثاني قيمة موجودة في المصفوفة ptr هنا قمنا بطباعة قيمة العنصر الذي يشير إليه المؤشر cout << *ptr << endl; // بهدف الإنتقال إلى العنصر التالي الموجود في المصفوفة ptr هنا قمنا بإضافة 1 على عنوان العنصر الموجود في المؤشر ptr++; // و من الطبيعي أنها ستكون ثالث قيمة موجودة في المصفوفة ptr هنا قمنا بطباعة قيمة العنصر الذي يشير إليه المؤشر cout << *ptr; return 0; }

سنحصل على نتيجة تشبه النتيجة التالية عند التشغيل.
نلاحظ أن المؤشر x ظهر فيه قيمة عشوائية.

Apple
Banana
Orange
Apple Banana Orange