c - 初始化结构体数组

标签 c struct

我的代码如下所示

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 carstruct的名称需要位于关键字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/

相关文章:

c - getchar 是否定义为宏?

c - 用户单击顶部栏时应用收到的消息

json - 当 json 输入结构错误时,Unmarshall 应返回错误

c++ - GetTimeZoneInformation 函数返回具有 "incorrect"值的结构

c - 来自十六进制整数的 printf UTF8 字符

c# - i==0 和 0==i 有区别吗?

c++ - 何时不将 C 函数原型(prototype)放在头文件中

c++ - 用结构数据模拟

json - 如何在 Golang 结构中使用 omitempty 标志更新 Mongodb 字段

c - 从类型 `' 分配给类型 ]'` 时不兼容的类型