だから私はCに慣れていないので、コツをつかむのに役立つ簡単なプログラムをいくつか作成しています。
次のような構造体があるとしましょう。
typedef struct {
char* field;
} something;
そして、次のように、これらのうちの 10 個のスペースを動的に割り当てます。
something* stuff = calloc(10, sizeof(something));
次に、これらの何かの1つを削除したいとしましょう。それは理にかなっていますか:
free(&stuff[4]);
それとも、何かの連続したブロックではなく、何かへのこれらすべてのポインターを作成した場合にのみ意味がありますか?
私がそれをしてうまくいった場合、次のようになります:
stuff[4] = malloc(sizeof(something))
次に、そのインデックスに「何か」を再度追加する必要があるだけですか?
それとも、一般的に、構造体自体ではなく、構造体へのポインターを含むメモリのブロックとして、そのような構造体を扱うのでしょうか?
ありがとう。