函数指针

来源:互联网 发布:php编写第一个api接口 编辑:程序博客网 时间:2024/06/10 16:43
int maxValue(int x, int y);int minValue(int x, int y);int sumValue(int x, int y);int maxValue(int x, int y) {    return x > y ? x : y;}int minValue(int x, int y) {    return x < y ? x : y;}//函数类型: int (int x, int y)int sumValue(int x, int y) {    return x + y;}//如果没有参数, 定义时括号必不可少void printHello() {    printf("Hello");}int main(int argc, const char * argv[]){    //函数指针: 指向函数的指针变量    //函数使用的三个部分    //1 函数的声明(没有函数体)    //2 函数的实现(函数返回值, 函数名, 形参列表, 函数体)    //3 函数的调用(函数名(实参列表))    int max = maxValue(10, 5);    int min = minValue(10, 5);    int sum = sumValue(10, 5);    printf("max = %d min = %d sum = %d\n", max, min, sum);    //函数的声明: int minValue(int x, int y);    //函数指针定义    //定义一个函数指针指向minValue函数    //p函数指针变量名 NULL是函数指针变量的初值 int(*)(int x, int y)是函数指针类型    //定义了一个函数指针名字为p, 指向了一个返回值为int类型, 并且有两个整型参数的函数    int (*p)(int x, int y) = NULL;    //指针变量赋值, 函数地址    //函数名代表函数的首地址    p = minValue;//p指向minValue函数    //当把函数的地址赋给指针变量p之后, p就可以当做函数名使用    int min2 = p(10, 5);    int (*p2)(int x, int y) = NULL;    int (*p3)(int x, int y) = NULL;    p2 = maxValue;    p3 = sumValue;    int max2 = p2(10, 5);    int sum2 = p3(10, 5);    printf("max2 = %d min2 = %d sum2 = %d\n", max2, min2, sum2);    void (*p4)() = NULL;    p4 = printHello;    p4();

0 0
原创粉丝点击