#include"stdio.h" #include"malloc.h" #include <stdlib.h> //int 4字节,char 1个字节 struct node{ int member1; char member2[10]; int member3[0];//变长数组 }; void main() { struct node *xiaobo1; //printf("%d",sizeof( struct node)); xiaobo1 = malloc(sizeof(struct node)+3*sizeof(int));//变长分配内存 memset(xiaobo1,0,sizeof(*xiaobo1)); (*xiaobo1).member1 = 1; strcpy((*xiaobo1).member2,"xiaobo1"); (*xiaobo1).member3[0] = 30; (*xiaobo1).member3[1] = 31; (*xiaobo1).member3[2] = 32; printf("xiaobo1的内存大小%d/n",sizeof(xiaobo1)); printf("member1的地址:%p,值:%d/n",&((*xiaobo1).member1),(*xiaobo1).member1); printf("member2的地址:%p,值:%s/n",&((*xiaobo1).member2),(*xiaobo1).member2); printf("member3[0]的地址:%p,值:%d/n",&((*xiaobo1).member3[0]),(*xiaobo1).member3[0]); printf("member3[1]的地址:%p,值:%d/n",&(