当我们创建一个链表时,它存储在内存的哪个区域堆栈或堆? 假设我们要创建一个包含 10 个节点的单链表。那么所有的节点是存放在栈还是堆中还是可以存放在堆或栈中的任意一个中呢?
最佳答案
大多数数据结构都是为了有效地利用内存。如果您创建一个带有堆栈变量的链表,它将提供预期的结果,但这并不意味着内存得到了正确的利用。假设堆有可能(1000)个大小为 10byes 的小块,并且没有超过 20 字节的争议内存。在这种情况下,用户想要分配 100 字节的内存,但 100 字节没有争议内存。在这种情况下,用户可以选择链表数据结构来分配10字节内存10次。链表提供了管理多个小块(称为节点)的机制。
关于c - 链表存放在哪个内存区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25179237/