变长数据
今天学着别人用了一个变长数组,像这样
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总是莫名其妙的被改变,那么多代码,调试了好久才发现问题,
是不是像这种变长数组不能用在结构体的中间位置?
[解决办法]
柔性数组成员只能是结构体的最后一个成员。