- 在GNU C中允许有数组长度为零的情况。如:
struct var_data{
int len;
char data[0];
};
char data[0]表示程序中通过var_data结构体中的data[index]成员来访问len之后的地index个地址,它可以用来携带一些长度不定的内容。假如struct var_data 的数据就保存在struct var_data紧接着的内存区域,则可以通过以下方法访问:
struct var_data s;
for( i=0 ; i < s.len ; i ++ )
printf(“%02x”, s.data[i] );
零长度数组
最新推荐文章于 2024-05-01 17:03:26 发布