struct rumble {
char c[1];
};
struct rumble *p = (struct rumble*) malloc(sizeof(struct rumble) + 5);
在C裡 有一個技巧就是在struct最後宣告一個單一元素的陣列於是在malloc時就能擁有可變大小的struct rumble了
當然這個技巧也能用在C++ 但這會與compiler有關
因為雖然宣告在最後 compile時可能會產生額外的資料在最尾端
struct rumble {
char c[1];
};
struct rumble *p = (struct rumble*) malloc(sizeof(struct rumble) + 5);
在C裡 有一個技巧就是在struct最後宣告一個單一元素的陣列
0 comments:
張貼意見