猿问

你好,请问这段数据结构的第二句什么意思?谁能帮忙解析一下啊!

Status InitList_Sq(SqList &L){
L.elem=(ElemType*)malloc(LIST_INIT_SIZE*sizeof(ElemType));//就是这句不懂啊
if(!L.elem)exit(OVERFLOW);
L.length=0;
L.listsize=LIST_INIT_SIZE;
return OK;
}//InitList_Sq

青春有我
浏览 148回答 2
2回答

撒科打诨

为L.elem分配内存空间,空间大小为ElemType的大小与链表长度的乘积!

MM们

malloc 函数是分配指定大小的内存区,上面语句中的参数 LIST_INIT_SIZE * sizeof( ElemType ) 是让 malloc 函数分配一个可以容纳 LIST_INIT_SIZE 个 ElemType 对象的内存大小,而 malloc 函数前面的 ( ElemType* ) 是因为 malloc 函数返回的是 void* 类型的指针,需要强制转换为用户需要的类型指针才能使用,上面代码中即是 ElemType* 类型的指针
随时随地看视频慕课网APP
我要回答