- 博客(9)
- 收藏
- 关注
原创 【C语言】:动态内存管理
上述开辟内存方式有两个特点①开辟空间的大小是确定的。②数组在声明的时候,必须指定数组长度,数组空间一旦确定了大小就不能调整了。但是对于空间的需求,有时候不仅仅是上述情况。所以C语言引入动态内存管理允许程序在运行时根据需要分配和释放内存,避免了静态内存分配(如全局变量或栈变量)的局限性。
2025-06-03 21:56:18
513
原创 【C语言】:自定义类型:联合体和枚举
联合体是一种特殊数据类型,所有成员共享同一内存空间,其大小由最大成员决定。示例显示联合体成员地址相同,修改一个成员会影响其他成员值。联合体需满足最大对齐数要求。枚举类型允许用名称代替整数值,默认从0开始递增,也可自定义初始值。枚举常量与数值可互换使用,提高了代码可读性。
2025-06-03 00:17:48
610
原创 【C语言】自定义类型:结构体
本文摘要:文章系统介绍了C语言结构体的核心知识,涵盖结构体声明、内存对齐和位段实现三大主题。首先讲解了结构体的声明方式、变量初始化、特殊声明和自引用;随后深入分析结构体内存对齐规则及其计算方法,包括对齐数修改和传参优化;最后重点探讨位段的定义、内存分配机制、使用注意事项及其在网络协议等场景的实际应用。文章通过代码示例演示了位段操作的特殊性,并强调其在资源受限环境中的优势,为C语言底层编程和嵌入式开发提供了重要参考。
2025-06-02 00:16:47
1165
原创 【C语言】:数据在内存中的存储
计算机的底层世界是由二进制位构成的,每一个数据最终都要转化为这些 0 和 1 的组合才能被存储和处理。内存作为计算机中用于临时存储数据的部件,其本质是一系列有序的存储单元,每个单元都有唯一的地址,就像城市中每栋建筑都有自己的门牌号一样。C 语言作为一种接近底层的编程语言,赋予了程序员对内存较强的操控能力。不同类型的数据,如整数、浮点数、字符以及复杂的结构体等,在内存中的存储形式和占用空间各不相同。这种差异不仅影响着程序的运行效率,还与数据的精度、范围以及程序的稳定性密切相关。
2025-05-29 00:01:43
1369
原创 【C语言】:内存函数
本文介绍了四个内存操作函数:1. memcpy用于非重叠内存块的复制;2. memmove支持处理重叠内存块的移动;3. memset用于填充指定内存块;4. memcmp比较两个内存块内容。每个函数均包含功能说明、参数、头文件、返回值等基本信息,并提供了使用示例和模拟实现代码。这些函数都定义在<string.h>头文件中,适用于需要对内存进行复制、移动、填充和比较的操作场景。
2025-05-26 22:15:55
439
原创 【C语言】:字符串函数的模拟实现
统计'\0'之前字符串的长度。指针str指向字符串首元素地址,当str不是‘\0’(while(*str)),则计数器+1(count++),指针向后移动1个字符串(str++)。
2025-05-25 00:15:37
932
原创 【C语言】:字符串函数(使用和演示)
都是在函数strcpy,strcat,strcmp的基础上多了一个参数size_tnum作用是指定函数作用在目标空间的字符个数,效果是相对来说更加安全,更灵活。
2025-05-22 12:06:14
1168
原创 【C语言】:深入理解指针
本文详细介绍了C语言中指针的基本概念、操作符、类型、大小、基本运算、const修饰、assert断言、野指针、指针与数组、指针与函数等内容。指针是C语言中用于存储内存地址的变量,通过取地址操作符(&)和解引用操作符(*)可以访问和修改内存中的数据。指针的大小与平台相关,32位平台下为4字节,64位平台下为8字节。指针类型决定了指针解引用时能访问的字节数。指针的基本运算包括指针加减整数、指针相减等。const修饰指针时,位置不同含义不同,可以限制指针的修改或指向的修改。assert断言用于调试阶段检查条件是否
2025-05-20 13:01:58
807
原创 【C语言】:实现简单的扫雷游戏
Initboard):(通过set初始化两个棋盘,mine数组最开始全是‘0’,然后布置雷;引入两个数组(char)用于存放布置好雷的信息,排查出雷的信息。若不是,调用 GetMineCount 显示周围雷数,循环直至所有非雷格子被打开。排查雷(FindMine):(win为未放置雷的个数,雷标记为1,未放置雷为0,查找雷(GetMinecount): 该位置不是雷,就通知这个坐标周围有几个雷。,输入0则退出游戏并结束运行,输入其他则提示输入错误.头文件,函数源文件,主代码源文件。
2025-04-23 22:33:03
368
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人