据我所知,数组的元素是连续存储在内存中的,并且访问特定的元素是通过将所需索引的产品和每个元素的大小与基本数组地址相加来查找地址来完成的。元素。
因为在像C#这样的语言中,我可以创建一个object[]
的数组,并将我想要的任何数据类型放入其中,如果我使用的话,如何将数组的每个元素存储(并保持)均匀的长度不同大小的类型,同时仍允许随机访问?
答案 0 :(得分:3)
这取决于所讨论的语言,以及“对象”的含义 -
正如您在C#(.NET)中提到的C#,object[]
包含对各个对象实例的引用数组。该数组是一个引用数组 - 仍然需要将对象实例分配给该数组的元素。 引用具有统一的大小,但是对象实例本身是分开存储的,并且不必具有相同的大小。
在存储“引用”或“指针”数组时,大多数语言都是这样,而不是对象实例本身。
答案 1 :(得分:0)
对象是引用类型。地址处的值实际上是指向true元素的指针。