C语言结构体 红圈里面的两个指针Linklist1和Linklist2有什么区别?
Linklist1是一个类型,等同于*QNode类型;
LinkList2是一个变量,是Linklist1型的变量。
last什么意思’>C语言线性表中list->last什么意思
你这个应该是 利用数组的连续存储空间顺序存放线性表的各元素 而这个last通常是个标志位 记录数组已经存了多少条数据 如果last赋的初值是-1 那么这个last表示的就是最后一个数组元素的下标 而list是结构体类型的指针(C语言中) 所以list-last就是取last的值 而for(i=0;i(list-last);i++)的意思就是一个for循环 你要是明白last是什么意思 这句话也应该明白了
C语言指针变量定义?
根据你的定义,使用LinkList定义的变量是指针变量,而加上*即LinkList *C表示的是指向指针的指针,表示二级指针变量。
你的合并函数是一个没有返回值的函数,所以你在函数体内更改C要达到更改实参的效果,你必须传入实参的地址。
如果是一级指针,C接收实参指向的对象地址,如果此时在函数体内对C进行赋值,只是改变了函数体内C的指向,实参还是指向原来的地址。函数内是改变不了实参C本身的指向,只有传入实参C变量本身的地址,那么形参就要定义指向指针的变量来接收实参。
以上是一种方法,另外一种方法就是通过函数返回值,返回新合并的链表的头。那函数类型就可以改为:
LinkList MergeList(LinkList a, LinkList b)。
这可以多练习好好理解一下。