1.前言 在刷题时遇到一个结构中包含char data[0],第一次见到时感觉很奇怪,数组的长度怎么可以为零呢?于是上网搜索一下这样的用法的目的,发现在linux内核中,结构体中经常用到data[0].这样设计的目的是让数组长度是可变的,根据需要进行分配,方便操作,节省空间. 2.data[0]结构 经常遇到的结构形状如下: struct MyData { int nLen; //长度 char data[0]; //起始地址 }; 在结构中,data是一个数组名:但该数组没有元素:该数组的真实…