zoukankan      html  css  js  c++  java
  • 指针

    今早起来脑子不清醒,在一个指针问题上犯了迷糊,影响了我一大早的心情。

    写一些结论:

    1.指针也是变量,特殊之处在于指针变量存放的是地址,这个地址就是别的变量的地址。也就是说指针指向一个变量

    2.指针(1)的指针(2)也是变量,(2)特殊之处在于存放的是指针(1)的地址。这个地址就是指针(1)的地址。也就是说一个指针指向另一个指针。

    3.指针的赋值操作。

    同级别的赋值:

        int aa=1;
        int bb=2;
    
        int *a1=&aa;  //a1存放aa的地址
        int *a2=&bb;  //a2存在bb的地址
        int *a3=a1;   //a1的内容赋值给a3,即a3存放aa的地址
    
        qDebug()<<"a1"<<a1;  //aa的地址
        qDebug()<<"a2"<<a2;  //bb的地址
        qDebug()<<"a3"<<a3;  //aa的地址
    
        qDebug()<<"*a1"<<*a1;  //aa
        qDebug()<<"*a2"<<*a2;  //bb
        qDebug()<<"*a3"<<*a3;  //aa
    
        a1=a2;                  //a1存放a2内的地址
    
        qDebug()<<"a1"<<a1;    //bb的地址
        qDebug()<<"a2"<<a2;    //bb的地址
        qDebug()<<"a3"<<a3;    //aa的地址
    
    
        qDebug()<<"*a1"<<*a1;  //bb
        qDebug()<<"*a2"<<*a2;  //bb
        qDebug()<<"*a3"<<*a3;  //aa

    运行结果:

    a1 0x73fcbc
    a2 0x73fcb8
    a3 0x73fcbc
    *a1 1
    *a2 2
    *a3 1
    a1 0x73fcb8
    a2 0x73fcb8
    a3 0x73fcbc
    *a1 2
    *a2 2
    *a3 1

    不同级别的赋值:

        int aa=1;
        int bb=2;
    
        int *a1=&aa;  //a1存放aa的地址
        int *a2=&bb;  //a2存放bb的地址
        int **a3=&a1; //a3存放a1的地址
    
        qDebug()<<"a1"<<a1;  //输出aa的地址
        qDebug()<<"a2"<<a2;  //输出bb的地址
        qDebug()<<"a3"<<*a3; //输出aa的地址
    
        qDebug()<<"*a1"<<*a1;  //aa
        qDebug()<<"*a2"<<*a2;  //bb
        qDebug()<<"*a3"<<**a3; //aa
    
        a1=a2;                  //a1存放a2内的地址
    
        qDebug()<<"a1"<<a1;     //输出bb的地址
        qDebug()<<"a2"<<a2;     //输出bb的地址
        qDebug()<<"a3"<<*a3;    //由于a3存放的是a1的地址,a1内又变为bb的地址,所以输出bb的地址
    
        qDebug()<<"*a1"<<*a1;  //输出bb
        qDebug()<<"*a2"<<*a2;  //输出bb
        qDebug()<<"*a3"<<**a3;  //输出bb

    输出结果:

    a1 0x73fcc0
    a2 0x73fcbc
    a3 0x73fcc0
    *a1 1
    *a2 2
    *a3 1
    a1 0x73fcbc
    a2 0x73fcbc
    a3 0x73fcbc
    *a1 2
    *a2 2
    *a3 2
  • 相关阅读:
    2.SpringBoot之返回json数据
    1.SpringBoot之Helloword 快速搭建一个web项目
    Jquery获取radio单选按钮的value与后面的文字
    JS点击事件的重叠处理(多个点击事件出现冲突)
    table中的td等长(不随内容大小变化)
    使用ocupload和POI一键上传Excel并解析导入数据库
    将博客搬至CSDN
    【解决方案】SSL证书报错:X509_check_private_key:key values mismatch
    如何设置开机自动重启脚本
    [Linux命令] Top命令详解
  • 原文地址:https://www.cnblogs.com/sggggr/p/12856212.html
Copyright © 2011-2022 走看看