为了账号安全,请及时绑定邮箱和手机立即绑定

如何在内存中布局结构数组?

如何在内存中布局结构数组?

Go
慕桂英3389331 2021-11-22 15:34:25
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个赞

Points 在内存中是连续的,就像你的第一个例子一样。如果您希望它们成为指针,那么您需要[4]*Point.

一个切片Point创建了一个使用(指向)支持数组的切片,其中,Points 将是并排的(并且[]*Point将是一个指向 的指针Point)。

有关Go 数据结构的内存布局的详细解释,请参见http://research.swtch.com/godata


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 161 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信