它在存储器中保存函数定义的基地址。
datatype (*pointername) ();
函数本身的名称指定函数的基地址。因此,初始化是使用函数名称完成的。
例如,
int (*p) (); p = display; //display () is a function that is defined.
我们将看到一个使用指向函数的指针调用函数的程序-
#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
让我们考虑另一个解释函数指针概念的程序-
#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