1、指针是C语言中的一个重要概念,也是C语言的一个重要特色。
正确而灵活地使用指针,可以有效地表示复杂的数据结构,动态地分配内存,方便地使用字符串,有效地使用数组。
2、指针与地址
计算机程序的指令、常量和变量等都要存放在以字节为单位的内存单元中,内存的每个字节都具有一个唯一的编号,这个编号就是存储单元的地址。
各个存储单元中所存放的数据,称为该单元的内容。计算机在执行任何一个程序时都要涉及到单元访问,就是按照内存单元的地址来访问该单元中的内容,即按地址来读或写该单元中的数据。由于通过地址可以找到所需要的单元,因此这种访问是“直接访问”方式。
另外一种访问是“间接访问”,它首先将欲访问单元的地址存放在另一个单元中,访问时,先找到存放地址的单元,从该单元中取出地址,然后才能找到需要访问的单元,再读或写该单元的数据。在这种访问方式中使用了指针。
C语言中引入了指针类型的数据,指针类型数据是专门用来确定其他类型数据地址的。因此一个变量的地址就称为该变量的指针。例如,一个整型变量m存放在内存单元的56H地址中,则56H就是变量m的指针。
如果有一个变量专门用来存放另一个变量的地址,则该变量称为指向变量的指针变量,简称指针变量。例如用一个变量n来存放整型变量m的地址56H,则n即为一个指针变量。
3、指针变量的定义
指针变量与其他变量一样,必须先定义,后使用。指针变量定义的一般格式为:
数据类型 [存储器类型] 指针变量名;
说明如下:
数据类型:指出该指针变量所指向的变量的类型。
存储器类型:这是一个可选项,它是C51编译器的一种扩展&#