自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 吃透 C/C++ 内存管理:从内存分布到 new/delete,一文讲透

本文从C/C++程序内存分布、动态内存管理、核心区别等维度深入解析内存管理机制。首先通过经典变量定位题展示五大内存区域(栈、堆、数据段、代码段、内存映射段)的特性,强调不同区域的存储内容和生命周期差异。在C语言部分,详细讲解malloc/calloc/realloc/free的使用规范及注意事项;C++部分则重点剖析new/delete对内置类型和自定义类型的处理差异,特别是构造/析构函数的自动调用特性。通过内存布局对比,揭示编译器对无析构函数类的优化机制,强调内存申请释放的匹配原则。最后指出new/del

2026-06-05 13:20:49 2326 54

原创 C++ 类和对象(下):初始化列表、static、友元与匿名对象全解

C++ 类与对象进阶:六大核心特性详解 一、构造函数初始化列表 作用:直接初始化成员变量,提高效率 必须使用场景:引用成员、const成员、无默认构造的自定义类型 初始化顺序:按照类中声明顺序,与初始化列表书写顺序无关 注意:每个构造函数都有自己的初始化列表,未显式初始化的成员会使用缺省值或默认构造 二、类型转换 隐式转换:单参/多参构造函数支持内置类型→类类型转换 explicit关键字:禁止隐式转换,强制显式调用构造函数 应用场景:防止意外类型转换导致的错误 三、static成员 特点:类共享、存储在静

2026-05-31 13:43:23 834 48

原创 C++ 类和对象(中):默认成员函数全解

本文系统讲解了C++类的四大默认成员函数:构造函数、析构函数、拷贝构造函数和赋值运算符重载。构造函数负责对象初始化,析构函数清理资源,拷贝构造函数实现对象复制,赋值运算符重载处理对象间赋值。重点分析了默认构造函数的三种形式、析构函数的调用时机、拷贝构造的深浅拷贝问题,并通过Date类和Stack类的代码示例展示了具体实现。掌握这些核心概念是理解C++面向对象编程的基础,也是面试中的高频考点。

2026-05-27 11:26:51 1803 43

原创 C++ 类与对象(上):从基础到 this 指针,一文看懂封装核心

本文系统讲解了C++类与对象的核心概念,包括类的定义、访问权限、实例化及this指针。类通过class关键字定义,包含成员变量(属性)和成员函数(方法),其中访问限定符(public/private)实现封装。实例化对象时仅分配成员变量内存,成员函数存储在代码段共享。this指针是编译器隐式添加的参数,用于区分不同对象调用同一成员函数。文章通过栈类示例演示了面向对象封装思想,并解析了对象内存布局和this指针特性,帮助读者深入理解C++面向对象编程基础。

2026-05-23 22:44:11 757 37

原创 C++ 入门核心语法|从 Hello World 到基础特性一次性吃透

本文系统介绍了C++入门核心知识点,包括:1)Hello World程序的两种写法;2)命名空间namespace的定义规则和使用方式;3)C++输入输出的自动类型识别特性;4)缺省参数的定义和使用限制;5)函数重载的条件与注意事项;6)引用的定义、特性、用途及与指针的区别。重点讲解了引用传参、引用返回值、const引用权限等核心概念,并对比了引用与指针的异同。文章内容精炼实用,适合C++初学者快速掌握基础语法要点。

2026-05-10 15:13:58 826 22

原创 一篇吃透 C 语言递归:从入门到避坑,看完就会写

本文介绍了C语言中递归的核心概念与应用。递归通过函数自我调用实现"大事化小"的解题思路,需遵循终止条件和逐步收敛两大铁律。文章通过阶乘计算和数字打印两个经典案例演示递归实现,对比了递归与迭代的优缺点,指出递归适合逻辑清晰但计算量小的问题。同时提供了青蛙跳台阶和汉诺塔两个拓展练习,强调递归思维的关键在于相信函数功能而非纠结展开细节。最后总结递归本质是问题分解,正确使用时能大幅简化代码逻辑。

2026-04-28 15:26:25 989 18

原创 深入理解 C 语言内存操作函数:memcpy、memmove、memset、memcmp

本文系统讲解了C语言四大内存操作函数:memcpy(基础内存拷贝)、memmove(支持重叠的安全拷贝)、memset(内存批量初始化)和memcmp(内存字节级比较)。文章详细分析了每个函数的原型、核心特性、使用示例和模拟实现,重点区分了memcpy和memmove在处理内存重叠时的差异,并强调了memset对int类型使用时需注意字节覆盖问题。通过对比表格总结了四大函数的功能差异和使用场景,为C语言开发者提供了内存操作的完整指南,帮助提升编程效率和代码安全性。

2026-04-14 13:21:24 802 17

原创 字符函数和字符串函数

本文系统梳理了C语言中常用的字符和字符串处理函数,包括字符分类/转换函数(如islower、toupper)、字符串操作函数(如strlen、strcpy、strcat、strcmp)及其安全版本(strncpy等)。通过函数原型解析、使用注意事项和模拟实现代码,帮助读者深入理解这些核心工具。重点内容包括:字符类型判断与转换技巧、字符串长度计算与比较的陷阱、字符串拷贝与追加的实现原理,以及带长度限制的安全函数用法。掌握这些基础函数对C语言文本处理至关重要。

2026-03-03 21:25:04 436 7

原创 深入理解指针(6):sizeof与strlen对比以及指针笔试题

本文对比了sizeof和strlen的区别:sizeof是计算变量内存大小的操作符,不关心具体数据;strlen是统计字符串长度的库函数,依赖'\0'作为结束标志。通过7道指针运算题目解析,深入探讨了数组指针、地址运算、类型转换等核心概念,包括二维数组地址运算、指针类型对运算的影响、逗号表达式在数组初始化中的使用等。重点分析了指针运算中的地址跳转规律、指针差值计算、多级指针解引用等难点,帮助读者理解指针在内存中的操作原理和应用场景。

2025-12-29 10:43:53 1041 3

原创 深入理解指针(5):回调函数,qsort函数

本文介绍了回调函数的概念及其应用。回调函数是通过函数指针调用的函数,由其他函数在特定事件发生时触发。文章重点讲解了qsort函数的用法,该函数通过接收自定义比较函数实现数组排序。随后展示了如何用冒泡排序模拟实现qsort函数,关键点包括:使用char*指针处理不同类型数据、逐字节交换元素。最后提供了完整的代码示例,演示了回调函数在排序算法中的实际应用。

2025-12-20 22:38:46 599 4

原创 深入理解指针(4):字符指针,数组指针,二维数组传参,函数指针,转移表,typedef

本文介绍了C语言中几种重要指针类型的用法和特性:1. 字符指针变量(char*)可以存储字符串首地址,但需注意常量字符串存储在只读数据区;2. 数组指针变量(int(*p)[n])是指向数组的指针,使用时需注意运算符优先级;3. 二维数组传参本质是传递一维数组的地址;4. 函数指针变量(void(*pf)())可以指向函数地址,调用方式多样;5. 函数指针数组(int(*parr[])())可存储多个函数指针;6. 转移表利用函数指针数组替代多分支判断,使代码更简洁高效。这些指针类型在内存管理和程序设计中具

2025-12-13 21:19:07 1467 6

原创 深入理解指针(3):数组传参本质,二级指针,指针数组,冒泡排序

本文主要讲解了C语言中数组和指针的相关概念及应用。首先分析了数组名的本质是首元素地址,并讨论了两种特殊情况(&数组名和sizeof(数组名))。其次阐述了一维数组传参时实际传递的是首元素地址。接着介绍了二级指针的概念和使用方法,以及指针数组的特点和模拟二维数组的实现。最后详细说明了冒泡排序算法的原理和代码实现,包括优化方法。这些内容有助于深入理解C语言中数组和指针的关系及实际应用。

2025-12-10 15:02:24 887 12

原创 深入理解指针(2):指针类型,野指针,const,空指针,assert断言,传值与传址

本文主要介绍了C语言中指针的相关概念和使用方法。首先讲解了void*指针的特点(泛型指针,可接受任意类型但无法运算),然后详细说明const修饰变量和指针的不同效果。接着阐述了指针运算规则(加减整数、指针相减等),并重点分析了野指针的成因及防范措施。此外还介绍了assert断言的使用场景,以及函数传值调用和传址调用的区别。最后通过实例展示了指针在实际编程中的应用技巧,帮助读者深入理解指针这一重要概念。

2025-12-05 15:57:06 1078 5

原创 深入理解指针(1):程序员口指针,地址到底是何物?

本文系统讲解了C/C++中指针的核心概念。首先通过酒店房间的类比解释指针即内存地址,并介绍计算机通过地址总线编址的原理。重点剖析了指针变量的使用:&操作符获取变量首地址,操作符解引用访问内存空间。文章指出指针变量大小取决于地址总线位数(32位4字节/64位8字节),并强调指针类型的两个关键作用:1)决定指针加减整数时的步长(按指向类型大小跳跃);2)控制解引用时访问的内存范围(如char访问1字节,int*访问4字节)。通过代码示例直观展示了不同类型指针的操作差异,帮助初学者深入理解指针的本质与用法

2025-11-25 17:32:23 840 15

原创 用基础c语言实现初级扫雷

c语言小白也能实现扫雷小游戏

2025-11-06 18:59:39 875 15

原创 c语言分支与循环:代码的“决策大脑”与“高效马达”

让代码也能拥有决策大脑与高效马达

2025-10-21 18:01:48 1159 8

原创 初始编程大陆,在新手村立下的flag

初始编程大陆,从新手村小白立下的flag

2025-10-12 21:23:19 574 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除