链表 初始化-关于线性链表的初始化问题

问题描述

关于线性链表的初始化问题

typedef struct LNode{
int data;
struct LNode *next;
}LinkList;

InitList(LinkList *&L)
{
L=(LinkList *)malloc(sizeof(LinkList));
L->next=NULL;
}
main()
{
LinkList *L;
InitList(L);
}
请问初始化函数的形参L前为什么要加地址符&?去掉为什么会出错?

解决方案

那个不是取地址,是参考引用吧 ,可以在函数内部改变输入变量的值,函数执行完成后值被修改

时间: 2024-08-02 22:25:22

链表 初始化-关于线性链表的初始化问题的相关文章

多项式运算线性链表的应用

最忙的时候迎来了我们数据结构的大实验周一的时候编好了一个 线性链表的都是什么什么系统的 一点意思都没有啊 看到了一个多项式的 于是我就试了一下 说是要先判断稀疏度 在确定用线性存储的还是顺序存储的 顺序存储的我没写 觉得还是链表的好 因为顺序存储的的开两个数组 一个是指数是正的 一个指数是负的 觉得可能很不好写 于是还是写了个链表的 双向链表的 用的C++写的 觉得可以运算符重载挺好的 #include <iostream> #include<cstdio> #include<

线性链表其他种类(静态,双向,循环)的存储结构和常见操作

一.静态单链表 在不支持动态空间分配的环境中,要使用链表存储数据,那么可采用静态链表的方法:即在一块预分配的存贮空间中,用下标作为指针链来构成链式结构. //既然是静态链表,那么可以使用一维数组实现存储,java没有指针,那么就用这来使用链表结构 //在不支持动态空间分配的环境中,要使用链式结构技术,可采用静态链表的方法:即在一块预分配的存贮空间中,用下标作为指针. //存储结构:在数组中增加一个"指针"域,存放下一元素在数组中的下标.且0为代表空指针   //设S为SLinkList

线性链表及其基本操作及用链表实现的多项式

线性链表及其基本操作 链表在空间的合理利用上和插入.删除时不需要移动等优点,因此在很多场合下,它是线性表的首先储存结构.然而它也存在着实现某些基本操作,如求线性表的长度时不如顺序储存结构的特点.因而从新定义线性链表及其基本操作 头文件: #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define MYOVERFLOW -2 typedef int Status; typedef

c语言-线性链表数据结构的插入与删除

问题描述 线性链表数据结构的插入与删除 在你自己的文件下,建立一个C语言程序SL.C,完成下列要求: 1. 定义长度为10的数组,输入9个数据(1,3,4,5,7,9,12,20,28),然后输出这九个数组元素的存储单元地址和相应的数值: 2. 建立一个数组元素的插入函数,能够按照数据从小到大的次序自动找到插入位置完成插入元素的操作,调用此函数插入数据15,然后输出数值元素的存储单元地址和相应的数值: 3. 建立一个数组元素的删除函数,能够按照数据自动删除指定元素的操作,调用此函数删除数据值为9

EventSelect套接字链表对象和线程链表对象组合下的事件Select模型

WSAEventSelect模型的是事件句柄数组和套节字句柄数组的方式去实现事件Select模型的 接下来用的是套接字链表对象和线程链表对象组合下的事件Select模型   ///////////////////////////////////////////////////// // EventSelect.h文件 DWORD WINAPI ServerThread(LPVOID lpParam); // 套节字对象 typedef struct _SOCKET_OBJ { SOCKET s;

单链表-关于链表打印问题,链表头与表头指针所指向的节点。

问题描述 关于链表打印问题,链表头与表头指针所指向的节点. typedef struct Node { int data; struct Node *next; }SLIST; p = pHead->next; p为头链表的指针,也就是指向第二个节点,应该从用户输入的第二个数字打印才对. 为什么连链表头都打印了? 这个是看不清部分的代码 SLIST *Creat_SList() { //1 创建头结点并初始化 int data = 0; SLIST *pHead = NULL, *pM = NU

单向链表-关于链表打印问题,链表头与表头指针所指向的节点。

问题描述 关于链表打印问题,链表头与表头指针所指向的节点. typedef struct Node { int data; struct Node *next; }SLIST; SLIST *Creat_SList(); int SList_Print(SLIST *pHead); //在结点数值为x的前面插入y int SList_NodeInsert(SLIST *pHead, int x, int y); //删除结点为y的链表结点 int SList_NodeDel(SLIST *pHe

Java模拟单链表和双端链表数据结构的实例讲解_java

模拟单链表 线性表: 线性表(亦作顺序表)是最基本.最简单.也是最常用的一种数据结构. 线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的. 线性表的逻辑结构简单,便于实现和操作. 在实际应用中,线性表都是以栈.队列.字符串等特殊线性表的形式来使用的. 线性结构的基本特征为: 1.集合中必存在唯一的一个"第一元素": 2.集合中必存在唯一的一个 "最后元素" : 3.除最后一个元素之外,均有 唯一的后继(后件):

c语言问题-一个链表问题 是关于链表添加的 但是周围的人每人能看出来问题

问题描述 一个链表问题 是关于链表添加的 但是周围的人每人能看出来问题 #include "common.h" #include "config.h" CONFIG_INFO_S srccon={0,NULL,NULL} ; int vipp_config_add(char *buf) { char *delim= "=n"; CONFIG_NODE_S plist; strcpy(plist.key ,strtok(buf,delim)); s