- 博客(30)
- 收藏
- 关注
原创 Makefile
项目说明变量本质Makefile 中的变量本质为字符串,用于存储编译器、编译选项、文件名等信息变量引用格式$(变量名),小括号不可丢定义方式= 延迟赋值:当使用此变量时,才会对变量进行赋值操作;格式:变量名 = 变量的初始值定义方式:= 立即赋值:定义时直接展开,不支持引用未定义变量;格式:变量名 := 变量的初始值定义方式+= 追加赋值:在原有值后添加新字符串,用空格分隔;格式:变量名 += 变量的初始值定义方式?= 条件赋值:判断变量是否有初始值,如果有值就不赋值;
2026-04-03 16:26:41
323
原创 环境变量配置
摘要:本文系统介绍了Linux环境变量的概念、作用及配置方法。环境变量分为用户级和系统级,可通过临时或永久方式配置。重点讲解了PATH变量的工作原理和配置技巧,包括路径优先级、临时/永久配置方法及常见错误规避。PATH配置需注意保留原路径、使用绝对路径等要点,避免系统命令失效。文章还提供了环境变量查看方法(echo、printenv等)和不同场景下的配置建议,帮助用户高效管理系统运行环境。(149字)
2026-04-03 16:02:58
349
原创 gcc编译与gdb使用
摘要:GCC(GNU编译器集合)是GNU工具链的核心组件,支持C/C++等多种语言编译,遵循GPL许可证。其编译过程分为预处理、编译、汇编和链接四个阶段,提供多种编译选项控制流程。GDB作为配套调试工具,通过-g选项生成调试信息,支持断点设置、变量查看等功能。二者构成了完整的开发工具链,广泛应用于Linux系统下的软件开发,从简单工具到大型系统程序都能提供高效支持。
2026-04-03 11:31:53
355
原创 linux系统操作命令
dpkg 是 Debian 及其衍生系统(如 Ubuntu)中最底层的软件包管理工具直接操作 .deb 格式的软件包文件,但不处理依赖关系;特性说明示例场景仅支持 .deb 文件仅能安装、卸载、查询.deb格式的软件包,不支持其他格式(如.rpm、源码包)手动下载.deb文件后离线安装:离线操作无需联网即可操作,但需提前下载所有依赖包无网络环境的服务器或设备中批量安装软件包依赖需手动解决安装时若缺少依赖,直接报错,需用户手动补全依赖包安装wps.deb时提示缺少libpng12-0。
2026-04-02 08:36:39
635
原创 Linux系统先导
操作系统(Operating System,OS)是管理计算机硬件与软件资源的系统软件,通过抽象底层硬件复杂性,为用户提供标准化接口,实现对软硬件资源的高效协调与优化利用;操作系统。
2026-04-01 09:25:26
34
原创 数据结构面试题
栈(Stack)是。因此,对栈来说,表尾端有其特殊含义,称为栈顶(top),相应地,表头端称为栈底(bottom)。不含元素的空表称为空栈。栈遵循后进先出(last in first out,LIFO)的原则。1.:栈用于管理函数调用,包括存储局部变量和返回地址。当一个函数调用另一个函数时,当前函数的状态被推入栈中,待调用的函数完成后,从栈中弹出状态,恢复执行。2.:在文本编辑器或其他应用程序中,栈用于实现撤销操作。每次用户进行操作时,操作会被推入栈中,用户可以通过弹出栈中的操作来撤销最近的操作。
2026-03-28 14:18:22
381
原创 排序算法——冒泡与快排
快速排序(Quick Sort)是一种基于分治思想的排序算法。它通过选择一个基准元素(枢轴),将待排序序列划分为两个子序列左侧子序列的所有元素都小于等于基准,右侧子序列的所有元素都大于等于基准,然后递归地对左右子序列进行同样的操作,最终使整个序列有序。
2026-03-27 17:13:54
144
原创 查找算法--静态与哈希
时间复杂度对比查找方式最好时间复杂度平均时间复杂度最坏时间复杂度空间复杂度二分查找(有序表)O(1)O(log n)O(log n)O(1)静态树表查找O(1)O(log n)O(n)O(n)索引顺序表查找O(1)O(√n) 或 O(log m + s)O(n)O(m)二分查找:查找效率最高,适合纯查询场景静态树表查找:考虑权重因素,适合概率不均等场景索引顺序表:查找与更新兼顾,适合混合操作场景三、动态查找表3.1 哈希表。
2026-03-27 16:33:30
360
原创 数据结构的数组
数组存储空间的基地址,指向实际存储数据的内存区域:维界基址,存储每一维的大小:映像函数常量,存储每一维的偏移量常数,用于将多维下标转换为一维下标。
2026-03-26 15:36:43
31
原创 数据结构栈和队列
队列(queue)是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素。允许插入的一端叫做队尾(rear),允许删除的一端叫做队头(front)。
2026-03-25 20:29:03
340
原创 数据结构的线性表
4、除最后一个以外,集合中的每个数据元素均只有一个后继。3、除第一个之外,集合中的每个元素均只有一个前驱。2、存在唯一的一个被称作“最后一个”的数据元素。1、存在唯一的一个被称作“第一个”的数据元素。两种表现形式:顺序表(数组)和链表(结构体)E(is)为插入,E(dl)为删除。
2026-03-23 19:34:51
39
原创 c的概念题目
解析复杂类型遵循“从内向外、从右向左先找括号确定核心[]表示数组、()表示函数、表示指针。[](数组)优先结合左边的类型,(指针)优先结合右边的类型。记住口诀“右数组左指针,先函数后指针”就能快速判断。写法结合规则含义[]优先结合左边的arr→ arr 先是个数组arr 是数组,元素是int*(指针数组)()把*p括起来,先结合 p → p 先是指针p 是指针,指向int[5]数组(数组指针)内存泄漏是指程序分配内存后未能正确释放,导致已用内存只增不减、可用内存逐渐枯竭,通常长期运行才暴露内存溢出。
2026-03-21 15:37:34
375
原创 C的指针使用
指针是一个变量,它存储另一个变量的内存地址。变量存储在内存中,每个变量占据一定的内存空间,并有唯一的地址。指针就是用来存储这些地址的变量。解释:&x获取变量x的内存地址。int*p声明了一个指向int类型的指针变量p。p存储了x的地址。用整型变量保存地址时,只能打印地址值(当作整数),不能通过它来访问对应的变量值。声明指针:用于定义指针,表示这是一个存储地址的变量。赋值与获取地址:解引用:通过指针访问变量值。示例:1.3 p与*p的区别 表达式 含义
2026-03-19 17:32:09
352
原创 聚合数据类型
最简单的结构体定义形式是直接定义结构体类型并声明变量。struct 结构体名{数据类型 成员名 1;数据类型 成员名 2;//其他成员//定义一个Point类型的变量p1可以在定义结构体时同时声明变量,减少代码量。int width;int height;//定义了两个Rectangle类型的变量rect1和rect2枚举类型(enum)是C语言中一种用户定义的类型,允许将一组相关的整数常量定义在一起,增加代码的可读性和管理性。它通过名字定义一组整数值,以帮助程序员更加清晰地表示逻辑状态和选项。
2026-03-17 15:34:19
435
原创 Gitee使用
由于仓库刚创建没有内容,第一次上传还需要加:git push -u origin maeter。git remote add origin 复制克隆下载里SSH的网址。文件夹中有了git文件夹的时候,目标文件所在的文件夹转化成本地仓库了。在文件所在目录下打开Git bash并输入 git init。如果有:git push origin maeter。1.创建一个新的Git仓库(第一次需要)git add.:将。git add file:将。2.文件添加到暂存区。的文件添加到暂存区。
2026-03-17 09:09:11
36
原创 C的数组概念
一维数组的定义语法格式:数据类型 数组名 [元素个数];声明语法示例:char name[10];//声明一个长度为10的字符数组显式初始化:可以直接在声明时为字符数组赋值。(单个存字符)(单引号示例:char name[5] = {'H', 'e', 'l', 'l', 'o'};数组name存储字符序列Hello,但不会自动加上字符串结束符\0。字符串初始化:使用字符串字面量直接初始化字符数组。双引号示例:chargreeting[]= "Hello";自动在末尾添加字符串结束符\0。
2026-03-16 10:47:53
336
原创 C的循环结构
1.自动化重复任务2.动态控制执行次数:通过循环条件的灵活性,循环能够根据用户输入、计算结果或其他动态条件来控制执行的次数,从而适应不同的场景和需求。3.提高程序效率4.便于处理集合数据:循环特别适合处理集合或批量数据(如数组、链表等),可以简便地执行操作如查找、插入、删除等。5.灵活的控制流:循环可以与条件判断、break、continue等控制语句结合使用,控制循环的执行过程。通过break语句,可以提,而通过continue可以跳,直接。
2026-03-13 15:38:22
324
原创 输入输出函数
注:要严格来输入数据。如果函数的两个数中间没有东西的话,那么输入的时候要加入空格或者回车才能识别出两个数对 %d%f%s来说:自动跳过开头的空白字符,从。对 %c,直接从当前位置读第一个字符(无论它是不是空白),而且只读一个字符,不会继续读到空白为止。分析:第二个输入函数会第一个函数用于停止读取的换行符(读取的解决办法:在第二个输入函数。这样输入就,只需要输入空格在输入你的值就行。问题1:为什么输入 +然后加上换行符后就会停止读取%c读一个字符(空格、Tab、换行符)就停止。
2026-03-13 11:26:01
323
原创 C的运算符
功能:加法运算符用于两个操作数相加。它可以用于(因为字符可以按ASCII码值处理)特点:可以对整型(int)、浮点型(float)、双精度型(double)等类型操作数进行加法操作。如果操作数中自增:++(前置或后置)自减:--(前置或后置);(如果a是5,a++打印出来为5,++a打印出来为6)
2026-03-12 18:38:05
223
原创 常见格式符和命令符
原码:符号位加上真值的绝对值,第一位表示符号,其余表示值缺陷:做减法的时候用反码,原码用不了反码:正数原码本身,负数反码在原码的基础上符号位不变,其他取反。计算时溢出的进位需要加到最低位缺陷:存在正0和负0之分,此时需要补码补码:正数的补码其本身,负数的补码在反码的基础上+1.sizeof(变量名)表示查看变量占多少字节。大端模式:高字节存储在低地址,低字节存储在高地址。小端模式:相反。
2026-03-11 14:09:57
57
原创 变量的数据类型分类
变量是用来存储数据的被命名的内存位置。变量需要用一个有名字的、有特定属性(如整数)的存储单元来存放数据。:变量必须先定义(定义内存地址:int a),或者先声明(多个文件编译的时候使用的)(有这个内存但不为它开辟存空间)(不能赋值)在使用,定义时指定名字和类型,也可以指定初值。
2026-03-11 10:22:50
240
原创 C的头文件
”目的为不从标准库(默认路径:gcc编译器所在的路径)中寻找,而是从用户定义的目录(.c所在的路径)下寻找。编译器头文件路径更改方式:在.json文件中设置“-I”后写头文件所在的位置:(需要加其他目录下的在-I的下一行加) gcc中:-I指定头文件所在的目录。不同的.c文件会用到同一个.h文件,在预处理的时候都会展开一下,如果没有头文件,每个.c文件在编译的时候都会定义一下,会很繁琐。不需要给对方.c文件,只需要给对方.o文件,对方文件翻译成,o文件之后直接与我的.o文件链接就可以。
2026-03-10 10:53:14
302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅