Whenever I read about program execution in C, it speaks very less about the function execution. I am still trying to find out what happens to a function when the program starts executing it from the time it is been called from another function to the time it returns? How do the function arguments get stored in memory?
Share
That’s unspecified; it’s up to the implementation. As pointed out by Keith Thompson, it doesn’t even have to tell you how it works. 🙂
Some implementations will put all the arguments on the stack, some will use registers, and many use a mix (the first n arguments passed in registers, any more and they go on the stack).
But the function itself is just code, it’s read-only and nothing much “happens” to it during execution.