PIC单片机C语言中的指针
C语言中的指针指针
在C语言中有十分重要的地位。因为C语言的指针可以指向各种类型的变量,也可指向数组、指向函数、指向某种结构类型的变量……可见C语言中的指针内容是十分丰富的。所以有人说:不掌握C语言中的指针,等于没有掌握C语言的精华,这句话是很有道理的。
为了说明指针的基本概念,先了解一下C程序中的变量在C编译系统中所占有的地位。一般说来。程序中的变量,经编译系统处理后,都对应着内存中的一个地址,即编译系统根据变量的类型,为该地址分配相应的内存单元,以便存放变量的内容。对不同类型的变量,所分配的内存单元的长度(即字节数)是不相同的。
如字符型变量占一个字节。
整型变量占两个字节……而变量的存取是通过变量的地址进行的,这种按变量地址存取变量值的方法。称为“直接访问”(寻址)。
在C语言中,除了定义整型、字符型等变量外。还定义了另外一种类型的变量,该变量专用于存放其他变量在内存中所分配的存储单元的首地址。
假设变量是用于存放字符型(char)变量M所占用的存储单元的首地址,再假设已用某种方式将字符型(char)变量M所占用的内存单元的首地址赋值给了fp变量,那么要想通过变量fp取得字符变量M中的内容。可按照如下两个步骤操作:
1.根据变量M所占用内存单元的首地址。读取其中的数据,该数据就是字符变量M所占用的内存单元的首地址。
2.根据第一步读取的地址及字符型变量M所占用的存储单元的长度(字节数),读取字符变量M的值(内容)。
上述存取M变量的方式称为“间接访问”(寻址)方式。
在C语言中,借助于指针这一概念,能方便地达到间接访问(寻址)的目的。所谓指针,就是某个对象(如变量、数组和函数等)所占用存储单元的首地址。这时定义:专门用来存放某种类型变量的首地址的变量为该种类型的指针变量。而其首地址则为指针值。
通过上述关于C语言指针的概念的描述,可以看出:C语言中的指针与P汇编语言中的间址寄存器FSR和INDF十分类似。
FSR存放寄存器地址。INDF存放与FSR地址对应的寄存器的内容。然而。C语言指针变量的功能远比FSR、INDF强得多。
指针变量的定义和操作
1.指针变量的定义数据类型说明符+指针变量名1,*指针变量名2。
其中,类型说明符。表

- 上一篇:PIC单片机C语言的编程技巧
- 下一篇:PIC单片机C语言程序