STM32bootload——typedef void (*Fun) (void) 理解
Posted smy87
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32bootload——typedef void (*Fun) (void) 理解相关的知识,希望对你有一定的参考价值。
1、typdef 用法如下所示
1 typedef unsigned char uint8_t; 2 typedef unsigned short int uint16_t; 3 typedef unsigned int uint32_t; 4 uint8_t i; //定义一个8位无符号字符型变量
2、指针函数形式
1 //定义一个函数指针pfun,指向一个返回类型为int,有一个参数为int的函数 2 int (*pfun)(int) ; 3 //指针层面理解,函数的函数 名是一个指针 4 //指针指向函数在内存中的首地址 5 int shiftfun(int a) 6 { 7 int temp; 8 temp = a; 9 temp<<a; 10 return a; 11 } 12 int main() 13 { 14 int temp; 15 //将函数shiftfun的地址赋值给变量pfun 16 pfun = shiftfun; 17 //*pfun ”显然是取pfun 所指向地址的内容,当然也就是取出了函数shiftfun()的内容,然后给定参数为2。 18 temp = (*pfun)(2); 19 }
3、typedef 返回类型(*新类型)(参数表)
1 typedef char (*PTRFUN)(int); 2 PTRFUN pFun; 3 char glFun(int a){ return;} 4 void main() 5 { 6 pFun = glFun; 7 (*pFun)(2); 8 }
由上对typedef void (*Fun) (void);理解
typedef 的作用是把已知的类型定义新类型,所以新类型(*Func)(void)的返回值是void。
定义了一个新类型,该类型是一个函数指针,它指向的函数形参为void,返回值为void。
以上是关于STM32bootload——typedef void (*Fun) (void) 理解的主要内容,如果未能解决你的问题,请参考以下文章