自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ 异常机制超全精讲 | 从零入门、语法原理、堆栈展开、自定义异常、面试考点、易错避坑

本文系统讲解C++异常处理机制,从基础语法到工程实践全面覆盖。主要内容包括:1)异常的核心优势(相比C错误码);2)异常三要素(try-throw-catch)及标准语法;3)堆栈展开机制及其资源安全保障;4)标准异常体系与自定义异常实现规范;5)异常说明符与重抛技巧;6)工程禁忌与面试常考点。文章采用零基础友好讲解,所有代码示例可直接运行,重点突出异常处理的核心价值:实现错误与业务逻辑分离,保证资源安全,提升代码健壮性。最后总结了异常处理的五大核心原则和常见陷阱,适合作为系统学习或面试复习资料。

2026-05-31 12:00:00 328

原创 C++ RAII机制与智能指针超全精讲 | 从零入门、原理底层、四类智能指针、工程实战、面试考点、易错避坑

本文全面讲解C++中的RAII机制与四类智能指针。首先从手动内存管理的痛点切入,分析原生指针的缺陷及内存泄漏风险,引出RAII(资源获取即初始化)机制的核心原理,并通过手写RAII类展示其实现方式。然后详细解析四种智能指针:独占所有权的unique_ptr、基于引用计数的shared_ptr、解决循环引用的weak_ptr,以及已被废弃的auto_ptr。重点剖析了shared_ptr的循环引用问题及weak_ptr的解决方案,并提供了手写shared_ptr的实现代码。文章还深入讲解了智能指针的定制删除器

2026-05-31 11:00:00 509

原创 C++ std::function 超全精讲 | 原理语法、适配对象、递归实现、回调场景、面试考点、易错坑点

摘要 本文全面解析C++11的std::function与std::bind,涵盖核心概念、基础语法、高阶用法及工程实践。std::function作为通用函数包装器,统一了普通函数、Lambda、仿函数等可调用对象类型,解决类型不兼容、Lambda递归、延迟调用等痛点。核心用法包括:包装各类可调用对象、实现Lambda递归(通过捕获自身引用)、存储回调函数、适配成员函数(需结合std::bind)。std::bind用于参数绑定与适配,支持固化参数、重排顺序及成员函数包装(需绑定对象地址)。二者协作构建现

2026-05-30 10:10:40 560

原创 C++ Lambda表达式超全精讲 | 语法详解、捕获机制、底层原理、场景实战、面试考点、易错避坑

本文系统讲解C++ Lambda表达式,从零基础到高阶应用全覆盖,适合入门学习、期末考核和秋招面试准备。内容分为:1)核心认知:Lambda是C++11的匿名可调用对象,解决传统函数和仿函数的痛点;2)基础用法:从空Lambda到带参数、自动推导返回值的写法;3)核心捕获机制:详解5种捕获方式,重点区分值捕获和引用捕获的特性;4)底层原理:Lambda被编译为匿名仿函数类;5)实战场景:如STL排序和递归实现;6)易错点:悬空引用、mutable误区等;7)面试问答:涵盖底层原理、捕获区别等高频考点。全文强

2026-05-30 10:00:00 402

原创 【彻底吃透C++红黑树 | 五大性质、变色旋转原理、完整手写实现、逐行注释、考点精讲

本文摘要:本文是一份针对高校数据结构课程、考研及互联网秋招的红黑树底层实现教程,完整实现了红黑树的节点定义、染色机制、旋转平衡和插入修复等核心逻辑。重点讲解了红黑树相比AVL树的优势,即通过颜色约束而非高度平衡来减少旋转次数,提高增删效率。教程详细解析了红黑树的五大性质、插入操作的三大场景(纯变色、交叉失衡、直线失衡)及其修复策略,并提供了可直接编译的C++代码实现。同时指出删除操作的复杂性,明确在秋招和期末考试中通常不要求手写删除代码,仅需理解原理。教程严格区分了STL容器上层API调用和底层数据结构实现

2026-05-29 13:45:00 782

原创 C++ string 超全精讲 | 从零使用、底层原理、手搓简易string、高频考点、易错点、面试手撕

本文全面解析C++中的string类,涵盖从基础使用到底层实现的完整知识体系。主要内容包括: string核心概念:动态字符数组+自动内存管理,对比C语言char*的优势 基础API大全:初始化、拼接、查找、截取等常用操作 底层机制:动态扩容原理(VS/GCC不同策略)、深拷贝实现、npos常量 手写string类:完整实现构造/析构、深拷贝、运算符重载等核心功能 高频易错点:越界访问、迭代器失效、size/capacity区别等 面试考点:自动扩容原理、内存管理机制、深浅拷贝区别等 特别提供可直接用于面试

2026-05-28 20:41:00 238

原创 彻底吃透C++ map容器 | 底层原理、全套API、实战代码、易错点详解(初学者保姆级教程)

本文是一份面向C++初学者的map容器实用指南,主要涵盖以下内容: 核心概念:介绍map作为自动排序的键值对容器,基于红黑树实现O(logn)时间复杂度的操作效率 核心操作: 两种插入方式:下标插入(可覆盖)和insert插入(不覆盖) 遍历方法:范围for循环获取键值对 查找方案:find()函数避免下标访问的隐式插入问题 删除功能:按键删除、迭代器删除和清空容器 实用特性:自动排序功能演示,无论插入顺序如何都会按key升序排列 易错点提醒:下标访问的隐式插入风险、key不可修改特性等注意事项 完整代码示

2026-05-28 18:55:26 437

原创 彻底吃透AVL树 | 原理、四大旋转图解、C++完整实现(初学者保姆级教程)

本文介绍了AVL树的核心原理与C++实现。AVL树是自平衡二叉搜索树,通过平衡因子(左右子树高度差绝对值≤1)确保操作效率稳定在O(logn)。文章详细解析了四种失衡情况(LL/RR/LR/RL)及对应的旋转修复方案,并提供了完整的C++代码实现,包含插入、删除、旋转等操作。重点包括:平衡因子计算、高度更新顺序、旋转操作后必须调整节点高度等易错点。通过图文拆解和代码注释,帮助初学者彻底掌握AVL树的实现原理和应用场景。测试结果显示中序遍历保持升序,验证了代码正确性。

2026-05-28 18:32:56 697

原创 <<哈希表迭代器函数>>

哈希表迭代器是手写哈希表的核心模块,依托实现通用适配,同时打通遍历逻辑,是容器实现迭代遍历、范围for循环的底层支撑。哈希表迭代器不同于链表、数组迭代器,需要适配哈希桶数组+单链表的双层结构。

2026-05-26 21:33:16 321

原创 <<哈希表------KetOft讲解>>

1.定位:KeyOfT 是通用哈希表的取键适配器,核心是适配不同存储数据类型;2.作用:从真实存储数据 T 中,统一提取哈希键 K;3.场景:Set直接返回数据本身,Map提取pair的first键;4.价值:实现一套哈希表底层,兼容unordered_map/unordered_set,是STL模板复用、适配器模式的核心体现。

2026-05-26 21:30:36 352

原创 <<吃透哈希表:从原理到手写实现>>

不同 key 经过哈希计算得到相同下标 →哈希冲突1. 哈希表是 C++ 最核心高频的数据结构2. unordered_map / set 底层是 vector+链表拉链法3. 模板适配器思想是 STL 精髓4. 手写一遍底层,彻底告别只会调用不会原理。

2026-05-26 21:28:04 832

原创 <<哈希表理论知识储备>>

不同 key 经过哈希计算得到相同下标 →哈希冲突(自动去重 不存放相同的key值)1.4 负载因子衡量哈希表拥挤程度的指标,公式为:负载因子(λ) = 存储的元素个数(N) / 哈希表大小(M)。λ 越大:冲突概率越高,空间利用率越高;λ 越小:冲突概率越低,空间利用率越低;开放定址法 λ 通常控制在 0.7 ,链地址法 λ 控制在 1。

2026-05-26 21:19:27 367

原创 《链式二叉树常用操作全解析》

本文介绍了链式二叉树的常见操作实现,包括:1. 计算节点总数(递归累加);2. 统计叶子节点数量(识别无子节点);3. 计算第k层节点数(递归降层);4. 求树深度(取左右子树最大深度+1);5. 查找指定值节点(前序遍历);6. 销毁树结构(后序遍历释放)。所有操作均采用递归实现,时间复杂度O(n),空间复杂度O(h)。测试用例验证了各功能的正确性,体现了二叉树操作的递归特性和分治思想。

2025-09-13 13:44:55 1167 20

原创 《链式二叉树详解:定义、创建与遍历》

链式二叉树是基于链表实现的二叉树存储结构,每个节点包含数据域和左右孩子指针。文章详细介绍了链式二叉树的创建方法,包括节点结构体定义和手动构建过程。重点讲解了三种基本遍历方式:前序遍历(根-左-右)、中序遍历(左-根-右)和后序遍历(左-右-根),通过代码示例和图示分析了每种遍历的特点和访问顺序。文章还提供了完整的C语言实现代码,展示了如何通过递归实现这些遍历方法。链式二叉树相比顺序存储更灵活,是树结构最常用的实现方式。

2025-09-13 12:16:04 1097 4

原创 《堆的详解:结构、操作及堆排序算法》

堆是一种完全二叉树数据结构,分为大堆和小堆,具有堆序性(父节点值大于/小于子节点值)。文章详细介绍了堆的结构定义、初始化、销毁等基本操作,重点阐述了插入和删除元素时使用的向上调整和向下调整算法。同时讲解了两种堆排序实现:借助堆结构的外部排序和原地排序的堆排序算法,后者通过构建大堆并反复提取最大值实现升序排序,具有O(nlogn)时间复杂度和O(1)空间复杂度。文章通过代码示例和图示清晰展示了堆的操作流程和排序原理。

2025-09-12 18:13:20 1154 7

原创 《树与二叉树详解:概念、结构及应用》

目录一. 树的概念和结构1.1 树的基本概念1.2 树的结构特点二. 树的表示方法和实际运用2.1 孩子 - 兄弟表示法(Child-Sibling Representation)2.2 树的实际应用场景三. 二叉树的概念3.1 二叉树的核心定义3.2 二叉树的基本分类四. 二叉树的性质性质 1:节点数量与层数的关系性质 2:深度与总节点数的关系性质 3:叶子节点与度为 2 的节点的关系性质 4:完全二叉树的深度性质 5:完全二叉树的节点索引关系五. 二叉树的存储结构一、顺序存储结构二、链式存储结构在数据结

2025-09-12 17:10:27 1097 8

原创 《详解链式队列:原理、操作与销毁方法》

本文介绍了链式队列的基本概念和实现方法。链式队列采用链表结构存储,避免了数组实现时元素移动的开销,具有O(1)时间复杂度的入队和出队操作。文章详细说明了链式队列的结构组成,包括节点定义和队列管理指针(头指针和尾指针),并提供了完整的C语言实现代码,涵盖初始化、入队、出队、取队头/队尾元素、判空和销毁等基本操作。通过链式存储方式,队列可以高效地实现先进先出(FIFO)的特性。

2025-09-07 19:58:47 1168 11

原创 《数据结构全解析:栈(数组实现)》

下面让我们来观察一下用数组来实现结构体栈的定义// 定义栈中元素的数据类型(可根据需求修改,如int、char等)//数组 用于存放数据int top;//对顶部进行操作 也是栈内有效数据//栈的容量}ST;顺序栈的结构体需要包含三个关键成员:动态数组指针:用于存储栈的元素(连续内存空间)。栈顶指针(top):记录栈顶元素的位置(通常用数组下标表示)。容量(capacity):记录当前数组的最大可存储元素数量(避免溢出)。栈顶指针(top)的设计细节初始时top = 0。

2025-09-07 12:26:32 1543 13

原创 《深入理解双向链表:增删改查及销毁操作》

本文系统介绍了链表数据结构,重点分析了双向链表的实现与应用。主要内容包括:1)链表分类(单向/双向、带头/不带头、循环/不循环);2)双向链表特性(带头双向循环结构)及其哨兵位设计原理;3)详细实现双向链表的初始化、增删改查(尾插头插、尾删头删、查找定位、指定位置操作)及销毁等核心操作,通过指针调整实现O(1)时间复杂度的插入删除。文章通过代码示例和复杂度分析,展示了双向链表通过哨兵位统一处理边界条件的优势,为数据结构学习提供了实用参考。

2025-09-05 16:49:18 1038 13

原创 《单链表刷题必备:五大核心问题解析》

本文介绍了五种链表操作的算法实现:1. 链表分割:使用哑节点将链表按给定值x分为两部分,时间复杂度O(n); 2. 相交链表:通过计算长度差和同步遍历找到交点,时间复杂度O(n+m); 3. 环形链表检测:使用快慢指针判断是否存在环,时间复杂度O(n); 4. 环形链表入口查找:分两阶段检测环并确定入口,时间复杂度O(n); 5. 复杂链表复制:通过节点插入和拆分实现高效复制,时间复杂度O(n)。所有算法均采用最优解,具有空间效率高的特点。

2025-09-05 11:46:09 880 1

原创 《单链表经典问题全解析:5 大核心题型(移除元素 / 反转 / 找中点 / 合并 / 回文判断)实现与详解》

本文摘要: 本文系统讲解了五种链表操作算法:1)移除指定元素节点,通过遍历筛选和尾指针优化;2)反转链表,使用三指针原地反转;3)快慢指针法查找中间节点;4)合并有序链表,采用虚拟头节点简化操作;5)判断回文结构,结合快慢指针、链表反转和双指针对比。每种算法均包含核心思路、代码结构解析、边界处理说明和完整实现,重点突出了指针操作技巧和空间复杂度优化(O(1)),适用于面试准备和算法学习。

2025-09-03 20:48:36 696

原创 《单链表学习手册:从原理到代码实现(含头插 / 尾插 / 销毁)》

本文系统介绍了单链表的核心概念与基本操作。单链表是一种通过指针连接节点的线性数据结构,具有离散存储、动态扩容等特点。主要内容包括:1.单链表的结构组成(节点定义、带头节点设计);2.基本操作实现(打印、头插尾插、头删尾删);3.进阶操作(查找节点、指定位置插入/删除);4.链表销毁方法。每种操作都提供了清晰的实现思路和C语言代码示例,特别强调了边界条件处理和指针操作顺序。本文可作为学习单链表基础操作的实用指南,为后续学习更复杂数据结构奠定基础。

2025-09-03 11:00:00 1869

原创 《深度讲解 C 语言动态内存:函数用法、错误规避与经典笔试题》

文章摘要:本文系统介绍了C语言动态内存管理的核心概念与常见错误。主要内容包括:malloc/free的基础用法,calloc/realloc的扩展功能,以及6类常见动态内存错误(空指针解引用、越界访问、错误释放等)的成因与规避方法。通过4个经典笔试题分析,深入剖析了指针传递、栈内存返回、内存泄漏和野指针等关键问题。最后总结了程序内存区域的划分(代码区、堆栈区等)。文章强调动态内存管理的核心原则是"申请必检查、释放要合法、指针不野化",为C程序员提供了全面的内存管理实践指南。

2025-08-28 20:34:08 968 1

原创 《数据结构入门:顺序表的结构设计与核心操作(C 语言版)》

本文系统介绍了线性表的顺序存储结构——顺序表。主要内容包括:1)线性表的基本概念和特性;2)顺序表的核心概念与两种实现方式(静态顺序表和动态顺序表);3)动态顺序表的具体实现方法,包括初始化、容量检查与扩容、插入(头插、尾插、指定位置插入)、删除(头删、尾删、指定位置删除)等核心操作;4)查找和销毁操作实现。通过对比分析,动态顺序表因其灵活的容量调整能力成为实际开发中的主流选择。文章提供了完整的代码示例,帮助理解顺序表的具体实现过程。

2025-08-28 16:36:07 1390 1

原创 《程序员必备:算法复杂度分析教程》

本文系统介绍了数据结构与算法的核心概念,重点分析了算法效率的评估方法。主要内容包括:1. 数据结构的分类(线性/非线性结构)和常见算法类型;2. 算法效率的衡量指标——时间复杂度和空间复杂度;3. 大O渐进表示法的推导规则和应用;4. 常见复杂度类别(从O(1)到O(n!))的性能对比和适用场景;5. 通过轮转数组等实例详细演示了复杂度计算方法。文章强调,算法复杂度分析是评估算法性能的关键工具,能帮助开发者选择最优算法,尤其在大规模数据处理时尤为重要。不同复杂度类别的性能差异显著,高效算法(如O(nlogn

2025-08-26 17:24:30 927 1

原创 《C 语言文件操作补充:字符串格式化与随机读写全解析》

文章摘要: 本文介绍了C语言中字符串处理和文件操作的关键函数及机制。第一部分讲解sprintf和sscanf函数,用于字符串格式化输出(如数值转字符串)和解析(如提取日志数据),强调需注意缓冲区溢出和格式匹配问题。第二部分详述文件随机读写函数:fseek移动指针位置,ftell获取当前位置,rewind重置指针,适用于二进制文件高效操作。第三部分解析文件缓冲区机制,说明全缓冲、行缓冲和无缓冲的区别,并介绍fflush强制刷新和setvbuf自定义缓冲区的操作方法,以优化I/O性能。全文结合代码示例说明核心功

2025-08-26 12:00:00 1861

原创 《零基础学 C 语言文件顺序读写:fputc/fgetc 到 fread/fwrite 函数详解》

本文介绍了C语言中常用的文件操作函数,包括字符级读写(fputc/fgetc)、字符串级读写(fputs/fgets)、格式化读写(fprintf/fscanf)以及二进制块读写(fwrite/fread)。这些函数分别适用于不同场景:字符级函数适合逐个字符处理;字符串级函数适合文本行操作;格式化函数方便结构化数据读写;二进制函数则适合处理非文本数据。文章还详细讲解了文件状态检测函数feof和ferror的使用方法,并强调了二进制模式的重要性及跨平台兼容性注意事项。每种函数都配有示例代码说明其基本用法,帮助

2025-08-25 19:08:12 934

原创 《C 语言数据文件操作指南:二进制 / 文本文件、标准流及文件打开关闭全解析》

摘要:本文系统介绍了C语言中文件操作的核心概念,包括文件类型(程序文件/数据文件)、文件名组成、二进制与文本文件的区别。重点讲解了文件流(Stream)机制和标准流(stdin/stdout/stderr)的作用,详细解析了文件指针(FILE*)的本质及其在文件操作中的核心地位。通过具体代码示例演示了fopen/fclose函数的使用方法,包括不同打开模式(r/w/a等)的选择策略和注意事项,强调了文件操作中必须进行错误检查(如NULL判断)和资源释放的重要性,为C语言文件处理提供了完整的实践指导。(149

2025-08-25 15:28:49 1250

原创 <<C 语言内存存储实战:从原码补码到大小端判断(附 6 大经典例题)>>

本文主要介绍了整数和浮点数在内存中的存储方式。整数存储采用原码、反码和补码三种形式,其中补码便于统一处理符号位和数值域,实现加减法统一运算。文章还详细讲解了大小端字节序的概念及判断方法,并通过多个编程练习演示了不同数据类型在内存中的存储特点和数值解析规则。浮点数部分介绍了IEEE 754标准下的存储格式,包括符号位、指数位和有效数字位的分配方式,以及不同情况下指数的取值规则。通过具体代码示例分析了整数和浮点数在内存中的存储差异,帮助读者理解数值在计算机系统中的底层表示原理。

2025-06-03 17:05:27 826

原创 《C 语言内存函数超详细讲解:从 memcpy 到 memcmp 的原理与实战》

可能导致数据错误。如果可能重叠,应该使用。

2025-05-23 19:14:18 1700

原创 《C 语言字符串操作从入门到实战(下篇):strncpy/strncat/strstr 等函数原理与实现》

在不同的系统和C语言标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头文件中说明的,C语言程序启动的时候就会使用⼀个全局的变量 errno 来记录程序的当前错误码,只不过程序启动的时候errno是 0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码,存放在 errno 中,而⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是有对应的错误信息的。是 C 标准库中的一个字符串查找函数,用于在一个字符串中查找另一个字符串的首次出现位置。

2025-05-22 17:22:40 1597

原创 《C 语言字符串操作从入门到实战(上篇):字符分类、转换及strlen/strcpy等函数详解》

上面练习中我们将小写转大写,是利用了小写字母和大写字母的Ascll码值差32的性质,现在有了转换函数,我们就可以直接使用toupper函数实现小写转大写了。从目标字符串的’\0’处开始追加,如果目标字符串未正确终止,会导致未定义行为。会一直读取源字符串直到遇到’\0’,如果源字符串未正确终止,会导致未定义行为。是 C 标准库中用于计算字符串长度的函数,定义在。是 C 标准库中用于比较两个字符串的函数,定义在。是 C 标准库中用于字符串复制的函数,定义在。是 C 标准库中用于字符串拼接的函数,定义在。

2025-05-21 15:45:12 1461

原创 《C 语言 sizeof 与 strlen 深度对比:原理、差异与实战陷阱》

sizeof计算变量所占内存空间的大小,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小。sizeof 只关注占用内存空间的大小,不在乎内存中存放什么数据;并且sizeof中表达式不计算通过运行该代码可以得到其中a是int类型 占4个字节a+3.14 由于a算术提升到了double类型 因此占8个字节strlen是C语言库函数,功能是求字符串长度练习strlen函数 请自己思考一下 下面函数会打印那些值运行结果如下其中由于arr1并没有 ' \0 ' 结尾 因

2025-05-20 17:32:08 1945

原创 《从回调函数到 qsort:C 语言指针高级应用全攻略》

回调函数就是一个通过函数指针调用的函数示例如下int Add(int x, int y)//回调函数Addint main()text(Add);//text是调用Add的那方return 0;其中Add被称为回调函数即如果你把函数的指针(地址)作为参数传递给另一个函数 当这个指针被用来调用其所指向的函数时 被调用的函数就是回调函数 回调函数不是由该函数的实现方调用 而是在特定的事件或条件发生时由另外的一方调用的 用于对该事件或条件进行响应qsort是 C 标准库(

2025-05-19 17:41:25 1565 2

原创 《C 语言指针高级指南:字符、数组、函数指针的进阶攻略》

使代码更易读、更简洁。

2025-05-14 16:03:08 1417

原创 《C 语言指针进阶:const 修饰、断言机制与传址调用深度解析》

理解传值和传址调用的区别对编写高效、安全的代码至关重要。

2025-05-09 11:00:00 2817

原创 《从 0 到 1:用 C 语言打造猜数字与扫雷小游戏攻略》

引言: 游戏开始运行时,玩家可选择开始游戏或退出游戏,选择开始游戏后系统将随机生成一个1~100的数字,玩家则是进行一个猜数字的操作,若猜的数字比答案大或小都分别会有相关提示,猜出正确答案后,玩家可选择再来一局或退出游戏,若再来一局系统将生成一个新的随机数作为答案,玩家则只需重复上述操作,若玩家选择退出则程序结束运行。输入1 则进入游戏 输入0 则使用break跳出 输入其他则 提示"输入错误 请重新输入"2.1 猜小了 会打印你猜小了 请重新输入。

2025-05-08 11:00:00 1203

原创 《VS2022 调试实战手册:高效排查代码问题的必备攻略》

调试(Debugging)是指使用其内置的调试工具来逐步执行代码、检查变量、分析程序状态,以发现并修复错误(Bug)的过程。在我看来 调试就是对代码的排查 好比名侦探柯南一样 柯南是通过嫌疑人留下的蛛丝马迹找出了罪犯 而我们则是需要通过调试 一步一步的找到我们的罪犯(BUG) 解决掉了它 我们程序员也就破案了 切忌一遍又一遍盲目的运行修改 那就好比瞎子摸象。

2025-05-07 14:18:18 1527

原创 《初探指针世界:揭开内存管理与编程优化的第一篇章》

C语言中的内存布局代码区(Text Segment):存储编译后的机器指令(如函数代码)。全局/静态区(Data Segment):存储全局变量和静态变量(如堆区(Heap):动态分配的内存(如malloc分配的空间),需手动管理。栈区(Stack):存储局部变量、函数参数等,由系统自动分配和释放。高地址│ 栈区 │ ← 局部变量、函数调用(向下增长)│ 堆区 │ ← 动态内存(向上增长)│ 全局/静态区 │ ← 全局变量、static变量│ 代码区 │ ← 程序指令低地址。

2025-05-04 11:04:14 1809

原创 《C 语言操作符深度指南:代码优化与高效编程必备》

16进制的数字每一位是0~9 a~f的数字 各自写成2进制 最多有4个2进制位就足够了 比如f的二进制位是1111 所以2进制转16进制的 时候 从2进制序列的右边低位开始向左依次 每4个2进制位换算一个16进制位 剩余不够4个2进制位则直接换算。8进制数字是0~7的数字 各自写成二进制每3个二进制位就足够了 比如7的二进制位是111 所以2进制转8进制的时候 从2进制序列中 右边低位开始向左依次 每3个2进制位换算一个8进制位 剩余不够3个2进制位则直接换算。

2025-04-28 21:25:07 2666 3

空空如也

空空如也

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

TA关注的人

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