gpt4 book ai didi

C中的字符数组

转载 作者:行者123 更新时间:2023-12-04 06:17:33 25 4
gpt4 key购买 nike

我是 c 的新手。只是对c中的字符数组(或字符串)有疑问:当我想在C中创建一个字符数组时,我是否必须同时给出大小?

因为我们可能不知道我们实际需要的尺寸。比如客户端-服务端程序,如果我们想声明一个字符数组让服务端程序接收来自客户端程序的消息,但是我们不知道消息的大小,我们可以这样做:

char buffer[1000];
recv(fd,buffer, 1000, 0);

但是如果实际消息的长度只有 10 怎么办。这会导致大量内存浪费吗?

最佳答案

是的,您必须提前确定尺寸,即使您使用 malloc。

当您从套接字读取时,如示例中所示,您通常使用大小合理的缓冲区,并在您使用它时立即以其他结构调度数据。在任何情况下,1000 字节都不会浪费太多内存,而且肯定比从某个内存管理器一次询问一个字节要快:)

关于C中的字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com