指针就是指变量或数据所在的存储区地址。如一个字符型的变量 STR 存放在内存单元DATA 区的 51H 这个地址中,那么 DATA 区的 51H 地址就是变量 STR 的指针。用一个变量来存放另一个变量的地址,那么用来存放变量地址的变量称为“指针变量”。
如用变量 STRIP 来存放文章开头的 STR 变量的地址 51H,变量 STRIP 就是指针变量。变量的指针就是变量的地址,用取地址运算符‘&’取得赋给指针变量。&STR 就是把 变量 STR 的地址取得。用语句 STRIP = &STR 就能把所取得的 STR 指针存放在 STRIP 指 针变量中。要访问变量 STR 除了能用‘STR’这个变量名来访问之外,还能用变量地址来访 问。方法是先用&STR 取变量地址并赋于 STRIP 指针变量,然后就能用*STRIP 来对 STR 进行访问了。
‘*’是指针运算符,用它能取得指针变量所指向的地址的值。使用指针可以很容易地从一个变量移到下一个变量,故特别适合对大量变量进行操作的场合。 C51指针变量的定义形式如下:
“存储器类型”是C51编译器扩展的可选项。带有此项,指针被定义为基于存储器的具体指针;反之则被定周冰 季建业义为通用指针。