字符串变量可变长度怎么定义。
定义了一个结构体
typedef struct TLV
{
short int Tag;
short int Length;
char Value[等于Length的值];
}TLV;
要想达到value字符串变量的长度由第2个参数length的值来决定,怎么定义呢?
[解决办法]
那你就把那里面的Value定义成指针就好了,到时候你想获取多长的字符串就new多大就ok了。
[解决办法]
#define TLV_FIX_LEN()(sizeof(TLV) - 4)
typedef struct TLV
{
short int Tag;
short int Length;
char Value[4];
}TLV;
TLV *my_malloc(int valueLen)
{
return (TLV *)malloc(TLV_FIX_LEN + valueLen)
}