stanford-oval/wikipedia huggingface dataset:
نقرة رأس عظم الفخذ

| نقرة رأس عظم الفخذ>  الاسم العلمي fovea capitis femoris  | نقرة رأس عظم الفخذ>  الاسم العلمي fovea capitis femoris  |
| --- | --- |
الجزء العُلوي من عظمة الفخذ اليُمنى، رؤية خلفية من الأعلى. نقرة رأس عظم الفخذ مؤشّر عليها بالون الأزرق في أعلى اليسار.: الجزء العُلوي من عظمة الفخذ اليُمنى، رؤية خلفية من الأعلى. نقرة رأس عظم الفخذ مؤشّر عليها بالون الأزرق في أعلى اليسار.
نظرة من الخلف لمفصل الورك الأيسر، بعد إزالة أرضية الحُق (بالإنجليزية: acetabulum)‏ من داخل الحوض. نقرة رأس عظم الفخذ تظهر بوضوح في وسط رأس عظم الفخذ ، أعلى وسط الصورة، و خارج منها رِباطُ رَأْسِ الفَخِذ.نظرة من الخلف لمفصل الورك الأيسر، بعد إزالة أرضية الحُق (بالإنجليزية: acetabulum)‏ من داخل الحوض. نقرة رأس عظم الفخذ تظهر بوضوح في وسط رأس عظم الفخذ ، أعلى وسط الصورة، و خارج منها رِباطُ رَأْسِ الفَخِذ.: نظرة من الخلف لمفصل الورك الأيسر، بعد إزالة أرضية الحُق (بالإنجليزية: acetabulum)‏ من داخل الحوض. نقرة رأس عظم الفخذ تظهر بوضوح في وسط رأس عظم الفخذ ، أعلى وسط الصورة، و خارج منها رِباطُ رَأْسِ الفَخِذ.نظرة من الخلف لمفصل الورك الأيسر، بعد إزالة أرضية الحُق (بالإنجليزية: acetabulum)‏ من داخل الحوض. نقرة رأس عظم الفخذ تظهر بوضوح في وسط رأس عظم الفخذ ، أعلى وسط الصورة، و خارج منها رِباطُ رَأْسِ الفَخِذ.
تفاصيل : تفاصيل 
جزء من: مفصل الورك  ‏  
 معرفات    :  معرفات    
غرايز: ص.243
ترمينولوجيا أناتوميكا: 03.6.07.010    
FMA: 43235  
ن.ف.م.ط.: A02.513.514.800،  وA02.513.901.500،  وA02.835.583.411.500،  وA02.835.583.512.950،  وA10.165.669.514.800،  وA10.165.669.901.500  
ن.ف.م.ط.: D000069593  
دورلاند/إلزيفير: 12377206
[عدل في ويكي بيانات ]: [عدل في ويكي بيانات ]
تعديل مصدري - تعديل  : تعديل مصدري - تعديل  
نُقْرَةُ رَأْسِ الفَخِذِيّ أو حُفْرَةُ رَأْسِ العَظْمِ الفَخِذِيّ (باللاتينية: fovea capitis femoris) (بالإنجليزية: Fovea of head of femur)‏ هي جزء صغير مُنْخَفَض و مقعّر في رأس الفخذ على شكل بَيْضَاوِيّ طفيف (إِهْلِيلَجِيّ). تقع النقرة إلى الخلف تحت مركز السطح المفصلي لرأس الفخذ، و تتجه من أعلى إلى أسفل الجزء الخلفي.
الارتباط

يرتكز في نُقْرَةُ رَأْسِ الفَخِذِيّ من الداخل: رِباطُ رَأْسِ الفَخِذ (بالإنجليزية: Ligament of head of femur)‏ (باللاتينية: ligamentum teres femoris) أو (باللاتينية: Ligamentum capitis femoris) ، و يُسمّى أيضاً الرباط المدور الفخذي (باللاتينية: round ligament of the femur).
يُعتقد أن اتجاه شكلها البَيْضَاوِيّ مناسب للألياف المتوترة (المشدودة) للرباط المدور الفخذي.
البنيان

خلافا لرأس عظم الفخذ ، فإن نُقْرَةُ رَأْسِ عظم الفخذ لا يوجد عليها أي غضروف زجاجي (غضروف هياليني). ويُقال إن نقرة الرأس تحتوي على قنوات أوعية دموية في ثلثي الأشخاص، ولكن مساهمة تلكم القنوات في وعائية رأس الفخذ تختلف.
صور اضافية

علم تجسيم الأمراض. عيّنة من رأس عظم الفخذ مع بعض الغشاء الزليلي المتعلق في الجزء السفلي، بينما رِباطُ رَأْسِ الفَخِذ (بالإنجليزية: Ligament of head of femur) (باللاتينية: ligamentum teres femoris يُرى مرتبطاً بالجزء العلوي من داخل نقرة رأس عظم الفخذ. 
وحدة قياس الطول مبينة على المِسْطَرَة في الجانب الأيسر من الصورة بالسنتيمتر.
عظم الفخذ الأيمن. السطح الأمامي. نقرة رأس عظم الفخذ أعلى الرسم علي اليمين، ومؤشّر عليها بـ fovea capitis .
مفصل الورك. عرض جانبي (وحشي). رأس عظم الفخذ. يُمكن رؤية رِباطُ رَأْسِ الفَخِذ (بالإنجليزية: Ligament of head of femur)‏ مكتوباً باللاتينية: (باللاتينية: Ligamentum capitis femoris) خارجاً من رأس عظم الفخذ، ممسوكاً بالملقاط الجراحي.
الجزء العُلوي من عظم الفخذ اليُمنى (رأس عظم الفخذ)، رؤية خلفية.
غير مرتبطين

غير المرتبطين (بالإنجليزية: Non-Inscrits)‏ هم أعضاء في البرلمان الأوروبي ولا ينتمون إلى أي من المجموعات السياسية المعترف بها. قد يكونوا أعضاء في أحزاب وطنية، أو أوروبية، ولكن حتى يتم تشكيل مجموعة سياسية في البرلمان الأوروبي، يجب ينتمي إليها 25 عضواً على الأقل من سبع دول مختلفة. إن كون أي عضو جزء من مجموعة سياسية يمنحه الحق بالحصول على تمويل ومقاعد في اللجان، ولكن يجب أن تتكون المجموعات على أساس أيديولوجي.
تأسس بشكل موازي لمجموعة غير المرتبطين المجموعة التقنية للمستقلين، ولكن لم يعد ذلك مسموحاً حيث تم رفع الحد الأدنى من متطلبات تشكيل المجموعات السياسية.
خلال الدورة السادسة للبرلمان الأوروبي، شكل 23 عضواً يمينياً غير مرتبطاً مجموعة تحت اسم الهوية والتقاليد والسيادة في بداية عام 2007، لكنها انهارت في 14 تشرين الثاني / نوفمبر 2007 بسبب خلافات داخلية.
أعضاء مجموعة غير المرتبطين

تتضمن الأحزاب التالية أعضاءً لها ضمن مجموعة غير المرتبطين في البرلمان الأوروبي:
| الدولة | الحزب الوطني | الحزب الأوروبي | الحزب الأوروبي | عدد الأعضاء |
| --- | --- | --- | --- | --- |
|  كرواتيا | الدرع البشري  ‏ Živi zid (ZZ) |  | بدون | 1 / 12 |
|  كرواتيا | ميسلاف كولاكوشيتش  ‏ (مستقل) |  | مستقل | 1 / 12 |
|  ألمانيا | دي بارتاي Die PARTEI |  | بدون | 1 / 96 |
|  ألمانيا | مارتن بوشمان  ‏ (مستقل) |  | مستقل | 1 / 96 |
|  اليونان | الحزب الشيوعي اليوناني Κομμουνιστικό Κόμμα Ελλάδας (ΚΚΕ) |  | INITIATIVE  ‏ | 2 / 21 |
|  اليونان | الوعي الشعبي الوطني  ‏ Εθνική Λαϊκή Συνείδηση (Ε.ΛΑ.ΣΥΝ.) |  | APF  ‏ | 1 / 21 |
|  اليونان | أثناسيوس كونستانتينو  ‏ (مستقل، مدعوم من قبل الفجر الذهبي) |  | مستقل | 1 / 21 |
|  المجر | يوبيك Jobbik Magyarországért Mozgalom |  | بدون | 1 / 21 |
|  إيطاليا | حركة النجوم الخمسة Movimento 5 Stelle (M5S) |  | بدون | 10 / 76 |
|  إيطاليا | أندريا كاروبو  ‏  (مستقل) |  | مستقل | 1 / 76 |
|  ليتوانيا | العمال  ‏ Darbo Partija (DP) |  | ALDE | 1 / 11 |
|  هولندا | دوريان روكميكر  ‏ (مستقل) |  | مستقل | 1 / 29 |
|  سلوفاكيا | حزب الشعب - سلوفاكيا لنا  ‏ Kotleba – Ľudová strana Naše Slovensko (ĽSNS) |  | APF  ‏ | 2 / 14 |
|  إسبانيا | معاً من أجل كتالونيا Junts per Catalunya (JuntsxCat) |  | بدون | 3 / 59 |
|  الاتحاد الأوروبي | الإجمالي | الإجمالي | الإجمالي | 27 / 705 |
قبل انسحاب المملكة المتحدة من الاتحاد الأوروبي في 31 كانون الثاني / يناير 2020، ضمت المجموعة 30 عضواً بريطانياً منهم 29 عضو من حزب بريكزت وواحد فقط من الحزب الديمقراطي الاتحادي (أيرلندا الشمالية).
مراجع

↑  "MEPs welcome fall of far-right group" [أعضاء البرلمان الأوروبي يرحبون بانهيار مجموعة اليمين المتطرف] (بالإنجليزية). Archived from the original on 2011-07-28.
↑  "End of the Identity , Tradition and Sovereignty political group as Romanian MEPs leave" [نهاية مجموعة الهوية والتقاليد والسيادة بانسحاب النواب الرومانيين منها] (بالإنجليزية). Archived from the original on 2021-03-04.
↑  "Advanced search" [البحث المتقدم] (بالإنجليزية). Archived from the original on 17 شباط / فبراير 2021. Retrieved 4 آذار / مارس 2021. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ الوصول= and |تاريخ أرشيف= (help)
| ع ن الكتل السياسية في البرلمان الأوروبي | ع ن الكتل السياسية في البرلمان الأوروبي |
| --- | --- |
 حزب الشعب الأوروبي (177)  التحالف التقدمي للاشتراكيين والديمقراطيين (143)  تجديد أوروبا (101)  الخضر/التحالف الأوروبي الحر (72)  المحافظون والإصلاحيون الأوروبيون (66)  الهوية والديمقراطية (62)  اليسار المتحد الأوروبي-اليسار الأخضر النوردي (37)  غير مرتبطين (47) :  حزب الشعب الأوروبي (177)  التحالف التقدمي للاشتراكيين والديمقراطيين (143)  تجديد أوروبا (101)  الخضر/التحالف الأوروبي الحر (72)  المحافظون والإصلاحيون الأوروبيون (66)  الهوية والديمقراطية (62)  اليسار المتحد الأوروبي-اليسار الأخضر النوردي (37)  غير مرتبطين (47) 
بوابة الاتحاد الأوروبي
بوابة السياسة
مؤشر (برمجة)

مؤشر
| 0 | 1 |
| --- | --- |
صنف فرعي من:  نوع بيانات handle 
الاستعمال:  indirection (en)  
جانب من جوانب:  pointee (en)  
مظهر لـ:  نوع بيانات مرجعي 
تعديل - تعديل مصدري - تعديل ويكي بيانات
لمعانٍ أخرى، طالع مؤشر (توضيح).

المؤشر (بالإنجليزية: Pointer)‏ هو كائن في بعض لغات البرمجة يُخزَّن فيه عنوانًا لمتغير آخر. يشير المؤشر إلى عنوان الذاكرة المرتبط بالمتغير "b". يُمكن ملاحظة أن في هذا المخطط التفصيلي، تُستخدم بنية الحوسبة نفس مساحة العنوان والبيانات الأولية لكل من المؤشرات وغير المؤشرات، بيد انه هذه ليست هي القضية المُراد التطلع إليها.
يُعد المؤشر، في علوم الحاسب الآلي، هو أحد أنواع بيانات لغة البرمجة والذي ترجع قيمته بشكل مباشر إلى (أو «تُشير إلى») قيمة أخرى مُخزنة في مكان آخر في ذاكرة الحاسب الآلي مُستخدمة عنوانها. تحتل المؤشرات في لغات البرمجة عالية المستوى بشكلٍ فعال محل سجلات الأغراض العامة في لغات البرمجة ذات المستويات المتدنية مثل لغة التجميع والأكواد، بيد أنها قد تتواجد داخل الذاكرة المتوفرة.
مراجع المؤشر هي عبارة عن مكان في الذاكرة، ويُطلق على عملية الحصول على القيمة التي يُشير إليه المؤشر بـعملية تتبع المؤشر dereferencing. يُعتبر المؤشر تطبيقاً بسيطاً أقل إيجازاً لنوع بيانات المرجع الأكثر إيجازاً. تدعم مختلف لغات البرمجة بعضاً من أنواع المؤشرات، على الرغم من احتواء البعض منها على المزيد من القيود في استخدامها عن غيرها.
تُحسن المؤشرات إلى البيانات بشكل ملحوظ من أداء العمليات المتكررة مثل تمرير الحرفية وجداول البحث وجداول الرقابة وتراكيب (بنيات) الأشجار. تُعد المؤشرات في أغلب الأحيان وبشكل خاص أكثر توفيراً للوقت والمساحة وذلك خلال إجراء عمليات النسج وتتبع المؤشرات من ما هو عليه الحال عند إجراء عملية نسخ البيانات والولوج إليها إلى ما تُشير إليه المؤشرات.
تُستخدم المؤشرات أيضاً للاحتفاظ بعناوين نقاط الدخول لما يُطلق عليه الروتين الفرعي في البرمجة الإجرائية ولربط وقت التشغيل بمكتبات الربط الديناميكية التي يُرمز لها بالرمز (DLLS). تُستخدم المؤشرات إلى الوظائف في البرمجة كائنية التوجه (أو البرمجة غرضية التوجه) في ربط الوسائل، وغالباً ما يُستخدم ما يُطلق عليه اسم جداول الوسائل العملية virtual method tables.
.
في حين أن المؤشرات قد استخدمت لتمثل المراجع عموماً إلا أنها تنطبق بشكل أكثر ملاءمة على تراكيب البيانات التي تسمح لجهتها بوضوح للمؤشر بالمعالجة (بشكل حسابي عن طريق حساب المؤشر) بوصفه عنوان ذاكرة، وعلى النقيض منcookie أو الإمكانية capability حيث لا يستحيل ذلك. نظراً لإتاحة المؤشر لكل من الوصول الآمن والغير الآمن إلى عناوين الذاكرة، فان هناك بعض المخاطر المصاحبة لاستخدامها في الحالة الأخيرة بشكل خاص.
تعريفات أساسية

المؤشر
(المؤشر)في علوم الحاسبالآلي: هو أحد أنماط المرجع.
البيانات الأولية (أو الأولية فحسب): هي أي وحدات بيانات يُمكن قراءتها أو كتابتها لذاكرة الحاسب الآلي باستخدام ولوج واحد للذاكرة (على سبيل المثال، كلاًّ من البايت والكلمة كلاهما من الأوليات).
تجميع البيانات (أو التجميع فحسب) هي عبارة عن مجموعة من الأوليات التي نُسقت بشكل منطقي في الذاكرة والتي تُعرض مُجمَّعة كوحدة بيانات واحدة (على سبيل المثال، يُمكن أن يتكون التجميع من ثلاثة من وحدات البايت مُنسقة منطقيًّا، القيم التي توضح الثلاث إحداثيات للإشارة في المساحة)؛ عندما يتألف التجميع كلياً من نفس النوع من الأوليات، يُمكن تسمية التجميع بـالمصفوفة array؛ بمعنى أن الكلمة الأولية ذات وحدات البايت المتعددة تُعد مصفوفة من وحدات البايت، وتستخدم بعض البرامج الكلمات بهذه الطريقة.
في سياق هذه التعريفات، يُعد البايت أصغر قيمة أولية؛ يُحدد كل عنوان ذاكرة بوحدة بايت مختلفة. يعتبر عنوان الذاكرة أول وحدة من وحدات البايت هو عنوان الذاكرة (أو عنوان الذاكرة الأساسي) لوحدات البايت بالكامل.
مؤشر الذاكرة (أو المؤشر فحسب) هو أحد الأوليات، القيمة ما يُراد استخدامه كعنوان ذاكرة؛ يُقال أن المؤشر يُمثل عنوان الذاكرة. كما يُقال أن المؤشر يُشير إلى وحدات البايت [في الذاكرة] عندما تكون قيمة المؤشر هي وحدات البايت الخاصة بعنوان الذاكرة.
يُعرف المؤشر بشكل عام على انه أحد أنواع المراجع، ويُقال أن مراجع المؤشر تُخزن وحدات البايت في مكان ما في الذاكرة؛ ويجب للحصول على وحدات البايت هذه إتباع عملية تتبع المؤشر. وتعتبر الصفة التي تُميز المؤشرات عن أنواع المراجع الأخرى هي أن قيمة المؤشر يُمكن تفسيرها كعنوان الذاكرة، ويعتبر ذلك مفهوم «مُتدني المستوى».
تخدم المراجع كأحد مستويات الإجراءات غير المباشرة: تُحدد قيمة المؤشر أي من عناوين للذاكرة (أي من المعطيات) التي سوف تُستخدم في العمليات الحسابية. حيث تُمثل الإجراءات غير المباشرة جانباً جوهرياً من الخوارزميات، وغالباً ما يُعبر عن المؤشرات كأحد أنواع البيانات الأساسي في لغات البرمجة؛ في لغات البرمجة المُصنفة بشكلٍ ثابت (أو بشكلٍ قوي)، يُحدد نوع المؤشر نوع وحدات البايت إلى التي يُشير إليها المؤشر.
الجمل المُقتبسة

«أنا بالفعل أضع في اعتباري أن البيانات المهمة ومتغيرات المؤشر تدخل ضمن أكثر كنوز المعرفة القيمة لعلوم الحاسب الآلي." 
دونلد كنوث Donald Knuth (مدرس فخري باستانفورد في فن برمجة الحاسب الآلي)، البرمجة الهيكلية مع الانتقال إلى البيانات.»
استخدامها في تراكيب البيانات

يجب توافر مؤشرات للمساعدة في إدارة كيفية تنفيذ التراكيب والتحكم بها عند إعداد تراكيب البيانات مثل القوائم، والصفوف، والأشجار. تُعد مؤشرات البداية ومؤشرات النهاية ومؤشرات التكدس من أمثلة المؤشرات النموذجية. يُمكن لهذه المؤشرات أن تكون إما مطلقة absolute (العنوان المادي الفعلي أو العنوان الواقعي في الذاكرة الواقعية) أو النسبية relative (إزاحة من عنوان البداية المطلق («أساس») التي تستخدم فعلياً عدد أقل من وحدات البايت عنه من العنوان الكامل، ولكن عادة ما يتطلب ذلك عملية حسابية إضافية واحدة للوصول إلى الحل).
يُمكن استخدام معادلين من وحدات البايت، يحتوي على 16 بايت، أعداد صحيحة، لتقديم معالجة نسبية لأكثر من 64 كيلو بايت من تراكيب البيانات. يُمكن أن يمتد ذلك إلى 128 كيلو بايت، أو 256 كيلو بايت، أو 512 كيلو بايت فإذا كان العنوان المُشار إليه لابد وأن يكون عند حد نصف كلمة، أو كلمة أو كلمة مزدوجة (لكن تتطلب عملية «تحويل يسار shift left» إضافية عملية بتwise – من خلال 1 أو 2 أو 3 بايت – وذلك من أجل ضبط المُعادل من خلال العامل المكون من 2 أو 3 أو 4 بايت وذلك قبل إضافته إلى العنوان الأساسي). يُفضل بوجه عام، على الرغم من احتواء مثل هذه الأنظمة على الكثير من المشكلات، وكذلك من اجل التيسير على المُبرمج، توافر مساحة العنوان المحددة.
يُمكن استخدام معادل بايت واحد، مثل قيمة ASCII العشرية للرموز (مثل X"29") للإشارة إلى قيمة صحيحة بديلة (أو مؤشر) في مصفوفة (مثل X"01"). يُمكن بهذه الطريقة أن تترجم الرموز على نحو كاف من «البيانات الأولية» إلى مؤشر متسلسل قابل للاستخدام ومن ثم إلى عنوان مطلق من دون جدول البحث.
استخدامها في جداول التحكم

عادة ما تزيد جداول التحكم المُستخدمة في التحكم في تدفق البرنامج من استخدام المؤشرات. عادة ما تكون المؤشرات جزءاً لا يتجزأ من مدخل الجدول، كما انه يُمكن أن تُستخدم على سبيل المثال للإبقاء على نقاط الإدخال لإتمام عملية تنفيذ الروتين الفرعي، معتمدة في ذلك على عدة حالات محددة مُعرَّفة في مدخل الجدول ذاته. يُمكن فهرست المؤشرات ببساطة إلى أخرى منفصلة، لكن مرتبطة، تشكل الجداول مصفوفة من العناوين الفعلية أو العناوين نفسها (اعتماداً على بنيات وتراكيب لغة البرمجة المتوفرة). يُمكن كذلك استخدامها للإشارة (إلى الخلف) إلى مداخل الجدول السابقة (كما في حلقة المعالجة) أو إلى الإمام لتخطي بعض مداخل الجدول (كما في التحويل switch
أو الخروج «المبكر» من الحلقة). نظراً لهذا الغرض الأخير، يُمكن أن يُصبح «المؤشر» ببساطة رقم مدخل الجدول نفسه ويُمكن أن يتحول إلى عنوان فعلي من خلال عملية حسابية بسيطة.
أصول المعمارية

المؤشرات هي عبارة عن فكرة تجريدية صغيرة جدا تحتل قمة إمكانيات المعالجة أو العنونة المُدعمة من قبل معظم المعماريات الحديثة. يُخصص أحد العناوين أو أحد المؤشرات الرقمية في أبسط المخططات لكل وحدة من وحدات الذاكرة في النظام، حيث تكون الوحدات إما البايت أو الكلمة، تُحول الذاكرة ككل بشكل فعال إلى مصفوفة كبيرة جداً. ومن ثم، إذا توفر لدينا العنوان، فسوف يُوفر النظام عملية لاستعادة القيمة المخزنة في وحدة الذاكرة في هذا العنوان (عادة ما تُستخدم أجهزة مسجلات الأغراض العامة).
عادة ما يكون المؤشر كبير بدرجة كافية لاحتواء المزيد من العناوين أكثر من وحدات الذاكرة الموجودة في النظام. يُقدم ذلك احتمالية محاولة البرنامج من الولوج إلى أحد العناوين الذي لا يتطابق مع أي من وحدات الذاكرة، ويرجع ذلك إما لعدم تثبيت مساحة كافية من الذاكرة (على سبيل المثال تخطي مدى الذاكرة المتوفرة) أو لعدم دعم المعمارية لمثل هذه العناوين. يُمكن أن يُطلق على الحالة الأولى، في بعض البرامج مثل معمارية أنتل x86، اسم خطأ التجزئة أو التخصيص segmentation fault (عادة ما تُختصر ب segfault). الحالة الثانية ممكنة في عمليات التنفيذ الحالية لـ AMD64، بحيث يصل طول المؤشرات إلى 64 بت ويصل امتداد العناوين إلى 48 بت فقط. هناك، يجب أن تتفق المؤشرات مع قواعد محددة (العناوين المُتعارف عليها canonical addresses)، لذا فانه في حالة تتبع المؤشر غير المُتعارف عليها، يظهر المعالج خطأ حماية عام.
على الصعيد الآخر، تحتوي بعض الأنظمة على المزيد من وحدات الذاكرة أكثر من ما تحتويه من عناوين. في هذه الحالة، يعمل نظام أكثر تعقيداً مثل أنظمة تخصيص أو تقطيع الذاكرة memory segmentation أو الصفحات المخزنة paging المُوظفة لاستخدام أجزاء مختلفة من الذاكرة في أوقات مختلفة. تدعم الأمثلة الأخيرة للمعمارية x86 إلى 36 بت من عناوين الذاكرة الفيزيائية، والتي نُظمت لمساحة العنوان الخطي 32 بت من خلال أجهزة الصفحات المخزنة أو التصفح PAE. لذا، يُمكن فقط الولوج إلى 1\16 من الذاكرة الكلية المتاحة في المرة الواحدة. ومثال آخر في نفس عائلة جهاز الحاسب الآلي كان وضع الحماية الـ 16 بايت من المعالج 80286، الذي يمكنه، على الرغم من دعم 16 ميجا بايت فقط من الذاكرة الفيزيائية، الولوج إلى 1جيجا بايت من الذاكرة التخيلية، ولكن مزيج من عنوان الـ 16 بيت والسجلات المجزأة جعلت ولوج أكثر من 64 كيلو بايت في ثقل بنية بيانات واحدة. قد تُصبح بعض قيود المؤشر الحسابي ANSI مناسبة لنماذج الذاكرة المجزأة لعائلة هذا المعالج.
دعمت بعض معماريات ذاكرة التخزين المُستخدمة في عمليات الإدخال والإخراج (memory-mapped I/O) والتي تُمكن بعض العناوين من الإشارة إلى وحدات من الذاكرة في حين تُشير أُخرى إلى مسجلات جهاز خاصة بأجهزة أخرى داخل الحاسب الآلي وذلك لتوفير واجهة متناسقة. تظهر بعض المفاهيم المشابهة مثل إزاحة الملف ومؤشرات المصفوفة ومراجع الكائن البعيد التي تخدم بعض من الأغراض المماثلة مثل العناوين لأنواع أخرى من الكائنات.
الاستخدامات

تُدعم المؤشرات بشكل مباشر بدون وجود قيود في لغات برمجة مثل PL/I وC وC++ وPascal وأغلبية لغات التجميع. كما أنها تُستخدم بشكل أساس لتراكيب المراجع، والتي بدورها خطوة أساسية لبناء كل تراكيب البيانات تقريباً، تماماً كما يحدث في عملية تمرير البيانات بين الأجزاء المختلفة من البرنامج.
في اللغات البرمجة الوظيفية التي كثيراً ما تعتمد على القوائم، يتم التحكم بالمؤشرات والمراجع بشكل نظري من خلال اللغة باستخدام التراكيب الداخلية مثل cons.
عند التعامل مع المصفوفات، عادة ما تنطوي عملية البحث الحيوي على مرحلة تُدعى «حساب العنوان address calculation» والتي تتضمن بناء مؤشر كائن البيانات المطلوبة في المصفوفة. إذا كانت عناصر البيانات في المصفوفة لها الأطوال المخصصة من خلال طاقات ثنائية، عادة ما تكون هذه العمليات الحسابية أكثر كفاءة. كثيراً ما تستخدم البطانة أو الحشو Padding كآلية لضمان أن هذه هي الحالة المطلوبة، على الرغم من زيادة متطلبات الذاكرة. في تراكيب البيانات الأخرى، مثل القوائم المرتبطة، تستخدم المؤشرات كمراجع لربط أحد أجزاء التراكيب بالآخر.
تستخدم المؤشرات لتمرير المعاملات باستخدام مراجع لها. ويكون هذا مفيداً إذا أراد المبرمج أن يكون تعديل الدالة للمعامل مرئيا للجزء الذي قام باستدعائها. ويُفيد ذلك أيضا في استرجاع العديد من القيم من الدالة.
يُمكن استخدام المؤشرات أيضاً الذاكرة المخصصة وغير المخصصة للمتغيرات الديناميكية والمصفوفات داخل الذاكرة. في أغلب الأحيان ما يتحول المتغير إلى كائن زائد عن الحاجة بعد تحقيق الغرض منه، فإن الإبقاء عليه إهداراً للذاكرة، ولذا فمن الأفضل عدم تخصيصه أو توزيعه (مستخدماً مرجع المؤشر الأصلي) عندما انتهاء الحاجة إليه. قد يؤدي عدم القيام بهذه الخطوة إلى تسرب الذاكرة memory leak (حيث تقل مساحة الذاكرة الفارغة بشكل تدريجي، أو في الحالات الخطير بشكل سريعً، ويرجع ذلك إلى تراكم أعداد كبير من قوالب الذاكرة).
الاستخدامات > المؤشر في لغة السي "C "

الصيغة الأساسية للإعلان عن مؤشر هي:
int *money;
يقوم هذا بالإشارة إلى القيمة " money" كمؤشر إلى عدد صحيح. حيث أن محتويات الذاكرة لا تضمن ما هي القيمة المحتمل أن تحتويها في لغة السي C، لذا يجب الحرص على التأكد من أن العنوان الذي يُشير إليه " money" انه عنوان صحيح ومناسب. ولهذا السبب يُقترح في بعض الأحيان استهلال المؤشر بالقيمة NULL (مع ذلك، يُمكن لاستهلال المؤشرات تورية التحليل وإخفاء الأخطاء).
int *money = NULL;
عند إتمام عملية تتبع أحد المؤشرات له القيمة NULL فسوف يحدث خطأ في التشغيل ويتوقف التنفيذ ويحدث ذلك عادة مع أخطاء التخصيص segmentation fault. وعقب الإعلان عن المؤشر فإن الخطوة المنطقية التالية هي جعله يشير إلى شيء ما.
int a = 5;
int *money = NULL;

money = &a;
ويقوم هذا بإسناد عنوان الذاكرة للمتغير الصحيح a إلى قيمة المؤشر " money "، على سبيل المثال إذا كان المتغير a مخزن في الذاكرة عند الموقع 0x8130 فستكون قيمة" money" هي 0x8130 بعد الإسناد. ولتتبع المؤشر يتم استخدام علامة النجمة * مرة أخرى:
*money = 8;
ويُشير مترجم الكود بأن يأخذ محتويات المؤشر money والتي هي 0x8130 وينتقل إلى ذلك العنوان ويعين القيمة المخزنة به إلى 8. a فسوف تتضح قيمته ب 8.
قد يتخلى هذا المثال بشكل أكثر وضوحاً ما إذا تم فحص الذاكرة بشكل مباشر. افترضاً أن a له عنوان الذاكرة 0x8130 و money له العنوان 0x8134، وافترضاً أيضا أن الحاسوب المستخدم هو حاسوب 32 بت حيث أن سعة نوع البيانات int هي 32 بت. فإن الشكل التالي هو ما سوف يظهر في الذاكرة بعد تنفيذ الكود التالي:
int a = 5;
int *money = NULL;
| العنوان | المحتويات |
| --- | --- |
0x8130: 0x00000005
0x8134: 0x00000000
المؤشر ذو القيمة NULL المعروضة هنا هو 0x00000000. وبتعيين عنوان المتغير a للمؤشر money باستخدام مؤثر التعيين &
money = &a;
يكون الناتج في الذاكرة كما يلي:
| العنوان | المحتويات |
| --- | --- |
0x8130: 0x00000005
0x8134: 0x00008130
Then by dereferencing money by coding
*money = 8;
سيأخذ الحاسب الآلي محتويات المؤشر والتي هي 0x8130 وينتقل إلى ذلك العنوان ويعين القيمة 8 إلى ذلك الموقع ويكون الناتج في الذاكرة كما يلي:
| العنوان | المحتويات |
| --- | --- |
0x8130: 0x00000008
0x8134: 0x00008130
وكما هو واضح فإن استدعاء قيمة المتغير a سوف ينتج القيمة 8 لأن التعليمة السابقة قامت بتعديل محتويات المتغير a عن طريق المؤشر money.
الاستخدامات > مصفوفات لغة السي C

تتم فهرسة المصفوفة في لغة السي C بشكل أساسي باستخدام المؤشر الحسابي، حيث أن معايير اللغة التي تتطلب أن يكون معادل إلى *(array+i). لذا يُمكن اعتبار المصفوفات كمؤشرات لمناطق متتابعة من الذاكرة (بدون أي فجوات)، والصيغة المُستخدمة للولوج إلى المصفوفات مماثلة لتلك التي يُمكن أن تُستخدم في عملية تتبع المؤشر، ومثال على ذلك يُمكن الإعلان عن المصفوفة array واستخدامها على النحو التالي:
int array[5]; /* Declares 5 contiguous (per Plauger Standard C 1992) integers */
int *ptr = array; /* Arrays can be used as pointers */
ptr[0] = 1; /* Pointers can be indexed with array syntax */
*(array + 1) = 2; /* Arrays can be dereferenced with pointer syntax */
*(1 + array) = 3; /* Pointer addition is commutative */
2[array] = 4; /* Subscript operator is commutative */
بقوم هذا بحجز مكان خاص لخمسة أعداد صحيحة ويُطلق على هذا القالب اسم المصفوفة التي تعمل كمؤشر لهذا المكان. من الاستخدامات الشائعة أيضاً للمؤشرات هي الإشارة للذاكرة المحجوزة ديناميكياً باستخدام دالة malloc التي تُعيد قالب متصل من الذاكرة بحيث لا يقل حجمه عن الحجم المطلوب الذي يُمكن استخدامه كمصفوفة.
بينما معظم المؤثرات على المصفوفات والمؤشرات متكافئة إلا أنه من المهم الإشارة إلى أن دالة sizeof سوف تكون مختلف. في هذا المثال سوف تكون قيمة (المصفوفة) sizeof يُساوي 5*sizeof (int) (حجم المصفوفة)، بينما سوف تكون قيمة sizeof (ptr) تساوي sizeof (int) أي حجم المؤشر نفسه.
يُمكن الإعلان عن القيم الافتراضية للمصفوفة مثل:
int array[5] = {2,4,3,1,5};
إذا افترضت أن المصفوفة array تقع في الذاكرة بدايةً من العنوان 0x1000 على جهاز الحاسب الآلي 32 بايت وترتيب البيانات داخله little-andian فسوف تحتوي الذاكرة على التالي: (كون القيم الموجودة في نظام عد السادس عشري hexadecimal، مثل تلك الموجودة في العناوين):
| 0 | 1 | 2 | 3 | 4 |
| --- | --- | --- | --- | --- |
|  | 0 | 1 | 2 | 3 |
| 1000 | 2 | 0 | 0 | 0 |
| 1004 | 4 | 0 | 0 | 0 |
| 1008 | 3 | 0 | 0 | 0 |
| 100C | 1 | 0 | 0 | 0 |
| 1010 | 5 | 0 | 0 | 0 |
يُوضح الشكل خمسة أعداد صحيحة 1 و2 و3 و4 و5. تشغل هذه الأرقام الخمسة 32 بت (أي 4 بايت) ويًخزن كل منها البايت الأقل أهمية أولاً (وهذه هي بنية المعالجة المركزية little-endian) وتُخزن بشكل متتالي بدءً من العنوان 0x1000.
الصيغة المُستخدمة في لغة السي C مع المؤشرات هي:
المصفوفة array تعني 0x1000
المصفوفة array +1 تعني 0x1004 (لاحظ أن معنى "+1" هو إضافة مرة واحدة عدد حجم متغير int ولا يُقصد بذلك المعني الحرفي ("+ 1")
المصفوفة *array تعني تتبع محتويات المصفوفة array. بمعني اعتبار هذه المحتويات كعنوان الذاكرة (0x1000) والبحث عن القيمة في هذا العنوان (0x1000).
array[i] تعني القسم i من المصفوفة والذي يترجم إلى *(array + i)
يوضح المثال الأخير طريقة الولوج إلى محتويات المصفوفة. وتفتيتها:
Array + i هو موقع الذاكرة الخاص بعامل المصفوفة th(i+1)
*(array + i) يأخذها عنوان الذاكرة لوصول إلى القيمة.
على سبيل المثال: array[3] يترادف مع *(array+3) يعنى *(0x1000 +3*sizeof(int))، والذي يُعلن «تتبع القيمة المخزنة في 0x100C» في هذه الحالة تكون القيمة 0x0001.
الاستخدامات > القوائم المرتبطة في لغة السي C

فيما يلي مثال يوضح تعريف القوائم المرتبطة في لغة السي C.
/* القائمة المرتبطة الفارغة تمثل باستخدام NULL أو قيمة إشارة أخرى */
#تعريف القائمة المرتبطة الفارغة

struct link {
    void        *data;  /* بيانات هذا الكائن */
    الموقع التالي *next;  /* الكائن التالي؛ EMPTY_LIST قائمة فارغة إذا كان الأخير  */
};
يُمكن ملاحظة أن تعريف المؤشر التكراري هذا هو نفسه تعريف المرجع التكراري من لغة البرمجة Haskell:
Data link a = Nil
|Cons a (link a)
Nil هي القائمة الفارغة و Cons هي (Link a) هي خلية cons من النوع a مع رابط آخر من النوع a.
مع ذلك التعريف باستخدام المراجع تُفحص ولا تستخدم قيم الإشارة التي تحتمل أن تكون مربكة. لهذا السبب، عادةً ما يتم التعامل مع هيكل البيانات في لغة C عن طريق وظائف التضمين، والتي فُحصت بعناية للتأكد من صحتها.
الاستخدامات > التمرير باستخدام المؤشرات

يُمكن استخدام المؤشرات لتمرير المتغيرات باستخدام مراجع لها، بما يسمح لقيمتها بأن تتغير، على سبيل المثال انظر إلى كود لغة C++ التالي:
/* a copy of the int n is changed */
void not_alter(int n) {
    n = 360;
}

/* the actual variable passed (by address) is changed */
void alter(int *n) {
    *n = 120;
}

void func(void) {
    int x = 24;

    /*pass x's address as the argument*/
    alter(&x);

    /* x now equal to 120 */

    not_alter(x);

    /* x still equal to 120 */
}