关于指针的一点理解(本人小白用户)

#include <stdio.h>
#define PR(x,y) printf("%3.1f,%3.1f\n",x,y)
void main()
{
	float fa=2.3, fb=3.2,*pf1=&fa,*pf2=&fb;
	float *pt ,f;
	PR(*pf1,*pf2);
	pt=pf1;
	pf1=pf2;
	pf2=pt;
	PR(*pf1,*pf2);
	PR(fa,fb);
	f=*pf1;
	*pf1=*pf2;
	*pf2=f;
	PR(*pf1,*pf2);
	PR(fa,fb);
}

运行结果:


指针使用*来表示的,例如:int *pi 就定义了一个指向整形的指针 ,指针的名字是pi。


从上面的程序中我加深了对指针的理解,例如i=3 ,是把3存储到i所标识的存储空间,这里面的i其实有两个值,一个是内存地址,一个是内容3。那么在使用中到底使用的是哪个值呢???

   当i位于赋值操作符的左边时,变现出的值为地址,在右边时变现出的值为内容。理解了这一点,我往下理解指针就好办多了,因为他们本质上是一样的。

 *pi =i  理解为把i的内容存储到指针pi所指向的整形变量的空间。这样就完成了指针的赋值。


 

 





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值