zoukankan      html  css  js  c++  java
  • go 语言指针

    1.什么是指针?

       众所周知变量是一种使用方便的占位符,用于引用计算机内存地址。普通变量存的就是值,也叫值类型。

       指针是一个变量,其值是另一个变量的地址,即存储器位置的直接地址。一个指针变量可以指向任何一个值的内存地址。

    2.指针定义

      

    var var_name *var-type  :var_name 变量名字   * 号用于指定变量是作为一个特定类型的指针

    定义声明:

      var ip  * int  /指向整型

      var float *float /指向浮点型

    3.取地址符

      取地址符&

     

    package main
    
    import(
    	"fmt"
    )
    func main(){
    	var i int   //定义整型变量i
    	var p *int //定义整型指针变量p
    	p = &i   //把变量i的内存地址赋值给P
    	fmt.Printf("变量i的内存地址:%p
    ",&i)
    	fmt.Printf("指针变量p的值:%p
    ",p)
    	fmt.Printf("指针变量p的内存地址:%p
    ",&p)
    }
    //运行结果:
    变量i的内存地址:0xc04200e090
    指针变量p的值:0xc04200e090
    指针变量p的内存地址:0xc042004028
    

      上面输入结果可以看出指针变量p的值是变量i的内存地址

    4.获取指针变量指向的变量

     获取指针变量指向的变量:*
    package main
    
    import(
    	"fmt"
    )
    func main(){
    	var i int
    	var p *int
    	p = &i
    	i = 100
    	fmt.Printf("%d
    ",i)
    	fmt.Printf("%d
    ",*p)
    	*p = 200	
    	fmt.Printf("%d
    ",i)
    	fmt.Printf("%d
    ",*p)
    }
    //运行结果:
    100
    100
    200
    200
    

    5.指针是引用型的

    package main
    
    import(
    	"fmt"
    )
    func change(p *int){
    	*p = 200
    }
    func main(){
    	var i int
    	var p *int
    	p = &i
    	i = 100
    	fmt.Printf("change之前i的值:%d
    ",i)
    	change(p)
    	fmt.Printf("change之后i的值:%d
    ",i)
    }
    //运行结果
    change之前i的值:100
    change之后i的值:200
    

      



  • 相关阅读:
    机器学习Python包
    Linux网卡的相关配置总结
    [转]Ajax跨域请求
    [转]git在eclipse中的配置
    java代码运行linux shell操作
    虚拟机NAT模式无法上网问题的解决办法
    [转]关于网络通信,byte[]和String的转换问题
    ARP协议工作流程
    pycharm常用快捷键总结
    数据挖掘主要解决的四类问题
  • 原文地址:https://www.cnblogs.com/wanghaijun999/p/8178142.html
Copyright © 2011-2022 走看看