مؤشر دالة

ميزة في بعض لغات البرمجة
(بالتحويل من مؤشر لدالة)

المؤشر لدالة (بالإنجليزية: 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;
}

استشهاداتعدل

 
هذه بذرة مقالة عن الحاسوب أو العاملين في هذا المجال، بحاجة للتوسيع. شارك في تحريرها.