pa_last=LA.elem+LA.length-1;
为什么这是尾指针?
LA.elem是指LA的第一个元素,加上一个长度就代表一个指针吗?为什么加上一个长度就是指针呀?
希望指导下,谢谢
数组是个顺序表,地址是连续的
你现在的问题不是顺序表的问题,而是基础概念就没有搞清楚
不是加上长度变成指针,是pa_last本身就是一个指针
指针需要指向一个地址
而LA.elem就是数组的首地址
数组地址是连续的,那么加上长度就是尾地址
将指针指向尾地址,就可以通过指针去操作尾地址的元素
当然你也可以将指针指向首地址,指向哪是根据你想要实现什么逻辑决定的
等号左边是个指针,等号右边是个地址,这个你首先要搞清楚,否则一切都白说
因为数组地址的储存位置是连续的,加上的长度让指向数组开头的指针移动动到了尾部地址的位置
这种方式的话,LA.elem应该是个数组吧。数组分配的内存是连续的,自然可以用LA.length-1表示最后一个元素,也可以用&LA.elem[LA.length-1]获取最后一个元素的指针。