zoukankan      html  css  js  c++  java
  • 20_指针类型的使用

    1、指针是存储值的地方

    2、指针的值是一个变量的地址。一个指针指示值所保存的位置,不是所有的值都有地址,但是所有的变量都有地址。

    3、使用指针,可以在无需知道变量名字的情况下,间接读取或更新变量的值

    4、如果一个变量声明为 var x int,表达式&x(x的地址)获取一个指向整型变量的指针,他的类型是整型指针(×int ),如果值叫做p,我们说p 指向x,或者p包含x的地址。

    5、每一个聚合类型变量的组成(结构体、数组等元素)都是变量,所以也有一个地址

    6、指针类型的零值是nil,两个指针当且仅当指向同一个变量或者都是nil的情况下才相等

    例如:

    package main
    
    
    import "fmt"
    
    
    //引用传递交换两个数值
    func swap(a *int, b *int) {
    	*a, *b = *b, *a
    }
    
    
    func main() {
    	var p *int //*int62是整型指针类型
    	j := 3
    	p = &j
    	fmt.Printf("j=%d
    ", *p)

    //var q int
    //*q = 22//invalid memory address ,指针没有分配地址(报错)
    
    
    	//可以用new来给指针分配地址
    	i := new(int) //虽然初始值也是nil但是分配了地址,相当于动态分配地址空间
    	*i = 33
    	fmt.Println("i=", *i)
    
    
    	//引用传递交换两个数的值
    	a := 2
    	b := 3
    	swap(&a, &b)
    	fmt.Printf("a=%d,b=%d", a, b)
    
    
    }

    运行结果:

                                         

    每天的价值就是不停息的前进!!!
  • 相关阅读:
    【HIDS】关于HIDS的一些看法
    图片在容器内水平垂直居中显示
    C++ 实现Cholesky分解
    Minikube 安装和简单使用
    关于.net的一些记录
    C#将窗体Form嵌入主窗体Panel中的一些问题
    Pod持久化
    Maven打包包含jar包
    Adam
    [漏洞]DNS Server Spoofed Request Amplification DDoS
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11439629.html
Copyright © 2011-2022 走看看