c语言把内存单元的地址视为一种类型,即指针型数据。存放指针型数据的变量称为指针变量。指针变量与其他类型变量没有什么区别,只是它里面的内容是地址而已。
指针变量的定义
c语言规定所有变量在使用之前必须先定义其类型,存放地址变量的指针也不例外,使用前需专门定义。一般形式为:
类型标识符 *指针变量名
“类型标识符”用来指定该指针变量可以指向的变量的类型,“*”表示所定义的变量类型为指针型。例如:
int *p: //定义指向整型变量的指针变量 p
fioat *q; //定义指向实型变量的指针变量 q
char *ch: //定义指向字符型变量的指针变量 ch
定义的指针变量p,q和ch分别用于存放整型变量的地址,实型变量的地址和字符型变量的地址。定义指针变量后,用赋值语句使指针变量得到另一个变量的地址,从而使指针变量指向了该变量。下面通过例子说明。
int a = 60,*p;
float b = 17.9,*q;
char ch= 'A',*r;
p = &a;q = &b;r = &ch;
上述赋值语句“p=&a;"表示将变量a的地址赋给指针变量p,p就指向了变量a。同理,q指向了变量b,r指向变量ch,
p a q b r ch
&a60 &b17.9 &chA
说明:
1)定义指针变量时,必须指定指针变量所要指向的变量的类型。
2)一个指针变量只能指向同类型的变量,例如,有定义”float *p;",则指针变量p只能指向实行变量,不允许指向实型之外的其他类型的变量。
3)当定义指针变量时,指针变量的值是随机的,不能它具体的指向,必须为其赋值才有意义。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。