我使用 malloc 分配了 5 个字节
的内存,我能够使用这 5 个字节来存储字符或整数。例如,使用第一个字节存储字符,使用接下来的四个字节存储整数。malloc 如何处理内存迁移问题?
> malloc
如果分配成功,则返回指向最低(第一个(字节的指针 在为任何对象适当对齐的分配内存块中 类型。
因此,内存块针对任何对象类型都是对齐的。
使用第一个字节存储字符,使用接下来的四个字节存储字符 存储一个整数。
这是无效的。您需要将 char 和整数捆绑在一个结构中(可能包括填充(,或者为它们准备 2 个单独的内存块。或者序列化它们(这是另一个问题(。