Есть ли гибкий массив y член увеличивает размер структуры?

У меня такой код:

typedef struct
{    
    u32 count;
    u16 list[];   
} message_t;
...

message_t* msg = (message_t*)buffer;  
msg->count = 2;
msg->list[0] = 123;
msg->list[1] = 456;

size_t total_size = sizeof(*msg) + sizeof(msg->list[0]) * msg->count;  

send_msg( msg, total_size ); 

Проблемная строка - это строка с sizeofs. Я не уверен, что это правильный способ подсчета необходимого места. Содержит ли sizeof (* msg) что-нибудь о члене списка ?

Я могу проверить это с помощью своего компилятора, но работает ли каждый компилятор в этом случае аналогично?

8
задан SKi 18 July 2011 в 11:28
поделиться