变长数组,不用指针,可以只分配一次内存,释放一次内存,方便内存管理
demo.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct demo {
char ch1;
char ch2;
char str[0];
};
struct demo1 {
char ch1;
char ch2;
};
int main() {
printf("sizeof demo:%d
", sizeof(struct demo));
printf("sizeof demo1:%d
", sizeof(struct demo1));
struct demo* buff = malloc(sizeof(struct demo) + 10);
memset(buff->str, ' ', 10);
memcpy(buff->str, "hello", 5);
printf("buff->str:%s
", buff->str);
return 0;
}
