C语言从零开始到精通
文章平均质量分 90
从零开始的C语言,适合新手和好久没看C语言的人复习
say_fall
与君共赴,万里征途
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言入门知识点(1)(超详细)
这篇C语言学习笔记涵盖了基础语法要点,包括main函数结构、库函数使用注意事项、关键字识别、语句分类(控制/表达式/空语句)、注释的重要性(调试与复习)、数据类型分类(整型/浮点型/字符型)以及有符号(signed)与无符号(unsigned)类型的区别。作者特别提醒需注意代码大小写问题(OneNote自动转换导致),并强调该笔记将持续更新,旨在帮助初学者建立基础认知,同时欢迎读者指正错误。原创 2025-07-18 12:44:30 · 270 阅读 · 0 评论 -
C语言入门知识点(2)(超详细)
这篇笔记摘要了编程基础中的变量定义、算术运算符、赋值操作符和类型转换等内容。重点包括:变量的创建与初始化方法(局部变量优先于全局变量);算术运算符(+、-、*、/、%)的使用规则,特别是整数除法与取模运算的特点;赋值操作符的连续赋值和复合赋值用法;单目操作符(++、--)的前置与后置区别;以及强制类型转换的语法和应用场景。笔记还特别提醒了代码编写时需注意的大小写问题,并声明将持续更新完善。原创 2025-07-19 11:55:56 · 472 阅读 · 0 评论 -
C语言入门知识点(3)(超详细)
本文介绍了C语言中格式化输入输出函数printf()和scanf()的基本用法。printf()用于格式化输出,支持占位符、宽度限定、小数位数控制等格式设置;scanf()用于格式化输入,可读取不同类型数据并存入变量。两者都需包含<stdio.h>头文件,且占位符类型需匹配。特别说明了scanf()的返回值、%c和%s占位符的特殊处理方式,以及赋值忽略符%*的用法。文章通过代码示例展示了如何控制输出格式、限制输入长度等常见操作技巧。原创 2025-07-22 20:02:54 · 851 阅读 · 0 评论 -
C语言入门知识点(4.分支结构)(超详细)
本文主要介绍了C语言中的分支结构,包括if语句、else语句、嵌套if、悬空else问题,以及关系操作符、条件操作符和逻辑操作符的使用方法。同时详细讲解了switch语句的语法结构、break和default的作用,以及case和default的顺序问题。文章通过多个代码示例演示了不同分支结构的应用场景和注意事项,为初学者提供了实用的编程参考。作者特别提醒笔记中可能存在大小写问题,并欢迎读者指正错误。原创 2025-07-28 10:29:38 · 764 阅读 · 0 评论 -
C语言入门知识点(5.循环)(超详细)
本文介绍了C语言中的三种循环结构(while、for、do-while)及其应用。主要内容包括:1)while循环与if语句的对比及执行流程;2)for循环的语法结构及执行过程;3)do-while循环的特点(先执行后判断)。文章通过具体示例演示了每种循环的使用方法,并比较了while和for循环的差异。此外,还讲解了break和continue在循环中的作用,以及循环嵌套的实践应用(如素数判断)。最后简要介绍了goto语句的用法及其在多层循环跳出时的优势。特别说明:笔记中的大写代码首字母是OneNote软原创 2025-08-07 18:58:46 · 541 阅读 · 0 评论 -
C语言入门知识点(6.数组)(超详细)
C语言数组学习笔记 本文系统介绍了C语言中数组的概念和使用方法。主要内容包括: 数组基础:数组是相同类型元素的集合,分为一维和多维数组 数组创建与初始化:详细讲解了一维和二维数组的创建语法及初始化方式 数组操作:介绍数组元素访问、输入输出方法,以及sizeof计算数组大小 内存存储:通过地址分析,证明数组在内存中是连续存储的 特殊特性:C99标准引入的变长数组特性 笔记通过大量代码示例和内存图示,直观展示了数组的各种特性和使用方法,适合C语言初学者系统学习数组相关知识。原创 2025-08-14 17:44:50 · 979 阅读 · 0 评论 -
C语言入门知识点(7.函数)(超详细)
本文介绍了C语言中函数的核心概念,包括库函数与自定义函数的区别、函数的形参与实参关系、数组作为函数参数的特点、嵌套调用和链式访问等。笔记通过多个代码示例和调试过程展示了函数调用的具体细节,适合C语言初学者理解函数的基本原理和使用方法。原创 2025-08-20 18:47:04 · 1154 阅读 · 0 评论 -
C语言入门知识点(7.1函数补充)(超详细)
本文介绍了C语言中static和extern关键字的用法。static可以修饰局部变量、全局变量和函数,其作用分别是:改变局部变量的生命周期(从栈区转为静态区存储)、限制全局变量和函数的作用域(使它们只能在本文件内使用)。extern用于声明外部符号,使其他文件可以访问当前文件定义的全局变量或函数。通过对比有无static修饰的代码示例,展示了这些关键字的实际效果,并解释了内存存储区域(栈区、静态区等)对变量生命周期的影响。原创 2025-08-21 09:54:11 · 852 阅读 · 0 评论 -
C语言入门知识点(8.递归)(超详细)
本文介绍了C语言中函数递归的概念与应用。递归是函数通过调用自身不断缩小问题规模直到满足终止条件的编程技巧。文章通过阶乘计算和逐位打印数字两个例子,展示了递归的具体实现方式及其核心思想。同时指出递归可能导致的栈溢出问题,并以斐波那契数列为例对比了递归与迭代方法的优缺点,建议在计算复杂度较高时采用迭代方法。全文内容简明扼要,适合初学者理解递归的基本原理和使用场景。原创 2025-08-30 11:58:43 · 323 阅读 · 0 评论 -
C语言入门知识点(9.指针a篇)(超详细)
本文主要介绍了C语言中指针的基本概念和使用方法。文章首先解释了指针的本质是"储存数据的地址名称",并通过类比快递货架和编号说明内存单元及其地址的概念。然后详细讲解了取地址操作符(&)和指针变量的定义,以及如何使用解引用操作符(*)访问指针指向的数据。文章还通过实验展示了不同平台下指针变量的大小差异,并分析了指针类型对内存操作的影响。最后通过两段代码对比,说明了指针类型在解引用时对内存操作范围的决定作用。全文用通俗易懂的语言和丰富的图示,帮助读者理解指针这一重要概念。原创 2025-09-13 12:18:43 · 1020 阅读 · 1 评论 -
C语言入门知识点(10.指针b篇)(超详细)
本文继续探讨C语言指针的核心知识点,主要包括三个方面:1.指针变量类型的意义,通过示例展示不同指针类型解引用时修改的字节数差异,以及指针±整数运算时的步进单位由变量类型决定;2.void泛型指针的特性,可接收任意类型指针但无法进行指针运算;3.const修饰指针的四种情况,详细分析const位于左侧、右侧及两侧时的不同限制效果,帮助理解如何通过const保护指针本身或指针指向的数据。文章通过丰富代码示例和内存图示,生动呈现指针操作的关键细节。原创 2025-09-15 18:35:10 · 1216 阅读 · 0 评论 -
C语言入门知识点(11.指针c篇)(超详细)
本文是关于C语言指针知识的补充,主要讲解了指针运算(包括指针±整数、指针-指针和指针关系运算)、野指针(包含悬垂指针)及其规避方法、assert断言的使用以及指针传参。文章通过代码示例详细说明了如何通过指针访问数组元素、计算字符串长度、避免野指针的产生,并介绍了assert断言在指针有效性检查中的应用。文章内容实用,适合C语言初学者学习指针相关知识。原创 2025-09-17 23:36:23 · 1046 阅读 · 0 评论 -
C语言入门知识点(12.回调函数与qsort函数的模拟与实现)
本文介绍了C语言中的回调函数和qsort函数的应用。首先通过简化计算器代码的案例,展示了回调函数如何通过函数指针实现不同功能的选择调用。接着详细解析了qsort函数的标准规范和使用方法,包括其参数含义和比较函数的设计要点。文章还通过模拟qsort功能的冒泡排序实现,帮助读者深入理解指针在函数回调中的应用。该内容适合希望提升C语言指针和函数式编程理解的初学者,提供了从基础概念到实际应用的完整学习路径。原创 2025-09-27 21:08:41 · 1314 阅读 · 13 评论 -
C语言入门知识点(13.指针篇结局与易混淆类型)
本文系统梳理了C语言中各类指针的复杂用法,包括基本指针类型、数组与指针组合、函数指针、多级指针等。通过示例代码展示了const指针、二维数组指针、指针数组、函数指针数组等特殊结构的声明方式,并总结出三条关键区分原则:运算符优先级顺序、变量名拆解法和结合场景记忆法。文章旨在帮助读者清晰辨别各类指针相关类型,避免实际编程中的混淆,适合有一定指针基础的C语言学习者巩固知识体系。原创 2025-09-28 23:35:26 · 690 阅读 · 3 评论 -
C语言底层学习(1.二进制与原、反、补码)(超详细)
本文介绍了计算机中的二进制与进制转换、原码/反码/补码的概念。主要内容包括:1)二进制与十进制的互换方法,整数部分除2取余逆序排列,小数部分乘2取整顺序排列;2)二进制与八/十六进制的转换规则;3)原码、反码、补码的定义及转换方法;4)计算机采用补码的原因,主要是为了解决负数运算的问题,通过补码可以将减法转化为加法运算。文章通过具体例子详细说明了这些底层计算原理。原创 2025-09-05 23:07:53 · 1010 阅读 · 0 评论 -
C语言底层学习(2.指针与数组的关系与应用)(超详细)
本文探讨了C语言中指针与数组的关系及应用。主要内容包括: 数组名的本质是首元素地址,但在sizeof和&操作时例外; 指针可完全替代数组下标访问元素,arr[i]等价于*(arr+i); 数组传参实际传递的是首元素地址; 通过冒泡排序示例展示了指针在数组操作中的应用,并优化了排序效率; 简要提及二级指针概念。文章通过代码示例深入浅出地解析了指针与数组的密切关系及其实际应用技巧。原创 2025-09-21 23:23:14 · 1710 阅读 · 0 评论 -
C语言底层学习(3.指针、函数与数组)(超详细)
本文深入探讨了C语言指针的高级应用,重点分析了三种特殊指针类型:字符指针、数组指针和函数指针。通过代码示例详细演示了字符指针的两种定义方式(指向字符变量和字符串常量),解析了数组指针与指针数组的语法区别,并创新性地推导出二维数组的指针表示法。在函数指针部分,不仅讲解了基本用法,还通过《C陷阱与缺陷》中的复杂代码展示了typedef简化函数指针声明的方法。全文贯穿"指针即地址"的核心思想,帮助读者理解指针与数组、函数的内在联系,适合有一定C语言基础的开发者进阶学习。原创 2025-09-25 19:12:32 · 1468 阅读 · 13 评论 -
C语言底层学习(4.数据在内存中的存储)
本文介绍了整数和浮点数在内存中的存储方式。整数以补码形式存储,并解释了大端小端字节序的概念及判断方法,通过多个代码示例演示了不同数据类型的存储特性。浮点数则遵循IEEE 754标准,详细说明了32位和64位浮点数的内存分配方式。文章包含丰富的代码练习和解析,帮助读者深入理解数据在内存中的存储机制。原创 2025-10-04 17:32:31 · 1300 阅读 · 12 评论 -
精通C语言(1.内存函数)
本文介绍了C语言中四个常用的内存操作函数:memcpy、memmove、memset和memcmp的使用方法与实现原理。memcpy用于内存拷贝,但存在重叠区域问题;memmove是memcpy的升级版,能处理重叠拷贝;memset用于内存填充;memcmp用于内存比较。文章通过代码示例详细演示了各函数的用法,并提供了memcpy和memmove的模拟实现,帮助读者深入理解这些底层函数的运作机制。这些函数在C语言编程中具有重要作用,掌握它们能提升内存操作效率。原创 2025-10-01 22:30:57 · 1547 阅读 · 11 评论 -
精通C语言(2.结构体)(内含彩虹)
本文详细介绍了C语言结构体的基本概念和使用方法,包括结构体的声明、变量创建与初始化、自引用、成员访问及内存对齐规则。原创 2025-10-08 19:47:30 · 1471 阅读 · 11 评论 -
精通C语言(3. 自定义类型:联合体和枚举)
本文介绍了C语言中的两种自定义类型:联合体和枚举。联合体(共用体)的特点是所有成员共用同一块内存空间,大小至少为最大成员的大小,并遵循内存对齐规则,常用于节省空间。枚举用于定义一组常量,增强代码可读性和维护性,相比#define更严谨且支持调试。文章通过代码示例展示了联合体的内存分配、大小计算和实际应用(如礼品兑换单),以及枚举的声明、优点和使用场景(如判断机器字节序)。这两种类型在C语言编程中具有重要价值。原创 2025-10-09 22:17:38 · 1539 阅读 · 10 评论 -
精通C语言(4.四种动态内存有关函数)
本文介绍了C语言中动态内存管理的四个核心函数:malloc、free、calloc和realloc。动态内存管理解决了固定内存分配不灵活的问题,允许程序运行时根据需要调整内存大小。malloc用于开辟内存空间,free用于释放空间;calloc在开辟空间的同时会初始化为0,而realloc可调整已有空间的大小。文章通过代码示例演示了各函数的用法,并强调了使用free后置空指针的重要性,避免野指针问题。动态内存管理提升了程序的灵活性和内存使用效率,是C语言编程的关键技术之一。原创 2025-10-10 22:04:56 · 1529 阅读 · 23 评论 -
精通C语言(5.柔性数组和动态内存易错点)【什么?数组长度还能来回变化?!】
本文介绍了C语言动态内存管理中常见的错误及解决方法,包括对NULL指针解引用、越界访问、错误释放等典型问题,并提供了修正代码。同时通过4个经典案例引导读者思考内存管理隐患,最后讲解柔性数组的特性及使用方法,强调其与变长数组的区别,并给出动态分配和释放内存的示例代码。全文旨在帮助开发者规避内存管理错误,提升编程质量。原创 2025-10-12 17:45:35 · 1375 阅读 · 31 评论
分享