我想知道最好的解决方案是哪一个字段的变长数组结构。我做了大量的研究,但我还没有看到明确的答案。 我一直在玩下面的代码,并试图让varField被设置为一个10字节大小的数组。C++结构中的可变长度数组
typedef struct TestStruct{
int size;
unsigned char varField[1];
}
我试过做零大小的数组,并给我一个编译错误。 我也试过这样的事情,它给了我一个编译错误。
int size= 10;
struct TestStruct*test = malloc(sizeof(struct TestStruct) + (size- 1));
test->size= size;
非常感谢您的帮助。
是否有一些令人信服的理由不使用标准容器? – shuttle87
“'malloc'”让我感到畏缩。 –
如果这是C99,请使用[this method](http://stackoverflow.com/a/20221073),而不是C++的扩展部分(http://stackoverflow.com/a/22608418/1708801)/1708801)。 –