type Point struct { x, y int}var arr [4]Point数组将如何在内存中布局?实际物体会并排放置吗[Point[x][y]][Point[x][y]][Point[x][y]][Point[x][y]]或者数组是一个指针数组,对象存储在其他地方,比如 Java?[&Point0][&Point1][&Point2][&Point3]堆中的某处:...[Point0[x][y]] ... [Point1[x][y]] .... [Point3[x][y]] ... [Point2[x][y]]另外,如何make()在内存中布置切片?make([]Point, 10)
1 回答
白板的微信
TA贡献1883条经验 获得超3个赞
4 Point
s 在内存中是连续的,就像你的第一个例子一样。如果您希望它们成为指针,那么您需要[4]*Point
.
一个切片Point
创建了一个使用(指向)支持数组的切片,其中,Point
s 将是并排的(并且[]*Point
将是一个指向 的指针Point
)。
有关Go 数据结构的内存布局的详细解释,请参见http://research.swtch.com/godata。
- 1 回答
- 0 关注
- 161 浏览
添加回答
举报
0/150
提交
取消