Why are dynamically-sized arrays implemented as malloc()?

I'm working on a project that should not use a Heap. In the process of revising my code for this, I've discovered that dynamically-sized arrays, e.g.

uint8_t my_array[MIN(input_size, MAX_SIZE)];

are automatically compiling into usages of malloc(). I've completed my code revision, but I have two questions:
Where is this behavior is documented?
Is it possible to change this so that the allocations instead happen on the Stack?

Parents Reply Children
No data
More questions in this forum