c 干货
文章平均质量分 86
净罪
抬起头,要不发型会乱。
展开
-
单链表专题之单链表的实现
本篇讲的是如何进行链表的实现,不同功能之间细致的讲解原创 2024-07-18 21:25:34 · 246 阅读 · 0 评论 -
单链表专题
上节我们吧顺序表总结完毕,这节我们再来讲一下链表。相对于顺序表来说,链表有什么优点:那我们想来说一下顺序表的缺点:1.中间/头部位置的插入删除,需要挪动数据会导致程序效率低下。2.增容会导致降低程序的运行效率3.存在着一定的空间浪费所以我们选择在使用链表来避免这样的缺点。原创 2024-07-16 18:47:23 · 422 阅读 · 0 评论 -
1.柔性数组
C/C++程序内存分配的几个区域:1.栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返回地址等。《函数栈帧的创建和销毁》堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由0S回收。分配方式类似于链表。数据段(静态区):(static)存放全局变量、静态数据。原创 2024-05-14 23:20:18 · 762 阅读 · 0 评论 -
动态内存管理
我们已经掌握的内存开辟方式有:但是上述的开辟空间的方式有两个特点:空间开辟的大小是固定的。数组在申明的时候,必须指定数组的长度,数组空间一旦确定了大小不能调整。但是对于空间的要求,不仅仅是上述的情况,有时候我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足。C语言引入了动态内存开辟,让程序员自己可以申请和释放空间,就比较灵活了。 malloc 函数是 C 语言标准库中的一个函数,用于动态分配内存。它在 <stdlib.h> 头文件中声明,用于在堆(heap原创 2024-05-07 23:25:30 · 1944 阅读 · 1 评论 -
自定义类型:结构体·
就是。原创 2024-05-02 23:52:56 · 37 阅读 · 1 评论 -
数据在内存中的存储
关于整数在内存中的存储我还有几个题没有给完,下面来一起看一下:补充一点%x是以和十六进制打印整数的。OK了现在习题就完了,这个题价值挺大的,我也是挺费劲的讲解出来。如果有什么不对的地方希望大家能够提出来。原创 2024-04-28 23:18:37 · 1008 阅读 · 1 评论 -
字符串函数
strtok 函数是一个标准库函数,用于在C语言中对字符串进行分隔。它将一个字符串分割成多个子字符串,这些子字符串由指定的分隔符分隔。 strtok 函数会修改原始字符串,因此在使用它之前,通常需要复制原始字符串。接下来我们来看一下函数原型: str 是要分割的字符串。sep 是用于分隔字符串的分隔符集合。 strtok 函数的工作原理是这样的: 1.sep参数指向一个字符串,定义了用作分隔符的字符集合2.第一个参数指定一个字符串,它包含了0个或者多个由sep字符串中一个或原创 2024-04-16 23:17:55 · 545 阅读 · 1 评论 -
字符函数和字符串函数
终于把指针搞完了下面就是字符函数和字符串函数的讲解了,准备好。原创 2024-04-09 23:16:27 · 2244 阅读 · 1 评论 -
深入理解指针(6)
我们可以看一下这串代码,在case1234中你不断地在调用前面的函数,而且很多都是重复的代码是不是感觉很麻烦,不简明,所以我们利用今天所学来解决一下。我们学了整型数组,字符数组,指针数组,我们还学过整型指针,字符指针,函数指针,数组指针而今天我们要学。上面的解释只是讲了个调用的大概,关于精确的函数比较和交换的解释,在上述的代码中就可以找到。,用于指针访问结构体中的成员。在进行这节的讲解,还会用到上述的代码,但是呢,我们要对最原始的代码,使用。,我们如果想把它改造成能够排序任意类型的函数,就是下面的样子。原创 2024-04-05 12:36:36 · 1114 阅读 · 1 评论 -
深入理解指针(4)
这些就是今天的总结与归纳,还是那句话:还请兄弟们多多提问题,我才会更加进步,写的更加严谨。原创 2024-03-30 11:15:35 · 930 阅读 · 2 评论 -
深入理解指针(3)
我们知道创建一个变量的话,他们的地址都是随机的,但是呢,变量在销毁之前只要知道这个地址,那么这个变量就是可以访问的。首先我们知道打印出来的地址是16进制的数,他们相差28,要把28转化成10进制的数就是40,这才是它们之间的地址真实差值,28只是在16进制是28并不是正儿八经的数差。,这里的数组名表示的是整个数组,取出的是整个数组的地址(整个数组的地址和数组首元素的地址是有区别的)。,sizeof中单独放数组名,这里的数组名表示的是整个数组,计算的是整个数组的大小,单位是字节,原创 2024-03-28 23:42:13 · 950 阅读 · 0 评论 -
深入理解指针(2)
能,n的的地址是0x0012ff40带回main函数把他存到p这个指针变量里面去这是p里面存的地址就是n的地址,但是n在完成之后出了这个函数就会销毁这时n的地址也就销毁了。有的,就是我们刚说的指针 - 指针还是arr这个数组里面的内容是a b c d e f \0如果我们知道a的地址还知道\0的地址用这两个相减不就是这个中间的字符个数嘛。我们在上篇已经说过这里就不再详细的进行说明,这里只说一个重要的点,当指针进行+-整数的时候,它所访问的空间就会跳过,指针类型所对应的字节乘以整数个字节。原创 2024-03-27 23:02:36 · 1185 阅读 · 0 评论 -
深入理解指针(1)
在深入理解指针之前我们要先搞明白什么是指针。所谓指针就是“地址”那什么是地址呢?地址就是“内存单元的编号”?那怎么理解内存单元编号.这里引用鹏哥的例子容易理解 :有一栋宿舍楼,那么这栋宿舍就是内存 而这栋宿舍楼中的每一个房间就是一个个的单元,但是光有房子还不行查找起来非常麻烦,所以还要给房间编上号码,这样就形成了这栋楼的房间单元编号,而这就是“内存单元编号” 也就是“地址”,地址的名字就是“指针”。so,内存单元编号 =地址 = 指针。但是这里的指针不是我们口头上的指针,原创 2024-03-27 00:01:25 · 690 阅读 · 0 评论