高级语言如何[例如:c#、javascript、python....] 创建数组

问题描述

在低级语言中,你必须在创建时给出数组的长度,但在高级语言中你不需要,那么它是如何工作的呢?计算机如何以防止内存冲突的方式创建数组,如果它与其他内存地址冲突会发生什么?

解决方法

c# 和 (python,javascript) 之间存在很大差异。 c# 使用任何其他静态语言创建数组,它在堆上的内存上分配块,并为您提供指针、长度和容量。当涉及到 python 和 js 时,当您分配列表时,它也有大小和上限,但您只能更改大小,而上限是抽象的,值得注意的是,py 和 js 始终将值存储为变体(您可以使用字符串ans int 在同一个列表中),witch 意味着它们也在堆上,并且您拥有的 int 列表实际上是指针列表。