Here is a basic introduction to the stack and heap, with examples in C:
http://gribblelab.org/CBootcamp/7_Memory_Stack_vs_Heap.html
This might help with continuations: https://en.wikipedia.org/wiki/Continuation
Here is a really simple example of simulating a C return using call/cc:
(display
(call/cc
(lambda (return)
(display "hello ")
(return "world")
(display "never reached"))))