- 博客(18)
- 收藏
- 关注
原创 Linux 一文详谈Vim编辑器的使用
本文介绍了Linux文本编辑器Vim的基本使用方法。Vim具有三种主要模式:命令模式(光标移动和文本操作)、插入模式(文本输入)和底行模式(文件操作)。文章详细说明了各模式间的切换方法,并汇总了命令模式下光标移动、删除、复制粘贴、撤销等常用操作指令,以及底行模式下保存退出、分屏等操作。最后简要介绍了Vim配置文件的存放位置和简单配置方法,推荐使用现成的配置脚本来简化配置过程。该文章适合Linux初学者快速掌握Vim编辑器的基本操作。
2025-07-23 21:37:38
408
1
原创 C++ 一文详谈内存管理
本文介绍了C++内存管理机制,重点对比了C语言与C++的内存管理方式。主要内容包括:1)C/C++内存分布(栈、堆、数据段、代码段);2)C语言动态内存管理函数(malloc/calloc/realloc/free)的使用;3)C++新增的new/delete操作符,以及它们对自定义类型对象的构造和析构支持;4)operator new/delete的底层实现原理;5)定位new表达式的作用;6)malloc/free与new/delete的关键区别。文章强调new/delete在管理自定义类型时能自动调用
2025-07-23 21:17:29
594
2
原创 C语言 一维数组和二维数组
本文介绍了C语言中数组的基本概念和使用方法。主要内容包括:一维数组的定义、初始化和使用方法,通过下标访问数组元素;数组在内存中的连续存储特性;使用sizeof计算数组元素个数;二维数组的定义、初始化和访问方式;字符串作为字符数组的特殊性;以及数组与指针的联系,包括数组传参时的退化现象和指针访问数组的方式.
2025-07-22 16:01:41
1069
2
原创 C/C++ 详谈结构体大小计算(内存对齐)
C/C++结构体大小计算(内存对齐);修改默认对齐数;C++继承场景下的类的大小的计算;如何定义一个计算成员变量在类中偏移量的宏?
2025-07-21 17:45:55
664
3
原创 C++ 从左值引用到右值引用
C++ 11 是在 C++ 98 之后又一个变化比较大的标准。为C++增加了很多东西,其中有一部分是有用的,有一部分是我自认为作用不是很大东西。这一章呢?我们就来说说C++11我,我认为对性能优化最有用的一部分 ---- 右值引用。
2025-07-21 16:46:58
1076
原创 一文谈Linux操作系统基础命令操作
本文介绍了Linux系统下的基础命令行操作,包括文件和用户管理、软件安装等常见任务。主要内容包括:1)用户创建与删除命令;2)文件操作(创建、修改、删除、拷贝);3)打包压缩与解压操作;4)文件查看与查找方法;5)软件安装命令(Ubuntu和CentOS)。文章通过对比Windows操作,帮助用户快速掌握Linux常用命令,适合各层次用户参考使用。特别提醒部分操作需要root权限,并提供了不同Linux发行版的命令差异说明。
2025-07-20 16:51:34
1171
原创 C语言 函数详解
本文全面介绍了C语言函数的核心概念与应用。从函数的基本定义出发,阐述了数学函数与编程函数的共通性,重点讲解了C语言中函数的声明、定义和调用过程。文章深入探讨了函数参数传递的多种方式(值传递、地址传递等),函数指针的使用方法,以及递归函数的实现原理与注意事项。特别强调了优秀函数设计应遵循的原子性、可预测性、防御性等原则,并通过示例代码展示了如何编写高效、健壮的函数。最后提及了函数调用时的栈帧机制,帮助读者理解函数调用的底层实现。
2025-07-19 18:06:06
874
原创 C++ 类型转换相关
C++中的类型转换主要包括四种形式:static_cast用于基本类型转换和类层次间的安全转换;const_cast专门用于移除const属性;dynamic_cast提供运行时安全的类继承体系转换,失败会返回nullptr;reinterpret_cast则用于指针和整数间的强制转换。static_cast和dynamic_cast适用于类层次转换,后者更安全但性能较低。const_cast常与static_cast配合使用。reinterpret_cast风险最大,仅进行二进制位拷贝。不同类型的转换应根
2025-07-17 20:03:31
1012
原创 C语言 关于位运算的一些算法和算法题
本文总结了常见的位运算算法及其应用。主要内容包括:1)基本位运算符及其特性(如左移、右移、按位取反等);2)二进制位操作技巧,包括判断某位值、修改位值、提取和删除最右侧的1(lowbit操作);3)位图思想在哈希中的应用;4)异或运算的运算律(如a^0=a、a^a=0等)。文章还列举了这些算法在LeetCode题目中的应用,如位1计数、汉明距离、查找唯一数字等问题。最后强调位运算优先级问题,建议多用括号确保运算顺序。这些位运算技巧在解决算法问题时具有高效性和实用性。
2025-07-14 17:48:16
1082
原创 C语言 分支语句和循环语句
本文介绍了C语言中的分支语句和循环语句。分支语句包括if语句(单分支、双分支、多分支)和switch语句,并指出了常见的赋值陷阱和break的用法。循环语句讲解了while和for循环的基本结构、三个组成部分(初始条件、循环条件、更改条件)及区别。文章建议通过牛客网等平台练习这些基础语法,强调实际练习对提升编程能力的重要性。最后提供了九九乘法表等示例说明循环语句的应用。
2025-07-13 17:39:15
702
原创 C语言 一问详解static关键字
摘要:本文深入解析C语言中static关键字的三种用法:修饰局部变量、全局变量和函数。静态局部变量在程序加载时初始化,生命周期随进程;静态全局变量和函数具有内部链接属性,仅限当前文件使用。文章还对比了C++中static的不同实现,指出C++允许运行时初始化静态局部变量,并解释了编译器通过隐藏标志变量实现的延迟初始化机制。最后强调static的本质是改变链接属性,从外部链接转为内部链接
2025-07-12 20:08:16
793
原创 C语言 运算符
本文介绍了C语言中的主要运算符类型及其用法。包括算术运算符(+、-、*、/、%,注意整数除法特性)、赋值运算符(=及其复合形式)、关系运算符(==、>、<等,强调与赋值运算符的区别)、自增/自减运算符(++、--的前后置区别)、位运算符(&、|、^)和移位运算符(<<、>>)。特别指出关系运算符的返回值特性(0为假,非0为真)和常见错误(混淆=与==)。文章还简要提及二进制概念,为理解位运算做铺垫。最后强调运算符虽丰富但需谨慎使用。
2025-07-12 18:03:49
1130
原创 简单说说C语言标准库和嵌入式C语言标准库
MicroLIB 库中的实现方法,定义_weak弱函数。他的原理是:在编译链接的时候,使用用户重写的fputc函数的地址,代替弱函数int fputc(int /ch/, FILE /fp/)函数的地址,如果用户没用重写,就使用弱函数_weak int fputc(int /ch/, FILE /fp/)函数的地址(这时的编译器对每个函数生成符号表目的时候,还会标记强弱属性,链接器最终会选择强属性的函数或者变量的地址)。
2025-07-11 15:26:27
982
原创 C语言 详谈变量和常量
本文介绍了C语言中变量与常量的基本概念。变量是程序运行过程中可变化的量,如游戏中的血量值,通过类型和名称定义;常量是不可修改的值,可用#define或const定义。C语言提供基本数据类型(整型、浮点型)和自定义类型(结构体、枚举等),变量大小取决于类型和系统架构。全局变量与局部变量的生命周期不同,存储位置也有差异。文章还对比了宏定义与const常量的优缺点,并简要说明变量在内存中的分布情况(栈、堆、只读数据段等)。最后强调了注释的重要性,为后续编程学习奠定基础。
2025-07-11 15:21:31
1257
原创 C语言 从 0 到 1
本文介绍了C语言编程的基础知识。首先解释了计算机语言的概念,将编程语言类比为人类语言,强调C语言作为与计算机沟通的重要工具。文章推荐使用Visual Studio 2019/2022作为初学者开发工具,详细说明了创建第一个C程序"Hello World"的步骤。此外还介绍了调试技巧,包括断点设置、逐过程/逐语句调试方法。文中特别指出main函数是C程序的唯一入口,并解释了头文件和库函数的基本概念。最后通过计算机"BUG"的起源故事,强调了调试能力对程序员的重要性。
2025-07-11 08:30:19
725
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人