我给malloc的论点有什么关系?

时间:2016-12-02 14:02:05

标签: c malloc

C noob在这里。当我可以在以后传递任何大小的字符串时,我给malloc什么参数有什么关系呢?

$item

这很好用。我原本以为我无法在我对malloc应该是什么的理解中存储超过1个char。

1 个答案:

答案 0 :(得分:5)

malloc最终可以实际分配超出预期的数量来维持对齐/简化分配器。

你正在做的是未定义的行为,以及其他一些事情," undefined"可以意味着"工作,有时"。不过不要这样做,因为其他选择并不是那么好。有些时候,它会崩溃。有些时候,它似乎会起作用,但事实证明你已经破坏了堆,并且在稍后的某些时候,使用或释放​​一些完全不同的分配,你会得到“莫名其妙”的#34;数据或堆损坏相关的错误,不会以任何明显的方式与溢出相关联。

这是一个糟糕的主意, 从不 依赖甚至超过您要求的一个字节。