指针
go语言中的指针
在 Go 语言中,指针是一种特殊类型的变量,它存储了一个变量的内存地址。通过指针,可以直接访问或修改变量的值,而不需要知道该变量的名称。指针在 Go 中具有如下特点
声明指针
使用 *
符号声明指针类型,例如 *int
表示指向整数类型的指针。
获取变量地址
使用 &
符号获取变量的内存地址,即指针的值。
解引用指针
使用 *
符号对指针进行解引用,获取指针所指向的变量的值。
下面是一个简单的示例来说明指针的用法
package main
import "fmt"
func main() {
// 声明一个整数变量
var num int = 42
// 声明一个指针变量,指向整数变量的地址
var ptr *int = &num
// 输出变量的值和地址
fmt.Println("Value of num:", num)
fmt.Println("Address of num:", &num)
// 输出指针变量的值(即指向的变量的值)和地址
fmt.Println("Value of ptr:", *ptr)
fmt.Println("Address stored in ptr:", ptr)
// 修改指针所指向的变量的值
*ptr = 100
fmt.Println("Value of num after modification:", num)
}
在这个示例中,我们首先声明了一个整数变量 num
,然后声明了一个指针变量 ptr
,并将 num
的地址赋值给了 ptr
。通过指针 ptr
,我们可以获取到 num
的值和地址,并修改 num
的值。
C语言中的指针
在 C 语言中,指针是一种特殊类型的变量,它存储了另一个变量的内存地址。通过指针,可以直接访问或修改该内存地址处的变量的值。C 语言中的指针具有如下特点
声明指针
使用 *
符号声明指针类型,例如 int *ptr
表示指向整数类型的指针。
获取变量地址
使用 &
符号获取变量的内存地址,即指针的值。
解引用指针
使用 *
符号对指针进行解引用,获取指针所指向的变量的值。
下面是一个简单的示例来说明指针的用法