【发布时间】:2012-03-16 19:18:29
【问题描述】:
我有一组要存储在匿名成员结构中的结构。每个小结构体如下所示:
static struct {
uint16_t buf[256];
} bufData[8];
我知道它只有 8 个元素。我想将它包含在另一个结构中,例如:
static struct {
int size;
// I am not sure how to proceed
//char * bufData;
//struct * bufData;
} Table[MAX_FILES];
目前正在这样输入数据:
for (int i = 0; i < 8; i++) {
loadData(i,bufData[i].buf);
printf("%s\n", bufData[i].buf); // This works
}
我想将它存储在 Table 的 jth 元素中,例如 Table[j].bufData。目前我已经尝试过
memset(bufData, 0, sizeof(bufData));
Table[j].size = 256;
Table[j].bufData = &bufData;
然后解压,还是不行。
char * test = Table[j].bufData;
for (int i = 0; i < 8; i++) {
printf("%s\n", test[i].buf);
}
我想我把这个弄坏了,我需要一些帮助来解开它!
【问题讨论】:
-
decl.找bufData,是不是全局变量?堆?堆栈?
-
这是一个栈元素,对于每个 Table[j] 结构都是唯一的。