数据结构中定义一个顺序表中的问题求助

结构体这样定义
struct sqlist
{
elementype * elem;
int length;//当前长度
int listsize;//当前分配长度
};
在分配元素时这样的语句
q=&(l.elem[i-1]);
for(p=&(l.elem[l.length-1]);p>=q;--p)
*(p+1)=*p;
*q=e;
++l.length;
printf("ok\n");
return(1);
}
请问在这里q=&(l.elem[i-1]);是什么意思啊,l.elem[i-1]是个数组嘛。但是elem定义是个整型

q=&(l.elem[i-1]);是指将数组l.elem的下标为i-1的元素的地址赋值给q。
l.elem[i-1]是个数组元素,不是数组。
elementype * elem;// 这里将elem定义成了指向elemtype类型的指针变量,其实elem就是指向存储线性表元素的连续空间(即数组)的首地址。
温馨提示:答案为网友推荐,仅供参考
相似回答