柔性数组,结构体中char data[0]
主要是在结构体中,实现变长结构体
typedef struct { int x; char data[]; //或 char data[0]并不占用内存 }s; int main(int argc, char *argv[]) { s*p = static_cast<s*>(malloc(100)); strcpy(p->data,"qwqrqqrrqq"); cout << p->data ; free(p); system("pause"); return 0; } 其中data紧跟着结构体末尾, 并且不占内存, 如果分配出来的内存大于sizeof int,那么data是 多出来的内存首地址,从而实现边长结构体