42,指向函数的指针

#include


/*

 1,函数也是一块存储地址,函数名称就是地址名称

 2,指向函数的指针就是定义一个指针函数来存储函数地址

 格式:

 函数返回值类型 (*指针函数名)(参数列表);

 egint (*sum)(int v1,int v2); == int (*sum)(int,int);

 3,指向函数有四个形式:

 没有返回值没有形参

 没有返回值有形参

 有返回值没有形参

 有返回值有形参

 */


void test();

void test1(int v1,int v2);

int test2();

int test3(int v1,int v2);


int main(int argc, const char * argv[]) {

    //第一种:

    void (*testP)();

    testP = test;

    testP();

    //第二种:

    void (*test1P)(int v1,int v2);//==void (*test1P)(int,int);

    test1P = test1;

    test1P(10,20);

    //第三种:

    int (*test2P)();

    test2P = test2;

    printf("test2:result = %i\n",test2P());

    //第四种:

    int (*test3P)(int,int);

    test3P = test3;

    printf("test3:result = %i\n",test3(20, 30));

    return 0;

}


void test(){

    printf("test\n");

}


void test1(int v1,int v2){;

    printf("test1:v1 = %i,v2 = %i\n",v1,v2);

}


int test2(){

    return 30;

}


int test3(int v1,int v2){

    return v1+v2;

}


//test

//test1:v1 = 10,v2 = 20

//test2:result = 30

//test3:result = 50

//Program ended with exit code: 0


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