I am reading about memory allocation and activation records. I am having some doubts. Can anyone make the following crystal clear ?
A). My first doubt is that "Are activation records created on stack or heap in C" ?
B). These are few lines from an abstract which i am referring :-->
Even though memory on stack area is created during run time- the amount of memory (activation record size) is determined at compile time. Static and global memory area is compile time determined and this is part of the binary. At run time, we cannot change this. Only memory area freely available for the process to change during runtime is heap.At compile time compiler only reserves the stack space for activation record. This gets used (allocated on actual memory) only during program run. Only DATA segment part of the program like static variables, string literals etc. are allocated during compile time. For heap area, how much memory to be allocated is also determined at run time.
Can anyone please elaborate these lines as i am unable to understand anything ? I am sure the explaination would be of great need to me.