テストする方法が見つからないので、reallocの2番目のパラメーターが実際に何であるかを誰かが説明できますか。
このようなものがあるとします
int *p = malloc(sizeof(int)); //we have just enough space to store single int value
p に 2 つの int 値を格納したい場合 2 * sizeof(int)
は、ブロックの新しいサイズの 2 番目のパラメーターとして realloc に送信する必要がありますか、またはsizeof(int)
int のサイズのメモリを拡張する必要があるためです。
この場合、新しいブロックの合計値を再割り当てするために送信する必要がある場合、単に2 * sizeof(int)
送信しsizeof(int)
、元のポインターを返すだけで、メモリ内または他の何かで何もしない場合はどうなりますか?