一. 数据结构与算法概述:
1.定义: 我们如何把现有的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,并在此基础上为实现某些功能(查找特定元素,删除某个元素,对元素排序)为此进行的操作,叫做算法 .
2.衡量算法的标准:
1.时间复杂度:程序执行次数,非执行时间;
2.空间复杂度:算法执行过程中大概占用的最大内存;
3.可读性;
4.健壮性(容错性)
二.指针
1.定义:指针即是地址,地址即是指针。指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。
地址: 内存单元编号(内存单元地址)(0~ffffffff)
2.特点
1.指针变量存放内存单元地址(内存单元编号)的变量;
2.指针(地址)是一个操作受限(不可相加减,乘除)的非负整数;
三.数组与指针关系:
int arr[4]={1,2,3,4}
分
1.一维数组名(arr)是个指针常量
2.一个字节是8位,1个字节是一个地址
3.任意指针变量均占4个字节,用第一个字节的地址表示整个变量;
4.不能将二维数组的数组名赋给指针数组的数组名,,因为两者的类型不一致,二维数组名的类型是指向型的指针,而指针数组的的数组名是指向int *[]类型的指针。
int i[][];
int* j[];
j = i //不被应许
暂时就分享到这吧,以后再慢慢补充,谢谢大家学习!