別の構造体内の構造体の配列にシーケンシャル メモリを割り当てる方法を知りたいです。struct2 の配列を持つ struct1 があるとします。すべてを 1 つの連続したメモリ ブロックに格納したいと考えています。
malloc を使用してブロックを割り当てることはできますが、配列のメモリを割り当てるにはどうすればよいでしょうか?
struct1 *set = malloc(sizeof(struct1) + sizeof(struct2)*number_of_structs);
set->arr = (struct2*)set + sizeof(struct); //This is probably wrong
set->arr[0].data = 1;
set->arr[1].data = 2;
...
ありがとうございました。