|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
杜育-广东:
哪位大神知道void(*PortSendNBytes[3])(UINT8*szSendBytes,UINT8 ucSendLength)={UARTSendNBytes,USBSendNBytes,NETSentNBytes};究竟是在定义函数、还是数组,还是指针,我真的被它搞混了。
伟-肇庆:
这段代码,是定义了一个数组,数组的元素是函数指针,函数的类型是void ,参数是UINT8*szSendBytes,UINT8 ucSendLength,我在写这段代码,希望能帮助你理解:
- #include <stdio.h>
- #include <stdlib.h>
- typedef unsigned char UINT8 ;
- void UARTSendNBytes(UINT8*szSendBytes,UINT8 ucSendLength)
- {
- printf("串口发送\r\n");
-
- }
-
- void USBSendNBytes(UINT8*szSendBytes,UINT8 ucSendLength)
- {
- printf("USB发送\r\n");
-
- }
-
- void NETSentNBytes(UINT8*szSendBytes,UINT8 ucSendLength)
- {
- printf("NETS发送\r\n");
-
- }
- void main()
- {
- UINT8 a =0;
- void(*PortSendNBytes[3])(UINT8*szSendBytes,UINT8 ucSendLength)={
- UARTSendNBytes,USBSendNBytes,NETSentNBytes};
- PortSendNBytes[0](&a,1);
- PortSendNBytes[1](&a,1);
- PortSendNBytes[2](&a,1);
-
- }
复制代码
|
|