结构体里又有结构体成员,那么,怎么进行内存对齐

结构体里又有结构体成员,那么,如何进行内存对齐?
那么,a的内部对齐,是受外面影响吗?还是独立于B的?

struct A
{
……
};

struct B
{
……
A a;
……
};

------解决方案--------------------
a的起始地址 是 A中最大成员的整数倍
------解决方案--------------------
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!

VC调试时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Turbo C或Borland C用Turbo Debugger调试,Linux或Unix下用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

------解决方案--------------------
A和B有蛋关系.. A是独立的,B受A影响... 
------解决方案--------------------
不受外面影响
------解决方案--------------------
结构体之间也是相互独立的,B受A的影响
------解决方案--------------------
A不受B的影响,但是B受A的影响

比如A是4字节对齐 
B中若加上A之前是2字节对齐,加了A之后会变为4字节对齐