Re:Everything I wish I knew when learning C
by IgorPartola on Tuesday November 29, 2022 @06:44AM
(#33786333)
It just moves the stack pointer by n which is O(1). It doesn’t initialize it of course. But my point is that the array size isn’t known at compile time.
Re:Everything I wish I knew when learning C
by jcelerier on Tuesday November 29, 2022 @10:43AM
(#33788911)
Yes, it causes stack overflow at runtime. Compilers warn for it, in particular clang has a warning that you can configure to pop up whenever the stack usage of a function goes beyond some limit you set - I think that setting it to 32k or 64k is a safe and sane default as e.g. macOS thread stack sizes are just 512kb
Stupid question: Does that mean a huge value for 'n' can cause stack overflow at runtime? I recall that threads normally get a fixed size stack size, e.g., 1MB.