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)
    
    
    }

    运行结果:

                                         

    每天的价值就是不停息的前进!!!
  • 相关阅读:
    2020/2/14
    2020/2/13
    《人类简史》
    2020/2/12
    bzoj3157国王奇遇记(秦九韶算法+矩乘)&&bzoj233AC达成
    [noip科普]关于LIS和一类可以用树状数组优化的DP
    [uva11722&&cogs1488]和朋友会面Joining with Friend
    Bzoj2154 Crash的数字表格 乘法逆元+莫比乌斯反演(TLE)
    NOIP2016滚粗记
    bzoj2228[ZJOI2011]礼物(gift)
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11439629.html
Copyright © 2011-2022 走看看