结构体后面定义一个空数组的含义
最近在写C代码,经常看到Linux 的头文件中有的结构体后面会定义一个空数组,不知道其为何作用?经过高人指点终于明白其要点!struct inotify_event { __s32 wd; __u32 mask; __u32 cookie; __u32 len; char name[0];};如上,结构体最后一个元素name为空数组。这是个广泛使用的常见技巧,常用来构成缓冲区。如果你是做嵌入式开发,这种技巧应该用得漫天飞了。 比起指针用空数组有这样的优势:...