C语言指针变量的输入输出

指针变量

指针变量实际上就是用来记录地址的变量。

    int i = 6;
    int p;
   
    printf("%p\n",&i);
    printf("%p\n",&p);//两个变量的为int数据类型,所以内存相差为四个字节

    printf("&i=%p\n",&i);//取变量i的地址
    int *p1 = &i;//定义一个指针变量,将i变量的地址给p1指针变量
    printf("p1=%p\n",p1);//直接取p1的地址,实际上就是i的地址

 最后运行的结果如下图:i的地址和指针p1的地址都为0x7ffd94b4f320,也就是说地址指向的变量的地址就是指针变量的地址。

0x7ffd94b4f320
0x7ffd94b4f324
&i=0x7ffd94b4f320
p1=0x7ffd94b4f320

再来看一下输出指针变量的值,指针变量的值实际上就是所指向的变量的值,一样的

 printf("i=%d\n",i);
 printf("p1=%d",*p1);
  i=6
 p1=6

输出结果都为6,就相当于指针所指向的变量就等于指向的变量的值。这个时候要注意的是,为什么输出的时候是*p?

因为指针输出变量是*p

输出指针内存地址是p (直接输出p就是他的地址,指针变量存储的就是地址)

获取指针变量p的内存地址数据是&p (这个获取的是p的地址,而不是他对应的变量i的地址)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值