不占用结构体空间,使用分配内存,但是可以使用,使用完不用释放内存。零长度数组内存大小没有限制,
使用指针不能偏移(除非使用malloc,给零长度数组分配内存)
例如:
typedef struct
{
char *data;
char buf[0];
}buf_t;
int main()
{
buf_t buf;
char * strbuf = "123456";
printf("size of buf_t %d\n ", sizeof(buf_t));
memcpy(buf.buf, strbuf, strlen(strbuf));
printf("struct buf message %s\n", buf.buf);
}