On top of
lxrec's nice answer, there's no such thing as a variable-length stack contiguous array of the kind I think you're talking about since they'd be too impractical. There are VLAs in C which can allocate the sufficient amount of space on the stack based on a size determined at runtime, but they're not resizable, variable-sized containers of the kind I imagine you have in mind.
It's not really practical to have resizable contiguous data structures using the stack, since that would render it no longer a stack. If you allocated a big array on the stack and then tried to
realloc and shrink it to a smaller size, what's the stack going to do with that if there's data being stored at the end of the array (say from stack spills)? And how is it going to make room if the array grows?
All of these questions lead towards something a lot more complicated than a stack and ultimately defeat the purpose of the stack which has the appeal of just pushing data and popping it off in a symmetrical fashion. A stack based linked structure, like a free list using a limited amount of maximum space (maybe using the heap after it runs out), might be more feasible than one which aims to be resizable and perfectly contiguous.
You could probably get really fancy and design metal-scraping languages around that idea, but the structure would not be a perfectly contiguous one living on the stack if it can grow beyond a certain size. At the very least it would have to become split into two blocks (one on stack, one on heap) or move entirely to the heap after that point.