变量&地址&指针

变量&地址&指针指针

每一个变量在运行时都拥有一个地址,这个地址表明变量在内存中的位置。Go 语言中使用&做符放在变量前面对变量进行“取地址”操做。code

ptr := &v    // v的类型为T

其中 v 表明被取地址的变量,被取地址的 v 使用 ptr 变量进行接收,ptr 的类型就为*T,称作 T 的指针类型。*表明指针。内存

取地址操做符&和取值操做符*是一对互补操做符,&取出地址,*根据地址取出地址指向的值。变量

  • 变量、指针地址、指针变量、取地址、取值的相互关系和特性以下:
  • 对变量进行取地址(&)操做,能够得到这个变量的指针变量。
  • 指针变量的值是指针地址。
  • 对指针变量进行取值(*)操做,能够得到指针变量指向的原变量的值

总结1:变量、指针和地址三者的关系是:每一个变量都拥有地址,指针的值就是地址。总结

总结2:取地址操做符&和取值操做符*是一对互补操做符,&取出地址,*根据地址取出地址指向的值。语言

最后大大的结果就是:取址用&,取值用*co

var a = 1;
p = &a; //p接受 a的地址
func go (*p) { //传递a的地址

	p变量的值为1.
}
相关文章
相关标签/搜索