typedef struct
{
unsigned int flag;
unsigned short cmd;
unsigned short len;
unsigned short result;
unsigned short reserve;
char data[0];
}STRUCT_CMD_HEAD,*LPSTRUCT_CMD_HEAD;
|
在最后留一个保留字节长度为零,用于以后的扩展,只能动态分配。
malloc(sizeof(STRUCT_CMD_HEAD) + datalen);
#define exchange(x,y) do{int tmp; \
tmp=x;\
x=y;\
y=tmp;\
}while(0)
|
用do while把宏包含起来,可以避免一些奇怪的问题,具体情况自己分析吧,网上也能搜到好多。
typedef struct a
{
int temp1;
int temp2;
}STRUCT[1];
|
将一个结构体定义成一个数组,现在还不是太理解这个的好处,据说是可以减小栈里的存储空间。
阅读(184) | 评论(0) | 转发(0) |