- 博客(45)
- 收藏
- 关注
原创 【LINUX】守护进程
会话是一种持久网络协议,在用户(或用户代理)端和服务器端之间建立关联,从而起到交换数据包的作用机制,我们使用云服务器时,:每个进程组有一个领头进程。进程组是一个或多个进程的集合,通常它们与一组作业相关联,可以接受来自同一终端的各种信号;当我们在命令行上启动多个进程协同完成一个任务时,其中第一个被创建出来的进程就是组长进程。(daemon)是一种在后台执行、独立于控制终端,而不由用户直接交互控制的电脑程序。一般服务器端都是以守护进程的方式运行。
2023-04-09 20:09:04
289
原创 c++基础
C++基础命名空间概念解释命名空间定义命名空间使用C++输入&输出缺省函数全缺省参数半缺省参数函数重载概念名字修饰extern"C"引用概念引用特性常引用引用使用场景引用和指针内联函数概念特性auto关键字简介auto使用基于范围的for循环(C++11)简介nullptr(关键字)命名空间概念命名空间是一个声明性区域,为其内部的标识符(类型、函数和变量等的名称)提供一个范围。解释在理解命名空间之前,我们先看一下这个代码#include<stdio.h>#inclu
2022-05-25 16:52:23
752
12
原创 二叉树——堆
树的概念及结构树的概念树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。●有一个特殊的结点,称为根结点,根节点没有前驱结点●除根节点外,其余结点被分成****M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(1<= i<= m)又是一棵结构与树类似的子树。每棵子树的根结点有且只有一个前驱,可以有0个或多个后继**●因此,树是递归定义的注意:树
2022-04-18 10:34:38
756
1
原创 数据结构—栈
栈概念及结构:栈的实现:栈的结构:接口实现:栈的初始化入栈出栈获取栈顶元素获取栈中有效元素个数检测栈是否为空销毁栈测试test.c结果概念及结构:栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。**进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。**栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈,出数据也在栈顶。栈的实现:栈的实现一般可以使用数组或者链表实现
2022-03-28 20:56:44
839
原创 预处理(C语言)
预处理程序的翻译环境和执行环境程序的翻译环境程序的执行环境源程序到运行的全过程详解预处理预处理符号程序的翻译环境和执行环境在ANSI C的任何一种实现中,存在两个不同的环境第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。第2种是执行环境,它用于实际执行代码。基本情况如下图:程序的翻译环境编译:预编译 编译 汇编1、预编译(文本操作)(test.c(C语言代码)->test.i(C语言代码)):1、头文件的包含 #include----预处理指令2、
2022-03-03 19:11:44
484
原创 C语言(文件操作)
文件操作为什么使用文件一、什么是文件1.1 程序文件1.2 数据文件1.3 文件名二、文件的打开和关闭2.1 文件指针2.2 文件的打开和关闭三、文件的顺序读写3.1 字符输出函数3.2 文本行输出函数3.3 字符输入函数3.4 文本行输入函数3.5 格式化输入函数3.6 格式化输出函数3.7 二进制输出3.8 二进制输入3.9 补充3.9.1 标准流3.9.2 实现拷贝文件3.9.3 对比一组函数四、文件的随机读写4.1 fseek4.2 ftell4.3 rewind五、文本文件和二进制文件六、文件结束
2022-02-26 20:46:33
261
12
原创 指针的进阶
指针一、 字符指针二、指针数组三、数组指针3.1 数组指针的定义3.2 &数组名VS数组名3.3 数组指针的使用四、数组参数、指针参数4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参五、函数指针六、函数指针数组七、回调函数八、指向函数指针数组的指针(存放函数指针数组的地址)一、 字符指针字符指针有两种使用方法(1)int main(){ char ch='w'; char *pc=&ch; *pc='w'; print
2022-02-22 18:17:45
724
18
原创 动态内存管理
动态内存管理一、为什么存在动态内存分配二、动态内存函数介绍2.1 malloc(不会初始化)2.2 calloc(会初始化为0)2.3 realloc(不会初始化)2.3.1 特点2.3.2 开辟空间2.3.3 调整空间三、常见的动态内存错误3.1 对NULL指针的解引用操作3.2 对动态内存开辟的空间3.3 对非动态内存开辟的空间释放3.4 使用free释放一块动态开辟内存的一部分3.5 对同一块内存的多次释放3.6 动态开辟内存忘记释放(内存泄漏)四、几个经典的笔试题例题1例题2(返回栈空间地址问题)例
2022-02-13 20:08:39
153
12
原创 自定义类型详解
自定义类型详解一、内置类型二、自定义类型1、结构体1.1 结构的基础知识1.2 结构体的声明1.3 特殊的声明1.4 创建结构体变量1.5 结构体的自引用1.5.1 对于结构体的typedef1.6 结构体变量的定义和初始化1.7 结构体内存对齐1.7.1 **偏移量**1.7.2 offesetof(宏)1.7.3 为什么存在内存对齐?1.7.4 修改默认对齐数1.8 结构体传参2、位段2.1 什么是位段2.2 位段的内存分配2.3 位段的跨平台性3、枚举3.1 枚举类型的定义3.2 为什么使用枚举?4、
2022-02-07 16:10:46
2299
9
原创 深度剖析数据在内存中的存储
目录一、数据类型介绍二、数据的存储(1)整型在内存中的存储 ●大小端存储(2)浮点型在内存中的存储一、数据类型介绍(1)整型short unsigned char signed char int unsigned int signed intchar unsigned char signed charlong unsigned long signed longlong long其中unsi...
2021-11-30 19:45:02
559
2
原创 扫雷(C语言)
●游戏规则 在扫雷游戏中,当你点开一个格子的时候,里面会随机出现一个数字,而这个数字代表了该格子周围有多少颗炸弹,你要推理出炸弹在哪里并避开它,每个难度下的炸弹数量不一样,当你把所有没有炸弹的格子都点开之后,雷就被排了,你就赢了。●游戏函数 在扫雷游戏中,我们需要定义两个棋盘,一个是放置雷的棋盘,一个是玩家进行操作的棋盘,我们通过玩家输入的坐标,在第一个棋盘是否踩雷,在第二个棋盘对输入过的坐标进行标记,并显示周围8个格内的雷数.void game(){...
2021-11-12 19:28:59
3792
4
原创 三子棋(C语言)
目录三子棋(未优化)game.hgame.ctext.c三子棋(优化)●优化computerMove函数●computerMove函数三子棋(未优化)game.h#define _CRT_SECURE_NO_WARNINGS 1#define ROW 3#define COL 3#include<stdio.h>#include<stdlib.h>#include<time.h>void menu();void
2021-11-08 20:51:03
607
7
原创 C语言(初级)(1)
目录初识C语言数据类型●整型●浮点型●关于float和double的使用变量 常量●变量●常量转义字符初识C语言数据类型●整型类型 内存大小 char 1 short 2 int 4 long 4 long long 8 ●浮点型类型 内存大小 float 4 double 8 ●关于float和double的使
2021-10-19 10:16:04
292
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人