我正在尝试制作一个名为 的结构数组,StatusItem
如下所示:
typedef struct
{
char* name;
char* index;
int optional;
} StatusItem;
此外,由于我希望此数组具有任何大小,因此我正在使用malloc
. 所以数组定义如下:
StatusItem* statusItem = NULL;
(然后将其传递给检索所有值的函数,如下所示。)
statusItem = (StatusItem*)malloc(cJSON_GetArraySize(items));
...
for (i = 0 ; i < cJSON_GetArraySize(items) ; i++)
{
strcpy(statusItem[i].name,name->valuestring);
strcpy(statusItem[i].index,index->valuestring);
if(!parseInt(optional->valuestring, &statusItem[i].optional));
{
goto cleanup;
}
}
有一些代码涉及 cJSON 库获取 的字符串值name
,index
并optional
放入上面引用的变量中,并且它们存储在valuestring
这些变量的字段中。
我检查了涉及 cJSON 库的所有内容都可以正常工作,并返回正确的值,但程序无法访问或存储statusItems
数组中的值。
有任何想法吗?我几乎可以肯定它涉及malloc
我的一些滥用。