12.2.3.3 Auto Variable Size Limits

If a program requires large objects that should not be accessible to the entire program, consider leaving them as local objects, but using the static specifier. Such variables are still local to a function, but are no longer auto and are allocated permanent storage which is not in the software stack.

The auto objects are subject to the similar constraints as non-auto objects in terms of maximum size, but they are allocated to the software stack rather than fixed memory locations. Non-Auto Variable Allocation and Access, Non-Auto Variable Size Limits. which describes defining and using large arrays is also applicable to auto objects.