函数指针的用法

前言

什么是函数指针:
函数指针的定义形象点来说,就是用一个指针变量代替原函数中的函数名位置。

在定义函数指针时请注意:
函数指针和它指向的函数的参数个数和类型都应该是—致的;
函数指针的类型和函数的返回值类型也必须是一致的。

函数指针的赋值:
函数名和数组名一样代表了函数代码的首地址,因此在赋值时,直接将函数指针指向函数名就行了

例如:
函数指针:int (*p)(int);
指针指向的是一个函数,这个函数的返回值是int,形参是int。

程序源码

/* 函数指针 int (*p) (int ,..); */
#include 
/*函数声明*/
int add(int a,int b);
int sub(int a,int b);

int main()
{
     
    int a = 3,b = 5;
    int ret, ret1;
     //定义函数指针,指向的函数的返回值是int,两个形参都是int
    int (*q)(int,int);
    int (*p)(int,int);
    p = add;    //函数名就是函数的入口地址
    q = sub;
//  ret = add(a,b);
    ret = p(a,b);
    ret1 = q(a,b);
    printf("%d\n ",ret);
    printf("%d\n ",ret1);
    return 0;
}
/*函数定义*/
int add(int a,int b)
{
     
    return a+b;
}
int sub(int a,int b)
{
     
    return a-b;
}

程序运行结果

函数指针的用法_第1张图片

你可能感兴趣的:(C语言,c语言,c++)