C语言
文章平均质量分 87
可涵不会debug
阿里云开发者社区专家博主,第十五届蓝桥杯国三获得者,CSDN新星创作者。目前正在学习C++,Linux相关知识。承蒙各位大佬的厚爱!
展开
-
assert断言与const修饰指针的妙用(模拟实现strcpy函数)
本文主要讲解assert断言与const修饰指针的妙用(模拟实现strcpy函数原创 2023-11-02 21:01:14 · 193 阅读 · 1 评论 -
C语言浮点型在内存中的存储
本文主要讲解在C语言中,浮点数是如何在内存中存储的原创 2023-10-29 17:54:56 · 885 阅读 · 31 评论 -
整型在内存中的存储
本文章旨在从例题中加深对整型在数据中的存储的相关知识的理解原创 2023-10-29 17:46:59 · 586 阅读 · 17 评论 -
手撕排序之快速排序
本文主要介绍了如何用递归算法(霍尔、挖坑、双指针)和非递归算法(借助栈)来手撕快排。原创 2023-10-09 16:10:14 · 328 阅读 · 48 评论 -
C语言文件操作
本文主要讲解了文件如何利用C语言进行一系列的操作原创 2023-09-24 14:49:36 · 1143 阅读 · 69 评论 -
手撕排序之堆排序
本文主要讲解了堆排序如何利用完全二叉树实现原创 2023-09-17 10:27:55 · 378 阅读 · 73 评论 -
C语言插入排序
本文主要讲解插入排序中的直接插入排序和希尔排序。原创 2023-09-05 15:37:33 · 2422 阅读 · 36 评论 -
树和二叉树基础
本文主要讲解了树和二叉树的一些基本知识~原创 2023-09-01 17:03:56 · 1127 阅读 · 68 评论 -
数据结构之队列详解(包含例题)
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。原创 2023-08-14 16:19:16 · 2156 阅读 · 70 评论 -
手撕数据结构之栈+例题
栈:一种特殊的线性表,其只允许元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则。如同子弹夹,我们进行添子弹和出子弹,很形象。:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。:栈的删除操作叫做出栈。出数据也在栈顶。接下来,我们以数组栈的形式去模拟。原创 2023-08-10 21:40:58 · 928 阅读 · 33 评论 -
C语言单链表OJ题(较难)
本文讲解了关于单链表OJ,题目有些许难度,包含链表分割、相交链表、回文链表、环形链表原创 2023-08-07 12:29:28 · 1341 阅读 · 51 评论 -
C语言单链表OJ题(较易)
在数据结构的新篇章里,注意的小细节更多,最好将能考虑的情况都要考虑到,不然调试起来比较麻烦。原创 2023-08-06 09:06:43 · 594 阅读 · 50 评论 -
C语言手撕单链表
在讲解单链表的各个接口前,很有必要讲解以下单链表的物理内存到底是如何存储的,先掌握这个,接下来的讲解就会更容易理解头结点指向的地址就是第一个结点的总地址第一个结点的指针域指向的是第二个结点的总地址,所以分为两个地址一个是结点的总地址,另一个是结点总地址里面的next指针存放的指针域的地址,这个指针域的地址又指向了下一个结点的总地址。看下面的图解内存存储的数据,实际中是没有箭头的,把箭头去掉,才是内存中真正的存储模式。原创 2023-08-01 22:30:54 · 1219 阅读 · 55 评论 -
C语言手撕顺序表
顺序表开启了数据结构的的序章,顺序表算是很简单的数据结构了,从此我们需要敲一部分代码,编译一次,不能一股脑的输出,结果编译发现好多个bug,需要写一部分,编译一部分,这样才更加的有持续性。我们一般使用动态顺序表,因为静态顺序表的数组大小固定的,而动态可以根据我们需求的不同去在线扩容,所以接下来的文章围绕如何实现动态顺序表来讲解。因为动态内存,每当我们插入新的数据时,总需要将存储有效数据的大小增加,当我们开辟的空间不够时,就需要扩容,利用realloc函数的性质。在数组上完成数据的增删查改。原创 2023-07-30 17:13:59 · 3044 阅读 · 55 评论 -
算法的时间复杂度、空间复杂度如何比较?
本篇文章讲解了如何求解出时间复杂度和空间复杂度,并且利用他们求解题目。原创 2023-07-26 14:49:27 · 3196 阅读 · 79 评论 -
动态内存管理基础详解
C语言提供了一个动态内存开辟的函数——malloc。原创 2023-07-21 17:42:47 · 371 阅读 · 25 评论 -
C语言两种方法求证大小端存储
大致的理解就是数据在内存中存储字节序的顺序·。比如一个整数123,个位数3就是低位,百位数1就是高位。低位字节也同理,比如一个十六进制0x11223344,11就是高位字节,44就是低位字节。画个图理解一下上面的两种方法底层逻辑是一样的,都是想从定义整型1的4个字节内容里面访问第一个字节的内容,看是不是1,就可以判断出来大小端存储。原创 2023-07-20 17:15:52 · 206 阅读 · 24 评论 -
C语言如何计算结构体大小(结构体的内存对齐)
结构体的内存对齐是有关结构体内容的很重要一个知识点,主要考察方式是计算结构体的字节大小。原创 2023-07-19 15:32:33 · 1067 阅读 · 53 评论 -
【C】剖析C语言内存函数
如果函数的参数可以接收任意类型的数据,那么设置这种函数参数一般用void*。如果函数可以对任意类型的数据进行改变,并且根据字节的个数来决定,那么函数参数的类型设置为char*。遇到不同的情况,我们采取不同的措施,分情况的标准就是sou,和dest的地址高低,若soudest,我们就采用从前向后的拷贝方法。原创 2023-07-17 11:30:24 · 636 阅读 · 42 评论 -
剖析C语言字符串函数
这是一篇关于C语言字符串函数详解的文章,里面不仅包含我们常见的strlen、strcpy、strcat等,也包含不太常见的strstr、strtok、strerror等,这篇文章不仅仅讲解他们的使用方法,还剖析了这些函数的底层原理,大部分我们都可以自己模拟实现。希望对大家有帮助~原创 2023-07-15 21:33:39 · 665 阅读 · 62 评论 -
剖析C语言回调函数
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用,用于对该事件或条件进行响应。原创 2023-07-11 16:06:06 · 823 阅读 · 67 评论 -
函数指针数组的概念和应用
函数指针数组原创 2023-07-10 09:52:44 · 286 阅读 · 22 评论 -
指针进阶(1)(字符指针,指针数组,数组指针,函数指针)
本文主要讲解指针进阶部分的内容,分为字符指针,指针数组,数组指针,函数指针。原创 2023-07-07 16:33:35 · 317 阅读 · 35 评论 -
整型在内存中的存储
本文章旨在从例题中加深对整型在数据中的存储的相关知识的理解原创 2024-10-13 21:44:59 · 1243 阅读 · 36 评论
分享