構造体配列ポインタにメモリを動的に割り当てる方法。例: サイズが 1024 の構造体配列ポインターがありますが、サイズを大きくする必要がある場合はどうすればよいですか? arr サイズを動的に定義する必要があります。初期化のために、サイズを 1024 に保ちました。あとで、割り当てられた容量よりも多くの容量を増やす必要があります。どうすれば増やすことができますか??
質問する
87 次
2 に答える
1
realloc()
. 何かのようなもの
struct foo *ptr;
ptr = malloc(sizeof(*ptr) * 1024);
// later
struct foo *tmp = realloc(ptr, sizeof(*ptr) * 2048);
if (tmp) {
ptr = tmp;
} else {
// something nasty happened
free(ptr);
exit(-1);
}
于 2013-02-02T06:22:52.630 に答える
1
動的メモリ割り当ての場合は、を使用array implemented using linked lists
すると役立ちます。関数を使用malloc()
して、既存の構造ノードにメモリを割り当てることができます。
構造体オブジェクト内の配列のメモリを増やしたい場合は、構造体内の配列の代わりにリンク リストを使用できます。
于 2013-02-02T06:25:48.537 に答える