摘要:
先来看这样一个结构体:struct sss{ int strlen; char strbuf[1];}可以这样分配内存给这个结构体:char * name = "hello world!";struct sss *s_t = (struct sss*) malloc(sizeof(struct sss) - 1 + strlen(sss)+1);然后这样赋值:s_t->strlen = strlen(name);strcpy(s_t->strbuf, name);这样做的好处是结构体内存和字符串内存在同一块。可以直接一次释放:free(s_t); 阅读全文