1. 程式人生 > >怎麼計算環形緩衝區長度

怎麼計算環形緩衝區長度

定義了一個數組 Buff[200],想把它設計成環形緩衝區,
寫指標:Ptr_ W
讀指標:Ptr_R
問:這個讀寫之間的緩衝區的長度是怎麼計算的呢,謝謝!

用的c語言

如果是線性的不是環形的話寫指標一定需要在讀指標後面這樣
分兩種情況
1: buffer未滿的時候 size = ptr_w - ptr_r
2: buffer滿的時候
ptr_w > ptr_r --> ptr_w - ptr_r
ptr_w < ptr_r --> 200 - ptr_r + ptr_w
歸納。。。