Зачем нужен массив с нулевыми элементами?

В коде ядра Linux я обнаружил следующее, чего не могу понять. struct bts_action { u16 type; u16 size; u8 data[0]; } __attribute__ ((packed)); Код здесь: http://lxr.free-electrons.com/source/include/linux/ti_wilink_st.h Для чего нужен массив данных с нулевыми...