Fly1ngM0nkey 2022-03-03 20:06 采纳率: 25%
浏览 143
已结题

线性表删除元素操作时,定义了两个指针变量p和q,为什么q后面的” L.elem+L.length-1“不用加&符号呢?

L.length和1不都是int整型变量吗?"L.elem+L.length-1"这句话到底什么含义呢?

部分代码如下:

#include <stdio.h>
#include <stdlib.h> // 定义杂项函数和内存分配函数
#include <string.h> // 字符串处理
#define OK 1
#define OVERFLOW 0
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int Status;

//定义线性表的顺序存储结构
typedef struct {
Student *elem;
int length;
int listsize;
}SqList;

//删除第i个学生信息
Status ListDelete_Sq(SqList &L, int i) {
Student *q;
Student *p;
printf("输入要删除第几个元素:");
scanf("%d",&i);
if ((i < 1)||(i > L.length)) return 0;
p = &(L.elem[i-1]);
q = L.elem+L.length-1; // 这句话不用加&号吗,L.length和1不都是int整型变量吗?"L.elem+L.length-1"这句话到底什么含义呢?
for (++p; p <= q; ++p)
*(p-1) = *p;
-- L.length;
printf("删除成功:\n");
return 1;
}

  • 写回答

2条回答 默认 最新

  • 一只蚂蝼 2022-03-03 20:38
    关注

    虽然L.length和1是整数没错,但是 L.elem是地址啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 修改了问题 3月3日
  • 修改了问题 3月3日
  • 展开全部

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度