美文网首页
[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