Tcl_Alloc(), Tcl_Free(), Tcl_Realloc()

allocate or free heap memory 

Tcl Library Procedures


#include <tcl.h>

char * Tcl_Alloc(size)


char * Tcl_Realloc(ptr, size)


int size (in) 

Size in bytes of the memory block to allocate.

char *ptr (in) 

Pointer to memory block to free or realloc.


These procedures provide a platform and compiler independent interface for memory allocation. Programs that need to transfer ownership of memory blocks between Tcl and other modules should use these routines rather than the native malloc() and free() routines provided by the C run-time library.

Tcl_Alloc() returns a pointer to a block of at least size bytes suitably aligned for any use.

Tcl_Free() makes the space referred to by ptr available for further allocation.

Tcl_Realloc() changes the size of the block pointed to by ptr to size bytes and returns a pointer to the new block. The contents will be unchanged up to the lesser of the new and old sizes. The returned location may be different from ptr.


Windows 8.1. Windows Server 2012 R2. Windows 10. Windows Server 2016. Windows Server 2019. Windows 11. Windows Server 2022.


PTC MKS Toolkit for Professional Developers
PTC MKS Toolkit for Enterprise Developers
PTC MKS Toolkit for Enterprise Developers 64-Bit Edition

PTC MKS Toolkit 10.4 Documentation Build 39.