#include<stdio.h>
typedef struct{
int a[0];
}s_a;
int main(){
printf("size is %ld\n", sizeof(s_a));
return 0;
}
执行结果为size is 0
可将成员放在结构体末尾,malloc 结构大小+私有变量大小
strcut info{
int num;
int len;
int data[0];
};
int main()
{
struct info *p;
p = (struct info*)malloc(sizeof(struct info) + length);
p -> len = length;
return 0;
}
//优点,data在结构体中不占内存,缩小了info结构体的大小
结构体指针指向该成员时,便是访问的私有变量