指针定义
指针变量是一种特殊的变量,变量中存放的不是某种数据类型的数据,而是另一个变量或常量的地址。
例如:
int value = 150; char ch = 'M'
int *pv = &value ; char *pc = &ch
pv和pc为指针变量,简称为指针。
pv与pc均为四个字节
value 与 *pv 等价
指针赋值
使用指针前,必须给已经定义的指针变量赋以指向目标变量的地址值。&操作符可获取变量的地址。
int num ,*pn; //此处的*为说明符
pn = #
//二者等效
*pn = 100; num = 100; //此处的*为运算符
- 同种数据类型的指针变量之间可以相互赋值
int a ,*pa,*pb
pa = &a; pb = pa
-
指针变量的类型名与指向目标的数据类型一致。
可采用强制转换:
但较为危险 -
指针可以初始化为空指针
在操作空间之前首先判断指针变量是否为空,若不为空才可以通过*进行操作。
指针运算
1.赋值运算
int x,*ptr ,*qtr
*ptr = &x ;
*qtr = ptr;
2.&与*互为逆运算
&(*ptr) 即为ptr
3.指针与整数的加减运算
int a[5], *p;
p=a;
p++;