环形缓冲区
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)
满