gpt4 book ai didi

c - 在结构中设置数组值在结构中设置不同的字段

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

我有一段代码如下,当带有注释的行(//这里是错误)执行时,它设置状态变量而不是数组中的元素。

我将 int status 元素移到结构定义中的 array_name 元素上方,这似乎已修复它,我怀疑我正在更改指针并且缺少一些括号,但我不确定为什么会这样。

#define MAX_NUM 20
typedef struct FOO_T {
bool abc;
int id;
int array_name[MAX_NUM];
int counter;
int status;
SYSTEMTIME timestamp;

struct FOO_T *next;
}

if (curr->array_name[code] == 0 )
{
curr->counter++;
curr->array_name[code] = curr->counter; //error here
}

我还在另一个函数中初始化了整个结构,该函数的一部分是这样的:

thing->id = 0;
for (i = 0; i < MAX_NUM; i++) thing->array_name[i] = 0;
thing->counter = 0;
thing->status = 0;

最佳答案

您应该检查 code 是否小于 MAX_NUM

在您的特定情况下,code 可能是 MAX_NUM + 1

关于c - 在结构中设置数组值在结构中设置不同的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5112105/

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