美文网首页
[C指针]&pi pi *pi

[C指针]&pi pi *pi

作者: AkuRinbu | 来源:发表于2019-04-06 13:56 被阅读0次
    &pi pi *pi

    .c 源码

    #include <stdio.h>
    
    int main()
    {
        int num = 29;
        int * pi = &num;
        printf("Address(&pi): %d\n Value(pi): %d\n Point to(*pi):%d\n", &pi, pi, *pi);
        printf("\n(&pi) Dec:%d = Hex:0x%p\n", &pi, &pi);
        printf("(pi) Dec:%d = Hex:0x%p\n", pi, pi);
        printf("\nAddress(&pi): 0x%p\n Value(pi): 0x%p\n Point to(*pi):%d\n", &pi, pi, *pi);
        return 0;
    }
    

    运行输出

    Address(&pi): 13892140
     Value(pi): 13892152
     Point to(*pi):29
    
    (&pi) Dec:13892140 = Hex:0x00D3FA2C
    (pi) Dec:13892152 = Hex:0x00D3FA38
    
    Address(&pi): 0x00D3FA2C
     Value(pi): 0x00D3FA38
     Point to(*pi):29
    

    源码解析

    • &pi pi *pi 都可以用 %d 来输出,此时输出的数值是十进制Dec

    • 想输出十六进制Hex,使用%p

    如何找到值?

    • 0、指针变量pi,意味着,pi就是变量名变量名就是pi
    • 1、变量pi 自己在内存中的位置是 &pi
    • 2、变量pi 在内存中存的东西叫pi,这是另外一个内存地址2
    • 3、从内存地址2 取出真正的数据 *pi

    想想num就不会错

    • 0、普通变量num,意味着变量名就是num
    • 1、变量num 自己在内存中的位置叫做 &num
    • 2、变量num 在内存中存的东西叫做 num,这是一个整数29

    相关文章

      网友评论

          本文标题:[C指针]&pi pi *pi

          本文链接:https://www.haomeiwen.com/subject/bcdriqtx.html