【发布时间】:2023-04-06 11:00:01
【问题描述】:
有一个结构
typedef struct _pack_t {
char tag[4];
int type;
size_t size;
size_t offset;
char data[0];
} __attribute__((packed)) pack_t;
还有一个定义
#define PACK_OFFSET ((size_t)((pack_t *)0)->data)
定义是什么意思?以及如何理解指针“0”?
【问题讨论】:
-
和
offsetof(pack_t, data)意思一样
标签: c pointers c-preprocessor