我的代码如下所示
struct {
int valid;
int pid;
int heading;
int speed;
} car;
struct car road[10]; //a road filled with cars
但是,我的编译器提示:
“不完整的结构/union/枚举汽车:道路”
我做错了什么?我查看了在线示例,它们表明这是初始化结构数组的方法。
如果不明显,我正在尝试制作一系列汽车结构
最佳答案
更改:
struct {
int valid;
int pid;
int heading;
int speed;
} car;
它声明仅一个实例未命名结构,名称为car
,到:
struct car{
int valid;
int pid;
int heading;
int speed;
};
它声明了一个新类型struct car
。struct
的名称需要位于关键字struct
旁边。
您还可以这样做:
typedef struct {
int valid;
int pid;
int heading;
int speed;
} car;
然后您仅将此struct
引用为car
,而不是struct car
。
参见this link有关结构
及其语法的更多信息。
关于c - 初始化结构体数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42364674/