数据结构*e = (*L).elem[i - 1]和e = &(*L).elem[i - 1]的区别

StatusListDelete(SqList*L,inti,LElemType_Sq*e){LElemType_Sq*p,*q;if((*L).length==0)re... Status ListDelete(SqList *L, int i, LElemType_Sq *e) {
LElemType_Sq *p, *q;

if ((*L).length == 0) return FALSE;
if (i<1 || i>(*L).length)return FALSE;

*e = (*L).elem[i - 1]; //能正确在main函数显示e值得表达
p = &((*L).elem[i]);
q = &((*L).elem[(*L).length - 1]);

for (p; p <= q; p++) *(p - 1) = *p;
(*L).length -= 1;
return TRUE;
}
//main函数
ListDelete(&L, 6, &e);
printf("删除 L 中第 6 个元素 \"%d\" ...\n", e);
printf(" L 中的元素为:L = ");
ListTraverse(L, PrintElem);
printf("\n\n");
我想问的是,如果让e取&(*L).elem[i - 1]为什么main函数中e值就为地址了呢,这个地址不应该指向值吗
展开
 我来答
cnf1980
2017-10-20 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.2万
采纳率:54%
帮助的人:2621万
展开全部
+&是取地址,不加&就是取值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式