4.2.1 alloca

void *alloca(size_t size)

The alloca function allocates size bytes out of scratch memory, and returns a pointer to the allocated memory. The returned pointer is guaranteed to have 8–byte alignment. Scratch memory is only valid for the duration of a clause. Memory that is allocated with alloca is deallocated when the clause completes. If insufficient scratch memory is available, no memory is allocated and an error is generated.