C语言-3

260 阅读1分钟

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;
sizeof8字节
类型只能为intunsigned intsigned int