當前位置:編程學習大全網 - 熱門推薦 - 指針常量,NULL指針,指針的指針,&p,*p,&(*p),*(&p),這些怎麽區分,怎麽理解,望詳細的解釋壹下

指針常量,NULL指針,指針的指針,&p,*p,&(*p),*(&p),這些怎麽區分,怎麽理解,望詳細的解釋壹下

指針常量是指針所指向的位置不能改變,即指針本身是壹個常量。但是指針常量可以通過間接引用修改內存中的數據。

定義指針常量的語句格式為:

指針類型 *const 指針常量名=&變量名

比如說定義了壹個整形變量 int a = 1; 同時定義了壹個指針p指向這個變量a: int *p = &a;

但我用完這個變量和指針的時候我把指針所指向的內存空間釋放掉:free(p);這個時候p所指向的內存空間裏面的數據1被清空的,但是指針p裏面仍然存有壹個地址(原來指向a變量內存空間的地址),此時通常再要把指針p設置成空指針:P = NULL。

指向指針的指針變量定義的形式為:

類型名 ** 指針變量名;

"**指針變量名"等價於"*(*指針變量名)",表示該指針變量的值存放的

是另個指針變量的地址,要經過兩次間接存取後才能存取到變量的值.

&可以是壹個引用,也可以是壹個取地址符,比如int p ; 那麽&p,就是取地址。也可以定義壹個變量的別名,當引用使用。*p是定義壹個指針,&(*p) *p是壹個存放在p地址裏的值,加上&這個就是取這個值的地址,*(&p)這個是先取地址p的值(p可以是個地址)然後再取這個地址的值。

(其實妳不用的,我刪除了,我又得重寫,不過還是謝謝妳哦,關鍵是妳要懂!:))

  • 上一篇:蘋果筆記本右鍵怎麽按
  • 下一篇:追夢赤字心的歌詞
  • copyright 2024編程學習大全網