使用指针变量的例子
变量的指针就是变量的地址。存放变量地址的变量是指针变量。即在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个变量的地址或称为某变量的指针。
为了表示指针变量和它所指向的变量之间的关系,在程序中用“*”符号表示“指向”,例如,i_pointer代表指针变量,而*i_pointer 是 i_pointer 所指向的变量。
因此,下面两个语句作用相同:
i=3;
*i_pointer=3;
第二个语句的含义是将 3 赋给指针变量 i_pointer 所指向的变量。
怎样定义指针变量
对指针变量的定义包括三个内容:
(1) 指针类型说明,即定义变量为一个指针变量;
(2) 指针变量名;
(3) 变量值(指针)所指向的变量的数据类型。
其一般形式为:
类型说明符 *变量名;
其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变
量的数据类型。
例如:
int *p1;
表示 p1 是一个指针变量,它的值是某个整型变量的地址。或者说 p1 指向一个整型变量。至于 p1 究竟指向哪一个整型变量,应由向 p1 赋予的地址来决定。
再如:
int *p2; /*p2 是指向整型变量的指针变量*/
float *p3; /*p3 是指向浮点变量的指针变量*/
char *p4; /*p4 是指向字符变量的指针变量*/
应该注意的是,一个指针变量只能指向同类型的变量,如 P3 只能指向浮点变量,不能时而指向一个浮点变量,时而又指向一个字符变量。
怎样引用指针变量
指针变量同普通变量一样,使用之前不仅要定义说明,而且必须赋予具体的值。未经赋值的指针变量不能使用,否则将造成系统混乱,甚至死机。指针变量的赋值只能赋予地址, 决不能赋予任何其它数据,否则将引起错误。在C语言中,变量的地址是由编译系统分配的,对用户完全透明,用户不知道变量的具体地址。
两个有关的运算符:
1) & 取地址运算符。
2) * 指针运算符(或称“间接访问” 运算符)。
C语言中提供了地址运算符&来表示变量的地址。
其一般形式为:
& 变量名;
如&a 表示变量 a 的地址,&b 表示变量 b 的地址。变量本身必须预先说明。
设有指向整型变量的指针变量 p,如要把整型变量 a 的地址赋予 p 可以有以下两种方式:
(1) 指针变量初始化的方法
int a;
int *p = &a;
(2) 赋值语句的方法
int a;
int *p;
p = &a;
不允许把一个数赋予指针变量,故下面的赋值是错误的:
int *p;
p = 1000;
被赋值的指针变量前不能再加“*”说明符,如写为*p=&a 也是错误的。
假设:
int i = 200, x;
int *ip;
我们定义了两个整型变量 i,x,还定...
掌握本节内容
登录后开始许愿
暂无评论,来抢沙发