C++, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">指针变量
C++, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">变量的指针指得是变量的地址,变量的地址指的是给变量分配的存储单元的首地址。在C++语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。
对指针变量的定义包括三个内容:
(1)指针类型说明,即定义变量为一个指针变量;
(2)指针变量名;
(3)变量值(指针)所指向的变量的数据类型。
定义指针变量的一般形式为
基类型 *指针变量名;
下面都是合法的定义:
float *pointer_3; //pointer_3是指向单精度型数据的指针变量
char *pointer_4; // pointer_4是指向字符型数据的指针变量
请注意:指针变量名是pointer_3和pointer_4,而不是*pointer_3和*pointer_4,即“*”不是指针变量名的一部分,在定义变量时在变量名前加一个“*”表示该变量是指针变量。
C++语言中规定所有变量在使用前必须先定义,即指定其类型。在编译时按变量类型分配存储空间。对指针变量必须将它定义为指针类型。先看一个具体例子:
int i,j; //定义整型变量i,j
int *pointer_1, *pointer_2; //定义指针变量*pointer_1,*pointer_2
第2行开头的int是指:所定义的指针变量是指向整型数据的指针变量。也就是说,指针变量pointer_1和pointer_2只能用来指向整型数据(例如i和j),而不能指向浮点型变量a和b。
在定义指针变量时要注意:
(1)不能用一个0以外的整数给一个指针变量赋初值。如果以0给指针赋值,代表其为空指针,以其他整数为指针赋值,将会产生错误。
(2)在定义指针变量时必须指定基类型,即,必须确定指针变量可以指向的数据类型,指针必须有基类型,正如其他变量必须有类型。
Comments