运维八一 运维八一
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)

运维八一

运维,运维!
首页
运维杂记
编程浅尝
周积跬步
专栏
生活
关于
收藏
  • 分类
  • 标签
  • 归档
Source (opens new window)
  • Go

    • 前言

    • Go基础知识

    • Go基本语法

    • 实战项目:简单web服务

    • 基本数据类型

    • 内置运算符

    • 分支和循环

    • 函数 function

    • 结构体 struct

    • 方法 method

    • 实战项目:跟踪函数调用链

    • 接口 interface

    • 并发 concurrency

    • 指针

      • 指针类型
      • 二级指针
        • 2. 二级指针
      • 指针用途与使用限制
    • 实战项目:实现轻量级线程池

    • 实战项目:实现TCP服务器

    • go常用包

    • Gin框架

    • go随记

  • Python

  • Shell

  • Java

  • Vue

  • 前端

  • 编程浅尝
  • Go
  • 指针
lyndon
2022-06-07
目录

二级指针

# 2. 二级指针

指针变量作为一个内存单元存储在内存中,可以被其他指针变量指向。

package main

func main() {
    var a int = 5
    var p1 *int = &a
    println(*p1) // 5
    var b int = 55
    var p2 *int = &b
    println(*p2) // 55

    var pp **int = &p1
    println(**pp) // 5
    pp = &p2      
    println(**pp) // 55
}  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

声明了两个 *int 类型指针 p1 和 p2,分别指向两个整型变量 a 和 b,还声明了一个 **int 型的指针变量 pp,它的初值为指针变量 p1 的地址。之后用 p2 的地址为 pp 变量作了重新赋值。

img

**int 类型的变量 pp 中存储的是 *int 型变量的地址,这和前面的 *int 型变量存储的是 int 型变量的地址的情况,其实是一种原理。**int 被称为二级指针,也就是指向指针的指针,那自然,可以理解 *int 就是一级指针了。

二级指针通常用来改变指针变量的值,也就是指针变量的指向。

上次更新: 2022/06/12, 15:48:09
指针类型
指针用途与使用限制

← 指针类型 指针用途与使用限制→

最近更新
01
ctr和crictl显示镜像不一致
03-13
02
alpine镜像集成常用数据库客户端
03-13
03
create-cluster
02-26
更多文章>
Theme by Vdoing | Copyright © 2015-2024 op81.com
苏ICP备18041258号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式