1、变量指针 变量的指针就是指向变量的地址,专门用来存放变量地址的变量称为指针变量。 1.1指针变量的定义 指针变量是专门用来存放地址的变量,C语言将它定义为指针类型。指针变量也是变量,但指针变量中存放的不是变量的值,而是地址。 定义指针变量的一般格式是: 类型标示符*指针变量名; 例如: int *pa,*pb; float *q; 注:1、这种语句仅仅是定义了指针变量,并没有明确的声明指向某一具体变量。 2、指针变量前面的“*”代表该变量的类型是指针型的变量,因此它的变量名实pa和pb,而不是*pa、*pb; 1.2、指针变量的赋值与引用 和普通变量一样,指针变量只有赋值之后才有意义,指针变量中存放的是变量的地址,所以就不允许用户随意为其赋常量值,一般情况下,指针变量可以通过取地址运算符和地址赋值运算来赋值。 取地址运算符“&”可以加在变量和数组元素前面来取得他们的内存地址,因为指针变量也是变量,所以该运算符也可以加在指针变量前面取值。 指针变量的类型必须保证与其存放的变量类型是一致的,但有一个是例外的,就是C语言中允许出现空指针,也就是值是0的指针,含义是指针无指向,常用来判断返回指针的函数是否成功的标志。 当指针变量指向基本变量以后,就可以利用间接访问的方法来访问数据,此时使用取内容运算符“*”来访问数据,该运算符是通过指针变量来访问它所指向的变量时使用的运算符,基本格式为:*指针变量 一旦将变量的地址赋值给指针变量后,那么*指针名和变量名是等价的,除非改变指针变量的指向,否则对指针的修改都会影响变量的值。
|