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