数据结构心得总结(持久更新)

来源:互联网 发布:华夏网络危机公关公司 编辑:程序博客网 时间:2024/05/22 16:02

1数据结构学的是数据之间的一种组织架构;

2.数据结构主要分为4个部分:线性结构和非线性结构以及排序和搜索,数据结构的所有的学习都在为搜索做基础。

3.数据结构,要清楚数据采用何种类型,他们的基本类型结构由什么构成,该结构有什么特点等。

4.编译器(IDE):集成开发环境(IDE,Integrated Development Environment )

5.计算机语言: 机器语言 --》 汇编语言 –》高级语言

其中机器语言是直接被计算机用于读取数据的,它是一只指令集的机器码。

汇编语言:是一种低级语言,直接面向机器的程序设计语言,是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。

高级语言:相对于汇编语言是最接近自然语言和数学公式的编程,编程的程序成为源程序。代表有c语言 、c++、c# java等等,其中c语言是高级语言中的低级语言。

5.一个高级计算机语言要被cpu直接读取数据,需要经过以下四步骤 预处理—》编译—》汇编---》链接

预处理:以#开头,主要功能是实现引入头文件、宏替换、文件包含。 将 ***.c文件----》***.i 文件。

编译: 对预处理代码进行翻译、语法分析,将源代码翻译生成一种中间语言即 汇编语言。 将***.i ----> ***.s 。

汇编: 将汇编代码编译生成目标代码    、即目标文件,也成为机器代码(即二进制文件),以便计算机cpu读取。 将***.s----->***.o 。

链接: 将生成的目标文件和其他文件合并在一起,生成一种可执行文件(windows平台下) 将 ***.s--->***.exe 。

 

6.static :在函数内部使用的变量,要在函数外部使用,就需要用关键之static 将栈区的自动变量,变为全局变量放在全局数据去,供本文件使用,直至本次程序结束。

7.指针就是地址,地址就是指针, 指针变量A = 指针变量B, 意思就是指针变量A指向指针变量B所指的空间

 

8.free(指针),free的是指针所指向的空间

9.结构体变量作为实参传递,有三种传递形式:A直接传递结构体变量。B传递结构体变量的地址。C以引用形式对结构体变量进行传递(效率最高,不用开辟空间)

要改变结构体变量内部成员的值,就不能用A形式传递,必须以B/C的形式完成。

10.对结构体变量成员进行访问:两个方式:A 用成员访问符 .。 B用指针指向符访问 ->

11 switch case 语句中 不能定义变量,必须定义在该选择语句外边

switch (条件)

{

case 1:

break;

default

break;

}

12.break ;是用来终止循环的和跳出switch语句的两个功能 ,continue是用来结束本次循环,也就是说不会执行continue后面的代码,然后再去判断条件是否进行下一次循环。

13.野指针:指向不为空指向非法(非法指的是,所指向的空间已经不属于你了,你要是相对其进行写操作,就是非法了),为了预防野指针,当我们释放了指针所指的空间时候,就要立即对其赋空,虽然指针所指的空间被干掉了,但是p指针还没有干掉,他有指向,遗憾的是你不能向该空间写数据(因为该空间已经不属于你了),(虽然你或许可以读到数据,原因是你读数据的时候可能,指针p所指的空间还没有被其他人使用),为了预防野指针,释放完立即赋NULL,是一个好习惯。

空指针 指向0x00000000地址

 

14. == 、>、< … 属于比较运算符, 而 = 是赋值运算符

15.一个程序在程序内存的分布:代码区、数据区、堆区、栈区

16.大端:高地址存放低字节,低地址存放高字节,与我们阅读习惯一致.

小端: 高高 低低 (vs采用小端)。

 

 

 

 

 

原创粉丝点击