带读的缓冲区分配(C)

带读的缓冲区分配(C),c,dynamic-memory-allocation,allocation,C,Dynamic Memory Allocation,Allocation,我想知道read函数是否将缓冲区大小分配给传递给它的缓冲区? 我需要知道,为了看看我是否需要释放缓冲区后,我完成了它 下面是函数read的原型: ssize_t read(int fildes, void *buf, size_t nbytes); 不,read不进行任何分配。它将数据读入作为参数提供的缓冲区,缓冲区必须在调用read之前由您分配。可以在堆或堆栈上使用缓冲区,也可以使用全局缓冲区;这是你的选择。不,它什么都不吃。调用方需要分配缓冲区。您如何获得它分配的缓冲区?它不返回指针。bu

我想知道read函数是否将缓冲区大小分配给传递给它的缓冲区? 我需要知道,为了看看我是否需要释放缓冲区后,我完成了它

下面是函数read的原型:

ssize_t read(int fildes, void *buf, size_t nbytes);

不,read不进行任何分配。它将数据读入作为参数提供的缓冲区,缓冲区必须在调用read之前由您分配。可以在堆或堆栈上使用缓冲区,也可以使用全局缓冲区;这是你的选择。

不,它什么都不吃。调用方需要分配缓冲区。您如何获得它分配的缓冲区?它不返回指针。
buf
参数必须是
void**buf
,以便可以用来更新调用方的指针。由于此问题未显示任何研究,因此被否决。你所要做的就是阅读手册页。@Barmar是的,我没有检查,我的错。