我不是很了解malloc,那些用malloc创建的只是在堆上创建的吗?
最佳答案
是的,当您 malloc 时,您是在堆中进行分配。
malloc 函数从堆中请求一 block 内存。如果请求被批准,操作系统将保留您请求的内存量。
当您的数据的生命周期必须不同于分配它的代码范围时,您应该使用 malloc。例如:你在一个函数中 malloc,你存储/保留一个指向该分配空间的指针,然后你可以在另一个函数中使用它。
与堆栈分配相比,另一个优点是您可以检查 malloc 是否失败,假设您没有足够的可用内存。
旁注:不要忘记free
您malloc
。
关于c - 通过 malloc 生成的数组与不是通过 malloc 生成的数组有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26581193/