【发布时间】:2016-10-24 03:51:38
【问题描述】:
在嵌入式编程中,有时会在一个联合中放置多达 15 个结构。这是一种常见的做法,包括我在内的大多数人都认为这是为了节省空间,因为 RAM 太小而且太珍贵。但现在我想知道,还有其他考虑吗?比如速度?
请指教告知。
这里有一个例子供你思考:
typedef struct
{
union
{
struct{
...
} stru1;
struct{
...
} stru2;
struct{
...
} stru3;
struct{
...
} stru4;
}
}main_packet
【问题讨论】:
-
您认为它如何节省空间?这是由于规范中定义的完全不同的原因,很可能是任何解释 C 的教程或书籍。
-
一个
union占用它最大的项目的大小,所以相反:你浪费了很多空间......