先说说我的理解 1机器字应该是8bit 那8byte机器字是不是64位机 这是我的困惑点
(前面困惑的点成立的情况下)如果是64位机 指针在64位机是8字节 int4字节 char 1字节 根据对齐规则
* | * | * | * | * | * | * | * |
---|---|---|---|---|---|---|---|
char | int | int | int | int |
存储格式不该是这样吗
8+8=16
先说说我的理解 1机器字应该是8bit 那8byte机器字是不是64位机 这是我的困惑点
(前面困惑的点成立的情况下)如果是64位机 指针在64位机是8字节 int4字节 char 1字节 根据对齐规则
* | * | * | * | * | * | * | * |
---|---|---|---|---|---|---|---|
char | int | int | int | int |
存储格式不该是这样吗
8+8=16
结构体申请的内存以内部元素所占内存最大的为准
char*表示指针,占用内存是8个字节
char是字符型变量,占用1个字节
int是整型数据,占用4个字节
所以最终结构体也占用8个字节