是否可以在 C 中的结构中使用 typedef union
Is it possible to typedef union inside a struct in C
我不是很明白 union 是怎么运作的。有人可以解释它是如何工作的吗?我可以 typedef 联合吗?如果答案是肯定的,我该怎么做?下面这段代码有什么问题?
typedef struct Car{
int age;
int weight;
enum Type { Tesla, Lada } type;
typedef union Consumption{
double litre;
int kwh;
} Consumption;
Consumption consumption;
} Car;
我尝试编译这段代码时的错误代码:
union1.c:9:2: error: expected specifier-qualifier-list before ‘typedef’
typedef union Consumption{
^~~~~~~
typedef
不能存在于 struct
或 union
中。但是,这并不意味着您不能在另一个内部定义 struct
或 union
。例如:
typedef struct Car{
int age;
int weight;
enum Type { Tesla, Lada } type;
union Consumption{
double litre;
int kwh;
} consumption;
} Car;
我不是很明白 union 是怎么运作的。有人可以解释它是如何工作的吗?我可以 typedef 联合吗?如果答案是肯定的,我该怎么做?下面这段代码有什么问题?
typedef struct Car{
int age;
int weight;
enum Type { Tesla, Lada } type;
typedef union Consumption{
double litre;
int kwh;
} Consumption;
Consumption consumption;
} Car;
我尝试编译这段代码时的错误代码:
union1.c:9:2: error: expected specifier-qualifier-list before ‘typedef’
typedef union Consumption{
^~~~~~~
typedef
不能存在于 struct
或 union
中。但是,这并不意味着您不能在另一个内部定义 struct
或 union
。例如:
typedef struct Car{
int age;
int weight;
enum Type { Tesla, Lada } type;
union Consumption{
double litre;
int kwh;
} consumption;
} Car;