Drawbacks Using Stack
Lifetime of stack resident memory values is tied to procedure entry & exit. Stack resident values cease to exist when a procedure returns. An attempt to use resident value after deletion will typically result in error.
Size of stack resident memory values must be known at compile time, which is when the structure of the activation record is laid out.