Frees a block of memory that was allocated with _aligned_malloc or _aligned_offset_malloc.


void _aligned_free (
   void *memblock


A pointer to the memory block that was returned to the _aligned_malloc or _aligned_offset_malloc function.


_aligned_free is marked __declspec(noalias), meaning that the function is guaranteed not to modify global variables. For more information, see noalias.

This function does not validate its parameter, unlike the other _aligned CRT functions. If memblock is a NULL pointer, this function simply performs no actions. It does not change errno and it does not invoke the invalid parameter handler. If an error occurs in the function due to not using _aligned functions previously to allocate the block of memory or a misalignment of memory occurs due to some unforeseen calamity, the function generates a debug report from the _RPT, _RPTF, _RPTW, _RPTFW Macros.

By default, this function's global state is scoped to the application. To change this, see Global state in the CRT.


Routine Required header
_aligned_free <malloc.h>


For more information, see _aligned_malloc.

See also

Data Alignment