[align=center]C++ 单链表[/align]
size =24;
地址
Head 0x004850b0
&(Head->nNumber) 0x004850b0
&(Head->cName[0]) 0x004850b4
&(Head->cName[1]) 0x004850b5
&(Head->cName[9]) 0x004850bd
&(Head->pNext) 0x004850c0
&(Head->nNumberTwo) 0x004850c4
因为:int 占4个字节
cName[10]会占用10个字节
struct List *pNext 是个指针占4个字节
nNumbeTwo占用4个字节
那么剩下2个字节分给分配给谁?
关键是这2个字节怎么分配:
&(Head->cName[9]) 0x004850bd
&(Head->pNext) 0x004850c0
这中间有2个字节间隙,不知分配给了谁?问题就出在这,难道VS不是连续分配地址空间?
struct List
{
int nNumber;
char cName[10];
struct List *pNext;
int nNumberTwo;
};
int size = sizeof(List);
size =24;
地址
Head 0x004850b0
&(Head->nNumber) 0x004850b0
&(Head->cName[0]) 0x004850b4
&(Head->cName[1]) 0x004850b5
&(Head->cName[9]) 0x004850bd
&(Head->pNext) 0x004850c0
&(Head->nNumberTwo) 0x004850c4
因为:int 占4个字节
cName[10]会占用10个字节
struct List *pNext 是个指针占4个字节
nNumbeTwo占用4个字节
那么剩下2个字节分给分配给谁?
关键是这2个字节怎么分配:
&(Head->cName[9]) 0x004850bd
&(Head->pNext) 0x004850c0
这中间有2个字节间隙,不知分配给了谁?问题就出在这,难道VS不是连续分配地址空间?