>>484
最後の +1 は分けて考える。

(nbytes + sizeof(Header) - 1) /sizeof(Header) は、
nbytes を収めることができる最小の sizeof(Header) バイトの個数(用語難しいな)。
類例:  n 円をm円玉で支払う場合に必要な最小の枚数は (n + m - 1) / m 枚。
ここまで説明されてもここの -1 の意味がわからないとこの先かなりつらい。

最後の +1 はヘッダそのものを収めるための sizeof(Header) 1コ分の領域。