数据结构,线性表顺序表示定义的结构体中含有Elemtype *elem;下文为什么就是用elem[i]了?

结构体中含有Elemtype *elem;
下文变成了elem[i];这是用数组的形式访问指针?比如*p="abcde",可以用p[1]表示b,
p[2]表示c?
另外,他申请了一个存储空间,L是SQList &L,
L.elem=malloc(100*sizeof(类型)) 函数来申请了该存储空间的首地址给了L.elem指针.那么elem[i]表示的是其中第I个元素?而不是地址+1?毕竟很多类型都是好几个字节。单纯地址+1就要找到下一个元素不可能吧,他这里就是指的是malloc申请的空间里面的第i个元素吧,可是*elem不是地址吗。。。

确实是第i个元素,不是地址加1。C/C++默认指针+1时,为指针地址加上该指针所指类型的大小。追问

你真是大神!一句话就说清了。还有个小问题就是,malloc函数里面,sizeof(Elemtype)这个elemtype是具体多少,我知道是一种类型,要自己指定吗?比如写成int?结构体里面已经定义了Elemtype *elem;哪里是需要自己根据实际修改的呢,

追答

Elemtype应该是一个结构体,书里没有定义的地方吗?

温馨提示:答案为网友推荐,仅供参考
相似回答