C语言 fifo 代码
时间: 2023-03-22 19:00:28 浏览: 92
好的,下面是一个简单的C语言fifo代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#define FIFO_SIZE 10
int fifo[FIFO_SIZE];
int head = 0;
int tail = 0;
void enqueue(int value) {
if ((tail + 1) % FIFO_SIZE == head) {
printf("FIFO is full!\n");
return;
}
fifo[tail] = value;
tail = (tail + 1) % FIFO_SIZE;
}
int dequeue() {
if (head == tail) {
printf("FIFO is empty!\n");
return -1;
}
int value = fifo[head];
head = (head + 1) % FIFO_SIZE;
return value;
}
int main() {
enqueue(1);
enqueue(2);
enqueue(3);
int value = dequeue();
printf("Dequeued value: %d\n", value);
enqueue(4);
enqueue(5);
value = dequeue();
printf("Dequeued value: %d\n", value);
return 0;
}
```
这是一个简单的循环队列实现,FIFO_SIZE 定义了队列的最大容量,enqueue 函数将一个值插入队列尾部,dequeue 函数将队列头部的值弹出并返回。队列满时不能插入,队列空时不能弹出。在主函数中,我们演示了一些入队和出队的操作。