目次 - SDL 3.0 API(機能別) - 標準ライブラリ - SDL_realloc

SDL_realloc

サイズを変更してメモリを再確保する

ヘッダ

SDL3/SDL_stdinc.h

構文

void * SDL_realloc(void *mem, size_t size);

引数

void *mem確保または再確保するメモリへのポインタ, またはNULL
size_tsizeメモリの新しいサイズ

戻り値

(void *) 新たに確保したメモリへのポインタを戻す. 確保に失敗したときNULLを戻す.

詳細

この関数が戻したメモリはSDL_free()で解放する必要がある.

sizeが0の場合, 1が設定される. これはrealloc(mem, 0)free(mem)として扱う一部のCランタイムのreallocとは異なるので注意すること.

memがNULLの場合, この関数はSDL_mallocと同じ動作となる. それ以外の場合, 次の3つの内の1つがありうる:

メモリの確保が成功した場合, 戻されたポインタのアライメント(メモリ配置の境界)は, その環境で最も大きなアライメント(C11以降ならばalignof(max_align_t)), または2 * sizeof(void *)のどちらか小さい方であることが保証されている. この保証よりも大きなアライメントが必要な場合はSDL_aligned_alloc()を使用すること.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

関連項目

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_realloc - SDL Wiki