龙空技术网

C语言-线性表的定义和逻辑结构(二)

Linux云计算架构 130

前言:

当前姐妹们对“线性表输入c语言”大致比较关心,兄弟们都想要剖析一些“线性表输入c语言”的相关内容。那么小编在网摘上汇集了一些有关“线性表输入c语言””的相关资讯,希望小伙伴们能喜欢,你们快快来了解一下吧!

线性表的顺序存储结构

顺序存储结构的概念

顺序表:线性表的顺序存储是指用一组地址连续的存储单元依次存放线性表的数据元素,这种存储形式的线性表称为顺序表。在顺序表中用内存中地址的线性关系表示线性表中数据元素之间的关系。

顺序表的特点:逻辑结构中相邻的结点在存储结构中也相邻,可以随机访问。

在程序设计语言中,一维数组在内存中占用的存储空间就是一组连续的存储区域,因此可以利用一维数组来存储线性表,其存储结构与线性表的逻辑结构完全一致。

利用数组存储处理线性表

数组是计算机内存中一组类型相同、连续存储的变量,每一个变量称为数组元素,按地址由小到大的顺序每个数组元素都有一个确定的下标。C语言中,在说明数组的同时就为数组开辟了相应的存储空间。

例 线性表A(2,4,6,8,10)数据元素的数据类型为整形,表长为5C语言相关语句:int a[10],I;for ( i=1 ; i<=5;i++)scanf(“%d”,&a[ i ]);a[0]=5;可见,利用数组存储线性表,它的存储结构与线性表的逻辑结构完全一致。
利用指针处理线性表

指针:任意一个内存变量,都有唯一确定的地址,称这个地址为该变量的指针,它是一个常量。

指针变量:是一种特殊的变量,它和普通变量一样占用一定的内存空间,与普通变量的不同之处在于,指针变量中存放的不是普通数据,而是另外一个变量的地址(指针)。

指针变量在说明时要指明它的数据类型,其类型就是它将要指向的变量的类型。就C语言而言,只要把数组的首地址赋给具有相同数据类型的指针变量,就可以利用该指针访问到数组中任意一个数组元素,因而也就可以利用指针处理线性表。由于数组名是地址常量,不能对它进行赋值,而指针变量可以进行一系列运算并能被赋值,另外利用指针变量结合C语言的相关函数可以动态分配存储空间,所以,采用指针处理线性表比数组更方便、更灵活。

例如:int a[10];

int *p;

p=a; (或p=&a[0];)

上述语句说明了一个整型数组a,具有10个数组元素;又说明了一个整型指针p,并把数组a的首地址赋给指针p。此后利用p就可以访问数组中任意一个元素,例如*(p+i)就等价于a[i],(i=0,1,2,…,9)。

顺序表是如何表示线性表中元素之间逻辑关系的?

顺序表是用顺序结构存储的线性表,即将线性表的所有元素按其逻辑顺序依次存放在计算机内存中一组连续的存储单元中。顺序表的特点是,其逻辑关系相邻的两个结点在物理位置上也相邻,结点的逻辑次序与物理次序完全一致。

标签: #线性表输入c语言 #数组在内存中占用一段连续的存储空间 #c语言怎么定义线性表 #c定义线性表