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 doesn't validate its parameter, unlike the other _aligned CRT functions. If memblock is a NULL pointer, this function simply performs no actions. It doesn't change errno and it doesn't invoke the invalid parameter handler. If an error occurs in the function because _aligned functions weren't used 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 behavior, see Global state in the CRT.


Routine Required header
_aligned_free <malloc.h>


For more information, see _aligned_malloc.

See also

Data alignment