![]() |
![]()
| ![]() |
![]()
LIBRARY#include <xtend/mem.h> -lxtend SYNOPSISvoid *xt_realloc(void *array, size_t nelem, size_t size) ARGUMENTSarray: Address of the previously allocated array nelem: Number of objects to allocate size: Size of a single object DESCRIPTIONxt_realloc() is a simple wrapper around realloc(3) that requires three arguments representing the original array, the new number of objects to allocate and the size of an element. This prevents the very common mistake with realloc(3) of forgetting to multiply by the size of an element. Specifying the size using sizeof(*variable) has the advantage of being type-independent. I.e. if you change the type of the variable, this code need not be updated. Simply add one * to whatever the return value is assigned to. RETURN VALUESAddress of the newly allocated array, or NULL if allocation failed EXAMPLESsize_t widget_list_size = 1024; widget_t *widgets; widgets = xt_malloc(widget_list_size, sizeof(*widgets)); widget_list_size *= 2; widgets = xt_realloc(widgets, widget_list_size, sizeof(*widgets)); SEE ALSOrealloc(3)
|