Change the size of allocated memory.
Defined in <SDL3/SDL_stdinc.h>
void * SDL_realloc(void *mem, size_t size);| void * | mem | a pointer to allocated memory to reallocate, or NULL. |
| size_t | size | the new size of the memory. |
(void *) Returns a pointer to the newly allocated memory, or NULL if allocation failed.
The memory returned by this function must be freed with SDL_free().
If size is 0, it will be set to 1. Note that this is unlike some other C runtime realloc implementations, which may treat realloc(mem, 0) the same way as free(mem).
If mem is NULL, the behavior of this function is equivalent to SDL_malloc(). Otherwise, the function can have one of three possible outcomes:
mem, it means that mem was resized in place without freeing.mem was freed and cannot be dereferenced anymore.mem will remain valid and must still be freed with SDL_free().If the allocation is successfully resized, the returned pointer is guaranteed to be aligned to either the fundamental alignment (alignof(max_align_t) in C11 and later) or 2 * sizeof(void *), whichever is smaller.
It is safe to call this function from any thread.
This function is available since SDL 3.2.0.