- 博客(8)
- 收藏
- 关注
原创 Linux操作系统学习笔记
注意:虽然有些信号可以捕获,但是产生该信号的错误原因(段错误\除0)依旧还在,如果信号处理函数执行完后不终止进程,就会返回到产生错误的位置,导致死循环,正确的操作是保存数据后,终止进程。8、当进程处于内核态时,进程运行存储使用在内核空间,此时CPU可以发出执行任何指令,运行的代码不受任何限制,可以自由地访问任意有效的地址,也可以直接访问接口。系统调用就是操作系统提供的一些功能以函数的形式给程序员使用,但是虽然格式很像标准C的函数,但是它们不是标准C的内容,也不是真正的函数。
2023-04-26 17:11:14
86
原创 算法学习笔记
在中间位置确定为标杆p,备份标杆的数据为val,从左边找比val大的数据,找到后位置为l,然后把该数据赋值给p位置,更新p为l,然后从右边找比val小的数据,找到后位置为r,然后把该数据赋值给p位置,更新p为r,重复以上过程,直到l和r相遇时,结束此次排序,最后把val还原赋值给p位置,最终p左边都比val小,右边都比val大,局部有序。根据数据的值,存储到不同的桶中,然后调用其他的排序算法,对桶中的数据进行排序,然后再全部按桶的顺序拷贝回数组中,以此降低排序的规模来提高排序速度,以空间换时间的排序算法。
2023-04-18 10:59:37
55
原创 树型结构学习笔记
是一种完全二叉树,把要存储的数据存放在最后一层,根节点是左右子树中的其中一个,可以是最大的,或者最小的,选择树的功能是快速地找出其中最大(胜者树)或者最小值(败者树)完全二叉树:深度为k,有n个节点的二叉树当且仅当其每一个节点都与深度为k的满二叉树中编号从1到n的节点一一对应时,称为完全二叉树。双亲节点和孩子节点:节点的子树称为该节点的孩子节点,该节点就是它们孩子节点的双亲节点。祖先节点:从根节点出发到该节点,经过的所有节点都称为该节点的祖先节点。双亲只存储第一个子节点,然后链式指向所有的兄弟节点。
2023-04-10 10:29:26
144
原创 数据结构学习笔记
链表的最后一个节点的next不再指向NULL,而是指向头节点,这种链表称为单向循环链表,简称循环链表,它的优点是可以通过任意节点遍历整个链表。还可以多加一个数据项,表示队列中的元素数量,也可以解决该问题,还不需要多申请一个容量,但是是非常规的解决防范,不常考。优点:无论是否头插入还是头删除,头节点永远不变,变的只有头节点的next,所以不用传递二级指针,也不用额外处理头删除。删除节点时,需要分两种情况,待删除的是第一个节点时,也会修改指向第一个节点的指针,就需要传递二级指针。
2023-04-03 14:53:09
90
原创 C语言学习笔记4
每个打开的文件都有一个指针记录这读写操作的位置,它会随着读写函数的执行而自动移动,所以以r、r+、w、w+方式打开文件位置指针默认在文件开头,以a、a+方式打开文件位置指针默认在文件末尾。联合与结构的使用方法基本一致,与结构的区别是所有成员共用一块内存,其中一个成员的值改变,其他成员的值也会随之改变。注意:如果枚举成员不赋值,成员的值默认从0开始,逐渐+1,如果某个成员设置了值,后续的成员在它的基础上逐渐+1。在Linux系统中,计算结构体的对齐和补齐时,如果成员的类型字节数超过4,则按照4字节算。
2023-03-28 15:31:28
39
原创 C语言学习笔记3
情况1:需要输入的是整型\浮点型时,而缓冲区中的数据是字符型或符号时,此时读取会失败,并且该数据会继续残留在输入缓冲区中,会继续影响剩下的输入。情况3:当先输入整型或浮点型,再输入字符型时,输入完整型或浮点型后按下的回车或空格,会残留在输入缓冲区,刚好被后面的字符型接收,影响输入。内存无法使用,也无法被释放,当再次需要时只能重新申请,然后又重复以上过程,日积月累后会导致系统中可用的内存越来越少。假如a.h包含了b.h的内容,而b.h中又包含了a.h的内容,这时就会产生头文件的相互包含,无法编译通过。
2023-03-19 22:14:48
81
原创 C语言学习笔记2
随着CPU的位数的不断增加,已经到目前的64位,所以八进制不再能够满足需求,因此发展出现在的十六进制,由于历史原因八进制还不能退出历史舞台。指针变量有自己的存储空间,它与内存之间是指向关系,如果它存储了数组的首地址时,那么指针可以当做数组使用,同时数组名也可以当做指针使用。数组名是一种特殊的"指针",它与数组在内存中的首地址之间存在映射关系,它没有自己的存储空间,数组名是常量,不能修改它所代表的值。让数据从高位n位开始,数据 - 2^(n-1) ,如果够减,那么第n位为1,否则为0,直到减完为止。
2023-03-13 09:19:36
65
原创 C语言学习笔记
特点:在代码编译期间数组的长度是不确定的,当执行到数组的定义语句时长度才最终确定下来,并且一旦确定长度也无法改变。main函数是整个程序的入口,有且只有一个,main函数是由操作系统调用,所以它的返回值给了操作系统,Kb 1024字节 Mb 1024Kb Gb 1024Mb Tb 1024Gb Pb 1024Tb。7、如果有初始化数据,则可以省略数组数量,因为编译器会自动统计数据的个数,然后确定数组的数量。程序员所编写的代码都不是标准的C代码,需要一段程序翻译成标准C代码,负责翻译的程序叫做预处理器,
2023-03-06 11:45:15
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人