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

408-数据结构-线性表与c基本函数说明

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

408-数据结构-线性表与c基本函数说明

线性表
定义:具有相同数据类型的n(n>=0)个数据元素的有限序列

定义内重点:

  1. 数据类型相同
  2. 有限个
  3. 有顺序
  4. n可以为0
    如果用数学符号描述
    L = ( a 1 , a 2 , . . . . , a i , a i + 1 , . . . . , a n ) L=(a_{1},a_{2},....,a_{i},a_{i+1},....,a_{n}) L=(a1​,a2​,....,ai​,ai+1​,....,an​)
    概念:
  • 其中下标表示线性表中的第i个,也就是位序。位序从1开始,而计算机存储从0开始
  • 除了第一个元素,每一个元素都具有一个直接前驱
  • 除了最后一个元素,每一个元素都具有一个直接后继
c的基本函数
主要为类型别名、空间开辟回收函数
typedef
typedef	<数据类型名称>	<别名>

通常用来给一个系统定义的基本类型来定义一个别名,方便编写程序。最经常与c中的结构体定义连用

struct student{				//声明一个学生结构体
	int id;
	char * name;
};
struct student stu;			//定义一个学生结构体变量,叫做stu

定义一个新的就需要写struct不方便。

typedef struct{
	int id;
	char *name;
}student; 
student stu;

需要特别说明

typedef struct{
	int val;
	Node * next;
}Node, *List;
List i_am_list;

这里的List其实等价于Node *,即声明List就是声明这个结构体指针。通常这么写是为了区分这个是链表头指针还是链表当中的一个结点。

malloc申请空间函数与free回收空间函数
	void * malloc(int size);	//调用函数,程序向操作系统申请一段连续区域,并且返回连续区域的头指针,size单位为B字节
	free(void * ptr);			//调用函数,释放ptr在malloc函数申请的内存空间
	int sizeof(name);				//传入通常为基本数据类型名称或自动义数据类型名称,返回一个单位所占用的字节数

一个进行内存空间的申请,一个为内存资源的回收,通常二者成对存在。
调用malloc传入参数为字节数,通常与size函数搭配使用,sizeof(数据类型名称) * 需要申请的个数。
指针说明:
可以理解为指针也是一个数据类型,但是内部存放的数据都是每一个变量的地址,位数取决于操作系统。所以无论是int类型还是其他什么自定义类型的指针大小都是相同的,取决于操作系统。但是对于指针进行分类是数据读取时候的需要。读取数据不仅需要知道该数据的首址,还需要知道该数据占多少个字节。说明了该指针的类型,计算机也就知道应该从首址后面读取多少个字节。

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

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

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