楼主的是char data[MAX_LEN];
只要MAX_LEN能保证比双方协商的最大数据字节更大就行了,一次malloc即可,至于data里具体数据就留着慢慢解析。
他同事那个portCapT portCap[MAX_NUM];
算什么?就算MAX_NUM比双方协商的可能最多的portCapT数量更大,然而每个portCapT结构里的bandTypeT又是变长的,所以这个结构直接申请,肯定内存不够。为了让内存够,那个MAX_NUM实际上必须等于MAX_LEN/sizeof(bandTypeT),然而这样转一道又何必呢?不如楼主直接规定最大字节来的简单明了。而且像楼主说的,那个可变数组的下标,取过来之后,内存不是内存,指针又不是指针,就是给维护的人挖坑啊。
【 在 slowaction 的大作中提到: 】
: 你问得这个问题
: 楼主的结构也处理不了
: 他的方式比对方好
: ...................
--
FROM 115.192.110.*