c 语言怎么释放链表节点,C:如何释放链表中的节点?

2023-11-07

我如何释放在另一个函数中分配的节点?

struct node {

int data;

struct node* next;

};

struct node* buildList()

{

struct node* head = NULL;

struct node* second = NULL;

struct node* third = NULL;

head = malloc(sizeof(struct node));

second = malloc(sizeof(struct node));

third = malloc(sizeof(struct node));

head->data = 1;

head->next = second;

second->data = 2;

second->next = third;

third->data = 3;

third->next = NULL;

return head;

}

我在main()中调用buildList函数

int main()

{

struct node* h = buildList();

printf("The second element is %d\n", h->next->data);

return 0;

}

我想释放头,第二和第三个变量.

谢谢.

更新:

int main()

{

struct node* h = buildList();

printf("The element is %d\n", h->next->data); //prints 2

//free(h->next->next);

//free(h->next);

free(h);

// struct node* h1 = buildList();

printf("The element is %d\n", h->next->data); //print 2 ?? why?

return 0;

}

两个打印2.不应该调用(h)删除h.如果是这样,为什么h-> next->数据可用,如果h是空的.当然,“第二”节点没有被释放.但是由于头被删除,它应该能够引用下一个元素.这里有什么错误?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c 语言怎么释放链表节点,C:如何释放链表中的节点? 的相关文章

  • Vue组件之间的通信方式

    六种方式 1 props emit 适用于 父子组件通信 略 2 ref 与 parents children 适用于父子组件通信 不好维护 不推荐使用 3 EventBus 适用于 父子 隔代 兄弟组件通信 这种方法通过一个空的 Vue
  • 每日sql-复购率问题count+case+timediff类函数

    记录一下案例 下次直接拿起来用
  • Python异常捕获及自定义异常类

    Python异常捕获及自定义异常类 一 什么是异常 异常是一个与业务逻辑无关的BUG 一个潜在错误或者网络错误事件等 如 尚未实现的函数 缩进错误 Python语法错误等 该事件可能会在程序执行过程中发生 影响程序的正常执行 在Python
  • 4.单链表ADT模板简单应用算法设计:单链表中前 m 个元素和后 n 个元素的互换

    问题描述 目的 使用C 模板设计单链表的抽象数据类型 ADT 并在此基础上 使用单链表ADT的基本操作 设计并实现单链表的简单算法设计 内容 1 请使用模板设计单链表的抽象数据类型 由于该环境目前仅支持单文件的编译 故将所有内容都集中在一个
  • HJ77 火车进站

    Powered by NEFU AB IN Link 文章目录 HJ77 火车进站 题意 思路 代码 HJ77 火车进站 题意 给定一个正整数N代表火车数量 0
  • C# WPF+skyline可视化学习笔记(一)------在WPF中加载fly地图

    我是学Java的 校招进了公司 是做这个的 我就只有现学了 还好有耐心的师傅和同事们友好帮助 不然我可能就凉了 好了 话不多说 本章内容就是使用vs2017 创建一个WPF项目并且一步一步手把手加载fly地图文件吧 前提准备 你得有这个软件
  • Java聊天--聊天界面

    import java awt import javax swing public class myMain extends JFrame JTextField tsend 在外部声明文本框 用来写留言 Choice clist 声明下拉框
  • 分享一个自媒体副业,认真做可以月入6000+

    做的这个副业并不难 每天花费2 3小时做视频剪辑 上个月一个新账号收益6000多 如果你现在每天的空闲时间比较多 也可以去尝试着做一下视频剪辑 这期内容来把方法分享给粉丝们 如果对你有所帮助 记得点赞支持一下大周 很多人都不知道我们在自媒体
  • Jenkins配置及插件安装

    Jenkins里应该如何把master节点以及slave节点搞到一起 进行一个联系 首先应该访问到安装好Jenkins的机器 下图是Jenkins首页的内容 暂时没有任何的流水线及agent 完善一下基本的信息 root jenkins m
  • TVM(一):简介与安装

    简介 TVM是一个用于深度学习系统的编译器堆栈 它旨在缩小以生产力为中心的深度学习框架与以性能和效率为中心的硬件后端之间的差距 TVM与深度学习框架合作 为不同的后端提供端到端编译 换句话说 TVM就是一种将深度学习工作负载部署到硬件的端到
  • 【Endnote20】批量导入enw格式,便捷快速

    1 将所有参考文献的enw文件整理到同一文件夹内 2 command a全选 我是mac win的话应该ctrl a全选 3 右键点击打开 4 完成
  • FreeRTOS-定时器详解

    作者简介 嵌入式入坑者 与大家一起加油 希望文章能够帮助各位 个人主页 rivencode的个人主页 系列专栏 玩转FreeRTOS 保持学习 保持热爱 认真分享 一起进步 目录 前言 一 软件定时器的简介 二 软件定时器的创建 1 软件定
  • 对登录接口的简单图形验证码进行识别 20221004

    Python黑客编程原理与实战 作业 二 1 编程题 1 语言限定为python3 环境准备 使用虚拟python3环境 pip3 install virtualenv virtualenv python 3 10 vpy3 10 sour
  • 什么是持续集成的自动化测试

    如今互联网软件的开发 测试和发布 已经形成了一套非常标准的流程 最重要的组成部分就是持续集成 Continuous integration 简称CI 目前主要的持续集成系统是Jenkins 那么什么是持续集成 持续集成指的是 频繁地 一天多
  • RainDiffusion: When Unsupervised Learning Meets Diffusion Models for Real-world Image Deraining

    一 摘要 介绍及相关工作 传统方法 图像去雨的传统方法通常利用不同的先验 例如稀疏编码 高斯混合模型和低秩表示 然而 这些手工制作的先验表现出有限的代表性能力 导致在复杂和多变的下雨情况下的结果不佳 监督 通过从大量合成的无雨 下雨图像对中
  • 基于Pytorch的深度学习 —— 非线性激活函数

    文章目录 作用 Sigmoid tanh ReLU Leaky ReLU SoftPlus 开发环境 作用 非线性激活函数获取输入 并对其进行数学变换后生成输出 非线性激活函数为神经元引入了非线性因素 使得神经网络可以任意逼近任何非线性函数
  • [编程开发工具-7]:四款功能强大的代码比较工具:Araxis Merge、Beyond compare、DiffMerge、WinMerge

    前言 我们经常会遇到需要比较同一文件的不同版本 特别是代码文件 比如在两个不同的github仓库之间merge代码 如果人工去对比查看 势必费时实力还会出现纰漏和错误 因此我们需要借助一些代码比较的工具来自动完成这些工作 对于专业人员 立即
  • 我制作了python脚本自动抢购淘宝秒杀产品,学会优先享受双十一福利

    这是本文的标题 前言 第一步 第二步 第三步 第四步 零基础Python学习资源介绍 Python学习路线汇总 Python必备开发工具 Python学习视频600合集 实战案例 100道Python练习题 面试刷题 资料领取 好文推荐 前
  • 【笔记:模拟CMOS集成电路】两级运算放大器设计与仿真(带版图)

    笔记 模拟CMOS集成电路 两级运算放大器设计与仿真 带版图 前言 1 电路分析 1 1电路结构 电路描述 1 2小信号分析 1 3公式 2指标设计 2 1预期设计指标参数 2 2参数分析 1 确定gm1 gm6 2 分配电流 3 确定M1

随机推荐

  • 技术管理者培训小结一:内在修养

    经过技术管理者培训课程 将一些内容以小结方式记录下来 既能作为培训沉淀 又能作为备忘 一 管理者的内在修养 1 情绪控制应该脱离 刺激 回应模式 人的终极自由是自己的情绪由自己控制 发挥四大天赋潜能 自我意识 想象力 良知 独立意志 由受制
  • Java线程安全性中的对象发布和逸出

    转自 http www cnblogs com yulinfeng p 5975728 html 发布 Publish 和逸出 Escape 这两个概念倒是第一次听说 不过它在实际当中却十分常见 这和Java并发编程的线程安全性就很大的关系
  • 银行编码规则

    编号 银行名称 001 中国人民银行 011 国家金库 102 中国工商银行 103 中国农业银行 104 中国银行 105 中国建设银行 201 国家开发银行 202 中国进出口银行 203 中国农业发展银行 301 交通银行 302 中
  • 静态编译与动态编译的区别以及为什么需要静态编译

    1 由于博创杯开发板的不可更改性 所以导致的结果是什么呢 那就是无法动态连接 还有一个需要注意的是 板子上面上面用的是4 4 1的gcc 一旦你Ubuntu使用的开发板高于它 都有可能导致运行程序失败 这就是程序失败的例子 2 Linux
  • css 设置段落样式 各种设置方式详细解释

    我本来打算告诉你 当你不在我身边的这段日子里 我遇到的所有糟糕事 但最后我只想告诉你 我很想你 设置段落样式 今天我们详细讲讲设置段落样式的方式 网页的排版离不开对文字段落的设置 这里主要讲述常用的段落样式 包括文字对齐方式 段落首行缩进
  • Java————错误:找不到或无法加载主类

    小编表示WTF 为什么找不到主类dictionary2 0 找不到是什么原因 1 可能是编译的时候后缀带了 class 把后缀去掉 2 可能是因为你的java文件带了package包 但是你还在java文件所在目录运行 返回包的前一目录进行
  • jquery 获取select选中option的索引以及根据索引过滤option

    jquery获取选中option的索引 select可以通过selectedIndex属性快速获取选中option索引 用法如下 select get 0 selectedIndex jquery跟据索引过滤select下的子元素optio
  • Tomcat管理页面配置与访问地址限制修改

    1 增加用户角色和用户 conf tomcat users xml 增加配置
  • UE基础使用

    一 打包 二 显示FPS 三 坐标系 四 第三人称模式 四 筛选物体 五 物体对其到地面 六 UE加载窗口默认布局 七 关闭磁力吸附 关闭后可以自由移动 八 属性变为默认值 九 快速聚焦到物体 按F键或者双击 十 按shift键拖拽坐标轴
  • 机械革命 键盘灯 linux,机械革命x6Ti安装ubuntu(100%成功)

    这个教程是本人亲自试验成功的 方案为ssd不变 ubuntu装在机械硬盘 步骤 1 在电脑的机械硬盘中压缩出一个大小为200G的空间 无论哪个盘 你按自己的需求压缩大小 2 在官网下载系统镜像 解压到U盘中 由于这款电脑的主板新 所以直接解
  • SpringBoot-Thymeleaf-MySQL-SpringMVC实现网页端的数据库信息的增删改查(JavaEE巨详细版)

    Hello 欢迎来到我的博客 既然选择了远方 便只顾风雨兼程 源码已上传资源 0积分获取 觉得有用的点个赞嘛 源码点击这里 上一篇 博客只实现了数据库信息的网页端展示 本篇博客我们来更详细的写一下学生信息管理系统的网页端跳转版增删改查 ht
  • 计算机网络 day8 动态路由 - NAT - SNAT实验 - VMware的网卡的3种模式

    目录 动态路由 IGP 和 EGP 参考网课 4 6 1 路由选择协议概述 哔哩哔哩 bilibili 编辑 IGP Interior Gateway Protocol 内部网关协议 EGP Interior Gateway Protoco
  • 子类实例化对象的全过程

    子类实例化对象的全过程 我们只造了一个对象dog 但是dog的构造器直接或间接的调用了直接父类或间接父类的构造器来加载他们的属性和方法 子类对象实例化全过程图示 从结果上来看 继承性 子类继承父类以后就获取了父类中声明的属性和方法 创建子类
  • 信息隐藏——DCT隐写

    DCT隐写 实验目的 了解DCT的系数隐写 实验内容 Jepg 压缩算法的回顾 用MATLAB实现图像DCT相关操作 完成基于图像DCT的信息隐藏实验 两点法的嵌入和提取 三点法的嵌入和提取 1 Jpeg压缩算法 一 色彩空间转换 RGB空
  • 学习日记--8.5--linux初装

    1 用xmms播放mp3 首先linux自带的xmms缺少一个插件 可以先下载并且安装 xmms mpg123 1 2 7 13 i386 rpm 但是如此之后可能还不可以使用 播放一秒就死住 这时候 在xmms 运行后之上点击 右键 gt
  • FreeAnchor:令anchor自由匹配标签的策略

    前言 本文将要介绍一种为训练样本分配标签的策略 这种策略称作 FreeAnchor 注意不是 anchor free 哦 FreeAnchor 是用于 anchor based 体系下的策略 那么它到底free在哪里呢 anchor还能玩起
  • TOP命令参数详解

    TOP命令详解 一 top命令介绍 相信每个运维人员都遇到过的事情就是服务器的负载突然飙升 碰到这种情况 大家第一反应一定是登到服务器上 先敲一个top命令看看load average吧 在Linux操作系统中 top是使用最频繁 也是信息
  • vue改变数组的值,样式控制没变化

    目录 问题背景 解决方案 第一种 使用this set target index value 第二种 this forceUpdate 参考 问题背景 我用0 1 控制隐藏还是显示 因为有多个所以用的数组 如下代码 省略 data retu
  • MATLAB怎么使用table格式读取csv文件并画图

    MATLAB中新增了一个table类型 可以很方便的读取文件中的数据 在使用这个格式的时候会默认把读取文件的第一行设置为标题 访问的时候需要通过索引值进行访问 具体怎么操作通过一个MATLAB例子进行说明 MATLAB代码 T readta
  • c 语言怎么释放链表节点,C:如何释放链表中的节点?

    我如何释放在另一个函数中分配的节点 struct node int data struct node next struct node buildList struct node head NULL struct node second N