malloc 0返回值
时间: 2023-11-27 22:21:47 浏览: 68
C语言malloc函数用法
在C语言中,当调用 `malloc(0)` 时,它的行为是实现定义的。也就是说,它可能返回一个指针,也可能返回 `NULL`。
在大多数实现中,`malloc(0)` 返回一个非空指针,但是这个指针不能被解引用。这意味着你不能使用该指针来读取或写入数据,否则可能会导致 undefined behavior。
如果你想分配一个长度为0的内存块,建议使用 `calloc(1,0)`,它可以确保返回一个可以被解引用的指针。但是需要注意的是,这种情况下返回的指针通常不能被释放,因为它没有分配任何实际的内存。
阅读全文