The first byte of b comes after the last byte of a, though maybe not immediately after if padding is required for alignment of the double. There are many other answers that received partial credit. Explain why not. Your answer could include a diagram or some declarations. There are many other ways to answer the question correctly.
Short answers are preferred.
Write the code sequence to push one register onto the stack. B and C are in the same section of the address space. They do not need to be adjacent.