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;
}