通俗易懂——关于二级指针的作用

一级指针

传递变量的地址进函数,使其改变函数外变量值,函数传递是值的传递,相当于建立了一个变量的副本,不会改变函数外变量值,通过指针(一级指针)传递变量地址,从而改变了函数了变量值*


二级指针

传递一级指针的地址进函数,从而在函数内改变函数外一级指针的值
而一级指针的值可能为某个变量的地址,例如数组的地址存放在指针里,就可以通过二级指针改变数组的位置,在顺序表中插入和删除中应用。

类比于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;
	}
}
  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值