void*的妙用 !这个场合还真非用不可
//任务:已经完成了一个FIFO 我现在需要多个FIFO 比如一个解析网诺报文 一个printf 怎么做比较好?//回答:一定要去耦合 所以需要更加抽象 我需要把数据结构和函数封装到一起 做一个整体double!#include "../FIFO/ringBuff.h"//技巧:不需要IDE#defineRINGBUFF_LEN1024typedef struct...
·
//任务:已经完成了一个FIFO 我现在需要多个FIFO 比如一个解析网诺报文 一个printf 怎么做比较好?
//回答:一定要去耦合 所以需要更加抽象 我需要把数据结构和函数封装到一起 做一个整体double!
#include "../FIFO/ringBuff.h" //技巧:不需要IDE
#define RINGBUFF_LEN 1024
typedef struct
{
u16 Head;
u16 Tail;
u16 Lenght;
u8 Ring_Buff[RINGBUFF_LEN];
}RingBuff_t;
typedef struct
{
RingBuff_t ringBuff;
void (*Init) (FIFO_Type *pFIFO);//可以自己给自己传参吗??
uint8_t (*write) (FIFO_Type *pFIFO,uint8_t data);//写一个数据到FIFO
uint8_t (*readone)(FIFO_Type *pFIFO,uint8_t *data);//读一个数据出来
uint8_t (*readall)(FIFO_Type *pFIFO,uint8_t **data,u16 *len);//全部读出来
}FIFO_Type;
不可以的!!!说没有定义!!!用void*
更多推荐
所有评论(0)