嵌入式学习之 第五章-------指针(1)

  这一章,我进入了指针的学习。   

  指针==地址       

指针的引入:

  下面,我们通过定义一个   int  a =10        要想访问这个变量的值10;有两种方式,第一种是通过变量a访问,第二种就是通过指针来访问。

例1.

 指针变量是什么呢?  整型数变量是存放整型数的变量   字符变量是存放字符型数据的变量 

所以指针变量就是存放指针的变量 ,又因为指针就是地址,所以指针变量就是存放地址的变量

如何定义一个指针变量呢?   例如 :  int *p    定义一个指针变量,存放地址的变量,必须要加*符号,*是一个标识符  。

例2. 变量的访问有两种方式,一种是通过变量名访问的,称为“”直接访问“”方式,另一种称为“”间接访问“”方式,即将变量a的地址存放在另一个变量P中,然后通过P变量找到变量a的地址,从而访问a的变量

 

既然指针变量是存放别人的地址变量,那为什么还要区分类型呢?  下面我们通过例子3来看一下就清楚了。

例3.

从编译结果就可以看出p的值和c的值是不一样的,虽然是p指针和c指针是存放相同的地址,但是由于是不同类型的指针,所以取出来的值也不一样。不同类型的指针的相当于不同的印章,它是什么类型就对应什么样的印章。

接下来我们介绍为什么需要用到指针

第一种场景,交换两个数,通过封装一个change函数把a跟b的地址传过去。如果是把a跟b的值传过去的话是实现不了两个数的交换的,因为他们在change函数里是属于临时变量,地址不一样,作用不到main函数中。

 

 第二种场景是指针指向固定的区域 ,对于后面的单片机跟armbootloader有很大用处。

 

 

最后做一个练习题:输入三个数abc,不管怎么输入,在输出的时候是由从大到小的顺序输出,函数封装实现 。

 

指针的初步了解就到此,我们下一章继续对指针做进一步的了解,文章如有错误的地方请各位朋友多多指正交流!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值