我需要通过互联网传输数据包,其长度应该是动态的.
struct packet { int id; int filename_len; char filename[]; };
问题是零长度数组不符合ISO标准.
我应该用char filename[1];吗?但是sizeof(struct packet)不会再返回正确的值了.
char filename[1];
sizeof(struct packet)
c struct data-structures
c ×1
data-structures ×1
struct ×1