原创 c语言中长度为0的数组妙用

2008-8-29 10:13 3438 6 6 分类: 软件与OS
    长度为0的数组在GNU C是可以使用的,在定义一个变长对象的结构体是非常有用的。
请看下例。
struct line {
int length;
char contents[0];
};
struct line *thisline = (struct line *)
malloc (sizeof (struct line) + this_length);
thisline->length = this_length;
    显然这样的代码要比下面的定义节省空间
struct line {
int length;
char *contents;
};
struct line {
int length;
char contents[1];
};

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条