是否可以在 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 不能存在于 structunion 中。但是,这并不意味着您不能在另一个内部定义 structunion。例如:

typedef struct Car{
        int age;
        int weight;

        enum Type { Tesla, Lada } type;

        union Consumption{
                double litre;
                int kwh;
        } consumption;
} Car;