- 一、typedef void(*T)(void *)
- 1. void(*T)()
- 2. void(*T)(void *)
- 3. typedef void(*T)(void *)
- 二、typedef void(*T)(非void *指针)
- 1.void(*task_func)()
- 2. void(*task_func)(uint8_t tb_flag, uint8_t *const power_mode)
- 3. typedef void(*task_func)(uint8_t tb_flag, uint8_t *const power_mode)
- 参考文章
一、typedef void(*T)(void *)
层层剖析
1. void(*T)()T是一个指向返回值为void ,参数为空的类型的函数指针
2. void(*T)(void *)T是一个指向返回值为void,参数为void *类型的指针
3. typedef void(*T)(void *)T不再是一个函数指针了,它代表着一种类型,这种类型可以定义一个指向返回值为void,参数为void *类型的指针
例如:
typedef void(*T)(void *); T t; void func(void *); t=func;二、typedef void(*T)(非void *指针)
如:typedef void(*task_func)(uint8_t tb_flag, uint8_t *const power_mode);
层层剖析
1.void(*task_func)()task_func是一个指向返回值为void ,参数为空的类型的函数指针
2. void(*task_func)(uint8_t tb_flag, uint8_t *const power_mode)task_func是一个指向返回值为void,参数为uint8_t类型的普通变量和uint8_t *类型的指针
3. typedef void(*task_func)(uint8_t tb_flag, uint8_t *const power_mode)task_func不再是一个函数指针了,它代表着一种类型,这种类型可以定义一个指向返回值为void,参数为uint8_t类型的普通变量和uint8_t *类型的指针
(示例):
typedef void(*task_func)(uint8_t tb_flag, uint8_t *const power_mode) task_func func; static void task_demo1(uint8_t time_flag, uint8_t *const power_mode); func = task_demo1;
参考文章
地址:https://blog.csdn.net/weixin_40332490/article/details/104609425