この設計の選択について健全性チェックを依頼する。
文字列または数値のノードタイプを受け入れることができるヒープデータ構造を作成することにより、Cでヒープソートを記述しています。(私はソートできる独自のプライベートヒープを作成しています)
ヒープ内のノードはvoid*であり、比較操作を実行するために参照が解除されます。Heap構造体は、各ノードのサイズをHeap.nodesizeに格納します。ノードが文字列の場合は、-1を格納します。
ノードが挿入されると、void*にメモリが割り当てられます。Heap.nodesizeが-1の場合、strlen(val)はmallocに渡されます。それ以外の場合、Heap.nodesizeはmallocに渡されます。
比較を実行する場合、Heap.nodesizeが-1の場合はstrcmpが使用され、それ以外の場合はブール演算子が数値に使用されます。
ヒープが解放されたら、ループして各void*を解放する予定です。この時点で、ノードごとに解放するバイト数が解放されますか?