标签: c dynamic-memory-allocation allocation
我想知道read函数是否确实将Buffer的大小分配给传递给它的Buffer? 我需要知道这一点,以便查看完成后是否需要释放缓冲区。
以下是该函数的原型:
ssize_t read(int fildes, void *buf, size_t nbytes);
答案 0 :(得分:2)
否,读取不做任何分配。它将数据作为参数提供给您提供的缓冲区,在调用read之前必须已将其分配。您可以在堆或堆栈上使用缓冲区,也可以在全局缓冲区上使用缓冲区。这是您的选择。