C typedef

#include <stdio.h>

typedef int (*funcptr)(int,int);
funcptr fp1,fp2;

int plus(int a,int b)
{
    return a+b;
}

int minus(int a,int b)
{
    return a-b;
}

int main(void)
{
    fp1=plus;
    fp2=minus;
    int a=3,b=2;
    printf("plus(a,b)=%d",fp1(a,b));
    printf("minus(a,b)=%d",fp2(a,b));
    return 0;
}

在这个程序中,typedef定义了一个函数指针,但是函数指针是针对特定的格式的

typedef int (*funcptr)(int,int);
int function(int,int);

必须是下面的那一行的格式,赋给函数指针的函数应该和函数指针所指的函数原型是一致的。

原文地址:https://www.cnblogs.com/yoru/p/4147195.html