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时候,表示此链表为空链表。

 

 

 

0 0
原创粉丝点击