我想知道最好的解決方案是哪一個字段的變長數組結構。我做了大量的研究,但我還沒有看到明確的答案。 我一直在玩下面的代碼,並試圖讓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)。 –