• int *p 和int **p的区别


    int *p:一级指针,表示p所指向的地址里面存放的是一个int类型的值

    int **p:二级指针,表示p所指向的地址里面存放的是一个指向int类型的指针(即p指向的地址里面存放的是一个指向int的 一级指针)

    例如:

    int i = 10;//定义了一个整形变量

    int *p = &i;//定义了一个指针指向这个变量

    一级指针中各个参量含义的讲解

    int a = 5;                // 声明变量a=5
    int* pt = &a;             // 将a的地址存储到指针pt上
    std::cout << pt << endl;  // 输出a的地址
    std::cout << *pt;         // 输出a的值
    其中&pt代表的是指针的地址

    int **p1 = &p;//定义了一个二级指针指向p指针

    那么取出10的值的方式为:

    pritnf("i = [%d] ",*p);

    printf("i = [%d] ",**p1);

    从这个例子中我们可以看到,*p指向的地址是值10所在的地址,**p1所指向的地址是*p所在的地址。

    取值的时候,就是*p里面存放的值是10

    *p1代表的是*p的地址。**p1代表的是*p地址里面的值。

    https://zhidao.baidu.com/question/418928979.html

    p1:指针变量名
    *p1:访问p1指向的变量
    p2:二级指针变量【指向一级指针,保存的是一级指针变量的内存地址
    *p2:获取一级指针的值【即一级指针指向的变量的内存地址
    **p2:获取一级指针指向的变量的值
    输出p2得到的是一级指针变量的地址
    输出*p2得到的是一级指针变量指向的普通变量的地址
    输出**p2得到的是一级指针变量指向的普通变量的值

  • 相关阅读:
    单位
    北京户口
    中科院助理工程师
    SQL学习
    question
    ROI选取过程
    IT学习网站
    撞库 拖库
    善用人类记忆的特点去高效学习
    为什么散步对健康很有益处
  • 原文地址:https://www.cnblogs.com/littleswan/p/12116449.html
Copyright © 2020-2023  润新知