自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言字符处理函数全解析(上)

本文介绍了C语言中常用的字符处理和字符串操作函数。字符分类函数如islower()可用于判断字符类型;字符转换函数可实现大小写转换;strlen()用于计算字符串长度;strcpy()实现字符串拷贝,需注意源字符串必须以'\0'结尾且目标空间可修改;strcat()用于字符串追加;strcmp()比较字符串内容而非长度;strncpy()相比strcpy()更安全,可指定拷贝字符数。文章还分析了各函数的使用要点、实现原理及常见错误,如strcpy()可能导致越界访问等问题。

2025-12-08 12:45:19 820

原创 C语言动态内存管理全解析

本文介绍了C语言动态内存管理的关键知识点。首先解释了为什么需要动态内存分配,以解决程序运行时空间需求不确定的问题。然后详细讲解了malloc、calloc和realloc三个核心函数的使用方法及注意事项:malloc返回void*指针需强制类型转换;calloc会自动初始化内存为0;realloc调整内存大小时需谨慎处理指针。文章还总结了常见错误,如空指针解引用、内存越界、重复释放和内存泄漏,并提供了解决方法,强调malloc和free必须成对使用。最后通过图书馆借书的比喻形象说明了内存泄漏的危害,提醒程序

2025-12-01 21:48:38 1338 2

原创 揭秘联合体:共用内存的巧妙设计,以及枚举的用法优点

本文介绍了联合体(共用体)和枚举类型的特点及应用。联合体所有成员共用同一内存空间,其大小至少为最大成员的大小,需考虑对齐数问题。通过图书、杯子和衬衫的示例,展示了联合体节省内存的优势。文章还讲解了用联合体判断机器大小端的方法,以及枚举类型相比#define的优点:类型检查、可读性强、便于调试和作用域规则。最后强调这些概念需要在实际编程中逐步理解掌握。

2025-11-25 23:12:43 1202

原创 指针数组与数组指针:核心区别与应用场景

本文主要探讨指针数组与数组指针的区别及应用场景。指针数组实质是数组,元素均为地址(如int*prr[]),适合存储不同长度的字符串;数组指针实质是指针,存储数组首地址(如int(*ptr)[]),常用于二维数组操作。文章通过案例分析了函数传参时的易错点,并对比了两者在内存效率和应用场景上的差异,最后提供了指针使用场景的选择建议。

2025-11-24 21:23:22 466

原创 C语言进阶:回调函数与qsort的熟练应用

本文分享了回调函数和qsort排序函数的学习心得。回调函数是通过函数指针调用的函数,可以实现灵活的函数调用。qsort是C语言中的通用排序函数,采用快速排序算法,支持任意数据类型排序。作者以冒泡排序为例,详细说明了如何改进使其支持结构体排序:通过void*指针接收不同类型数据,使用比较回调函数实现元素比较,并完成交换操作。文章最后鼓励读者指出问题并进行补充。这个分享为初学者理解通用排序实现提供了实用参考。

2025-11-17 22:03:14 1147

原创 指针数组与数组指针的终极解析

本文分享了学习指针的几点关键理解:1)区分指针数组和数组指针,尤其是一维/二维数组传参时的不同表示方法;2)函数指针的本质是指向函数地址的指针,要注意调用时*的省略位置;3)typedef重命名和#define替换的区别;4)函数指针数组的使用;5)函数指针的实际应用及优化方法;6)指针实现时需要注意的易忘知识点。文章结合实例讲解了指针学习中的重点和难点问题。

2025-11-15 15:08:46 666

原创 指针变量与数组之间的微妙关系

现在,大家可能会有疑问,为什么下面的这个p不能改成arr,而上面的则能用arr,是因为上面那个并不是对arr本身进行加减的,而是借助arr这个值来实现加减的,本质没有对arr进行修改,只是借助它这个值,来计算一个新的结果。冒泡排序是每一趟可以让一个元素到最终排序好的位置,比如是升序,第一趟会将最大的放到最后一个位置,第二趟会把次大的放到倒数第二个位置,我们n-1趟就可以把n个元素都放到最终的位置实现排序。等于i+1是因为,把数组中的元素分别赋值给1,2,3,4,5......

2025-11-10 21:39:44 879 1

原创 指针变量与内存地址解析

其实是有必要的,当我们让地址加1时,是根据类型的大小来加的,如果我们把关于int 的类型用char的指针,虽然能放下,但是如果加1,就只能跳过1个字节,但如果用int指针,加1,那么跳过四个字节。6.因为数组在内存中是连续存放的,只要知道一个元素的内存,就能顺藤摸瓜的找到后面的所有元素,数组中的地址是从小到大排序的。那么在x86(32位环境下),一个地址的大小是32个比特位==4个字节,所以在32位环境下。可通过4.中地址加1来使地址发生变化,推测出下一个地址,找到存放的数字,打印出来。

2025-11-08 16:06:11 802

原创 入门编程小游戏

这篇文章介绍了一个简单的猜数字小游戏程序设计,主要包括以下要点:1)游戏随机生成1-100的数字让玩家猜测;2)玩家通过提示调整猜测直到猜中;3)设置5次尝试限制;4)使用分支结构控制游戏流程;5)运用rand和srand函数实现随机数生成;6)包含游戏开始/退出的选择功能。文章还提到程序可能存在需要改进的不足之处。

2025-11-06 10:44:17 402

原创 数组基础学习的易忘点和易错点

本文分享了学习数组时常见的易错点和注意事项。主要内容包括:1)如何用数组求最大值;2)数组元素的访问与打印;3)数组的内存存储和地址打印;4)sizeof与strlen的区别;5)数组元素个数和大小计算;6)二维数组输入输出;7)字符型与整型数组的区别。作者特别提醒要注意数组下标访问、内存地址打印格式、操作符类型长度计算等细节,并欢迎读者指正补充。

2025-10-30 21:54:00 345

原创 我的编程成长计划:从零到无限

2.首先,要通过学校的编程社团的考试,成为他们当中的一员,分享编程学习,主动向指导老师。5.我渴望加入的IT公司是字节跳动,贵公司实力雄厚旗下的APP更是数不胜数!,如:蓝桥杯,ACM等等。提前做好规划,了解,积极备考,拿到预期的名次。,挑战自我,希望在不断地积累沉淀下,取得巨大进步!节假日的时候,每天三个小时以上的编程学习。4.工作日的时候,每天两个小时以上的编程学习。编程题,反复钻研,多和同学进行编程交流。会在编程学习方面不断。今天给大家分享一下我的编程规划!一些上课的时候没听懂的知识,进行反复。

2025-10-06 20:22:36 187

空空如也

空空如也

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

TA关注的人

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