在研究一些代碼,我遇到了以下結構:在這種情況下char str [1]和char * str之間的區別?
/* PACKET format:
*
* clientRandom - 20 byte buffer
* yLen - 4 bytes (LoHi integer)
* yData - yLen byte buffer
*
* Total length = 24 + yLen bytes
*/
typedef struct packetFormat
{
char clientRandom[20];
uint32 yLen;
char yData[1];
}packetFormat;
爲什麼第三個字段不聲明爲自變量長度的字符緩衝區char *yData
?
如何在代碼中使用此字段? – someuser
沒有可用的代碼,它在一個頭文件中。 –