自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言静态通讯录完整实现:结构体数组、枚举菜单、函数封装与 qsort 排序详解

本文详细讲解如何使用 C 语言实现一个静态通讯录系统,包含添加联系人、删除联系人、查找联系人、修改联系人、显示联系人和按姓名排序等功能。项目使用结构体数组保存联系人信息,使用枚举实现菜单选项,使用函数封装各个模块,并通过 qsort 实现联系人按姓名升序排序。文章适合 C 语言初学者学习结构体、数组、指针传参、字符串比较和模块化编程。

2026-06-25 20:11:00 213

原创 C语言练习题:杨氏矩阵查找、字符串左旋与旋转字符串判断

本文主要整理三个 C 语言练习题:杨氏矩阵查找、字符串左旋、判断一个字符串是否为另一个字符串旋转后的结果。杨氏矩阵查找利用矩阵“每行递增、每列递增”的特点,从右上角开始查找,可以将时间复杂度优化到 O(N);字符串左旋分别使用“逐字符移动法”和“三步逆序法”实现;最后通过“暴力旋转比较”和“拼接字符串查找”两种思路判断字符串旋转结果。

2026-06-03 18:46:41 227

原创 C语言内存函数详解:memmove 模拟实现与 memset 使用讲解

本文主要学习 C 语言中的内存操作函数 memmove 和 memset。memmove 可以完成内存数据的移动,并且能够安全处理源空间和目标空间重叠的情况;memset 可以按照字节对一块内存空间进行初始化或修改。本文会通过代码演示 memmove 的模拟实现,分析为什么重叠内存拷贝需要根据地址关系选择拷贝方向,并通过字符串案例讲解 memset 的使用方法和注意事项。同时补充介绍 memcmp 的基本用法,帮助理解内存函数都是以字节为单位进行操作的。

2026-06-02 17:24:29 203

原创 C语言内存函数详解:memcpy 与 memmove 的使用、模拟实现和区别

本文主要学习 C 语言中的两个内存操作函数:memcpy 和 memmove。memcpy 可以将一块内存中的数据按字节拷贝到另一块内存中,适用于不重叠内存空间之间的数据拷贝;而 memmove 的功能与 memcpy 类似,但它可以处理内存重叠的情况。本文通过整型数组、浮点型数组、模拟实现 memcpy 以及重叠内存拷贝案例,帮助理解这两个函数的使用方法、参数含义和区别。

2026-06-01 18:19:00 276

原创 C语言模拟实现 strstr 函数:从指针移动理解字符串查找过程

本文通过模拟实现 C 语言库函数 strstr,讲解如何在一个字符串中查找另一个子字符串第一次出现的位置。文章以 arr1 = "abcdefabcdef" 和 arr2 = "def" 为例,分析 cp、s1、s2 三个指针在匹配过程中的作用,逐步说明匹配失败、指针后移、匹配成功以及返回子串起始地址的完整过程。通过代码注释和图解,可以帮助初学者加深对字符串、指针、字符比较以及函数返回值的理解。

2026-05-29 17:15:32 195

原创 C语言字符串函数进阶:strncpy、strncat、strncmp、strstr 的用法与注意事项

本文主要讲解 C语言中几个常用的字符串处理函数,包括 strncpy、strncat 、strncmp和 strstr。文章从函数原型、参数含义、返回值和使用场景入手,结合代码示例分析长度受限制字符串函数与普通字符串函数的区别,重点说明 strncpy 是否补 \0、strncat 如何追加指定长度字符、以及 strstr 如何查找子字符串。通过调试内存窗口和图示过程,帮助理解字符串拷贝、追加、查找以及字符串结束标志 \0 的细节。

2026-05-26 17:13:11 194

原创 C语言字符串函数详解:strlen、strcpy、strcat 的实现与使用

本文围绕 C语言常用字符串函数 strlen、strcpy 和 strcat 展开讲解,分析它们的函数原型、参数含义、返回值以及底层实现逻辑。文章通过模拟实现 strlen、strcpy、strcat,说明字符串以 \0 作为结束标志的机制,并结合 const char*、assert 断言、指针遍历、指针自增等知识点,帮助读者理解字符串函数的本质和常见注意事项。

2026-05-25 16:51:39 368

原创 C语言指针面试题详解:char*数组、二级指针与指针运算

本文结合两道C语言指针面试题,详细分析字符指针数组、二级指针 char**、数组名退化、指针自增自减以及解引用的执行过程。通过图示推导 printf 的输出结果,帮助理解字符串指针数组中指针移动、地址变化和表达式求值顺序。

2026-05-24 17:20:35 180

原创 C语言指针与数组经典面试题解析:数组地址、指针运算、大小端与二维数组

本文通过 5 道 C 语言经典数组与指针面试题,系统分析一维数组、二维数组、数组地址、指针加减、强制类型转换以及大小端存储等易错知识点。文章重点讲解 &a + 1、a + 1、ptr - 1、结构体指针偏移、整型地址偏移、二维数组行指针以及指针相减等表达式的含义,帮助读者理解“指针的类型决定指针加减的步长”这一核心规则。通过这些案例,可以进一步掌握数组名退化、数组地址、元素地址和内存存储方式之间的关系,为后续学习 C 语言指针、结构体和内存管理打好基础。

2026-05-23 19:39:09 313

原创 C语言 sizeof 和 strlen 经典题解析:字符数组、指针与二维数组

本文围绕 C 语言中 sizeof 和 strlen 的经典易错问题展开,通过 char arr[] = "abcdef"、char* p = "abcdef" 以及二维数组 int a[3][4] 等例子,分析数组名在不同场景下的含义、数组名退化为首元素地址的条件、sizeof 在编译阶段根据类型计算大小的特点,以及 strlen 按照 '\0' 结束符统计字符串长度的运行机制。文章重点区分了字符数组、字符指针、数组地址、元素地址和二维数组行地址之间的差异,帮助初学者建立对数组、指针和内存访问的清晰理解。

2026-05-22 16:44:57 315

原创 指针的理解

数组指针的理解

2026-05-21 20:19:00 233

原创 初始C语言3

讲解了操作符,简单的算术操作符,着重讲解了除法/和取余%,除法有两种类型,包括整数除法和浮点数除法,浮点数除法要保证除数和被除数两个至少有一个是浮点数,比如,7.0/2,使用printf输出时候的格式要带lf表示输出double类型,%取余只需要注意,两个都必须是整数类型。,-,+,sizeof不是函数而是操作符,不能用sizeof int,但是可以sizeof a,sizeof后面的括号可以省略就表示他不是一个函数,而是操作符,讲解了前置和后置的++,- -内置的类型:C语言本身具有的类型。

2023-10-12 22:35:42 72

原创 C语言初阶2

今天学习了第二节课,又细讲了一边scanf函数和printf函数,解释了变量和常量的概念和类型,讲解了变量的作用域和生命周期,常量的四种类型,字面常量,const常变量,#define定义的常量,枚举常量enum。介绍了字符串单引号字符,双引号字符串,转义字符的概念,怎么用(如何打印目录i)着重介绍了\ddd,讲解了进制,权重。注释的两种类型,C++和C风格的注释。讲解了简单的选择语句if,还有循环语句while。

2023-10-08 22:08:12 67 1

原创 C语言初阶1

第一节课学习了,什么是底层开发,底层开发就是应用软件一下的软件的开发,比如操作系统和驱动层。C语言中的main是主函数有且只有一个,是程序的入口,后面介绍了数据的类型,有长整型,整型,短整型,字符型...long,int,short,char....,介绍了他们的长度,单位是字节,比如一个char占用了1个字节,这里讲解了单位bit,字节,kb,mb,gb,tb,讲了之间的换算,讲解了sizeof,讲解了赋予变量的两种方式。

2023-10-08 16:47:58 61 1

空空如也

空空如也

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

TA关注的人

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