![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态内存管理
文章平均质量分 93
Dio夹心小面包
"放弃学习的我们是没有翅膀的雄鹰 不会理智的我们是根茎腐烂的大树"
展开
-
『 Linux 』文件系统
文件元数据主要保存在Inode中。Inode,也被称为索引节点,是Unix和类Unix操作系统中的一种数据结构,它用于存储有关文件系统上的文件的元数据,但不包含文件名或数据内容。每个文件都有一个与之关联的Inode,包含了文件的大小、文件的所有者和权限信息、文件的创建、访问和修改时间等信息。原创 2024-06-01 19:21:39 · 1077 阅读 · 1 评论 -
【数据结构】单链表
在线性表结构中,可以分为顺序存储结构与链式存储结构,顺序存储结构就好比数组,在一块连续的空间中存放对应的数据。而链式存储结构与顺序存储结构相比较下就不存在连续存储的空间,而是不同的空间通过指针联系在一起。由上图可知,链表在逻辑上是连续的,但是在物理上并不是连续的,每块空间都是在堆上被申请出来的,malloc函数每次申请的空间可能是连续的也可能不是连续的。操作链表的几个函数内都要注意对所给参数进行断言,防止对非法指针的解引用访问;原创 2023-05-11 13:38:47 · 354 阅读 · 8 评论 -
【柔性数组】0长度数组,可变数组
在c99标准中,引入了“柔性数组”的概念;即在c99中,结构体的最后一个成员可以是一个未知大小的数组(没有长度的数组);这个数组就叫做**【柔性数组】成员**;柔性数组可以根据使用者的需求进行malloc,确保数组在使用中能保证足够且不过多浪费空间。原创 2023-03-29 12:48:39 · 138 阅读 · 2 评论 -
【动态内存管理】动态内存函数
在使用c语言时,我们经常需要创建一个(些)空间来存放数据,常见的开辟空间方式有2种,即创建一个变量来存放数据int a = 10;或是创建一个数组来存放数据,但这两种方式在开辟空间时也有一定的局限性,只要一创建,这个空间的大小就已经被指定,不能再根据需要改变其大小。同时,在计算机中内存是十分宝贵的,若全是静态内存的话,运行较小的程序倒是没什么问题,但若是运行较大的程序时就可能出现程序还没运行完,内存就已经被全部占用完了,所以,为了避免这类问题的发生,我们可以进行动态分配内存。原创 2023-03-26 18:38:21 · 202 阅读 · 31 评论