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