C/C++类/结构体的内存大小问题,此外 vscode 怎么调32/64 位

img


这是终端输出

img


我寻思 4+8 不是 = 12 吗?

还有 ,我这个sizeof(指针类型)是8字节 说明是 64 位的 vscode 怎么调 32/64 位 不像 visual studio 那样直接调吗?

每个数据类型都有对齐要求(为了执行效率),比如指针类型在64位机器上按8字节对齐,int类型按4字节对齐。所以结构体内ele按4字节对齐,next按把8字节对齐,ele与next之间有4个字节间隙,整个结构体大小为16字节

https://en.cppreference.com/w/cpp/language/object#Alignment