¿Cuál es la necesidad de una matriz con elementos cero?

En el código del kernel de Linux encontré lo siguiente que no puedo entender. struct bts_action { u16 type; u16 size; u8 data[0]; } __attribute__ ((packed)); El código está aquí: http://lxr.free-electrons.com/source/include/linux/ti_wilink_st.h ¿Cuál es la necesidad y el propósito de una...