C 语言专栏 | 编程基础与实战笔记
文章平均质量分 80
以软件工程学习为线索,从基础语法到指针、内存管理等核心内容,逐步拆解编程要点,记录学习踩坑与调试心得,筑牢编程底层逻辑与实战能力。
DreamLuminous
哈喽~欢迎来到我的小天地 我是大二软件工程生,深耕嵌入式方向,开博只为真诚记录学习与生活,沉淀美好与成长。这里会扎实分享 C 语言干货与实战案例,后续也将持续更新 C++、Linux 及嵌入式硬件的学习笔记;同时也会记录摄影剪辑的创作心得,定格生活里的美好瞬间。不追流量,不刻意堆砌,每一篇都是用心的沉淀,愿这里能成为技术同好交流进阶的小站,也能分享细碎的生活温暖,盼与你一起交流成长,不负热爱️
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言底层:函数栈帧的创建与销毁(二)|深入理解函数栈帧
本文深入讲解C语言函数栈帧的底层原理,结合VS2022 x86 Debug纯净调试环境,从环境配置、CRT调用链拆解到逐指令实战,完整还原main与自定义函数的栈帧创建、参数压栈、函数跳转、栈帧销毁全流程。文章解答了局部变量创建、未初始化随机值来源、形参实参关系、函数调用与返回机制等核心疑问,无需死记汇编指令,掌握核心逻辑即可吃透函数调用本质,为递归、指针等后续内容打下扎实的底层基础。原创 2026-08-21 17:58:43 · 354 阅读 · 0 评论 -
我的编程之旅——从这里出发
个人背景:大一软件工程生,热爱计算机技术,因专业与兴趣开启编程学习。核心目标: 短期:精通 C 语言,完成小项目,用 优快云/Gitee 记录,铺垫嵌入式学习; 中期:学更多语言,攻复杂项目,参加编程比赛; 长期:成为实战程序员,参与团队开发,深耕专业方向。学习方法:网课 + 专业课打基础,项目驱动实践,每周复盘补弱,融入 Gitee/优快云 交流。时间投入:工作日靠专业课 + 网上学习,周末侧重复盘实践。理想期许:如昵称 “Luminous” 般实现价值,盼与同好交流。原创 2025-10-02 10:29:46 · 797 阅读 · 0 评论 -
C语言(一):C语言中不同浮点型的理解
1. 题目描述:求圆柱体表面积,题目描述为:输入圆杜体的底面半径r和高h,计算圆性 体的表面积并输出到屏幕上,要求定义圆周率为如下宏常#dcfine Pl 3.14159。是用于表示带有小数部分的数值的数据类型,能够处理整数、小数以及极大或极小的数值(通过科学计数法)。它的核心特点是通过 “浮动的小数点” 灵活表示不同范围的数值,因此得名 “浮点型”。3. 输出描述:输出一个实数,即圆柱体的表面积,保留两位小数。2.输入描述:输入两个实数,为圆柱体的底面半径r和高h。原创 2025-10-01 18:33:54 · 1242 阅读 · 0 评论 -
C语言(二):分支和循环——让C语言有自己的选择
本文介绍了C语言中分支语句和循环语句的基本用法。分支语句包括if语句(单分支、双分支、多分支)和switch语句,用于条件判断;循环语句包括while、for和do-while循环,用于重复执行代码块。文章还讲解了break和continue控制语句的作用,以及goto语句的争议性用法。最后通过一个猜数字游戏示例,展示了这些语句的实际应用。全文以实例代码辅助说明,帮助读者理解C语言流程控制的核心概念。原创 2025-10-15 18:13:08 · 1431 阅读 · 0 评论 -
C语言(三):从零吃透 C 语言数组—大一萌新的复盘总结
本文系统梳理了C语言数组的核心知识点,主要包括:一维数组的定义、初始化及遍历方法;二维数组的内存布局与使用技巧;C99变长数组的特性与注意事项。文章详细解析了数组的内存存储特征、sizeof求长原理等底层机制,并提供了二分查找等典型应用案例。同时指出了数组使用中的常见误区与避坑技巧,如越界访问、下标起始值等问题。最后补充了Clang编译器的配置方法以支持变长数组特性,为C语言学习者提供了全面的数组知识体系与实践指导。原创 2026-01-30 21:28:00 · 633 阅读 · 0 评论 -
C语言(四):解锁函数 “积木术”-大一函数总结
本文系统总结了C语言函数的核心知识点,从基础概念到实战应用。主要内容包括:1)函数定义与调用机制,强调模块化编程思想;2)参数传递规则(值传递与数组传参的区别);3)返回值使用规范;4)函数声明与多文件开发;5)static/extern作用域控制;6)数组传参的特殊性;7)常见错误分析与避坑技巧。文章通过典型代码示例讲解嵌套调用、链式访问等进阶用法,并提供了企业级开发规范参考。特别指出函数作为代码复用和程序模块化的核心工具,对提升代码质量和开发效率具有重要意义,是C语言学习的重点内容。原创 2026-01-31 16:43:47 · 928 阅读 · 0 评论 -
C语言旅程之扫雷游戏(基础版讲解)
本文侧重讲解 C 语言实现扫雷的核心思路:采用模块化设计,将函数、主程序、头文件独立存文。通过两个 char 二维数组分别存储雷区数据与展示界面,扩展为 11×11 棋盘解决边界统计问题;先初始化棋盘(数据存 '0'、展示显 '*'),再用 srand 与 time 函数生成随机坐标布雷;核心排查逻辑含坐标合法性验证、踩雷判断,通过遍历 3×3 区域统计周围地雷数,以排查安全格子达标判定胜利,逐步实现完整游戏流程。原创 2025-11-27 21:44:07 · 1317 阅读 · 0 评论 -
C语言(五):吃透递归的底层逻辑—我的回头重学实战总结
本文以学习指针后复习递归的视角,系统梳理了递归的核心概念与实践方法。文章首先重新定义递归本质为"分治思想+调用栈机制",强调终止条件和递推关系两大核心要素;然后通过阶乘、数组求和等基础案例,详细讲解递归的执行过程与编写步骤(明功能→找终止→推递推→验逻辑);针对常见误区如栈溢出、重复计算等问题给出实用避坑建议;最后延伸讨论递归与指针、循环的关联,并提供汉诺塔等经典案例的代码实现。全文采用"基础优先"原则,帮助读者从模糊理解到扎实掌握递归核心机制。原创 2026-02-01 20:33:52 · 711 阅读 · 0 评论 -
C语言(六) :操作符通关笔记-底层逻辑与实战技巧
本文系统梳理了编程中操作符的核心知识点。首先强调操作符作为基础工具的重要性,并指出复习重点包括分类记忆、底层逻辑和常见陷阱。文章详细讲解了二进制转换、原码/反码/补码等基础概念,将操作符分为移位、位、单目、访问类等类别进行解析,重点剖析了优先级、结合性和表达式求值规则。针对位操作、移位操作等难点提供了深度拆解,总结了8个常见错误场景及规避方法。最后通过实战练习巩固知识点,并延伸讨论了位运算的优化技巧和应用场景,为后续编程实践打下坚实基础。原创 2026-02-03 12:25:20 · 832 阅读 · 0 评论 -
C语言(七): 指针(上)-内存地址到数组指针的核心逻辑
本文系统讲解了C语言指针的基础知识,重点包括:指针的本质是内存地址,指针变量存储地址;指针类型决定解引用权限和运算步长;指针与数组的关系及访问方式;const修饰指针的三种情况;野指针的危害及规避方法;assert断言的调试技巧;指针实现传址调用和排序算法;二级指针和指针数组的基本概念。文章强调理解内存地址底层逻辑是掌握指针的关键,并通过大量代码示例演示指针的核心应用,为后续学习指针进阶内容奠定基础。原创 2026-02-06 20:53:30 · 609 阅读 · 0 评论 -
C语言(八):指针下(进阶)-核心考点与高频面试题解析
本文深入解析C语言指针进阶知识点,包括字符指针、数组指针与指针数组的区别、二维数组传参、函数指针及回调函数等核心内容。重点讲解了标准库qsort的使用与模拟实现,通过代码示例演示了指针在实战中的应用。文章还对比了sizeof和strlen的差异,并分析了经典指针面试题。所有示例均可直接运行,帮助读者从理论到实践全面掌握指针的高阶用法,应对考试和面试挑战。原创 2026-02-22 13:04:23 · 796 阅读 · 0 评论 -
C 语言(九):字符串 & 内存函数-用法 + 模拟实现全攻略
本文系统讲解了C语言标准库中字符操作、字符串处理和内存操作三大核心函数模块。文章详细解析了各类函数的功能、用法及常见坑点,包括字符分类/转换函数、基础字符串函数(strlen/strcpy/strcat/strcmp)、安全字符串函数(strncpy/strncat/strncmp)、字符串查找/分割函数(strstr/strtok)以及内存操作函数(memcpy/memmove/memset/memcmp)。作者不仅分析了标准库函数的实现原理,还提供了手动模拟实现的完整代码,强调用实践理解底层逻辑的重要性原创 2026-03-16 13:55:13 · 428 阅读 · 0 评论 -
C 语言(十):进阶学习复盘-吃透内存与自定义类型
本文系统总结了C语言进阶中的内存管理与自定义类型核心知识。主要内容包括:1. 数据内存存储:详解整数补码存储原理、大小端字节序判断及浮点数IEEE754标准;2. 自定义类型:剖析结构体内存对齐规则、位段节省空间的特性、联合体共享内存特点及枚举类型优势;3. 动态内存管理:详细讲解malloc/calloc/realloc/free的使用方法,并列举6个常见内存操作错误案例。通过大量代码示例和内存布局分析,揭示了底层内存机制对程序性能和安全性的影响,强调理解内存原理对编写高质量C代码的重要性。原创 2026-03-18 17:26:16 · 437 阅读 · 0 评论 -
C语言(十一):自定义类型全解析
本文系统总结了C语言三大自定义类型:结构体、联合体和枚举的核心知识点。结构体重点包括声明方式、内存对齐规则、指针访问、传参优化和位段应用;联合体强调内存共享特性、大小端判断等实用场景;枚举则展示了相比#define的优势和规范用法。文中通过大量代码示例演示了链表实现、内存对齐计算等关键技术,并提供了学生管理系统综合案例。最后总结开发原则:结构体必传指针、优化成员顺序、优先使用枚举等,为C语言进阶开发提供了实用指导。原创 2026-03-31 19:33:50 · 388 阅读 · 0 评论 -
3 道结构体 + 位段高频错题全拆解(附表格详解)
本文总结了C语言结构体与位段相关的3道典型题目及解题要点。第一题讲解结构体内存对齐规则,强调成员对齐、整体对齐和环境差异;第二题分析宏定义替换、位段存储和运算符优先级等易错点;第三题通过位段赋值、数值截断和内存覆盖等难点进行详细解析。文章指出C语言常见错误多源于细节疏忽,建议通过画表格、写偏移量等方法避免错误,并提醒注意编译器环境和规则差异。掌握这些核心考点能有效提升笔试解题能力。原创 2026-03-31 21:47:13 · 552 阅读 · 0 评论 -
C 语言(十二):动态内存管理全解析-从基础函数到柔性数组与内存分区
本文系统讲解了C语言动态内存管理的核心知识。主要内容包括:四大内存分配函数(malloc、free、calloc、realloc)的使用方法和注意事项;六种常见内存错误及避坑指南;四道经典面试题解析;C99柔性数组的特性与优势;以及C/C++程序的内存分区模型。重点强调了动态内存分配的必要性、正确使用方法和"谁申请谁释放"的核心原则,帮助开发者掌握这一关键技能,避免内存泄漏等问题。原创 2026-05-10 23:13:47 · 554 阅读 · 0 评论 -
C语言(十三):文件操作全攻略-从基础读写到随机访问与缓冲区原理
本文系统讲解C语言文件操作全流程,从数据持久化的必要性出发,详解二进制与文本文件的区别,以及fopen/fclose的正确用法与12种打开模式。重点介绍字符、字符串、格式化、数据块四类顺序读写函数,对比易混淆的scanf/fscanf/sscanf系列。同时深入解析随机读写、文件缓冲区原理,纠正feof误用等常见误区,最后总结文件更新模式的差异与最佳实践,帮你避开坑点,掌握数据持久化核心技能。原创 2026-05-10 23:28:59 · 421 阅读 · 0 评论 -
C 语言(十四):系列终章|编译与链接 + 预处理
这篇文章总结了C语言从源代码到可执行程序的完整编译流程(预处理、编译、汇编、链接),重点讲解了预处理阶段的#define宏定义、条件编译、头文件包含等关键机制。作者结合自身9个月的C语言学习经历,分享了从基础语法到数据结构实践的学习心得,并指出理解内存和指针等底层概念的重要性。最后,作者表示将转向C++学习,认为C语言的基础知识为后续学习奠定了坚实基础。全文既是技术总结,也体现了编程学习的思维转变过程。原创 2026-06-06 23:02:05 · 456 阅读 · 0 评论 -
C语言底层:函数栈帧的创建与销毁(一)|从汇编视角看懂函数调用的本质简述
本文深入解析了C语言函数栈帧的创建与销毁机制。通过一个简单的Add函数示例,详细演示了函数调用的完整过程:从main函数栈帧初始化、参数压栈(从右向左)、call指令保存返回地址,到Add函数栈帧创建、执行计算,再到返回值通过寄存器传递、栈帧销毁恢复现场。文章揭示了局部变量存储、未初始化变量随机值来源、形参与实参关系等核心问题的底层原理,并指出理解栈帧机制对掌握递归、函数调用约定等高级概念的基础性作用。基于VS2022 x86 Debug环境讲解,后续将补充汇编调试和内存布局等可视化内容。原创 2026-08-20 23:10:52 · 337 阅读 · 0 评论
分享