动态分配与静态分配:如何协调资源利用

链表并不一定需要使用动态内存分配。实际上,链表也可以使用数组来实现,也就是静态内存分配。例如,你可以先定义一个包含100个节点的数组,然后将它们组合成链表。如果你已经知道节点数是100个,那么使用数组可能更好,因为它不需要额外的指针来维护节点关系,而且可以直接访问任意元素。

然而,在许多情况下,你并不知道链表中会有多少个节点。在这种情况下,分配一个固定数目的节点池会造成资源的浪费或不足。因此,动态分配内存就成为了一个解决方案,它可以在需要时分配内存,在不需要时释放内存。

动态内存分配的本质就是在需要的时候分配内存,在不需要的时候释放内存。类比于生活中的例子,我们也可以看到类似的情况。有一些东西我们并不常用,买来放家里浪费钱也占地方,所以借来用更好。在公司里,需要不同数量的人力资源,如果按照最大人数雇佣,很多时候很多人都是闲着摸鱼,造成公司资源的浪费,所以外包或者非正式雇佣(派遣)就成为了一种解决方案,以补充人力资源。

需要注意的是,动态分配只是在更大的一个层面上的静态分配当中的局部分配,而不是对整个资源进行增减。因此,动态分配的目的是协调和统筹资源,以实现总体上的资源有效利用。


d54d48f9dd12f91bc497573a63d475ab.jpeg


刚好,我这里有C语言资料包,私信我领取

猜你喜欢

转载自blog.csdn.net/m0_67034740/article/details/129708502