gpt4 book ai didi

c - 如何初始化指向结构的指针数组?

转载 作者:太空宇宙 更新时间:2023-11-04 08:01:17 25 4
gpt4 key购买 nike

我有以下结构:

struct clientDetails 
{
int socket;
char* port;
char* IP;
char* hostName;
int msgSentCount;
int msgRecvCount;
char* status;
char bufferMsg[BUFFER_SIZE];
char blockedUser[4];
int blockedCount;
};

我有一个指针数组:

struct clientDetails* allClients[4];

如何将 allClients 的所有数组元素初始化为默认值?

我尝试了以下方法,但我得到的是“结构类型的不完整定义”:

for(int i = 0; i<4; i++) {
allClients[i]->socket = 0;
allClients[i]->port = NULL;
allClients[i]->IP = NULL;
allClients[i]->hostName = NULL;
allCLients[i]->msgSentCount = 0;
allClients[i]->msgRecvCount = 0;
allClients[i]->status = NULL;
allClients[i]->bufferMsg = "";
allClients[i]->blockedUser = {"","","",""};
allClients[i]->blockedCount = 0;
}

最佳答案

一方面,您需要为该结构分配存储...现在您只有一个指针。在循环的顶部,您应该执行以下操作:

allClients[i] = malloc(sizeof(clientDetails));

自从我在“C”中完成结构已经有一段时间了,但是您也可以/应该typedef您的结构。

关于c - 如何初始化指向结构的指针数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46622302/

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