struct中使用char[]
缘由
最近在看redis的源码,刚开始看sds,看到这块代码
struct __attribute__ ((__packed__)) sdshdr5 {
unsigned char flags; /* 3 lsb of type, and 5 msb of string length */
char buf[];
};
好奇为什么使用 char buf[],而不用char *buf,找到答案记录一下。
struct中的char*和char数组有什么区别
常用来构成缓冲区。比起指针,用空数组有这样的优势:
……
