gpt4 book ai didi

c - 结构数组 - sizeof 返回意外结果

转载 作者:太空宇宙 更新时间:2023-11-04 06:50:31 24 4
gpt4 key购买 nike

我的代码中声明了一组简单结构。 A sizeof() 返回的响应与数组的大小不匹配。有没有其他方法可以声明它以确保正确的 sizeof 响应?

struct control_cmd {
const char * cmd;
void (*cmd_fn)(int,char *(*)[],char*);
};

struct control_cmd control_cmds[]={
{"ANNOUNCE",control_announce},
{"SEND",control_send}
};
当我期望值 2 时,

sizeof(control_cmds) 返回值 16

这是怎么回事?

最佳答案

sizeof 是内存中的大小,不是元素个数。如果是数组(不是指针!),您可以通过将数组的大小除以单个元素的大小来获得元素的数量,即 sizeof(control_cmds)/sizeof(*control_cmds).

关于c - 结构数组 - sizeof 返回意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52128410/

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