I was revising C and came across to alloca/free functions which is described as allocating storage on a stack like space. Is this same as the malloc/free ? or this is something different ? Thanks.
I think you mean alloca
which is used to allocate memory on the stack. And yes, this is different from malloc
and free
which allocate on the heap.
Don't attempt to free memory allocated with alloca
because it is automatically freed when the function that calls alloca
returns to its caller.
Using alloca
and/or C99 variable length arrays can be a risky business because you can readily overflow the stack if you use these tools imprudently.
malloc
, calloc
and realloc
functions allocate space on the heap.
free
function "frees" space previously allocated by these functions.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With