[語法] 請問gcc裡 int a[0]; 這種寫法
請問在gcc中可以宣告一個 zero length array
ex: int a[0];
這個東西的性質是甚麼呢??
他有type 也有value跟address 但是sizeof他得到的又是0
我看到他的用法是宣告在struct最後面
ex: typedef struct test {
int a;
int *p;
int end[0];
} TEST;
以便於使用malloc出來memory後,然後cast成那個struct
這樣struct就可以使用malloc後面多出來的空間
但是為什麼我用 p = end; 再用p去access後面的空間會失敗呢??
主要就是不了解 zero length array的性質
請教大家 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.166.151.153
推
12/19 17:07, , 1F
12/19 17:07, 1F
→
12/19 17:07, , 2F
12/19 17:07, 2F
推
12/19 22:47, , 3F
12/19 22:47, 3F