读书人

变长数据,该如何解决

发布时间: 2012-03-01 10:25:46 作者: rapoo

变长数据
今天学着别人用了一个变长数组,像这样
typedef struct _nodelist
{
char node_ip[32];
bool is_free;
uint32 node_port;
uint32 bind_threadid;
uint32 test_threadid[1];
uint32 test_num;
struct _nodelist *next;
} _nodelist;

结果程序运行时test_num总是莫名其妙的被改变,那么多代码,调试了好久才发现问题,
是不是像这种变长数组不能用在结构体的中间位置?

[解决办法]
柔性数组成员只能是结构体的最后一个成员。

读书人网 >C语言

热点推荐