【发布时间】:2020-04-03 07:55:20
【问题描述】:
我在尝试迭代结构数组时遇到了问题。设置如下:
数据.h
typedef struct data {
char *name;
char *age;
} data;
data array_of_data[];
数据.c
data array_of_data[4] = {
{"John", "24"},
{"Melissa", "32"},
{"Ludwing", "98"}
};
main.c
#include "data.h"
int main() {
int i=0;
while(&array_of_data[i] != NULL) {
do_something();
i++;
}
return 0;
}
我不能在 .h 文件中声明元素的数量。因此使用 for 循环和 sizeof 或 while 循环进行迭代是行不通的。使用我的解决方案,我收到“未定义的引用”错误。我不明白为什么。任何帮助表示赞赏。
【问题讨论】:
-
没有声明/定义名为
data_array的变量。向我们展示实际代码。 -
对不起,我更正了。实际代码对于 stackoverflow 帖子来说太大了。
标签: c arrays struct size declaration