- 博客(9)
- 收藏
- 关注
原创 C 语言数据结构前置:算法复杂度与轮转数组实战
本文介绍算法复杂度中的时间与空间复杂度,强调时间复杂度以大O表示法衡量,关注最高阶项与递归次数;空间复杂度则关注额外开辟内存。通过“轮转数组”实例,展示如何用临时数组实现O(n)时间、O(n)空间的解法,体现“空间换时间”思想,并提醒注意数组边界与变量使用细节。
2026-11-10 17:30:00
182
原创 C 语言基础:冒泡排序与二级指针详解
本文介绍冒泡排序的基本思想与实现,通过相邻元素比较实现升序排列,并引入flag优化以提前结束已有序数组的排序。随后讲解二级指针的概念及其解引用规则,说明其在指针数组模拟二维数组中的应用。文章帮助读者理解排序算法与多级指针机制,为深入学习C语言打下基础。
2026-11-04 19:43:33
81
原创 C 语言动态内存管理:malloc、free、calloc、realloc 四件套详解
如我们所知的,像这种这些都是静态的,在栈空间上开辟大小,空间开辟大小固定。而动态内存管理,程序员可以自行申请和释放空间。接下来,给大家介绍的便是动态开辟“四件套”——(作用在堆区)。
2026-10-18 20:40:33
30
原创 C语言数组与指针:从首元素地址到传参降级
本文深入解析C语言中数组名与指针的关系:数组名即首元素地址,但sizeof(数组名)和&数组名例外——前者返回全数组大小,后者指向整个数组。数组下标访问arr[i]等价于*(arr+i)。函数传参时数组退化为指针,sizeof失效,需额外传递长度。传址调用通过指针实现对实参的修改,是交换函数等操作的关键。
2026-09-23 22:00:00
374
原创 C 语言指针进阶:const 修饰指针与野指针详解
本文系统梳理了const修饰指针的两种情况:const int* p(限制指向内容不可变)与int* const p(限制指针本身不可变)。同时剖析了野指针的成因——未初始化、越界访问及释放后使用,并提出通过置空指针(NULL)和判空检查来避免。最后介绍了assert断言机制,可在程序运行时精准定位错误,提升调试效率。
2026-09-21 21:15:00
148
原创 C语言指针入门:从地址到指针运算的完整指南
本文系统讲解指针核心概念:指针即内存地址,通过取地址符&获取,指针变量存储地址并可解引用()访问数据。指针大小仅取决于平台(32位4字节,64位8字节),与类型无关。指针类型决定解引用和步长(如int每次移动4字节)。指针支持运算:指针±整数改变位置,指针相减得元素个数。指针与数组紧密关联,p=&arr[0]等价于数组首地址,*(p+i)即arr[i]。指针、地址、内存编号本质相同,可比较大小,实现数组遍历。
2026-09-17 21:13:17
191
原创 【C++输入流】深入理解 get 与 getline:终止字符与指针移动的那些坑
读取 cin.get()一个参数的,还有cin.getiline()读取一行的,指针会后移cin.get()三参数的,指针不后移
2026-06-22 10:09:42
199
原创 【C++深度解剖】空指针调用成员函数,为什么有时不崩?从零开始图解汇编
成员函数类型是否访问成员变量空指针调用结果根本原因非静态,非虚否✅ 正常运行只传递this值,不解引用非静态,非虚是❌ 崩溃通过this解引用访问成员虚函数(任意)❌ 崩溃需要先读取虚表指针(解引用)静态成员函数(无this✅ 正常运行没有this,不依赖对象。
2026-06-09 17:58:54
359
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅