02b1] 情報隠蔽されたバッファmaxbuf

次のような内容のヘッダファイルmaxbuf.hがある。

struct maxbuf;
typedef struct maxbuf *maxbufp;
maxbufp maxbuf_new(void);
void maxbuf_put(maxbufp r, int x);
int maxbuf_get(maxbufp r);

このAPIは、まずmaxbuf_newで作成したバッファに対して1回以上 maxbuf_putで整数を投入した後、maxbuf_getで値を取得すると、これま でに投入した値の最大値が返される(getより前に必ず1回は_putが呼ば れるものとしてよい)。このAPIの実装を作成せよ。下請け関数は使用し ないこととする。