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

    运行结果:

                                         

    每天的价值就是不停息的前进!!!
  • 相关阅读:
    Turn the corner
    全排列的递归算法
    全排列的递归算法
    二分   三分搜索
    二分   三分搜索
    理解 Linux 的硬链接与软链接
    一个 Linux 上分析死锁的简单方法
    char能表示(-128~127)
    UNIX网络编程——ioctl 函数的用法详解
    UNIX网络编程——原始套接字(dos攻击)
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11439629.html
Copyright © 2020-2023  润新知