1. 程式人生 > >指標定義

指標定義

形式;型別說明符 *變數名
*是為了說明變數是一個指標,但不是變數的一部分;
使用時表示跳轉,跳到所指地址;
指標的初始化;
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 只能指向浮點變數,不能時而指向一個浮點變數,時而又指向一個字元變數。