请教一下这个sizeof的问题

周翼翼 发布于 2014/04/30 23:01
阅读 191
收藏 0
struct sdshdr {
    int len;
    int free;
    char buf[];
};

sizeof(sdshdr)==2*sizeof(int),怎么理解?

@中山野鬼 @anyonekownsc



加载中
0
G0561
G0561
if判断语句
0
中山野鬼
中山野鬼

这个貌似我以前说过吧。哈。。。。。sdshdr.buf的地址,应该紧接在在sdshdr的空间后面。不过我的印象,这个好像是编译器规定的,不是标准规定。忘了。哈

0
宅蓝三木
宅蓝三木
buf是GNU C的零长度数组,定义时不分配空间,用malloc给结构体分配更多的空间后可以用buf引用。
返回顶部
顶部