- 博客(12)
- 收藏
- 关注
原创 C语言学习笔记(12): C语言错误处理与调试
C语言错误处理与调试技术 本文系统介绍了C语言开发中的错误处理与调试技术。主要内容包括: 系统错误处理: 使用errno全局变量获取错误码 perror函数自动打印错误描述 strerror将错误码转换为可读字符串 调试工具: assert断言验证程序假设条件 printf日志调试输出程序状态 GDB调试器控制执行流程 最佳实践: 线程安全处理 错误检查时机 调试信息管理 这些技术共同构成了C语言程序健壮性和可维护性的基础,帮助开发者快速定位和解决问题。
2026-05-11 13:34:42
353
原创 C语言学习笔记(11): C语言多文件编程与预处理
C语言多文件编程与预处理技术摘要 本文系统介绍了C语言多文件编程与预处理的核心技术。预处理指令包括#include实现文件包含、#define定义宏常量与函数、条件编译指令#ifdef/#ifndef/#endif等,它们共同构成了模块化编程的基础。重点阐述了头文件保护机制、宏定义的最佳实践、条件编译的应用场景,以及预定义宏的使用方法。通过多文件组织技术,将函数声明与实现分离,配合预处理指令,可以构建可维护、可移植的C程序结构。文中包含大量实用代码示例,如调试日志宏、平台适配代码等,展示了预处理在实际开发中
2026-04-24 07:59:30
344
原创 C语言学习笔记(10): C语言文件操作
C语言文件操作是实现数据持久化存储的核心机制,主要包括文本文件和二进制文件的处理。通过标准I/O库提供的文件指针(FILE*)和操作函数,可以实现文件的打开、读写、关闭等操作。文本文件适合存储可读字符数据,而二进制文件保留原始字节数据。关键操作包括fopen/fclose进行文件开关,fgetc/fputc实现字符级读写,fgets/fputs完成字符串处理。文件操作时需注意模式选择、错误检查和资源释放,确保数据安全性和程序稳定性。掌握文件操作是从内存处理迈向系统编程的重要步骤。
2026-04-23 07:59:15
349
原创 C语言学习笔记(9): C语言动态内存管理
本文介绍了C语言中的动态内存管理机制,重点讲解了堆区内存分配函数及其使用注意事项。文章首先对比了C程序的五大内存分区(栈区、堆区、全局/静态区、常量区和代码区),强调堆区在动态内存管理中的核心作用。随后详细解析了四个关键内存管理函数:malloc用于分配未初始化内存,calloc分配并初始化内存为0,realloc调整内存大小,以及free释放内存。每个函数都附有示例代码和最佳实践建议,包括指针检查、内存泄漏防范和悬空指针处理等关键注意事项,为安全高效的动态内存管理提供了实用指导。
2026-04-22 08:00:31
697
原创 C语言学习笔记(8): C语言结构体、联合体与位域
C语言结构体、联合体与位域摘要 C语言通过结构体、联合体和位域三种机制处理复杂数据类型。结构体(struct)通过独立内存分配实现数据聚合,各成员依次排列;联合体(union)则共享内存空间,适合存储互斥数据;位域(bit-field)支持位级控制以优化空间。结构体支持嵌套定义和typedef简化,通过.和->操作符访问成员。内存对齐规则影响数据布局,可用#pragma pack调整。联合体所有成员共享内存,大小由最大成员决定,常用于类型转换和节省空间。这些机制在嵌入式系统、协议解析等场景中广泛应用,
2026-04-21 07:56:52
362
原创 C语言学习笔记(6):C 语言函数
函数定义返回值类型 函数名(参数列表) {// 函数体:实现具体功能的代码语句1;语句2;...// 返回值(有返回值函数必须写return)return 返回值;函数声明返回值类型 函数名(参数类型1, 参数类型2, ...);函数声明通常放在程序开头(在main()函数之前),以便在函数定义之前使用该函数。函数调用函数名(实参列表);调用时,实参会被传递给函数的形参,函数执行完毕后控制权返回到调用点。C语言提供了丰富的标准库函数,如输入输出函数printf()scanf(),数学函数。
2026-04-20 16:27:26
420
原创 C语言学习笔记(7): C语言指针
指针是C语言的核心特性,本质上是存储内存地址的变量,用于直接操作内存。指针变量通过取地址符(&)和解引用符(*)访问数据,其大小由系统位数决定。指针运算包括加减整数、比较和相减,步长由基类型决定。指针与数组关系密切,数组名可视为指向首元素的指针。指针还用于字符串处理,需注意空字符结尾。易混淆概念包括指针数组和数组指针。空指针(NULL)表示无效地址,野指针则指向无效内存,需谨慎处理。二级指针用于修改一级指针或操作复杂数据结构,const修饰指针可实现只读访问。指针的灵活使用是C语言强大功能的关键。
2026-04-20 08:12:47
339
原创 C语言学习笔记(5): C语言数组与字符串
一维数组是同类型元素按顺序排列的集合,在内存中以连续的方式存储。类型 数组名[元素个数];// 定义一个包含5个整数的数组类型 数组名 = (类型)malloc(元素个数 * 每个元素大小);//和静态数组一样不初始化// 分配100个int大小的内存,并强制转换为int*类型类型 数组名 = (类型)calloc(元素个数, 每个元素大小);// 所有元素初始化为0// 分配100个int大小的内存,并全部初始化为0动态数组可以通过realloc改变数组大小。
2026-04-18 21:56:51
338
原创 C语言学习笔记(4):C 语言流程控制
文章的核心内容是对C语言流程控制结构(分支与循环)的系统性阐述,其核心干货可以概括为一套结构化的语法工具箱、一系列性能优化策略和一组保障代码质量的编程最佳实践。
2026-04-17 08:54:41
373
原创 C语言学习笔记(3): C语言运算符
C语言运算符是程序执行计算、逻辑判断和内存操作的核心元素,主要包括赋值、算术、关系、逻辑、位运算和特殊运算符等六大类。其中,赋值运算符(=,+=等)需注意左值要求;算术运算符(+,-,*等)需区分整数除法与浮点运算;关系运算符(>,<等)返回布尔值;逻辑运算符(&&,||)具有短路特性;位运算符(&,|等)用于二进制操作。运算符的优先级和结合性决定了表达式求值顺序,正确使用可避免程序错误。特别要注意自增/自减运算符的前后置区别,以及避免在表达式中过度使用赋值运算符。
2026-04-16 09:24:00
433
原创 C语言学习笔记(2): C语言数据类型
C语言数据类型主要分为四大类:基本类型(int、char、float等)、构造类型(struct、array等)、指针类型和空类型(void)。基本类型包括字符型(char)、整型(int/short/long等)、浮点型(float/double)和布尔型(_Bool),每种类型在内存占用、取值范围和精度上各有特点。字符型可存储ASCII码值,整型分有符号和无符号,浮点型存在精度限制,布尔型则用于逻辑判断。数据类型的选择需考虑存储需求和计算精度,合理使用可提高程序效率和可靠性。
2026-04-15 14:45:19
498
原创 C语言学习笔记(1):C 语言程序基础
本文介绍了C语言程序的基础知识,包括程序结构、预处理指令、注释标识符、常量与变量等核心概念。C程序由预处理指令、函数定义和main函数组成,其中main函数是程序执行的唯一入口点。预处理指令包括#include、#define和条件编译等,在编译前进行文本处理。文章详细讲解了注释的两种形式、标识符命名规则和关键字分类,并对比了字面常量、const常量、宏常量和枚举常量的特性与使用场景。通过示例代码展示了C程序的基本组成结构和各种常量的定义方式,为C语言初学者提供了全面的基础语法参考。
2026-04-15 13:49:03
606
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅