The stack area when fun3() is invoked contains a stack frame with an 8 byte array 'a' starting at the top of the stack, followed by an 8 byte double 'b'. Above this is the stack frame of fun2 containing its return address, followed by the stack frame of fun1 containing a 16 byte array 'a', a 4 byte int 'b', a 4 byte float 'c', and its return address, and finally the stack frame of main containing its return address.