c语言数据结构原型与实例分析(数组,链表)
2014-03-18 02:23
609 查看
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++]反转链表
- ruby 数组使用教程
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- 关于C语言中参数的传值问题
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- 探讨C语言的那些小秘密之断言
- 深入探讨C语言中局部变量与全局变量在内存中的存放位置
- 基于C语言fflush()函数的使用详解
- 关于C语言除0引发的思考
- 深入分析C中不安全的sprintf与strcpy
- 探讨register关键字在c语言和c++中的差异
- C中实现矩阵乘法的一种高效的方法
- c语言printf函数的使用详解
- C语言学籍管理系统源代码
- 浅析C语言中的sizeof
- c语言内存泄露示例解析
- 浅析C语言位域和位段
- 解析C语言中位字段内存分配的问题
- 学生成绩管理系统C语言代码实现