Мне нужно передать пакеты через Интернет, длина которых должна быть динамической.C: Рекомендуемый стиль для динамически размерных структур
struct packet
{
int id;
int filename_len;
char filename[];
};
Проблема в том, что массивы нулевой длины не соответствуют требованиям ISO.
Вместо этого следует использовать char filename[1];
? Но тогда sizeof(struct packet)
больше не вернет правильное значение.
с sizeof Я имел в виду только размер структуры, а не динамическое поле, потому что при приеме UDP-пакета я сначала читал в структуре, которая содержит размер динамического поля, а затем я читаю динамическое поле. – codymanix