自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 线性结构:顺序表(1)

顺序表的本质,核心特性,数据结构设计与接口实现

2026-11-04 23:49:41 166

原创 链表(牛客网编程练习)

本文总结了几个常见的链表操作算法题解: 删除链表倒数第n个节点:使用快慢指针法,快指针先走n步,然后同步移动直到快指针到末尾,慢指针指向待删除节点前驱。 反转链表:提供两种解法: 三指针法:通过pre、cur、nex三个指针逐步反转链表方向 头插法:将后续节点逐个插入虚拟头节点之后实现反转 链表区间反转:采用头插法,将指定区间内的节点逐个插入区间起始位置前实现局部反转 寻找链表中点:快慢指针法,快指针走两步慢指针走一步,快指针到末尾时慢指针即中点 删除链表中点:在找到中点的基础上,通过维护前驱指针实现删除操

2026-08-13 15:54:38 228

原创 Linux学习:Day05 gdb调试内部命令

fgets函数字符数组,存放读到的字符串;int size最多读取个字符(留 1 位存结束符\0数据流。读取成功:返回str地址;读到文件末尾 EOF / 读取失败:返回NULL用于从文件流 / 标准输入读取一行字符串(键盘和文件也是文件)键盘文件:stdin标准输入屏幕文件:stdout标准输出stderr标准错误输出图片上代码在输入end时,应当退出程序,为什么输入end没有退出程序呢?想要找到问题我们可以通过调试来查找问题。

2026-08-07 14:17:59 144

原创 C语言学习:动态内存(2)

使用malloc calloc realloc 一定要对返回值进行判断是否失败。

2026-08-03 21:32:37 178

原创 Linux学习:Day04 gcc使用

打包(归档,把多个文件装进一个 tar 包,不压缩体积)两步进行:gcc -c main.c -o main.o。makefile文件:管理工程(代码),实现自动化的编译。make命令(安装:apt install make)一步进行:gcc -o main main.c。+用户名:删除用户(需要管理员操作)+用户名:修改密码(需要管理员操作)

2026-08-02 01:01:54 200

原创 C语言学习:动态内存(1)

/在栈区申请40个字节的空间//栈区的生存周期:出生开始直到主函数结束自动被回收//在堆区申请40个字节的空间//malloc申请40个字节空间 设置了这些字节空间的出生 -> 返回第一个字节的地址供大家使用这些空间//判断是否申请成功printf("空间不足 申请失败\n");return 0;//失败了就结束//申请成功可以通过p中保存的地址 有效的对这40个字节进行操作和使用//p1 == arr 代表的都是40个字节的第一个字节的地址 / char*free(p);

2026-07-31 23:53:51 274

原创 线性结构:链表(1)

本文介绍了链表的基础概念与主要分类。链表是一种物理存储不连续但逻辑连续的线性数据结构,通过数据域和指针域实现节点连接。根据指针方向可分为单向链表(简单但查找受限)和双向链表(灵活但实现复杂);按连接方式分为循环链表(首尾相连)和非循环链表;按头节点功能分为带头链表(头节点不存数据)和不带头链表(头节点存数据)。各类链表在存储效率与操作灵活性上各有优劣,适用于不同应用场景。

2026-07-25 11:05:47 348

原创 Linux学习:Day03进程后台(基本命令)

本文摘要:文章介绍了Linux系统进程管理和文件操作相关命令。进程管理部分包括查看进程(ps、jobs)、前后台切换(&、Ctrl+z、bg、fg)和终止进程(Ctrl+C、kill、pkill)。文件操作命令涵盖find文件查找和grep文本过滤,详细说明了grep的常用参数及功能。此外还介绍了vi编辑器的常用操作命令,以及系统开关机命令(shutdown、halt、reboot、init)。文章重点讲解了管道符|与grep结合使用的方法,并提供了vi设置行号等实用技巧。

2026-07-24 23:34:25 212

原创 Linux学习:Day02编译和链接

本文介绍了Linux下使用gcc编译C程序的四个关键步骤:预处理阶段执行宏替换、头文件展开和注释删除等文本操作;编译阶段进行语法和语义分析并生成汇编代码;汇编阶段将汇编指令转换为机器码;链接阶段解决外部引用问题并生成可执行文件。每个阶段分工明确,预处理不检查语法,编译负责语法校验,汇编只做指令翻译,链接处理库与符号引用。

2026-07-22 23:58:38 293

原创 Linux学习:Day1基本操作

Linux基础操作摘要 本文介绍了Linux系统的基础知识: 目录结构、常用的基础命令

2026-07-21 23:12:06 158

原创 C语言学习:函数

文章摘要: 函数是预先编写的方法集合,便于代码复用和协作开发。其本质是自动调用方法的代码块。函数分为声明(告知编译器名称、类型等信息)和定义(实际分配内存并实现功能)。函数内部定义的局部变量仅在大括号内有效,形参本质是局部变量,修改形参不影响外部实参。函数分为两类:1)有返回值函数(结果供外部使用);2)无返回值函数(结果直接内部处理)。要修改外部变量需传递指针(地址值)。

2026-07-20 10:36:55 214

原创 C语言学习:指针

本文摘要:文章介绍了指针的核心概念与应用。主要内容包括:1.指针定义与初始化(int p),指针运算符&(取地址)和*(解引用);2.指针运算规则(加减整数按类型字节步进,相减计算元素间隔);3.指针类型体系(void*/结构体指针/函数指针等),特别强调void*需强制转换;4.函数指针特性(函数名即地址,但类型特殊);5.区分指针与数组(结合顺序决定类型)。

2026-07-19 21:15:30 224

原创 C语言学习:顺序语句 选择语句 循环语句

分支还是循环在判断真假时:遇见了赋值语句,先执行赋值语句,然后将赋值后的变量的结果判断真还是假。第五步:判断判断部分为真还是为假,为真的话则执行语句,为假 则什么都不执行跳出循环;第八步:判断判断部分为真还是为假,为真的话则执行语句,为假 则什么都不执行跳出循环;意思是直接跳出循环,执行循环{}之后的语句。为真还是为假,为真的话则执行语句,为假 则什么都不执行跳出循环;计算机按照C语句在程序中编写被编写的顺序,逐条执行这些语句。第六步:判断部分为真,执行语句;,如果有则执行 没有则跳过;

2026-07-11 22:09:33 200

原创 C语言学习:结构体

本文介绍了C语言结构体的基本概念与使用方法。主要内容包括: 结构体定义的五种写法(含typedef和自引用) 结构体初始化的三种方式(直接、赋值、键盘输入) 结构体成员的两种访问方式("."和"->"操作符) 结构体在函数中的值传递与地址传递 结构体嵌套的实现方法 结构体内存对齐规则(含VS平台的默认对齐数示例) 重点强调了结构体的内存对齐机制,解释了成员存储可能存在"空洞"的原因,并给出了对齐数的计算方法。文章通过代码示例详细说明了结构体的各种操作方式,适合C语言初学者理解结构体的核心知识点。

2026-07-11 11:38:22 159

原创 C语言学习:程序的地址空间

程序的地址空间:在整个程序内存当中,每一个进程会有一个地址空间。这个地址空间会描述进程内的每一个地址,并将整个内存划分成不同的区域,每个区域都与自己独特的用途和特性,这些区域共同构成了程序地址空间。

2026-06-15 00:18:10 16

原创 C语言学习:操作符

一元运算符(正负、逻辑非、取地址、解引用、按位取反)、强制类型转换、长度运算符、后缀自增自减。[ ] ( ) ++(后缀) --(后缀)括号 / 下标 / 后缀自增自减。++(前缀) --(前缀)运算符(优先性与结合性)关系运算符(大小比较)

2026-06-07 20:31:32 206

原创 C语言学习:关键字

本文摘要: C语言数据类型关键字包括基本类型(void、char、int等)、修饰符(signed、const等)及复合类型(struct、union、enum)。其中,extern用于声明变量/函数而不分配内存;typedef为类型创建别名,提升可读性。定义与声明的核心区别在于内存分配——定义创建实体,声明仅说明类型。union共用体共享内存空间,同一时间仅一个成员有效,支持赋值、取址和成员访问操作,初始化需匹配首个成员类型。流程控制关键字(if/for/while等)实现条件判断与循环,break、co

2026-06-07 00:26:45 245

原创 力扣初级算法练习

文章主要内容为力扣题库中的题目解答及解题步骤

2026-06-02 23:15:54 527

原创 C语言学习:文件使用

本文摘要: 文件是存储数据(如数据库、磁盘、缓存)的结构体类型,通过typedef可为类型创建别名。文件分为文本和二进制两类,常用操作函数包括fgetc、fputc、fgets、fputs、fscanf、fprintf等,用于字符/字符串读写及格式控制。文件打开需使用fopen指定路径和模式(如r只读、w只写、a追加),成功返回文件指针,失败返回NULL。二进制模式(如rb、wb)需用于非文本数据。操作后需用fclose关闭文件并置空指针,避免内存泄漏。注意:feof应在读取失败后调用,防止误判文件结束。

2026-05-31 23:35:46 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除