如何使用C程序分配功能指针?

功能指针

它在存储器中保存函数定义的基地址。

宣言

datatype (*pointername) ();

函数本身的名称指定函数的基地址。因此,初始化是使用函数名称完成的。

例如,

int (*p) ();
p = display; //display () is a function that is defined.

例子1

我们将看到一个使用指向函数的指针调用函数的程序-

#include<stdio.h>
main (){
   int (*p) (); //declaring pointer to function
   clrscr ();
   p = display;
   *(p) (); //calling pointer to function
   getch ();
}
display (){ //called function present at pointer location
   printf(“Hello”);
}
输出结果
Hello

例子2

让我们考虑另一个解释函数指针概念的程序-

#include <stdio.h>
void show(int* p){
   (*p)++; // add 1 to *p
}
int main(){
   int* ptr, a = 20;
   ptr = &a;
   show(ptr);
   printf("%d", *ptr); // 21
   return 0;
}
输出结果
21