独闷闷网

 找回密码
 立即注册
搜索
查看: 1672|回复: 0
收起左侧

[原创] 函数指针数组是什么样子的?是怎么用的?已解答。

[复制链接]
发表于 2015-1-29 16:54:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
杜育-广东:
哪位大神知道void(*PortSendNBytes[3])(UINT8*szSendBytes,UINT8 ucSendLength)={UARTSendNBytes,USBSendNBytes,NETSentNBytes};究竟是在定义函数、还是数组,还是指针,我真的被它搞混了。

伟-肇庆:
这段代码,是定义了一个数组,数组的元素是函数指针,函数的类型是void ,参数是UINT8*szSendBytes,UINT8 ucSendLength,我在写这段代码,希望能帮助你理解:
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. typedef unsigned char  UINT8  ;

  4. void UARTSendNBytes(UINT8*szSendBytes,UINT8 ucSendLength)
  5. {
  6.    printf("串口发送\r\n");

  7. }



  8. void USBSendNBytes(UINT8*szSendBytes,UINT8 ucSendLength)
  9. {
  10.     printf("USB发送\r\n");

  11. }

  12. void NETSentNBytes(UINT8*szSendBytes,UINT8 ucSendLength)
  13. {
  14.   printf("NETS发送\r\n");

  15. }
  16. void  main()
  17. {
  18.      UINT8  a =0;
  19. void(*PortSendNBytes[3])(UINT8*szSendBytes,UINT8 ucSendLength)={
  20. UARTSendNBytes,USBSendNBytes,NETSentNBytes};

  21. PortSendNBytes[0](&a,1);
  22. PortSendNBytes[1](&a,1);
  23. PortSendNBytes[2](&a,1);

  24.    

  25. }
复制代码


乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-6-14 02:30 , Processed in 0.158993 second(s), 18 queries .

快速回复 返回顶部 返回列表