数据结构的问题小问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:12:41
1、newbase=(ElemType *) realloc (L.elem, (L.listsize+LISTINCREMENT)*sizeof (ElemType));

这句什么意思?

2、q=&(L.elem[i-1]); 前面加个&有什么意思?

这个是线性表吧,realloc是重新分配内存空间,第一个参数是内存的起始地址,第二个参数是要搬运的大小,以字节为单位,返回值是void *类型,值是再分配的首地址。
L.listsize+LISTINCREMENT就是在原来数组长度的基础上加一个增量,在数据库中很常用。
因为返回的是void *类型,因此要(ElemType *)类型转换。
其中ElemType是前面typedef 指定的类型。
如果搬运失败返回的NULL地址。
q=&(L.elem[i-1]); &是取地址,因为L.elem[i-1]返回的是ElemType类型