I have a line of code in my program:
float cache[featureHeight-1];
where featureHeight is a function parameter. Now when the C compiler translates this to assembly, how does it know how much stack space to allocate, since featureHeight is undetermined at compile time? Or does the compiler convert this to a malloc call behind the scenes?
(C99 btw, no compiler errors or warnings, and code runs perfectly)