数组可以由结构体构成,这里讨论两种情况:数组的元素是结构体,数组的元素是结构体指针。
数组的元素是结构体。
struct obj
{
char sex;
int old;
int weight;
int height;
};
int fun(void)
{
struct obj objs[10];
int i;
i=3;
objs[i].sex='m';
objs[i].old=18;
objs[i].weight=80;
objs[i].height=180;
return 0;
}
汇编代码
pushl %ebp
movl %esp, %ebp
//申请的栈空间
subl $176, %esp
//i=3
movl $3, -4(%ebp)
//计算元素i的地址
movl -4(%ebp), %eax
//i=i*16
sall $4, %eax
// -164(%e