jianhong_wu 发表于 2015-1-29 16:54:06

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

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

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

typedef unsigned charUINT8;

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");

}
voidmain()
{
   UINT8a =0;
void(*PortSendNBytes)(UINT8*szSendBytes,UINT8 ucSendLength)={
UARTSendNBytes,USBSendNBytes,NETSentNBytes};

PortSendNBytes(&a,1);
PortSendNBytes(&a,1);
PortSendNBytes(&a,1);

   

}

页: [1]
查看完整版本: 函数指针数组是什么样子的?是怎么用的?已解答。