获取数组元素的地址

huangapple go评论82阅读模式
英文:

Go address of array element

问题

在Go语言中,要获取数组元素的地址,可以使用取址操作符&。以下是一个示例代码:

package main

import "fmt"

func main() {
    arr := [5]int{1, 2, 3, 4, 5}
    
    // 获取数组元素的地址
    addr := &arr[2]
    
    fmt.Println("地址:", addr)
}

在上面的代码中,我们定义了一个包含5个整数的数组arr。通过&arr[2],我们获取了数组第3个元素的地址,并将其赋值给addr变量。最后,我们使用fmt.Println函数打印出了该地址。

请注意,Go语言中的数组索引是从0开始的,所以arr[2]表示数组的第3个元素。

英文:

How do I get the address of an array element in Go?

答案1

得分: 6

使用地址运算符&来获取数组元素的地址。以下是一个示例:

package main

import "fmt"

func main() {
    a := [5]int{1, 2, 3, 4, 5}
    p := &a[3]     // p 是第四个元素的地址

    fmt.Println(*p) // 输出 4
    fmt.Println(a)  // 输出 [1 2 3 4 5]
    *p = 44        // 使用指针修改数组元素
    fmt.Println(a)  // 输出 [1 2 3 44 5]
}

请注意,指针只能用于访问一个元素。无法通过增加或减少指针来访问其他元素。

英文:

Use the address operator & to take the address of an array element. Here's an example:

package main

import "fmt"

func main() {
    a := [5]int{1, 2, 3, 4, 5}
    p := &a[3]     // p is the address of the fourth element

    fmt.Println(*p)// prints 4
    fmt.Println(a) // prints [1 2 3 4 5]
    *p = 44        // use pointer to modify array element
    fmt.Println(a) // prints [1 2 3 44 5]

}

Note that the pointer can be used to access the one element only. It's not possible to add or subtract from the pointer to access other elements.

huangapple
  • 本文由 发表于 2014年9月9日 02:41:36
  • 转载请务必保留本文链接:https://go.coder-hub.com/25730966.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定