自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 进程概念与内存管理详解(含冯诺依曼体系结构、环境变量、调度算法)

本文聚焦Linux操作系统核心的进程与内存管理,系统拆解从冯诺依曼体系底层逻辑到虚拟地址空间的8大核心知识点。内容以“原理+实操+生活类比”为核心,涵盖操作系统管理本质、进程创建与状态流转、优先级调度、上下文切换、环境变量特性等关键内容,搭配可直接运行的C语言代码与Linux命令、清晰可视化图解,辅以快递驿站、外卖骑手等生活化案例帮助理解。文章纠正了新手常见认知误区,既适合初学者搭建体系化知识框架,也能为开发者提供实操参考,助力快速吃透进程与内存管理的底层逻辑。

2025-12-12 13:33:06 950 14

原创 Linux基础开发工具(下):调试器gdb/cgdb的使用详解

本文聚焦Linux下gdb/cgdb调试工具,面向开发初学者与需复习工具用法的开发者。首先介绍程序Release与Debug两种发布模式,强调Debug模式需通过`-g`参数编译以保留调试信息。接着详细拆解gdb核心命令,涵盖启动退出、断点设置、单步执行、变量查看与修改等基础操作,以及监视变量、条件断点等高级技巧。随后讲解cgdb的安装、可视化优势与基础操作,通过实战案例演示如何定位并修复代码BUG。最后梳理程序崩溃、循环错误等常见场景的解决方案,助力开发者快速掌握调试技能,提升问题排查效率。

2025-12-08 20:30:40 772 14

原创 Linux基础开发工具(中):Git版本控制

本文围绕 Git 这一开发必备工具,从其诞生背景(Linus 为解决 Linux 内核协作难题开发)切入,解析核心概念与工作流程,梳理了 Linux 下的安装配置、本地仓库操作、远程仓库同步(Gitee/GitHub)的完整流程,还补充了版本回退、忽略文件、免密码提交等高频实用操作。Git 的核心价值在于通过分布式架构与多区域流转,自动追踪版本、简化协作,规避冲突与版本混乱。学习关键是理解 “工作区 - 暂存区 - 仓库” 逻辑,而非死记命令,掌握这些可满足 80% 日常开发需求。

2025-12-04 16:11:54 939 8

原创 Linux基础开发工具(上):从包管理到“进度条”项目实战,掌握 yum/vim/gcc 核心工具

本文聚焦Linux开发基础核心链路,系统梳理了从软件安装到项目实战的关键工具与流程。先介绍yum/apt包管理器的查询、安装、卸载操作及国内镜像源配置,解决依赖与下载慢问题;再详解Vim编辑器的模式切换、常用命令与配置方法;随后拆解gcc/g++的四阶段编译流程及静动态链接差异,接着通过案例讲解Makefile自动化构建逻辑。最后以进度条项目实战整合所有工具,帮助Linux开发入门者快速掌握“软件安装→代码编辑→编译构建”核心技能,打通基础开发链路。

2025-12-03 22:07:15 1157 2

原创 Linux 入门宝典:初识系统 + 核心指令实操指南(小白必看)

本文是一份面向Linux初学者与复习者的实用指南,从系统认知、远程登录到核心指令、权限管理,层层拆解Linux基础核心知识。通过“代码示例+可视化图表”形式,详细讲解ls、cd、tar等常用指令的用法,深入解析权限逻辑与粘滞位等关键概念,覆盖服务器、云计算等多场景应用。内容兼顾易懂性与实操性,既梳理清晰知识框架,又提供可直接复用的实战技巧,助力读者快速入门Linux,巩固基础并逐步向精通进阶。

2025-12-01 23:44:42 581 5

原创 C++智能指针详解

本文围绕C++智能指针展开,详解其基于RAII的核心设计思想,梳理`unique_ptr`(单所有权)、`shared_ptr`(共享引用计数)、`weak_ptr`(解循环引用)等标准库实现的特性与适用场景。同时涵盖删除器定制、线程安全(`mutex`同步)、内存泄漏规避等关键问题,对比智能指针演进历程,结合代码示例拆解核心原理。旨在帮助开发者掌握智能指针的选型与实操,借助其自动资源管理能力,提升代码健壮性,告别手动`new/delete`的繁琐与风险。

2025-11-27 20:25:15 1131 5

原创 C++中的异常

本文聚焦C++异常处理核心知识点,从异常的概念、抛出与捕获机制入手,详解栈展开、类型匹配规则(含3种特殊转换)、异常重新抛出等关键逻辑。结合实际场景,分析异常安全问题与解决方案,介绍异常规范的用法,并对比标准库异常体系与自定义异常设计。通过清晰示例与实用技巧,展现异常处理如何摆脱错误码的冗余传递,实现错误检测与处理的分离,帮助开发者掌握这一构建稳健、可维护C++程序的核心工具。

2025-11-26 21:42:57 945 3

原创 C++11中的包装器

# 博客概述`std::function` 与 `std::bind` 是 C++11 核心特性,专为解决可调用对象类型混乱、接口适配繁琐的痛点而生。`std::function` 作为“万能容器”,统一普通函数、lambda、成员函数等各类可调用对象的类型,简化声明与传递;`std::bind` 作为“参数适配器”,可灵活固定参数、重排顺序,轻松适配不同接口。二者配合,在回调函数、命令映射、表达式求值等场景中优势显著,既能减少冗余代码,又能提升代码可读性与扩展性,是 C++ 高效编程的实用工具。

2025-11-25 23:51:58 664 4

原创 C++11中的lambda表达式详解

本文聚焦C++11核心特性Lambda表达式,解析其语法、机制与实用价值。Lambda为匿名函数对象,基础语法支持捕捉列表、参数列表等部分灵活简化,核心优势是无需定义独立函数或仿函数,可在局部直接封装逻辑,通过值捕捉、引用捕捉等复用上下文变量。文中结合代码示例,展示其在STL算法、变量交换等场景的应用,点明全局Lambda捕捉列表需为空等关键规则。其本质是编译器生成的匿名仿函数,兼具简洁性与灵活性,能降低开发冗余,提升代码可读性与效率,是C++多场景开发的实用工具。

2025-11-24 23:53:23 808 3

原创 C++11中新的类功能

聚焦C++11新增的四大类核心功能,包括默认移动构造/移动赋值、成员变量缺省值、default/delete关键字及final/override关键字。默认移动语义通过“窃取”右值资源优化深拷贝效率,编译器可自动生成或手动实现;成员变量缺省值集中管理默认值,简化构造函数设计;default/delete关键字精准控制默认函数生成,替代C++98隐晦写法;final/override规范继承体系,避免重写错误。这些特性解决了传统类设计的效率、冗余与安全问题,是编写高效、简洁、可维护的现代C++代码的核心基石。

2025-11-23 21:27:31 802 2

原创 C++11可变参数模板

本文聚焦 C++11 可变参数模板,先讲类模板和函数模板的基础声明,再解析编译期实例化与参数包递归扩展逻辑,结合模拟list::emplace_back、通用参数转发案例,展现其高效构造对象、简化泛型代码的价值,提及空包声明、完美转发等注意事项,助快速掌握这一泛型编程利器。

2025-11-19 19:29:18 818 4

原创 C++11中的右值引用和移动语义

本文摘要:文章详细介绍了C++中的左值和右值概念:左值表示持久数据对象(如变量、解引用指针),可寻址并出现在赋值号两侧;右值表示临时数据(如常量、表达式结果),仅出现在赋值号右侧且不可寻址。通过代码示例展示了左值引用和右值引用的用法及区别,并说明右值引用和const左值引用可延长临时对象生命周期。文章还探讨了参数匹配规则,以及移动构造和移动赋值的实现原理——通过"窃取"右值资源避免深拷贝,提升效率。最后通过自定义字符串类的实现,对比了深拷贝与移动语义的性能差异。

2025-11-18 21:21:12 839 4

原创 C++11中的{}与std::initializer_list

C++11引入了{}统一初始化语法,支持所有类型使用{}初始化,包括内置类型和自定义类型。相比C++98仅支持数组和结构体初始化,C++11的{}初始化更简洁,可省略=号,在多参数构造时尤为方便。标准库新增std::initializer_list容器,底层存储数组指针,支持迭代器遍历。STL容器都支持initializer_list构造函数,使容器初始化更加灵活,如vector<int> v = {1,2,3}。该特性简化了对象容器的初始化过程,提升了代码简洁性和可读性。

2025-11-17 22:14:12 485 4

原创 C++类和对象--构造函数和析构函数详解

C++中的构造函数与析构函数是类的重要成员函数,分别负责对象的初始化和资源释放。构造函数在对象创建时自动调用,具有与类同名、无返回值、可重载等特点,编译器会默认生成无参构造函数。析构函数在对象销毁时自动调用,用于资源清理,类名前加~,无参无返回值。当类中有动态资源申请时,必须显式定义析构函数以避免内存泄漏。编译器生成的默认析构函数会处理自定义类型成员的析构。多个局部对象按定义顺序逆序析构。

2025-09-10 08:52:02 410 3

原创 【数据结构】二叉树的链式结构--用C语言实现

本文介绍了二叉树的链式存储结构及其实现。相比顺序存储,链式结构通过左右指针连接节点,更灵活地表示非线性关系。主要内容包括:1)链式节点的定义,使用左右指针指向子节点;2)三种遍历方式(前序、中序、后序)的实现原理及示例;3)二叉树基本操作的递归实现,包括创建节点、销毁树、计算节点数、查找节点等。通过递归思想,可以简洁地实现二叉树的各种操作,如计算叶子节点数、特定层节点数等。链式结构为二叉树提供了高效的存储和操作方式。

2025-07-23 14:46:21 1098 3

原创 【数据结构】揭秘二叉树与堆--用C语言实现堆(二叉树的顺序结构)

摘要:本文系统介绍了树和二叉树的数据结构概念及实现。首先阐述了树的定义、层次结构和相关术语(如度、深度、祖先等),重点讲解了二叉树的特性和两种特殊类型(满二叉树和完全二叉树)。随后详细说明了堆的实现,包括大/小根堆的定义、向上/向下调整算法以及堆的插入、删除等操作。文章通过代码示例展示了堆的初始化、销毁、判空等基本功能实现,为理解树形结构和优先级队列提供了全面的技术参考。

2025-07-20 11:18:46 1038

原创 【数据结构】队列的深入解析--用C语言实现

本文介绍了队列的基本概念、实现方式及具体代码实现。队列是一种遵循先进先出原则的线性表,可以使用数组或链表实现。通过分析时间复杂度(链表实现入队O(1)、出队O(1)),得出链表实现更优的结论。文章详细展示了队列的结构定义、初始化、入队/出队操作、获取队头/队尾数据、计算队列大小及销毁队列等核心功能的C语言实现代码。最后提供了完整的Queue.h头文件和Queue.c源文件代码,包含所有队列操作的基本函数实现。

2025-07-18 12:07:56 736 2

原创 【数据结构】栈的深入解析--用C语言实现

本文介绍了栈的基本概念、实现原理及C语言代码实现。栈是一种遵循先进后出原则的线性表,只能在固定端(栈顶)进行插入和删除操作。文章通过比较数组和链表作为底层结构的优缺点,选择了数组实现栈,因其入栈出栈的时间复杂度均为O(1)。详细讲解了栈的结构定义、初始化、销毁、入栈、出栈、取栈顶元素和获取有效元素个数等核心功能的实现方法,并提供了完整的C语言代码示例,包括头文件、实现文件和测试文件。

2025-07-18 10:15:32 534

原创 【数据结构】双链表--从原理到(用C语言)实现全解析

本文介绍了双链表(带头双向循环链表)的基本概念和实现方法。双链表与单链表的区别在于:双链表每个节点包含prev和next指针,形成双向循环结构,头节点不存储有效数据。文章详细讲解了双链表的各种操作实现,包括初始化、销毁、判空、插入(头插/尾插/指定位置)、删除(头删/尾删/指定位置)和查找等。通过代码示例展示了双链表如何利用prev指针提高操作效率,如尾插/尾删操作时间复杂度从单链表的O(n)降至O(1)。文中还提供了完整的C语言实现代码,包含链表节点定义和所有操作的函数实现。

2025-07-16 11:33:12 871

原创 【数据结构】单链表详解-- C语言实现增删查改

摘要 本文介绍了链表的基本概念和C语言实现单链表的方法。链表是一种非连续存储的线性结构,由节点组成,每个节点包含数据和指向下一节点的指针。与顺序表相比,链表在插入/删除操作上效率更高。文章详细讲解了单链表的创建、打印以及增删操作的具体实现,包括头插尾插、指定位置插入、头删尾删等核心功能,并强调了对指针操作和内存管理的注意事项。所有操作均通过二级指针实现链表头节点的修改,确保操作的正确性。

2025-07-11 16:55:05 765

原创 【数据结构】顺序表详解--用C语言实现增删查改

用C语言实现顺序表的创建与销毁和数据的增删改查 讲解了线性表和顺序表的概念

2025-07-10 17:02:40 498

原创 C语言文件操作详解

讲解了C语言中的文件操作和相应的函数

2025-05-29 16:08:45 1027 4

原创 C语言中的结构体变量

详细讲解了C语言中结构体的有关知识,并介绍了位段在C语言中的实现

2025-05-22 17:27:58 1214 2

原创 整数与浮点数在内存中的存储(含大端存储模式和小端存储模式的讲解)

详细介绍了整数和浮点数在内存中存储的细节,讲解了小端存储规则和大端存储规则的相关知识

2025-05-20 15:48:51 855 1

原创 详细讲解C语言中的字符函数和字符串函数

介绍了C语言中相关的字符函数和字符串函数

2025-05-19 13:17:24 859 1

原创 C/C++深入理解指针

C语言中指针相关知识详细讲解

2025-05-15 00:09:52 1237 3

原创 如何用C语言制作一款扫雷游戏

用C语言制作扫雷游戏,大学期中期末大作业,简单详细,适合小白

2025-04-22 12:56:26 500 2

原创 【算法】高精度

高精度的运用及代码

2025-04-06 00:43:25 313

原创 【算法】双指针(尺取法)(滑动窗口)

双指针的运用

2025-02-04 10:35:48 160

原创 【算法】二分查找

二分查找的运用

2025-02-03 21:57:56 362

原创 【算法】差分

差分的运用

2025-02-03 13:32:06 445

原创 【算法】前缀和

前缀和的运用

2025-02-03 12:38:01 392 1

空空如也

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

TA关注的人

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