typedef定义函数指针类型的使用

⌚Time: 2022-03-25 16:34:23

👨‍💻Author: Jack Ge

定义函数指针

定义函数指针的方法,返回值与参数列表要与指针所要指向的函数一致


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

使定义的函数指针ptrFunc指向函数Func,并且使用ptrFunc


ptrFunc=func;

ptrFunc();

例子

a.cpp


#include<iostream>

int func(char ch){

    std::cout<<ch<<std::endl;

    return 0;

}

int main(){

    int (*pFunc)(char)=func;

    pFunc('v');

    return 0;

}

函数指针的定义,就像结构体变量定义一样,太过繁琐,对于struct,有


typedef struct newStruct{

    ...

}newStruct,*ptrNewStruct;

newStruct ns;

ptrNewStruct pNs;

而对于函数指针也可以使用typedef简化定义。

typedef定义函数指针类型,同样返回值与参数列表要与指向的函数一致


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

用函数指针类型ptrFunc,定义一个函数指针pFunc指向func


ptrFunc pFunc;

pFunc=func;

pFunc();

例子

b.cpp


#include<iostream>

int func(char ch){

    std::cout<<ch<<std::endl;

    return 0;

}

typedef int (*ptrFunc)(char);

int main(){

    ptrFunc pFunc=func;

    pFunc('n');

    return 0;

}