变长结构体的技巧
文章目录
本来 C99 标准已经支持变长数组了,但是我们项目组客户端的开发人员用的是 VS2005,而微软的这个又不支持 C99。没办法,我们服务器端得兼容他们。
所以变长结构体只能这样了:1
2
3
4struct _abc {
int count;
char str[0];
};
count 记录 str 数组的大小。不一定是 char 类型,可以用宏来传递相应参数类型。
需要注意的地方:
- 在申请空间时要根据 count 的值来多申请 str 的空间。