c语言数据结构原型与实例分析(数组,链表)
来源:互联网 发布:产品网络宣传图制作 编辑:程序博客网 时间:2024/04/27 15:27
C语言数据结构原型介绍与实例分析
一、数组(array)
1、概念
数组(array):由一系列类型相同的元素构成。可以使用声明的方式来告诉编译器来创建一个数组。数组声明(array declaration)中包括数组元素的数目和元素的类型。
2、数组的作用
数组可以让您存储一些相关的相互关联的信息项。例如,使用二维数组可以表示俄罗斯方块的所有类型(4*4大小的俄罗斯方块,7个类型,4个方向)。代码如下:
3、一维数组
4、二维数组
5、数组使用const的方法
意义:数组用const修饰,表示此数组为只读数组。即程序从数组中读取数值,但是程序不向数组中写数据。
实例如下(这是单片机显示屏下,汉字“育”的数据表示,此汉字为16*16像素大小):
注:
程序会把数组yu中的每个元素当成常量处理。和普通变量一样,需要在声明const数组时对其进行初始化,因为在声明之后,不能再对它赋值。
6、指针和数组
指针提供了一种使用地址的符号方法。由于计算机的硬件指令很大存在要依赖于地址,所有指针能使您能够以类似于计算机底层的表达方式来表达自己的意愿。
实例:
二、链表
1、线性链表的概念
用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)。链表由两部分组成,分别是数据域,指针域。数据域,存储该结点的数据信息。指针域,存储指向下一个结点的指针。n个结点链接成为一个链表,即表现为(a1,a2,a3... an)n个元素的集合。
2、链表实例程序
注:
特别提醒:free()函数的使用,我因为没有认真对待这个函数,结果程序每次运行都是提示指向了只读地址的内存。
free函数原型为:void free(char *pstr);
作用:释放指定位置的内存空间。这里我犯得错误是,释放了内存空间,却还是使用该内存空间的变量的值。显然,这是一个错误,我再次使用该内存空间存储的值时候,已经不再是原来的。这时候编译器会提示,你访问了只读内存。
3、实例程序运行结果图
4、链表实例程序逻辑图
注:
每一部新电影的对象都用struct film结构体变量存储。该结构体的地址,存放在前一个结构体中,其pNext成员存储下一个结构体的地址。使用头指针,来存储该链表中的第一个项目的地址,因此当head==NULL时候,表示此链表为空链表。
- c语言数据结构原型与实例分析(数组,链表)
- 数据结构与算法分析-用C语言实现栈(数组方式)
- 数据结构与算法分析-用C语言实现队列(数组方式)
- 《数据结构与算法分析》—栈的链表和数组实现(C语言)
- 数据结构与算法分析(C语言描述)L1.1
- c语言编程实例1(字符串与数组)
- c语言编程实例2(字符串与数组)
- 数据结构与算法分析—栈的数组实现(C语言)
- 数据结构与算法分析—循环队列的数组实现(C语言)
- C语言数组与指针定义分析
- 排序 - C语言实现(摘自数据结构与算法分析C语言描述))
- 栈及其应用 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 队列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 二叉查找树 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 散列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 优先队列(堆) - C语言实现(摘自数据结构与算法分析 C语言描述)
- 散列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 排序-c语言实现(摘自数据结构与算法分析c语言实现)
- 按钮(Button)组件的功能和用法
- C# 如何消除字符串数组的重复项的函数
- UVA11374机场快线题目学习
- csdn的博客终于开通了。
- 网友分享十五年理财历程 从月薪400到幸福生活
- c语言数据结构原型与实例分析(数组,链表)
- 笔记etc
- 添加第三方构件
- PHP上传文件大小限制的问题
- Java泛型
- 测试 学习:一 软件测试概述
- cocos2d-x高效开发之——Genymotion篇
- 登陆oracle时的常用命令
- Mac下showmount出错: Cannot retrieve info from host: 172.16.96.130: RPC failed:: RPC: Unable to send