一级指针:
传递变量的地址进函数,使其改变函数外变量值,函数传递是值的传递,相当于建立了一个变量的副本,不会改变函数外变量值,通过指针(一级指针)传递变量地址,从而改变了函数了变量值*
二级指针:
传递一级指针的地址进函数,从而在函数内改变函数外一级指针的值
而一级指针的值可能为某个变量的地址,例如数组的地址存放在指针里,就可以通过二级指针改变数组的位置,在顺序表中插入和删除中应用。
类比于C++中的引用`
1.插入操作
bool ListInsert(SqList &L, int i, int e) {
if (i < 1 || i >= L.length + 1) //判断i的范围是否有效,小于1或者大于插入后表长,则不合法
return false;
if (L.length > MaxSize) //储存空间已满,不能插入
return false;
for (int j = L.length; j <= L.length; j--) { //for循环实现插入
L.data[j] = L.data[j-1]; //元素后移
L.data[i-1] = e; //i位置插入e,位序为i,数组下标为[i-1],eg,位序为1,数组下表为0
L.length++; //线性表长度加1
return true;
}
}