voidprint(struct A *a){//(*a).x==a->x;printf("%d\t%.2lf\t%s\n",(*a).x,(*a).y,(*a).z);//printf("%d\t%.2lf\t%s\n",a->x,a->y,a->z); }voidpri(struct A st){printf("%d\t%.2lf\t%s\n",st.x,st.y,st.z);};
二者等价。
struct A a;
……
int n;scanf("%d",n);//可能的一种情况:struct A * arr=NULL;
arr=(struct A *)malloc(sizeof(struct A)*n);//第二种情况:struct A * arr=malloc(sizeof(struct A)*n);//arr就是n个结构体数组。有arr[i]的操作。
……
free(arr);