malloc是否负责内存分配?

时间:2018-03-22 16:11:16

标签: c malloc system-calls

我使用malloc分配了5个字节的内存,我可以使用这5个字节来存储字符或整数。 例如,使用第一个字节存储字符,使用接下来的四个字节来存储整数。 malloc如何处理内存分配问题?

1 个答案:

答案 0 :(得分:1)

malloc

  

如果分配成功,则返回指向最低(第一个)字节的指针   在已分配的内存块中,适合任何对象   类型。

因此,内存块对齐任何对象类型。

  

使用第一个字节存储一个字符和接下来的四个字节   存储一个整数。

那是无效的。您需要将char和整数捆绑在一个结构中(可能包括填充),或者为它们分配2个独立的内存块。或者序列化它们(这是另一个问题)。