typedef void (*ISR_FUNC_PTR)(void);
时间: 2023-09-29 16:02:19 浏览: 85
这是一个函数指针类型的定义,名字为 ISR_FUNC_PTR,它指向一个没有参数和返回值的函数。在嵌入式系统中,常常用它来定义中断服务函数(ISR, Interrupt Service Routine)的类型。这样定义之后,就可以通过将函数指针指向具体的函数来注册中断服务函数。当中断发生时,处理器会跳转到该函数执行中断处理。
相关问题
typedef int *P_ARR[2]; typedef int (*ARR_P)[2]; typedef void *P_FUNC(int); typedef void (*FUNC_P)(int ); typedef int (*FUNC_P_ARR[2])(int ,int);
这是C语言中的一些类型定义。
`typedef int *P_ARR[2];` 定义了一个名为`P_ARR`的类型,它是一个指向包含两个`int`类型指针的数组的指针类型。
`typedef int (*ARR_P)[2];` 定义了一个名为`ARR_P`的类型,它是一个指向包含两个`int`类型的数组的指针类型。
`typedef void *P_FUNC(int);` 定义了一个名为`P_FUNC`的类型,它是一个以一个`int`类型参数为输入,返回一个`void`类型指针的函数指针类型。
`typedef void (*FUNC_P)(int);` 定义了一个名为`FUNC_P`的类型,它是一个以一个`int`类型参数为输入,返回`void`类型的函数指针类型。
`typedef int (*FUNC_P_ARR[2])(int, int);` 定义了一个名为`FUNC_P_ARR`的类型,它是一个包含两个指向以两个`int`类型参数为输入,返回`int`类型的函数指针的数组。
typedef void (*os_task_ptr)(void *p_arg);的typedef怎么就变成函数指针了
在C语言中,`typedef`关键字可以用来定义类型别名。在这个语句中,`os_task_ptr`被定义为一个函数指针类型的别名。具体来说,`os_task_ptr`被定义为一个参数为`void*`类型,返回值为`void`类型的函数指针。因此,我们可以将函数指针变量赋值给`os_task_ptr`类型的变量,使其指向相应的函数。例如:
```c
void my_task(void *arg) {
// do something
}
os_task_ptr task_func = my_task;
```
这里,`task_func`就是一个`os_task_ptr`类型的变量,它指向`my_task`函数。当我们调用`task_func`时,实际上就是调用`my_task`函数。
阅读全文