核心代码:

①pTail->next = pNew;

②pNew->next = NULL;

③pTail = pNew;

设结构体名称为 struct ST;

注:方框代表分配的内存空间,椭圆代表结构体内部定义的指针,单箭头表示复制给指向部分,双箭头代表地址指向的内存空间。

链表链接可以分为图示两大部分:

一.首节点指向第二个节点

pHead = (struct ST )malloc(struct ST);

pTail = pHead;

pHead指向已分配的内存空间,将pHead保存的地址复制给pTail,则pTail与pHead指向相同的内存空间;

pNew = (struct ST
)malloc(struct ST);

pNew指向新的内从空间;

pTail->next = pNew;

将pNew保存的内存地址复制给pTail->next,则pTail->next指向pNew相同的内存空间。

pNew->next = NULL;

新开辟的内存空间中保存的内存地址指向空;

pTail = pNew;

将pNew保存的地址复制给pTail,则1号线断开,pTail沿2号线指向新的内存空间。

整个过程下来,pNew失去作用,用作下一次分配空间。

二.除首节点之外的节点连接

经过第一步操作,pTail指向第二个节点且第二个节点内保存的指针指向空;

pNew = (struct ST *)malloc(struct ST);分配新的内存空间;

通过pTail->next = pNew;将第二个节点的指针指向pNew指向的内存空间,即方向3换为4;

然后再通过pNew->next = NULL;将新节点中的指针指向空;

通过pTail = pNew;将pTail再次指向新开辟的内存空间,即方向5换为6;

这样一来,pTail就始终指向最后一个节点,pNew不断用来存放新申请空间的地址,然后在不断被替代,形成节点环环相扣。

(个人见解,如有不到之处欢迎指正。)

c/cpp语言链表连接部分详解的更多相关文章

  1. c语言贪吃蛇详解3.让蛇动起来

    c语言贪吃蛇详解3.让蛇动起来 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 上次 ...

  2. [转帖]rename(Perl语言版本) 详解

    rename(Perl语言版本) 详解 2019-03-19 22:51:23 wayne17 阅读数 464更多 分类专栏: Ubuntu之路   版权声明:本文为博主原创文章,遵循CC 4.0 B ...

  3. C语言内存对齐详解(2)

    接上一篇:C语言内存对齐详解(1) VC对结构的存储的特殊处理确实提高CPU存储变量的速度,但是有时候也带来了一些麻烦,我们也屏蔽掉变量默认的对齐方式,自己可以设定变量的对齐方式.VC 中提供了#pr ...

  4. C语言内存对齐详解(3)

    接上一篇:C语言内存对齐详解(2) 在minix的stdarg.h文件中,定义了如下一个宏: /* Amount of space required in an argument list for a ...

  5. c语言贪吃蛇详解-2.画出蛇

    c语言贪吃蛇详解-2.画出蛇 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 蛇的身 ...

  6. c语言贪吃蛇详解1.画出地图

    c语言贪吃蛇详解-1.画出地图 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识点. 首先 ...

  7. c语言贪吃蛇详解5.GameOver功能与显示成绩

    c语言贪吃蛇详解5.GameOver功能与显示成绩 以前我们已经做出来了一个能吃东西变长的蛇.不过它好像不会死... 现在就来实现一下game over的功能吧. 写个函数判断蛇是否撞到自己或者撞到墙 ...

  8. c语言贪吃蛇详解4.食物的投放与蛇的变长

    c语言贪吃蛇详解4.食物的投放与蛇的变长 前几天的实验室培训课后作业我布置了贪吃蛇,今天有时间就来写一下题解.我将分几步来教大家写一个贪吃蛇小游戏.由于大家c语言未学完,这个教程只涉及数组和函数等知识 ...

  9. 一个简单的C语言程序(详解)

    C Primer Plus之一个简单的C语言程序(详解) #include <stdio.h> int main(void) //一个简单的 C程序 { int num; //定义一个名为 ...

随机推荐

  1. 第三篇:数据可视化 - ggplot2

    前言 R语言的强大之处在于统计和作图.其中统计部分的内容很多很强大,因此会在以后的实例中逐步介绍:而作图部分的套路相对来说是比较固定的,现在可以先对它做一个总体的认识. 在上一篇文章中,介绍了使用gr ...

  2. linux系统文件系统重要知识介绍

    [root@Asterplus:~]$ls -lhitotal 48K3684713 -rw------- 1 root root 5.9K Jul 1 00:23 anaconda-ks.cfg36 ...

  3. centos6.5下 hdp-2.4.2安装

    (1)准备工作 /usr/sbin/sestatus -v getenforce1./usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态SE ...

  4. c# MongoDB Driver 官方教程翻译

    先贴官方文档地址:http://mongodb.github.io/mongo-csharp-driver/2.5/getting_started/quick_tour/ 安装部分很简单,nuget搜 ...

  5. POI读写Excel-操作包含合并单元格操作

    在上篇博客中写到关于Excel操作解析成相关的类,下面将写入一种Excel对Excel表格读取和写入. 对于Excel表格操作,最重要的是创建workBook.其操作顺序是: 1.获得WorkBook ...

  6. Problem : (1.2.1) Text Reverse

    #include<iostream> using namespace std; void main() { char arr[1000]; int a,n; int s,t; cin> ...

  7. 基于Three.js的360度全景--photo-sphere-viewer--简介

    这个是基于three.js的全景插件  photo-sphere-viewer.js  ---------------------------------------- 1.能添加热点: 2.能调用陀 ...

  8. 笔记:Jersey REST API 设计

    REST 统一接口 REST 使用 HTTP 协议的通用方法作为统一接口的标准词汇,REST 服务所提供的方法信息都在 HTTP 方法里,每一种HTTP请求方法都可以从安全性和幂等性两方面考虑,这对正 ...

  9. Object.defineProperty实现数据绑定

    1.Object.defineProperty方法 Object.defineProperty(obj, prop, descriptor); (1)参数:  obj:目标对象 prop:需要定义的属 ...

  10. Dom属性方法

    一.javascript的三大核心 1.ECMAScript js的语法标准 2.DOM Document object Model 文档对象模型,提供的方法可以让js操作html标签 3.BOM B ...