C语言
文章平均质量分 95
lingran__
大二在读(阅读建议,自下而上,依次渐进)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言自定义类型详解 (1.1w字版)
C语言中的自定义类型包括结构体(struct)、联合体(union)和枚举(enum)。结构体允许将不同类型的数据组合在一起,需要注意内存对齐规则以优化空间使用;联合体所有成员共享同一内存空间,适用于节省内存的场景;枚举则用于定义一组相关的命名常量。每种类型都有其特定的应用场景:结构体适合组织复杂数据,联合体适用于互斥数据存储,枚举则能提高代码可读性。合理使用这些自定义类型可以提升程序效率和可维护性。原创 2025-12-26 19:31:12 · 827 阅读 · 0 评论 -
数据在内存中的存储详解(C语言拓展版)
本文深入探讨了数据在内存中的存储方式,重点讲解了整数和浮点数的存储机制。整数部分回顾了原码、反码和补码的概念,并详细分析了大小端字节序的存储原理及其判断方法。浮点数部分依据IEEE 754标准,解析了符号位S、有效数字M和指数E的存储规则,并通过具体代码示例展示了不同数据类型在内存中的存储差异。文章还包含多个实践练习,帮助读者巩固对内存存储机制的理解,为后续深入学习计算机底层原理奠定基础。原创 2025-12-22 21:44:58 · 944 阅读 · 0 评论 -
C语言内存函数详解
摘要:本文详细介绍了C语言中常用的内存操作函数,包括memcpy、memmove、memset和memcmp。memcpy用于内存拷贝但不处理重叠空间,memmove则能处理重叠拷贝;memset用于设置内存值;memcmp用于内存比较。文章不仅讲解了各函数的使用方法,还提供了模拟实现的代码示例,帮助深入理解函数原理。这些内存函数适用于任意类型数组的操作,比字符串函数更具通用性。原创 2025-12-19 14:45:15 · 1079 阅读 · 1 评论 -
C语言字符函数和字符串函数详解
本文详细介绍了C语言中常用的字符和字符串处理函数,包括字符分类函数(islower/isupper等)、字符转换函数(tolower/toupper)、字符串操作函数(strlen/strcpy/strcat/strcmp等)及其安全版本(strncpy/strncat/strncmp)。重点讲解了每个函数的使用规则、注意事项,并提供了详细的模拟实现代码。此外还介绍了字符串查找函数strstr、分割函数strtok和错误处理函数strerror的用法。通过示例代码展示了这些函数的具体应用场景,帮助读者深入理原创 2025-12-17 22:35:25 · 799 阅读 · 0 评论 -
C语言指针详解
本文全面系统地讲解了C语言指针的核心知识体系,分为基础篇、提高篇、进阶篇、应用篇和训练篇五个部分。基础篇详细介绍了内存地址概念、指针变量定义与使用、指针运算等基础知识;提高篇深入讲解了数组与指针的关系、指针数组等进阶内容;进阶篇重点解析了函数指针、回调函数等高级特性;应用篇通过qsort函数实现等案例展示指针的实际应用;训练篇则通过大量经典笔试题强化理解。全文采用递进式讲解,配合丰富的代码示例和内存图示,帮助读者从零基础到精通掌握指针这一C语言核心概念,特别适合系统学习指针知识的读者。原创 2025-12-15 21:38:10 · 497 阅读 · 2 评论 -
函数栈帧的创建与销毁详解(C语言拓展版)
本文深入讲解了C语言中函数栈帧的创建与销毁过程。通过VS2022环境下的汇编代码分析,揭示了函数调用时栈空间分配的机制:使用ebp和esp寄存器维护栈帧,函数调用前压入参数和返回地址,调用时开辟新栈帧。重点解释了局部变量的创建(在栈帧中分配空间)、未初始化变量的随机值来源(0xCCCCCCCC)、函数传参方式(压栈临时拷贝)、形参与实参的关系等常见问题。文章还展示了main函数如何被其他函数调用、函数返回时如何恢复栈帧等底层细节,帮助读者理解递归调用导致栈溢出的原因。这些底层知识对于掌握指针等高级概念具有重原创 2025-11-05 20:13:56 · 1970 阅读 · 5 评论 -
C语言操作符详解
本文系统讲解了C语言操作符的分类、使用规则及表达式求值机制。主要内容包括:1)操作符的分类(算术、移位、位、赋值等11类);2)二进制相关概念(进制转换、原码/反码/补码);3)位操作符(& | ^ ~)和移位操作符(<< >>)的运算规则;4)结构体成员访问操作符(. ->)的使用;5)操作符优先级和结合性对表达式求值顺序的影响;6)整型提升和算术转换机制;7)问题表达式案例分析。通过具体代码示例,揭示了复杂表达式可能存在的计算路径不确定性问题。全文为深入理解C语言表达式运算原创 2025-10-28 19:11:55 · 1289 阅读 · 3 评论 -
C语言函数递归详解
本文系统讲解了函数递归的核心概念与应用。首先阐述了递归的基本定义(函数调用自身)及递归思想(将大问题拆解为相似子问题),并指出递归必须满足限制条件和趋近条件两个必要条件。通过求阶乘和顺序打印整数两个实例,配以详细代码和图示解析,展示了递归的"递推-回归"过程。同时对比了递归与迭代的优劣,指出递归存在栈溢出风险及重复计算问题,建议在斐波那契数列等场景优先采用迭代方式。最后强调递归思维在编程中的重要性,并提示深度递归问题可优化为迭代实现。全文兼顾理论讲解与实践示例。原创 2025-10-21 09:07:07 · 1059 阅读 · 0 评论 -
VS实用调试技巧
本文介绍了VS调试的基本概念和实用技巧。主要内容包括:1)Bug与调试的定义,强调调试是定位和解决问题的过程;2)Debug与Release版本的区别,Debug包含调试信息便于调试;3)常用调试快捷键(F9设置断点、F5跳转断点、F10/F11逐过程/语句);4)监视窗口和内存观察的使用方法;5)编程错误分类:编译型(语法)、链接型(函数引用)和运行时错误(需调试解决)。通过实例演示了数组越界导致死循环的调试过程,说明调试的重要性。文章最后建议根据错误类型选择调试或重写代码。原创 2025-09-06 22:19:10 · 907 阅读 · 0 评论 -
C语言制作扫雷游戏(拓展版赋源码)
本文介绍了C语言实现扫雷游戏的三个新功能扩展:难度选择、标记功能和区域展开功能。通过修改基础版扫雷代码,新增了难度选择菜单(简单9x9/10雷、中等16x16/40雷、困难30x16/99雷及自定义模式),采用100x100数组兼容不同难度。标记功能实现了右键标记雷区的交互,包含标记/取消标记两种操作。区域展开功能采用DFS算法实现点击空白区域自动展开安全区域的效果。文章详细讲解了各功能实现的代码逻辑,重点说明了递归展开算法的实现方法,最终版本扫雷游戏接近网页版功能,仅缺少计时功能。原创 2025-09-05 01:47:55 · 12386 阅读 · 1 评论 -
扫雷拓展版 新增功能与源码(详解明天发布)
【摘要】本文介绍了基于C语言开发的扫雷游戏拓展版,新增难度选择、标记点、取消标记和排雷展开四大功能。文章建议先阅读基础版教程(附源码链接),以便更好理解拓展版代码。拓展版支持简单(9×9/10雷)、中等(16×16/40雷)、困难(30×16/99雷)和自定义模式,并实现了标记(!/?)、取消标记和DFS算法实现的排雷展开功能。作者提前发布源码供读者体验,完整教程将在后续博客中详细讲解。拓展版代码约400-500行,保留了基础版核心逻辑,未实现计时功能。原创 2025-09-04 18:28:16 · 893 阅读 · 2 评论 -
C语言制作扫雷游戏(基础版赋源码)
本文详细介绍了如何使用C语言实现一个基础版的扫雷游戏。主要内容包括:1) 游戏功能分析,如随机布雷、坐标排查和胜负判定;2) 程序设计思路,采用多文件结构(game.h、game.c和扫雷.c);3) 关键函数实现,包括初始化棋盘、随机布雷、打印棋盘和排查雷等;4) 代码优化技巧,如使用宏定义方便修改参数。文章还提供了完整的源代码,并指导如何编译发布游戏。最后预告了后续将扩展更多游戏功能,如难度选择、标记雷等。该教程适合C语言初学者学习数组和函数应用。原创 2025-09-03 16:58:56 · 12398 阅读 · 4 评论 -
C语言数组和函数详解
本文详细讲解了C语言中数组和函数的相关知识。内容包括一维/二维数组的创建、初始化及内存存储方式,数组传参技巧;函数的定义与调用,形参实参区别,嵌套调用与链式访问,多文件编程方法;以及static/extern关键字的作用域控制。文章还介绍了printf链式访问、Sleep函数等拓展内容,为后续开发扫雷游戏等实际应用打下基础。适合有一定C语言基础的读者深入学习。原创 2025-09-01 20:51:57 · 1149 阅读 · 0 评论 -
用C语言基础做一个猜数字小游戏
本文介绍了如何使用C语言实现一个简单的猜数字游戏。重点讲解了随机数生成的三个关键函数:rand()、srand()和time(),解释了伪随机数的概念以及如何通过时间戳设置随机数种子。游戏实现包括:电脑生成指定范围的随机数、玩家猜测并获取反馈、游戏结束后可选择继续或退出。文章提供了完整的代码示例,展示了如何通过循环结构和条件判断实现游戏功能。最后还分享了将程序转化为可执行文件的方法,适合C语言初学者学习基础语法和随机数应用。原创 2025-08-29 16:02:11 · 845 阅读 · 1 评论 -
C语言基础知识细节
本文系统介绍了C语言基础概念与语法要点,包括:1. 常见概念部分详解了32个关键字、转义字符(\n、\t等)、5类语句(空/表达式/函数调用/复合/控制语句)及注释规范;2. 数据类型章节重点解析变量作用域规则、内置/自定义类型区别、sizeof用法及各种操作符(算术/赋值/关系/逻辑等)特性;3. 输入输出函数专题深入讲解scanf的安全隐患、占位符处理机制、返回值应用,以及printf的格式化输出技巧;4. 流程控制部分强调分支语句的匹配规则、循环语句的常见误区,并说明goto语句的适用场景。全文通过大原创 2025-08-28 19:28:48 · 1058 阅读 · 2 评论 -
集成开发环境VS2022的安装及简单运用及附加插件
省流:学C/C++往后看,Python与java等有更好的IDE选择 每个人在初学语言时,少不了的第一道坎就是在哪里进行编译和运行。首先,我们要知道,语言分为编译型语言和解释型语言,像C/C++就属于编译型语言,而Java与Python这种则为解释型语言,如果目前你想学的是解释型语言的话,那不推荐继续往下看,因为VS与编译型语言适配更高,解释型语言有更好的软件可以选择。 那看到这的应该都是想学C/C++这种解释型语言的了叭,那接下来我来浅浅说下为什么我推荐用VS,首先市面上有许多原创 2025-08-12 14:39:58 · 1367 阅读 · 2 评论
分享