- 博客(23)
- 收藏
- 关注
原创 [Linux]进程状态、僵尸进程处理回收、进程优先级 + 图例展示
详解linux中进程状态、僵尸进程/孤儿进程的回收处理、进程优先级、进程切换、......
2025-04-05 22:43:49
918
原创 [Linux]进程与PCB的关系,进程的基本操作
理解进程和PCB的关系、查看进程、结束进程、gitpid、getppid、以树状结构显示进程之间的父子关系、fork
2025-04-03 16:15:58
847
原创 标准输入输出函数scanf()/gets()/printf()/puts()的功能和区别
这两个函数都是用来从标准输入设备(通常是键盘)读取字符串的,但是它们有一些区别和注意事项。(1)如果你想读取一个不含空格的字符串,或者你想读取一个指定数据类型和长度的输入,你可以使用scanf函数。例如,如果你想读取一个整数,你可以使用scanf(“%d”, &a);如果你想读取一个长度不超过10的字符串,你可以使用scanf(“%10s”, a)。这样可以保证输入的数据符合你的预期,并且不会超出数组的大小。(2)如果你想读取一整行字符串,或者你想读取一个含有空格的字符串,你可以使用gets函数。
2024-11-29 17:10:54
1102
1
原创 C/C++内存管理详解
内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死。4. malloc的返回值为void*, 在使用时必须强转,new不需要,因为new后跟的是空间的类型。5. malloc申请空间失败时,返回的是NULL,因此使用时必须判空,new不需要,但是。3. malloc申请空间时,需要手动计算空间大小并传递,new只需在其后。
2024-11-20 21:06:24
583
原创 类与对象(2)---类的6个默认成员函数
内置类型/基本类型:语言本身定义的基础类型,包括 int / char / double 等等。自定义类型:用 class / struct 等等定义的类型。
2024-11-15 22:09:32
1205
1
原创 类与对象(1)
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。2.类声明放在.h文件中,成员函数定义放在.cpp文件中,注意:成员函数名前需要加类名func.hpublic://成员函数。
2024-11-11 18:04:56
1122
1
原创 C++入门基础
1.命名空间中可以定义变量/函数/类型2.命名空间可以嵌套3.同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。1.基本任何场景都可以用引用传参2.谨慎用引用作为返回值。出了函数作用域,对象不在了,就不能用引用返回,还在就可以用引用返回。1.宏函数和内联函数适用于短小的频繁调用的函数。2.inline对于编译器仅仅只是一个建议,最终是否成为inline,编译器自己决定。3.如下函数即使加上inline也会被否决,比较长的函数,递归函数。
2024-11-10 19:35:27
703
原创 数据结构-详细介绍线性表中的顺序表
一. 线性表1. 线性表(linear list)是n个具有的有限序列。2. 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...3. 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。。
2024-10-09 11:41:26
2321
1
原创 数据结构-关于时间复杂度与空间复杂度的总结
2. 空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算的是变量的个数。2. 一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。4. 一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。1. 时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。3. 时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。
2024-09-20 21:15:45
1047
原创 C语言结构体,枚举,联合,位断等自定义类型详解
4.1定义,初始化有了结构体类型,那如何定义变量呢?如何初始化呢?有两个地方可以定义变量。定义变量的同时也能初始化。int x;int y;//第一种方法,这里创建的变量是全局变量,同时也能初始化int main()//第二种方法,这里创建的变量是局部变量,同时初始化//这里用了结构成员访问符,可以不按顺序初始化return 0;4.2嵌套初始化我们想一个问题,结构体里面有没有可能出现结构体类型的数据呢?答案是有可能的。int x;int y;struct PP。
2024-09-05 18:30:55
1871
原创 C语言字符函数和字符串函数的详解及模拟实现(超详细)
3.1.1strncpy函数介绍1.拷贝num个字符从源字符串到目标空间。2.如果源字符串的长度小于num,则拷贝完源字符串之后,在目标的后边追加0,直到num个。
2024-08-27 19:23:59
980
原创 关于冒泡排序和qsort函数,与用冒泡排序思想实现qsort函数的详解(超详细)
为使bubble_sort函数像qsort函数一样适用于任意类型,就要进行“交换逻辑”的变更。为达到和qsort函数一致的效果,bubble_sort函数参数设置应和qsort函数一致。为了使bubble_sort函数能像qsort函数一样接收任意元素类型,我们就要对其”//函数指针类型,指向的函数能比较base中元素,size_t size, //一个元素的大小。比较方式仍遵循冒泡排序思想,故而其“主体框架”不变,“交换逻辑”发生变化。要使用冒泡排序思想实现qsort函数效果,就要使冒泡排序的”
2024-08-25 03:55:49
806
原创 C语言指针详解
数组指针是指针?还是数组?答案是:指针。我们已经熟悉:整形指针: int * pint;能够指向整形数据的指针。浮点型指针: float * pf;能够指向浮点型数据的指针。那数组指针能够指向数组的指针。解释p先和*结合,说明p是一个指针变量,然后指着指向的是一个大小为10个整型的数组。所以p是一个指针,指向一个数组,叫数组指针。注意:[ ]的优先级要高于*号的,所以必须加上( )来保证p先和*结合。
2024-08-22 23:03:39
2497
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人