自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++项目】从零搭建 C++ 在线判题系统:OJ 完整开发实战

本文介绍了从零开发C++在线判题OJ平台的全过程,重点阐述了项目的技术选型、分层架构设计及核心功能实现。通过五层架构实现模块解耦,采用MySQL预编译语句保障数据安全,利用Linux系统调用构建代码沙箱进行隔离判题。文章详细讲解了HTTP接口设计、登录鉴权、自动化测试等关键环节,并分享了服务器部署中的典型故障排查经验。该项目不仅串联了网络编程、数据库、操作系统等核心知识点,更培养了完整的工程化思维,可作为C++后端开发的面试亮点项目。作者还规划了后续功能迭代方向,并提供了标准化的面试口述模板。

2026-07-15 23:22:34 375

原创 【Agent开发】OpenClaw 入门与 Skill 开发

OpenClaw:开源本地优先的AIAgent执行平台指南 OpenClaw是一款开源、本地优先的AIAgent执行平台,旨在将AI从问答生成工具升级为目标驱动的任务执行系统。与普通聊天AI不同,它通过Skill机制扩展能力,实现本地文件操作、浏览器自动化、定时任务等真实环境操作,数据完全由用户掌控。 核心架构分为四层:多渠道用户入口、Gateway消息网关、Agent决策大脑、Tools/Skills执行层。开发者可通过标准化Skill开发(含SKILL.md配置和执行脚本)无限扩展平台能力,例如天气查询

2026-07-10 15:27:47 374

原创 【Agent开发】从模型调用到 Agent 雏形

本文记录了作者从零开始学习LangChain框架的完整历程。文章分为七个部分:1.环境搭建,介绍使用Miniconda创建隔离环境并配置阿里云百炼API;2.核心基础,讲解模型调用、消息类型和链式调用;3.工具调用,演示如何定义和使用工具;4.核心组件,包括消息管理、提示词模板和输出解析;5.RAG实现,涵盖文档加载、文本切分和检索增强生成;6.Agent雏形,展示如何将检索器封装为工具;7.学习总结,分享核心认知和学习建议。作者通过实践拆解了LangChain的组件化设计思想,强调从Demo入手、逐步构建

2026-06-21 20:37:29 347

原创 【Agent开发】嵌入模型和生成模型

嵌入模型和生成模型是AI系统中的两大核心组件,分别承担不同功能。嵌入模型(Embedding Model)负责将文本、图像等内容转化为向量形式,便于语义搜索和相似度匹配,扮演"图书馆管理员"角色;生成模型(Generative Model)则根据输入内容生成新文本、代码等回答,如同"写作老师"。两者常配合使用,在知识库问答等场景中,嵌入模型先检索相关资料,再由生成模型整理输出最终答案。

2026-06-19 22:43:11 250

原创 【C++项目】线程缓存核心原理与实现

本文详细介绍了基于TCMalloc思想实现的多级内存池中ThreadCache层的设计与实现。通过线程私有缓存(ThreadCache)管理固定规格的内存块,结合自由链表(FreeList)和尺寸对齐(SizeClass)机制,实现了无锁快速的内存分配与释放。关键设计包括:1)利用隐形链表技术高效管理内存块;2)采用分级对齐策略减少内存碎片;3)通过TLS实现线程私有缓存避免锁竞争。测试结果表明该方案在多线程环境下性能优异。文章还指出了后续需完善的CentralCache和PageCache等模块,以构建完

2026-04-25 03:56:40 444

原创 【Linux】Linux系统编程:深度解析 Linux 进程,切换调度、环境变量与虚拟内存

本文深入解析Linux进程三大核心机制:1)进程切换与调度,重点剖析O(1)调度算法实现原理及优先级管理;2)环境变量机制,详解其全局特性、操作方式及继承规则;3)虚拟内存管理,包括地址空间布局、分页机制及写时拷贝等关键技术。这些机制相互配合,确保系统高效稳定运行。通过底层原理分析与代码示例,帮助开发者深入理解Linux进程工作原理,为系统级编程和性能优化奠定基础。文章涵盖从基本概念到实现细节的完整知识体系,对Linux系统开发者具有重要参考价值。

2026-01-06 14:21:23 766 1

原创 【Linux】Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型

本文系统阐述了计算机进程管理的核心知识体系。首先从冯诺依曼体系结构切入,解释进程运行的硬件基础;进而分析操作系统的管理机制,包括进程控制块(PCB)的组织方式。重点讲解了进程创建(fork系统调用)、状态转换(7种状态)以及僵尸/孤儿进程的形成机制。在调度层面,详细介绍了Linux的优先级管理(PRI/NI)和O(1)调度算法,阐述了其通过活动/过期队列实现高效调度的原理。最后剖析了进程切换时的CPU上下文保存与恢复机制。全文构建了从底层架构到实际应用的完整进程知识框架。

2025-12-20 02:12:09 1059

原创 【深度学习】深度学习理论与实战: CNN 核心入门,卷积、池化与批标准化

本文介绍了卷积神经网络(CNN)的核心模块及其应用。CNN通过局部连接和参数共享解决了全连接网络处理图像时的参数爆炸问题。重点讲解了卷积层(提取特征)、池化层(降维)和批标准化(稳定训练)的原理及PyTorch实现方法,包括边缘检测、最大池化等实战示例。文章还阐述了数据预处理技巧和经典CNN结构,强调理解"卷积+池化"组合的重要性,为初学者提供了直观的入门指导和实践建议。

2025-12-18 02:39:04 921

原创 【深度学习】深度学习理论与实战:反向传播、参数初始化与优化算法全解析

深度学习训练核心闭环:精准算梯度、合理初始化参数、高效更参数 反向传播:链式求导为基,从损失反向回溯算梯度,附 Sigmoid 实例 参数初始化:讲手动 / 经典方法,Module 初始化技巧与核心原则、选择 优化算法:SGD 为基,动量法 / Adagrad/RMSProp/Adadelta/Adam 解析与对比 核心总结:反向传播、初始化、优化算法要点及训练细节

2025-12-16 01:38:55 1171

原创 【Linux】Linux 基础开发工具(3):Git 控制与 GDB 调试实用指南

本文系统介绍了Linux开发中两大核心工具:Git版本控制系统和GDB调试器。Git部分详细讲解了安装配置、GitHub远程仓库管理、基本工作流(add/commit/push)及常用命令;GDB部分重点阐述了调试模式编译、基本调试流程、核心命令(断点/单步/变量查看)及高级技巧(条件断点/变量监视)。通过掌握这两个工具,开发者能有效管理代码版本并精准定位程序问题,从而提升Linux开发效率和质量。

2025-12-15 05:10:10 797

原创 【QT】QT开发:框架概述、环境搭建与第一个程序

本文系统介绍了Qt跨平台开发框架的核心特性和应用场景,重点讲解了Qt开发环境的搭建流程。主要内容包括:1)Qt框架的基础认知与发展历程;2)Qt Creator的安装与配置方法;3)第一个HelloWorld程序的两种实现方式(代码与可视化);4)Qt项目文件结构与编程规范。文章指出Qt凭借其跨平台性、组件化开发等优势,在桌面应用、嵌入式系统等领域具有广泛应用前景,是GUI开发的优选框架。通过本文的学习,开发者可以快速掌握Qt入门知识,为后续进阶开发奠定基础。

2025-12-15 04:16:43 965

原创 【Linux】Linux 基础开发工具(2):gcc 、Makefile 与进度条程序实现

本文详细介绍了Linux下C/C++开发的核心工具链:首先解析gcc/g++编译器从预处理、编译、汇编到链接的完整编译流程;其次讲解Makefile的自动化构建原理与编写方法,包括单文件和多文件项目的构建规则;最后通过实现基础版和业务适配版两种进度条程序,演示了Linux终端程序的开发技巧。文章系统性地梳理了Linux开发环境搭建、项目构建和特色程序实现的全过程,为开发者提供了完整的入门指导方案。掌握这些基础技能后,开发者可快速开展Linux平台下的C/C++项目开发工作。

2025-12-09 09:15:00 800

原创 【Linux】Linux 基础开发工具(1):yum 与 vim 实用指南

摘要:本文介绍了Linux开发中的两个核心工具——yum包管理器和vim编辑器。yum作为软件包管理工具,能够自动解决依赖关系,提供软件安装、卸载等功能;通过配置国内镜像源可显著提升下载速度。vim作为高效代码编辑器,具有命令模式、插入模式和底行模式三种工作模式,支持丰富的快捷键操作和个性化配置。掌握这两个工具是Linux开发的基础,后续可进一步学习gcc编译、Makefile构建等工具完善开发技能体系。

2025-12-09 02:13:24 762

原创 【深度学习】深度学习理论与实战:MNIST 手写数字分类实战

本文介绍了使用深层神经网络进行MNIST手写数字分类的完整流程。首先讲解了多分类问题的核心工具:Softmax函数将网络输出转换为概率分布,交叉熵损失衡量预测准确性。接着详细说明MNIST数据集的预处理方法,包括标准化和拉平处理。然后通过PyTorch搭建4层全连接网络,使用ReLU激活函数解决梯度消失问题,并展示了训练过程的关键代码。最后指出通过调整网络层数、激活函数等参数可以进一步优化模型性能,为后续学习更复杂网络结构奠定基础。

2025-11-25 01:27:38 1143

原创 【Linux】Linux 权限管理:从概念到实战,搞定文件访问控制

本文全面介绍了Linux系统的权限管理机制,包括权限的核心逻辑、三大要素(用户、文件、操作)、权限表示方法(字符与数字)、修改命令(chmod、chown、chgrp、umask)以及特殊权限(粘滞位、sudo授权)。文章详细讲解了权限配置的实际操作步骤和常见问题解决方法,强调"最小权限原则"等最佳实践。通过理论讲解与实战案例相结合,帮助读者掌握Linux权限管理技能,确保系统安全稳定运行。

2025-11-23 21:33:25 800

原创 【Linux】Linux基础:从起源到实战,掌握入门核心指令

本文系统介绍了Linux操作系统的核心知识。首先追溯了Linux从UNIX到开源的发展历程,分析了其在服务器、云计算等领域的广泛应用。其次详细对比了Debian、Ubuntu、CentOS等主流发行版本的特点和适用场景。重点讲解了Linux基础操作,包括远程登录、目录结构以及40多个常用命令的使用方法,涵盖文件操作、内容查看、搜索查找等核心功能。最后阐述了Shell的运行原理,强调Linux学习需要"理解思想+勤练指令"的方法论,建议从Ubuntu入手逐步深入企业级应用。

2025-11-23 21:21:48 1016

原创 【C++】C++ vector类:从原理到模拟实现与实战

本文全面解析C++ STL中的vector容器,涵盖其核心概念、接口使用、底层原理和实战应用。vector作为动态数组,支持高效随机访问和尾部操作,通过自动扩容简化内存管理。文章详细介绍了构造函数、迭代器、空间管理和增删查改等核心接口,重点分析了扩容机制(VS1.5倍/G++2倍)和迭代器失效问题。同时提供了模拟实现代码,揭示深拷贝陷阱,并通过LeetCode例题展示vector的实际应用。掌握vector的使用技巧和底层原理,能有效提升编程效率和算法解题能力。

2025-11-23 03:03:01 988

原创 【深度学习】深度学习理论与实战:全面解析多层神经网络

本文系统介绍了多层神经网络的核心原理与PyTorch实现。首先分析了单层线性模型的局限性,指出激活函数是神经网络实现非线性的关键,详细讲解了Sigmoid、Tanh和ReLU三种常用激活函数的特点。接着通过"螺旋形数据分类"任务,对比了单层Logistic回归与多层神经网络的效果差异,并演示了Sequential和Module两种模型构建方式。实验结果表明,多层网络结合激活函数能够有效处理复杂非线性数据分布。文章还介绍了模型保存加载方法,并建议通过调整网络深度、学习率等参数来优化性能。

2025-11-23 02:31:59 1176

原创 【深度学习】深度学习理论与实战:用生活案例理解回归模型

本文通过生活化案例通俗讲解四种基础机器学习模型:线性回归(预测连续值,如身高体重)、多项式回归(拟合曲线数据,如学习时间与分数)、Logistic回归(二分类问题,如水果分类)以及梯度下降优化算法。文章强调从生活场景理解核心逻辑:画直线拟合数据、添加高次项使直线弯曲、绘制分界线区分类别,并通过代码示例展示模型训练过程。建议读者先运行线性回归代码观察误差变化,再逐步尝试更复杂模型,重点在于建立直观理解而非死记公式。

2025-11-20 01:32:51 1034

原创 【深度学习】深度学习理论与实战:Pytorch基础入门

本文介绍了PyTorch的核心概念和使用方法。PyTorch作为深度学习工具包,主要提供两个功能:GPU加速的张量计算和自动求导机制。文章详细讲解了Tensor的基本操作(创建、查看属性、CPU/GPU转换、数值运算),Variable的作用(记录计算过程),以及自动求导的三种场景(标量、多维张量、多次求导)。特别强调了PyTorch动态图的优势——直接使用Python语法,调试方便。最后通过一个完整的代码示例展示了PyTorch的工作流程。建议新手从掌握Tensor运算、Variable和自动求导等。

2025-11-19 22:39:38 1590

原创 【数据结构】C语言数据结构之堆

本文系统介绍了堆的数据结构及其应用,主要内容包括:1. 堆的基本概念与性质,包括小根堆和大根堆的定义、完全二叉树的存储方式及节点索引关系;2. 堆的核心操作算法,重点讲解了向上调整(AdjustUp)和向下调整(AdjustDown)的实现原理及代码示例;3. 堆的完整实现方案,展示了结构体定义及初始化、插入、删除等API的C语言实现;4. 堆的两个经典应用场景:堆排序算法和Top-K问题的解决方案,并分析了各自的时间复杂度。全文通过理论讲解与代码示例相结合的方式,全面阐述了堆的工作原理和实际应用价值。

2025-11-08 21:49:35 1125

原创 【数据结构】C语言数据结构之队列

本文全面介绍了队列数据结构,包括其核心概念、实现方式和应用场景。队列遵循"先进先出"(FIFO)原则,支持在队尾插入和在队头删除操作。文章详细讲解了基于数组和链表的两种实现方式,分析了各自的优缺点,并提供了C语言的链表队列完整实现代码。特别介绍了循环队列的原理与C++实现,解决了普通数组队列的"假溢出"问题。此外,还讲解了"用栈实现队列"的经典面试题解法。队列广泛应用于消息队列、任务调度、广度优先搜索等场景。通过本文,读者可以深入理解队列的原理和应

2025-11-04 00:58:18 1195

原创 【数据结构】C语言数据结构之栈

本文全面介绍了栈这种"后进先出"的线性数据结构。首先讲解了栈的基本概念、核心操作(压栈/出栈)和结构示意图。然后详细分析了栈的两种实现方式(数组和链表),重点展示了数组实现的动态扩容方案,包括初始化、销毁、压栈、出栈等核心接口的C语言实现。接着通过两个经典应用案例(括号匹配问题和用栈实现队列)深入解析栈的实际应用场景和解题思路。最后提供了栈相关的典型面试题,帮助巩固对栈特性的理解。全文从理论到实践,系统性地讲解了栈的核心知识体系。

2025-10-28 00:47:58 1658

原创 【优选算法】优选算法之双指针:从原理到实战,解决数组与链表

本文系统讲解双指针算法,该算法通过两个指针协同移动,将 O (n²) 复杂度问题优化至 O (n),核心分对撞指针与快慢指针两类。对撞指针从数据结构两端向中间逼近,适用于有序数组 / 字符串的区间查找,终止条件为指针相遇或错开,典型例题包括:移动零(用cur遍历、dest记录非零区间末尾,实现数组分块)、复写零(先找最后复写位置,再逆序复写避免覆盖)、两数之和(利用有序性,通过和与目标值比较移动指针)、有效三角形个数(固定最长边,用指针找满足条件的最小两边)、三数之和(固定一数,结合对撞指针找另外两数并去

2025-10-15 19:28:30 1357

原创 【C++】C++ string类:Leetcode刷题巩固

本文介绍了C++字符串处理的常见操作,包括查找唯一字符、字符串转换、大数运算、反转处理和回文验证。通过代码示例展示了如何实现查找首个唯一字符位置、字符串转整数、字符串加法和乘法运算、整体反转和按规则反转字符串、验证回文串等功能。这些操作涵盖了字符串处理的核心技术点,适用于各种编程场景,强调在实现时需要注意边界条件和特殊情况处理,如溢出判断、空格处理等,以保证代码的健壮性。

2025-10-06 09:15:00 983

原创 【C++】C++ string 类:从原理到模拟实现与实战

本文系统介绍了C++标准库中的string类,从学习意义、核心接口到底层实现逐步深入。首先对比C字符串的局限性,突出string类的便捷性和安全性;然后详解其构造、容量、访问、修改等核心接口,并介绍C++11的auto和范围for循环;接着通过模拟实现揭示string类的深拷贝机制,解决浅拷贝问题;最后通过反转字母、字符串相加、验证回文串等实战案例巩固应用。string类作为C++字符串处理的核心工具,掌握其原理和用法对提升编程效率至关重要,后续可进一步学习其高级特性和与其他STL容器的配合使用。

2025-10-05 09:15:00 1659

原创 【C++】C++ 内存管理:从底层原理到实战应用

摘要: 本文系统解析C/C++内存管理机制,涵盖内存区域划分、动态分配函数对比及底层原理。重点包括: 内存分布:栈(局部变量)、堆(动态内存)、数据段(全局/静态变量)、代码段(常量)的功能与存储规则,辨析char[]与char*的存储差异。 动态管理: C语言:malloc/calloc/realloc的区别(初始化、参数形式),realloc的扩容机制及避坑指南。 C++:new/delete自动调用构造/析构函数的优势,内置类型与自定义类型的操作差异,以及operator new/delete对mal

2025-09-16 01:48:16 1486

原创 【C++】C++ 类与对象(下):从构造函数到编译器优化深度解析

本文深入探讨C++类与对象的进阶知识,重点包括:1.构造函数的初始化列表机制,特别针对引用、const和无默认构造成员的初始化;2.类型转换原理及explicit关键字的作用;3.static成员的特性和应用场景;4.友元机制对封装的突破;5.内部类的定义和使用;6.匿名对象的生命周期特性;7.编译器对对象拷贝的优化策略。文章通过日期计算等实战案例,展示了这些知识点的综合应用,旨在帮助开发者编写更高效、健壮的C++代码。

2025-09-11 23:55:41 1103

原创 【C++】C++ 类和对象(中):默认成员函数与日期类实现

本文系统介绍了C++中的6个默认成员函数,包括构造函数、析构函数、拷贝构造函数、赋值运算符重载以及取地址重载。通过Date类和Stack类的实现示例,详细讲解了各成员函数的特点、使用场景及注意事项。重点分析了构造函数初始化规则、析构函数资源管理机制、深拷贝与浅拷贝的区别以及运算符重载的实现方法。文章还提供了完整的日期类实现案例,演示了日期计算、比较运算和流操作等功能,帮助读者深入理解默认成员函数在实际开发中的应用。全文强调掌握这些核心概念对后续面向对象编程学习的重要性。

2025-09-10 00:59:34 1178

原创 【数据结构】C语言数据结构之双向链表

本文系统讲解了带头双向循环链表的数据结构,包括其核心结构、C语言实现及与顺序表的对比。文章详细介绍了哨兵位节点的作用,以及初始化、增删查改等操作的实现逻辑,并通过代码示例展示双向链表的高效性。与顺序表相比,双向链表在任意位置插入删除时具有O(1)的时间复杂度优势,但随机访问效率较低。最后通过移除元素功能的对比,突显了链表无需元素搬移的特点。该数据结构特别适合频繁插入删除的场景,是单链表和顺序表的重要补充。

2025-09-01 23:43:44 1103

原创 【C++】C++ 类和对象(上):从封装到 this 指针的深度解析

本文系统介绍了C++面向对象编程中类的核心概念。主要内容包括:1)类的定义与访问控制,通过class/struct关键字创建类,使用访问限定符实现封装;2)类的实例化过程及对象内存计算,包括内存对齐规则和空类特性;3)this指针的原理与特性,解释其作为隐含参数的作用机制;4)通过栈实现对比C++面向对象与C语言面向过程的差异,突显封装优势。文章强调类作为面向对象基础的重要性,为后续继承、多态等特性奠定基础,帮助读者建立系统的面向对象编程思维框架。

2025-08-24 17:07:18 1418

原创 【C++】C++ 入门核心知识

摘要:C++作为C语言的扩展,由Bjarne Stroustrup于1979年开发,历经C++98到C++23等多个版本迭代,在2024年TIOBE排行榜位列第二。其核心特性包括面向对象编程、STL、智能指针等,广泛应用于系统开发、游戏引擎、嵌入式等领域。基础语法涵盖命名空间、输入输出、函数重载、引用等,建议通过项目实践和权威书籍(如《C++ Primer》)系统学习。C++学习曲线陡峭,需长期积累,但掌握后可获得高性能与抽象能力的双重优势。

2025-08-21 21:59:52 1988

原创 【数据结构】C语言数据结构之单链表

本文系统介绍了单链表的数据结构及其应用。单链表通过指针将离散节点链接成逻辑连续的线性表,具有动态分配、插入删除高效的特点。文章详细解析了单链表节点结构、核心操作(创建、插入、删除、查找等),并提供了完整代码实现。通过通讯录项目展示了单链表的实际应用,对比了单链表与顺序表的性能差异。最后总结了单链表的优势(动态性、灵活性)及适用场景(频繁插入删除、数据量不确定),强调其作为基础数据结构的重要地位。掌握单链表是学习更复杂数据结构和算法面试的基础。

2025-08-20 23:27:24 1165

原创 【数据结构】C语言数据结构之顺序表

本文系统介绍了数据结构中的顺序表实现与应用。主要内容包括:1.数据结构基础概念及其重要性,通过生活实例说明有序组织数据的必要性;2.顺序表的定义与分类,对比静态和动态顺序表的优缺点;3.动态顺序表的核心实现,包括初始化、扩容、插入删除等操作;4.顺序表在实际项目中的应用,以通讯录系统为例详细展示功能实现;5.顺序表的经典算法实例及优缺点分析。文章强调根据不同场景选择合适数据结构的重要性,并指出顺序表适合频繁访问但较少修改的场景,为后续学习链表等更灵活的数据结构奠定基础。

2025-08-05 20:12:48 1033

原创 【C语言】C语言项目:扫雷游戏

本文围绕控制台版扫雷游戏的设计与实现展开,阐述了其从逻辑架构到代码落地的全过程。在设计上,明确了 9×9 棋盘、10 枚地雷等核心功能,采用双数组分离架构(mine数组存雷区信息,show数组展示排查结果),并通过 11×11 数组设计解决边缘越界问题。实现上,以多文件架构解耦代码,game.h定义常量与接口,game.c实现棋盘初始化、随机布雷、雷数统计、排查逻辑等核心功能,test.c控制游戏流程。还提及可通过难度分级、优化交互、提升健壮性等方向进行扩展,强调该项目对编程思维与系统设计能力的培养价值。

2025-08-03 01:10:05 1259

原创 【C语言】C 语言编译链接与预处理全解析

本文系统介绍了C语言程序的编译链接过程与预处理机制。主要内容包括:1.程序生命周期分为翻译环境(编译、链接)和运行环境;2.编译过程详解预处理(宏展开、头文件插入)、编译(语法分析)、汇编(生成机器码)三阶段;3.链接阶段完成地址分配、符号决议和重定位;4.预处理指令如#define定义宏(注意参数括号和副作用)、#if条件编译、#include头文件包含;5.宏与函数的对比及特殊运算符#、##的用法。这些知识是理解程序底层执行机制、避免常见错误的重要基础,也是面试常考内容。

2025-07-29 16:04:26 822

原创 【C语言】C 语言动态内存管理与文件操作

本文摘要主要介绍C语言中动态内存管理和文件操作的核心知识。动态内存部分详细讲解malloc、calloc、realloc等函数的使用方法及常见错误,包括内存泄漏、越界访问等问题,并介绍柔性数组的特性。文件操作部分涵盖文件指针、打开模式、顺序/随机读写函数以及缓冲区机制等内容。文章重点分析了动态内存分配的必要性、文件读写的基本流程,并总结了面试常考的要点,如内存区域划分、文件结束判定等。这些内容对C语言系统编程和数据持久化处理具有重要指导意义。

2025-07-28 12:32:27 842

原创 【C语言】C 语言自定义类型:结构体、联合体与枚举

本文系统介绍了C语言中三种核心自定义数据类型:结构体、联合体和枚举。结构体部分详细解析了声明方式、内存对齐规则(含示例计算)、成员访问操作符和传参优化;联合体重点说明其内存共享特性及大小端检测应用;枚举则对比了与#define的优势。文章特别强调内存对齐的计算方法和位段的跨平台问题,并指出这些类型在系统编程中的关键作用,建议通过调试工具观察内存布局以加深理解。

2025-07-28 12:26:30 1024

原创 【C语言】C 语言内存函数与数据存储深度解析

C语言内存操作函数与数据存储机制 本文系统介绍了C语言四大内存操作函数:memcpy(非重叠内存复制)、memmove(支持重叠复制)、memset(内存初始化)和memcmp(内存比较),并给出了模拟实现。深入解析了数据存储机制:整数以补码形式存储,浮点数遵循IEEE754标准,以及大小端字节序问题。通过典型例题演示了字符类型存储差异和无符号循环陷阱,最后总结了面试常见考点,包括函数区别、存储规则和边界问题处理。掌握这些底层知识对理解C语言内存管理和系统编程至关重要。

2025-07-27 15:22:18 789

原创 【C语言】C 语言字符函数和字符串函数详解

本文系统介绍了C语言中常用的字符处理与字符串操作函数。主要内容包括:1.字符分类函数(如isalpha、isdigit等)及其返回值规则;2.字符转换函数(tolower/toupper);3.字符串长度函数strlen及其三种实现方法;4.字符串复制(strcpy/strncpy)与追加(strcat/strncat)函数;5.字符串比较函数(strcmp/strncmp);6.字符串查找(strstr)与分割(strtok)函数;7.错误处理函数strerror的使用。文章通过函数原型说明、使用示例和模

2025-07-27 15:17:15 1008

空空如也

空空如也

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

TA关注的人

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