مؤشر دالة

هذه المقالة يتيمة. ساعد بإضافة وصلة إليها في مقالة متعلقة بها
من ويكيبيديا، الموسوعة الحرة

هذه نسخة قديمة من هذه الصفحة، وقام بتعديلها Xqbot (نقاش | مساهمات) في 20:57، 17 أبريل 2020 (Bot: Replace deprecated <source> tag and "enclose" parameter، تغييرات تجميلية). العنوان الحالي (URL) هو وصلة دائمة لهذه النسخة، وقد تختلف اختلافًا كبيرًا عن النسخة الحالية.

المؤشر لدالة (بالإنجليزية: Function Pointer)‏ هو مؤشر يشير لعنوان دالة في ذاكرة الحاسوب. وبالمقارنة بمؤشر يشير لقيمة بيان، يشير مؤشر الدالة لكود قابل للتنفيذ. وتتبع المؤشر لدالة يؤدي إلى الدالة المشار إليها، ويمكن تنفيذ هذه الدالة وتمرير قيم لها كما يحدث في نداء تقليدي. تنفيذ الدالة بهذه الطريقة يسمى تنفيذًا غير مباشر؛ لأن الدالة تُنفذ بصفة غير مباشرة عبر متغير ثان بدلًا من تنفيذها بمناداتها مباشرة. يمكن استخدام المؤشرات للدوال في تبسيط الكود؛ إذ توفر طريقة بسيطة لاختيار الدالة المطلوب تنفيذها بناءً على متغيرات في وقت التشغيل.

ميزة المؤشرات للدوال متوفرة بالجيل الثالث من لغات البرمجة مثل C،[1] ولغات البرمجة كائنية التوجه مثل D و++C.

مثال في لغة C

يوضح المثال التالي استخدام المؤشر لدالة في لغة C، المؤشر لدالة يحمل اسم addPtr ويشير لدالة تحمل اسم add.

#include <stdio.h>

int (*addPtr)(int,int);
int add(int,int);

void main(void) {
	int sum;
	addPtr = add;
	sum = addPtr(4,6);
	printf("Sum is %d\n",sum);
}

int add(int x,int y) {
	return x+y;
}

استشهادات