- 博客(11)
- 收藏
- 关注
原创 D10—C语言指针深度解析系列(二):指针与数组的深度探索
C语言中数组与指针的密切关系解析 摘要:本文深入探讨了C语言中数组与指针的内在联系。数组名本质上是首元素地址,但在sizeof和&操作时例外;指针可以通过加减运算访问数组元素,arr[i]等价于*(arr+i)。数组传参实际传递的是首元素地址,导致函数内无法直接获取数组大小。文章还介绍了二级指针的概念、指针数组的用法,以及用指针数组模拟二维数组的方法。通过冒泡排序实例展示了指针与数组的协同应用,并强调了理解这种关系对掌握C语言的重要性。
2026-01-13 16:42:35
519
原创 D9—C语言指针深度解析系列(一):内存、地址与指针基础
本文系统讲解了C语言指针的核心概念与应用。从内存编址原理出发,详细解析了指针变量的定义、解引用操作和大小特征,阐述了指针类型的意义及其对解引用和运算的影响。重点讨论了const修饰指针的权限控制、指针运算规则,以及野指针的危害与防范措施。通过assert断言和传址调用的实例演示,展示了指针在函数参数传递中的关键作用。最后以自定义字符串函数为例,实践了指针的核心应用。全文贯穿"内存如宿舍"的生动类比,帮助读者理解指针这一C语言核心概念,为后续学习数组与指针的关系奠定基础。
2026-01-10 18:53:37
952
原创 D8—C语言操作符完全指南:从二进制底层到高级表达式求值
本文系统讲解了C语言操作符体系,重点剖析了二进制位操作。首先介绍了12类核心操作符及其应用场景,包括算术、移位、位运算等。然后深入讲解了计算机二进制表示、进制转换方法和补码机制。详细解析了移位操作符(<<、>>)和位操作符(&、|、^、~)的工作原理,并提供了位运算的实用技巧,如变量交换和统计1的个数。文章还涵盖了表达式求值规则、操作符优先级及结构体访问操作符等内容。通过理解这些底层操作机制,开发者可以编写更高效的代码,建立扎实的编程基础。
2026-01-07 21:40:23
1114
1
原创 D7—函数递归:优雅解决问题的“套娃”艺术
本文系统介绍了C语言中的递归编程技术。首先解释了递归的基本概念,即函数调用自身的特性,并通过简单示例展示其工作原理。重点阐述了递归的两个必要条件:递归结束条件和递归逼近条件。通过阶乘计算和数字打印两个经典案例,详细分析了递归的执行过程和"分治"思想。文章对比了递归与迭代的优缺点,指出递归存在栈溢出风险但代码更简洁,而迭代效率更高但可能更复杂。特别强调了斐波那契数列递归实现的低效性,并给出优化建议如尾递归和记忆化技术。最后提出了递归适用的典型场景(树遍历、分治算法等)和学习建议,强调递归既
2026-01-06 20:31:27
1300
原创 D6—Visual Studio 调试全攻略:让你的代码无处藏“虫”
本文系统介绍了程序调试的基础知识与高级技巧。从"Bug"一词的起源讲起,详细讲解了VS调试环境的使用方法,包括关键快捷键(F9/F5/F10/F11)、监视窗口和内存观察等工具。通过阶乘求和和数组越界两个典型案例,演示了常见错误的调试过程。文章还总结了编程错误分类(编译/链接/运行时错误)及应对策略,并分享了调试思维训练方法(假设验证/二分查找/隔离法)。最后强调调试不仅是修复错误的技术,更是深入理解程序运行机制的思维方式,需要结合耐心观察与系统思考来提升调试能力。
2026-01-05 20:05:43
973
原创 D5—C语言函数详解:从库函数到自定义函数的完整指南
本文系统介绍了C语言中函数的使用方法,包括库函数和自定义函数。重点讲解了函数定义、参数传递(形参与实参)、return语句、数组参数传递规则等核心概念。同时阐述了嵌套调用、链式访问等高级用法,以及多文件组织中的函数声明与定义。文章还详细解析了static和extern关键字对函数和变量的影响,包括作用域和生命周期的改变。最后总结了函数在C语言模块化编程中的关键作用,强调合理设计函数参数和返回值的重要性,为构建复杂程序提供了基础方法论。
2026-01-04 20:15:47
913
原创 D4—C语言数组深度解析:从内存布局到算法实践
如果说变量是存储数据的单个盒子,那么数组就是一组整齐排列的相同盒子。理解数组,就是理解计算机如何高效组织批量数据的开始。
2026-01-03 14:25:55
1096
原创 D3—掌控程序流程的艺术——分支与循环详解
本文系统介绍了C语言中的分支与循环结构。在分支结构部分,详细讲解了if语句、关系运算符、逻辑运算符、三目运算符和switch语句的使用方法及注意事项。循环结构部分则涵盖while、for、do-while三种循环方式,以及break和continue控制语句的应用场景。文章通过猜数字游戏实例,展示了如何综合运用随机数生成、循环控制和条件判断等知识点。最后强调,掌握这些控制结构是编程思维培养的关键,它们本质上是人类决策与重复思维的代码抽象。建议学习者通过实际项目来巩固这些基础概念,为后续学习数组、函数等更复杂
2026-01-02 17:24:17
1213
原创 D2—C语言数据类型和变量
本文系统介绍了C语言的基础数据类型与操作,主要包括:1. 数据类型分类(字符型、整型、浮点型、布尔型)及其取值范围;2. 变量定义与作用域(全局/局部变量);3. 常用操作符(算术、赋值、单目、强制类型转换)的使用方法;4. 输入输出函数(printf/scanf)的格式化控制技巧;5. 编程实例与常见问题。文章详细讲解了各数据类型的存储特性、操作符的优先级与陷阱、格式化输出的占位符规范等核心知识点,并提供了实际应用示例。掌握这些基础知识是编写高效、安全C程序的前提条件。
2026-01-01 17:48:11
1084
原创 D1—C语言的常见概念
本文系统介绍了C语言的核心概念,从历史背景到实际应用。主要内容包括:C语言与Unix系统的共生关系;编译过程的四个关键步骤;VS2022开发环境的选择建议;main函数的三大铁律;第一个C程序示例及printf解析;32个关键字的分类说明;ASCII编码原理与应用;字符串的\0终止符特性;14种转义字符详解;五种语句类型区分;注释的规范写法;三大程序结构与九种控制语句。文章强调理论与实践结合,推荐初学者通过牛客网和蓝桥云课进行编程练习,帮助建立系统的C语言知识体系。
2025-12-31 23:59:42
1057
原创 利用简单游戏巩固C语言知识之扫雷篇
当我们学习了C语言的数组和函数知识后,就可以写一个扫雷游戏来对这些知识进行一个巩固与拔高,发现自己的问题同时提高我们的编程素质。扫雷游戏主要考验了数组以及函数的知识,其中函数的嵌套调用是关键,需要注意各个参数的使用。在代码编写过程中,我也发现了自己的不足,并有所进步。同时扫雷游戏还可以进一步改进,增加更多功能,有兴趣的同学可以自行探索。
2025-10-12 21:45:04
623
9
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅