次のように、可変サイズのC構造体を使用しています。
typedef struct {
int num_elems;
int elem1;
} mystruct;
// say I have 5 elements I would like to hold.
mystruct * ms = malloc(sizeof(mystruct) + (5-1) * sizeof(int));
ms->num_elems = 5;
// ... assign 5 elems and use struct
free(ms);
この最後のfree()は、mallocされたすべてのものを解放しますか、それともsizeof(mystruct)のみを解放しますか?