The following function sets, modeled after the ANSI C standard, but specifying behavior when requesting zero bytes, are available for allocating and releasing memory from the Python heap:
size_t n) |
void *p, size_t n) |
void *p) |
The following type-oriented macros are provided for convenience. Note that TYPE refers to any C type.
TYPE, size_t n) |
(n *
sizeof(TYPE))
bytes of memory. Returns a pointer cast to
TYPE*. The memory will not have been initialized in
any way.
void *p, TYPE, size_t n) |
(n * sizeof(TYPE))
bytes. Returns a pointer
cast to TYPE*.
void *p) |
In addition, the following macro sets are provided for calling the Python memory allocator directly, without involving the C API functions listed above. However, note that their use does not preserve binary compatibility accross Python versions and is therefore deprecated in extension modules.
PyMem_MALLOC(), PyMem_REALLOC(), PyMem_FREE().
PyMem_NEW(), PyMem_RESIZE(), PyMem_DEL().
See About this document... for information on suggesting changes.