Defined in alloca.h, the
alloca() function allocates local storage in a function. It returns a pointer to the number of bytes of memory allocated.
The default implementation returns an eight-byte aligned block of memory on the stack.
Memory returned from
alloca() must never
be passed to
free(). Instead, the memory is de-allocated
automatically when the function that called
alloca()must not be called through a function pointer. You must take care when using
setjmp()in the same function, because memory allocated by
longjmp()is de-allocated by the call to
This function is a common nonstandard extension to many C libraries.
size a pointer to the number of bytes of