栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言编程学习:链表的来源分析

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言编程学习:链表的来源分析

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

C语言中的链表是重点,也是难点,而且意义非凡。对链表的的抽象和恐惧是源于对它的来龙去脉的不明白。所以很有必要对它的发展渊源做透彻分析。

链表的单位是节点,而节点源于复合数据类型:结构体;

节点和结构体的区别就是看是否有指针域,目的就是想找到下一个节点;

结构体形如:

struct Ghost
{
char name[30];
int age;
int height;
char addr[30];
};
节点形如:
struct Ghost
{
char name[30];
int age;
int height;
char addr[30];
struct Ghost *next;
};

现在来看一下创建1个节点的情况:

小编推荐一个学C语言/C++的学习裙【 七三零,一三零,二二一 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

效果如下:

那么申请多个节点呢?如3个。

核心代码如下:

//堆中申请变量
struct Ghost *g1 = (struct Ghost*)malloc(sizeof(struct Ghost));
struct Ghost *g2 = (struct Ghost*)malloc(sizeof(struct Ghost));
struct Ghost *g3 = (struct Ghost*)malloc(sizeof(struct Ghost));
//赋值
strcpy(g1->name, "聂小倩");
g1->age = 22;
g1->height = 165;
strcpy(g1->addr, "兰若寺");
g1->next = NULL;
//赋值
strcpy(g2->name, "付清风");
g2->age = 23;
g2->height = 166;
strcpy(g2->addr, "十里亭");
g2->next = NULL;
//赋值
strcpy(g3->name, "东方不败");
g3->age = 24;
g3->height = 167;
strcpy(g3->addr, "黑木崖");
g3->next = NULL;
//遍历
printf("姓名:%s ", g1->name);
printf("年龄:%d ", g1->age);
printf("身高:%d ", g1->height);
printf("地址:%s ", g1->addr);
//遍历
printf("姓名:%s ", g2->name);
printf("年龄:%d ", g2->age);
printf("身高:%d ", g2->height);
printf("地址:%s ", g2->addr);
//遍历
printf("姓名:%s ", g3->name);
printf("年龄:%d ", g3->age);
printf("身高:%d ", g3->height);
printf("地址:%s ", g3->addr);

效果图:


成功是成功了,但这很原始,可以改进的:借助成员指针的力量自动去找下一个,让链起来!

对赋值做改动:

那么遍历就可以改进了:

效果:



作者:小辰带你看世界
链接:https://www.jianshu.com/p/e4397c9a8aeb
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/233463.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号