知识小仓库(Running)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guorong520/article/details/79964901

一、C语言

1.链表
(1)如何删除一个单链表的节点?
第一种:挨着遍历,当头结点走到POS的位置停止,并提前记录pos的前一个位置Pre,最后让Pre的下一个指针指向pos的下一个指针,并释放pos。时间复杂度为O(n)。
第二种:将pos的下一个指针的节点k的内容赋给pos的数据域,然后pos指向结点k的下一个结点。时间复杂度为O(1)。
(2)链表的结点在内存中是固定的吗?
不是,结点可以在运行时动态生成

2.动态内存开辟
(1)free一个指针是否可以不置空?
不可以,free()函数仅仅是告诉操作系统,这块空间我不用了,操作系统收回空间,而指向这块空间的指针并没有改变,它的值仍指向这块空间,它变为了野指针,指向不合法的内存块。
一旦这个程序很长,误以为这个指针合法,直接访问,会造成程序奔溃。
2)不可以多次free同一个指针
当你第一次free的时候,内存已经还给了机器,已经不属于你了;当你再次free的时候,这个内存已经属于了机器,你将机器的内存还给机器,肯定会出错。

3.bool
C语言已经有了布尔型:从C99标准开始,类型名字为“_Bool”。
C99为了让C和C++兼容,增加了一个头文件stdbool.h。里面定义了bool、true、false,让我们可以像C++一样的定义布尔类型。

二、C++

1.指针与引用的区别?

2.C++与C的区别?

3.malloc与new之间的区别?

三、数据结构

四、Linux

1.bash
bash(borne again shell),是shell的一种,Linux上默认采用的是bash。
shell是一个命令解析器,接收用户的命令;其还是一个程序设计语言,你可以编写shell可以解释的程序。它除了可以解释命令以外,还可以配置和编程。类似于cmd.exe。

//shell的种类
图形界面的shell
命令行式的shell(传统意义)

2.终端
终端就是处理计算机主机输入输出的一套设备,它用来显示主机运算的输出,并且接受主机要求的输入,典型的终端包括显示器键盘套件,打印机打字机套件等。是一种硬件设备
3.内核
是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件紧密相关的(如中断处理程序、设备驱动程序等)、基本的、公共的、运行频率较高的模块(如时钟管理、进程调度等)以及关键性数据结构独立开来,使之常驻内存,并对他们进行保护。通常把这一部分称之为操作系统的内核。

五、计算机网络

六、数据库

1.数据库的事务是什么?
指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。
操作流程
试想一下一个完整的购物流程,如果在最后的支付阶段失败,那么这次的购物信息就不需要往数据库写,否则数据库的信息一片混乱,事务就可以很好的解决这个问题。
2.一范式、二范式、三范式是什么?
不同的规范要求被称为不同的范式,满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF)

七、计算机组成原理

1.寄存器(Register)
(1)用于存放程序运行时的数据和指令,它的读写速度非常快,属于CPU内部的一块小型存储区域,由锁存器或触发器构成。
(2)32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX、EDX)、2个变址寄存器(ESI、EDI)、2个指针寄存器(EBP、ESP)、6个段寄存器(ES、CS、SS、DS、FS、GS)、1个指令指针寄存器(EIP)、1个标志寄存器(EFlags)
(3)在C语言中,函数调用返回的值存放在EAX、EDX中。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页