㈠ C语言里如何设置缓冲区
将数据以链表形式顺序存放,新数据总是放在表尾,待处理的数据总是在头结点下的第一个结点,处理完毕则释放空间。x0dx0a x0dx0a#define BufferSize 1024 // 合适的大小你知道的x0dx0atypedef struct node {x0dx0a char *buffer;x0dx0a struct node *next;x0dx0a}*linkList;x0dx0a x0dx0aLinkList *InitList() {x0dx0a LinkList *head;x0dx0a head = (char *)malloc(size(node));x0dx0a head->next = NULL:x0dx0a return head;x0dx0a}x0dx0a x0dx0avoid AddData(LinkList *head, char *data) { // 将新数据添加到表尾x0dx0a LinkList *p = head;x0dx0a LinkList *anode = (char *)malloc(size(node));x0dx0a anode->buffer = (char *)malloc(size(BufferSize));x0dx0a strncpy(anode->buffer,data,BufferSize);x0dx0a anode->next = NULL:x0dx0a while(p->next) p = p->next;x0dx0a p->next = anode;x0dx0a}x0dx0a x0dx0avoid DealData(LinkList *head) {x0dx0a LinkList *p = head->next;x0dx0a if(p) {x0dx0a head->next = p->next;x0dx0a // p->buffer指向的数据待处理x0dx0a free(p->buffer); // 处理完毕,释放空间x0dx0a free(p);x0dx0a }x0dx0a}