函数指针数组是什么样子的?是怎么用的?已解答。
杜育-广东:哪位大神知道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]