环形缓冲区

1.定义一个数组:
char buf[8];

2.定义一个读位置为0,定义一个写位置为0。
int r=0;
int w=0;

3.写数据:
buf[w++]=val;
if(w==8) w=0;//表示写满了,重头写。

或者:
buf[w]=va;
w=w+1;
if(w==8) w=0;//表示写满了,重头写。

4.读数据
val=buf[r++];
if(r==8) r=0;//表示读满了,重头读。

或者:
val=buf[r];
r=r+1;
if(r==8) r=0;//表示读满了,重头读。

5.读环形缓冲区:判断环形缓冲区是否空的情况
if(r==w)
        空

6.写环形缓冲区:判断环形缓冲区是否满了
if(r==w+1)
        满

你可能感兴趣的:(c++,数据结构,c语言)