1. ホーム
  2. c

[解決済み] C Vector/ArrayList/LinkedList

2022-03-06 05:29:45

質問

私はCで小さなプログラムをしていて、vector/ArrayList/LinkedListのようなものが必要なのですが、私はCで作業しています。

構造体を格納し、一部を追加・削除したいのですが。

どのように解決するのですか?

サイズ変更可能な配列には malloc()realloc() . これらにより、( malloc() で)、サイズ変更 realloc() ) ヒープ上のある一定の領域を指定します。このように使われます。

int* a = malloc(10 * sizeof(int));

if(a == NULL) {}     // malloc() was unable to allocate the memory, handle the
                     // error and DO NOT use this pointer anymore

// now you can treat a as a normal array of 10 ints:
a[4] = 51;

// suppose 10 ints aren't no more enough:
a = realloc(a, 20 * sizeof(int));

if(a == NULL) {}     // same thing as before

// here you have 20 ints, the previous 10 are still there
a[18] = a[4]

// don't forget to free the memory when you have finished:
free(a);

int'を構造体型に置き換えるだけです ;)