指针和数组是一样的吗?数据结构的问题,望高手解答

指针和数组是一样的吗?数据结构的问题,望高手解答我看的是严蔚敏的那本数据结构第22页typedefstruct{ElemType*elem..}SqList;我理解这里的... 指针和数组是一样的吗?数据结构的问题,望高手解答
我看的是严蔚敏的那本数据结构
第22页
typedef struct{
ElemType *elem
..
}SqList;
我理解这里的elem,是这个结构里的一个指针,但后面他说顺序表中第i个元素是L.elem[i-1],这里我混乱了,SqList类型的线性表元素怎么会是L.elem,它是指针啊,就算要他指向数组,也应该重新声明一个数组,在让它指,而且名字也不能用elem,望高手解答,不甚感激
展开
 我来答
百度网友d7cef73
2011-08-01 · TA获得超过624个赞
知道小有建树答主
回答量:346
采纳率:0%
帮助的人:272万
展开全部
指针是一个数据变量,保存内存中一个地址;
数组是一个数据类型,在内存中开辟一块区域储存相同类型的数据
typedef struct{
ElemType *elem
..
}SqList;
以上为自定义的一个结构,可能你打错了,因为你没有打上结构名称,该结构内有一个ElemType类型的指针,指向内存中一个位置,且创建了一个SqList对象
关于顺序表中第i个元素是L.elem[i-1],你最好看下他这个ElemType*是怎么实现的,由于他要使用索引访问,所以他只有两种选择:
1.将elem定义为动态申请内存的数组
2.将elem定义为链表实现,即elem为链表的节点,然后在结构内部采用运算符重载的方式实现索引访问
以上两个方式都可以达到“顺序表中第i个元素是L.elem[i-1]“的作用
还有L.elem[i-1]应该是写错了,应该是SqList.elem[i-1];
以上回答希望对你有帮助!
zachzsq
2011-08-01 · TA获得超过291个赞
知道小有建树答主
回答量:139
采纳率:0%
帮助的人:163万
展开全部
指针是一个指向变量地址的变量,如果它指向一个数组,就跟数组名一样,即指向其数组的第一个元素的地址。反之亦可,数组名也可以作为指针使用。
如下定义:
int aa[10];
int *p
p = aa;
则for(int i = 0;i < 10;i++ )
p[i] = i;
就相当于:aa[i] = i;所以你所说的elem虽是一个指针,但如果它指向一个数组,则elem[i-1]是完全正确的。
反之亦可:如 *(aa+i) = i;也是正确的。
更多追问追答
追问
你重新定声明了一个数组aa[10],指针p指向它
但我的书上没有,他就说elem是数组指针,没声明数组,然后后面说顺序表中第i个元素是L.elem[i-1],就是这里我搞不懂,指针怎么变数组了
就拿你的例子来说,按照书上的逻辑,p[i-1]就是表里第i个元素,这个不对吧
追答
首先强调:p[i-1]就是表里第i个元素,这个是正确的。我这里的p[i-1]就相当于是aa[i-1],就是第i个元素。
如果按你说的elem是数组指针,那么elem[i-1]就是第i个元素也是对的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-08-01 · 超过19用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:51.5万
展开全部
不一样在内存上有区别。指针只是个变量,但是数组还必须要开辟一个若干个数量特定的内存空间。
更多追问追答
追问
那本书写的不对是吧?
追答
什么书。指针和数组   本来就是这样的关系   。一个是定长的而另外一个  只是个变量  。什么书呀?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
heside123
2011-08-01 · TA获得超过199个赞
知道小有建树答主
回答量:693
采纳率:0%
帮助的人:369万
展开全部
当你定义SqList类型的L后,一般会对L进行初始化。

正常的情况下,我们都是L.elem = (ElemType *)malloc(nLen*sizeof(ElemType ));
这样的话,就会有内存了。然后就相当于访问指针变量的某一块内存区域。

例如:
char *p = new [10];
*(p+5) = 'a';

那么p[5]就是字符a了。。。
也就是说*(p+5)和p[5]都是对p的第6个内存单元读取内容。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式