キューのデータ構造を実装 キューのデータ構造は配列で実現し、リングバッファにします。 enqueueとdequeueの関数を実装しています。 バッファがフルか空かの判定は、enqueueとdequeue時に行い、 enumで定義した定数で状態管理をしています。ここが今回少し悩んだ箇所です。いくつか方法がありますが、最終的にわかり易さを優先して、フラグで状態管理することにしました。 下記が実装したソースコードになります。 main関数でdequeueとenqueueをしています。 $ cat queue.c #include <stdio.h> #define SIZE 3 enum status{ EMPTY, AVAILABLE, FULL }; typedef struct{ int data[SIZE]; int head; int tail; int flag; }queue_t;