1、共用体-union
一种特殊的数据类型,允许您在相同的内存位置存储不同的数据类型;
可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用
相同的内存位置的有效方式。
union [union tag]
{
member definition;
member definition;
...
member definition;
} [one or more union variables];
2、位域
typedef struct redisObject {
unsigned type:4;
unsigned encoding:4;
unsigned lru:LRU_BITS; /* LRU time (relative to global lru_clock) or
* LFU data (least significant 8 bits frequency
* and most significant 16 bits access time). */
int refcount;
void *ptr;
} robj;
sizeof:8字节
类型只能为int、unsigned int、signed int