المؤشر (Pointer) هو ميزة موجودة في لغات البرمجة المنخفضة المستوى (Low Level) مثل C و ++C و هو يستخدم للوصول لأي شيء يتم تعريفه في الذاكرة بشكل مباشر و هذا الأمر يجعل أداء برامجك سريع جداً.
شرحناه بالتفصيل في دورة ++C في درس المؤشرات إن أردت شرح مفصل له و لكنه لن يفيدك إطلاقاً إن كنت تتعلم لغة جافا لأن المؤشر ميزة غير موجودة فيها أساساً فهي تعتبر لغة عالية المستوى (High Level).
كلامه كمبدأ صحيح أخي لأن القسم الذي يشير للعقدة التالية يقال له في العادة Pointer و لكن هذا الأمر يختلف مع جافا و سأوضح لك ذلك أكثر.
في لغة جافا يتم الإعتماد على عنوان المرجع (Reference) الذي يقوم مترجم جافا بتسجيله في الذاكرة.
فكرة عنوان المرجع ذكرناها بالتفصيل في المثال الثاني في درس تحويل الأنواع في جافا.
مثال
في المثال التالي قمت بإنشاء كلاس إسمه LinkedList جعلته مخصص لتخزين أعداد، أي سيكون بمثابة مصفوفة لا حجم لها.
classLinkedList {
// يمثل أول عنصر head الذي يوضع كقيمة في Node الكائن من
Node head;
// LinkedList سيتم تخزينها في الكلاس Node هذا الكلاس يمثل أيstaticclassNode {
// (next) و عنوان العنصر التالي (value) سيملك قيمة Node الكائن منint value;
Node next;
// value و يمرر القيمة التي نعطيها له في المتغير Node هذا كونستركتور ينشئ// لأنني سأقوم بتحديد من هو العنصر التالي بأنفسنا null موضوع next لاحظ أن
Node(int d) {
value = d;
next = null;
}
}
publicstaticvoidmain(String[] args) {
// الذي قمت أنا ببنائه و ليس الجاهز في جافا LinkedList هنا أنشت كائن يمثلLinkedListlinkedList=newLinkedList();
// head لأنني وضعته في الكائن linkedList قيمته 1 و ضعته كأول عنصر في Node هنا أنشأت// و قيمته 3 third آخر إسمه Node و قيمته 2، ثم أنشأت second آخر إسمه Node بعدها أنشأت
linkedList.head = newNode(1);
Nodesecond=newNode(2);
Nodethird=newNode(3);
// head الذي يملكه الكائن next في الكائن second هنا أضفت مرجع الكائن// linkedList و هذا يعني أنه أصبح العنصر الثاني في الكائن
linkedList.head.next = second;
// head الذي يملكه الكائن next في الكائن third هنا أضفت مرجع الكائن// linkedList و هذا يعني أنه أصبح العنصر الثالث في الكائن
second.next = third;
// linkedList هنا قمت بعرض جميع قيم العناصر المخزنة في الكائن
System.out.print("LinkedList: ");
while (linkedList.head != null) {
System.out.print(linkedList.head.value + " ");
linkedList.head = linkedList.head.next;
}
}
}
المؤشر (Pointer) هو ميزة موجودة في لغات البرمجة المنخفضة المستوى (Low Level) مثل C و ++C و هو يستخدم للوصول لأي شيء يتم تعريفه في الذاكرة بشكل مباشر و هذا الأمر يجعل أداء برامجك سريع جداً.
شرحناه بالتفصيل في دورة ++C في درس المؤشرات إن أردت شرح مفصل له و لكنه لن يفيدك إطلاقاً إن كنت تتعلم لغة جافا لأن المؤشر ميزة غير موجودة فيها أساساً فهي تعتبر لغة عالية المستوى (High Level).