指针定义

形式;类型说明符 *变量名
*是为了说明变量是一个指针,但不是变量的一部分;
使用时表示跳转,跳到所指地址;
指针的初始化;
int a=10;int *p=&a;
给指针的的变量赋值
char *p=&a;p=9;//把9赋值给指针所指向的地址a,即a=9;
注;在指针变量没有指向一个地址之前不要赋值
int**pp=&p;
*pp=&a;
**pp=1000;
即定义一个指针的指针两次跳转到a的地址;
指针的加法运算
由个例子说起吧
int main()
{
int *p=(int*)0x2010;
printf(“%x\n”,p-2); //2008 16-2*4=8
printf(“%x\n”,(char*)p-2);//200e 16-2*1=14 =e
printf(“%x\n”,(short*p)-2); //200c 16-2*2=12 =c
}
去掉一个*求sizeof (求一个指针类型的字节数)
在定义指针变量时要注意两点:
  (1)变量名前面的"*",表示该变量为指针变量,但"*"不是变量名的一部分。
  (2)一个指针变量只能指向同一个类型的变量。如前面定义的pf 只能指向浮点变量,不能时而指向一个浮点变量,时而又指向一个字符变量。

猜你喜欢

转载自blog.csdn.net/Ambition_HAO/article/details/79849488