• C语言基础:C语言指针(4)


    上一节讲解了关于指针的指针, 这次我们来补充多一点点的小知识~~


    下面我们来看一个小例子:

    #include <stdio.h>
    int main()
    {
        double d = 10.5;
        double d2 = 10.5;
        
        double *p;
        
        p = &d;
        p = &d2;
        
        *p = 10.9;
        
        printf("d=%f, d2=%f
    ", d, d2);
        return 0;
    }

    输出的结果:




    当第一句代码执行完之后, 那么p就指向于d, 也就是说p存的就是d的地址.

    p = &d;


    当第二句代码执行完后, 那么p就指向于d2, 也就是说p存的就是d2的地址, 而这时候的p与d也就是没有关系了.

    p = &d2;


    所以当最后一句代码, 所改变的其实就是d2的值, 而d还是原来的值, 所以输出的结果就和图上一样.

    p = 10.9;


    下面继续来一个例子:

    #include <stdio.h>
    
    int main()
    {
        int i = 10;
        
        int *p;
        
        p = &i;
        
        printf("i = %p
    ", &i);
        printf("p = %p
    ", p);
        
        p = NULL;
        
        printf("p = %p
    ", p);
        
        return 0;
    }

    输出结果:



    当执行完代码后, p存的就是i的地址, 所以输出i和p的地址是相同的, 也就是说p存的就是i的地址, 而执行完最后一句的时候, 那么p的地址就是等于0, 也就说p与i没有关系, 改变了p的值i也不会跟着改变.


    这次就到这里了, 下次我们继续

  • 相关阅读:
    Noip2017 提高组初赛 游(baozha)记
    bzoj4557
    MVVM
    当下较热web前端技术汇总
    JQ 常见demo
    各种宽高
    JQuery 总结
    自定义滚动条配合鼠标滚轮demo
    H5 触摸事件
    SQL必备知识点
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4282891.html
Copyright © 2020-2023  润新知