求教C语言的这句定义 typedef void (*handler_t)(uint8_t * ); 什么意思啊

2024-12-20 10:01:20
推荐回答(3个)
回答1:

定义一个函数指针类型。
一步一步分解
第一行:typedef void (*handler_t)(uint8_t * );
第二行:最内层 (uint8_t * ) 函数的参数列表 ,仅有一个参数,为uint8_t类型的指针
第三行:void (*handler_t) 函数指针 该函数指针 指向一个 上面一行那个类型的函数,函数返回值为void
使用的时候 handler_t phand;
就是定义了个该类型的函数指针。

回答2:

首先typedef是用来定义类型的,void (*handler_t)(uint8_t * );是用来定义函数指针的,连在一起就是把这个函数指针定义为类型。
也就是之后你可以这么写

handler_t myFunc;这个myFunc就是一个函数指针,前面就是他的类型。

回答3:

typedef 返回类型(*新类型)(参数表)